From 028742b05871b88dc75a111394a02e17ab223dd6 Mon Sep 17 00:00:00 2001 From: Daniel Pozzi Date: Thu, 26 Sep 2019 04:57:34 +0200 Subject: [PATCH 001/191] hexmap wip --- pom.xml | 7 + .../nivio/output/jgraphx/FinalGraph.java | 24 +- .../jgraphx/JGraphXRenderController.java | 28 + .../nivio/output/jgraphx/JGraphXRenderer.java | 21 +- .../nivio/output/jgraphx/JsonRenderer.java | 19 +- .../nivio/output/jgraphx/dto/HexVertex.java | 32 ++ .../output/jgraphx/dto/RenderedGraph.java | 10 + .../nivio/output/jgraphx/dto/Tests.java | 495 ++++++++++++++++++ .../nivio/output/jgraphx/dto/Vertex.java | 51 ++ src/main/resources/application.yml | 2 +- 10 files changed, 666 insertions(+), 23 deletions(-) create mode 100644 src/main/java/de/bonndan/nivio/output/jgraphx/dto/HexVertex.java create mode 100644 src/main/java/de/bonndan/nivio/output/jgraphx/dto/RenderedGraph.java create mode 100644 src/main/java/de/bonndan/nivio/output/jgraphx/dto/Tests.java diff --git a/pom.xml b/pom.xml index e096bb02a..e297f2275 100644 --- a/pom.xml +++ b/pom.xml @@ -177,6 +177,13 @@ commons-text 1.3 + + + + com.github.Hexworks.mixite + mixite.core-jvm + 2018.2.0-RELEASE + diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java b/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java index ffe615987..4ea4eaff4 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java @@ -13,17 +13,26 @@ import de.bonndan.nivio.output.Icon; import de.bonndan.nivio.output.IconService; import de.bonndan.nivio.output.LocalServer; +import de.bonndan.nivio.output.jgraphx.dto.HexVertex; +import de.bonndan.nivio.output.jgraphx.dto.RenderedGraph; +import de.bonndan.nivio.output.jgraphx.dto.Vertex; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.StringUtils; import java.util.*; +import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Stream; import static de.bonndan.nivio.landscape.Status.UNKNOWN; import static de.bonndan.nivio.util.Color.GRAY; +/** + * This class is responsible for rendering services and groups nicely with bells and whistles. + * + * It receives + */ public class FinalGraph { private final int DEFAULT_ICON_SIZE = 50; @@ -33,6 +42,7 @@ public class FinalGraph { private Map serviceVertexes = new HashMap<>(); private mxStylesheet stylesheet; private mxGraph graph; + private Map groups = new HashMap<>(); public FinalGraph(IconService iconService) { this.iconService = iconService; @@ -59,7 +69,8 @@ public mxGraph render(AllGroupsGraph allGroupsGraph, Map sub allGroupsGraph.getLayoutedGroups().forEach((groupName, mxCell) -> { Optional serviceItem = subgraphs.get(groupName).getServiceVertexesWithRelativeOffset().entrySet().stream() - .findFirst().map(serviceItemmxPointEntry -> (Service) serviceItemmxPointEntry.getKey()); + .findFirst() + .map(entry -> (Service) entry.getKey()); LandscapeConfig landscapeConfig = serviceItem.map(service -> service.getLandscape().getConfig()).orElse(null); mxGeometry groupGeo = mxCell.getGeometry(); mxCell groupContainer = (mxCell) graph.insertVertex( @@ -71,7 +82,7 @@ public mxGraph render(AllGroupsGraph allGroupsGraph, Map sub groupGeo.getHeight(), getGroupStyle(groupName, getGroupColor(groupName, landscapeConfig)) ); - + groups.put(groupName, groupContainer); GroupGraph groupGraph = subgraphs.get(groupName); groupGraph.getServiceVertexesWithRelativeOffset().forEach((service, offset) -> { @@ -92,6 +103,15 @@ public mxGraph render(AllGroupsGraph allGroupsGraph, Map sub return graph; } + public RenderedGraph getRenderedGraph() { + + RenderedGraph renderedGraph = new RenderedGraph(); + serviceVertexes.forEach((service, mxCell) -> renderedGraph.services.add(new HexVertex(service, mxCell, 1000))); + groups.forEach((groupName, mxCell) -> renderedGraph.groups.add(new HexVertex(groupName, mxCell, 1000))); + + return renderedGraph; + } + /** * Adds dataflow edges. diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderController.java b/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderController.java index c702b17dd..931636a6f 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderController.java +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderController.java @@ -1,5 +1,6 @@ package de.bonndan.nivio.output.jgraphx; +import com.fasterxml.jackson.databind.ObjectMapper; import de.bonndan.nivio.api.NotFoundException; import de.bonndan.nivio.landscape.Landscape; import de.bonndan.nivio.landscape.LandscapeRepository; @@ -90,4 +91,31 @@ public ResponseEntity json(@PathVariable(name = "landscape") final Strin throw ex; } } + + @RequestMapping(method = RequestMethod.GET, path = "/{landscape}/hex.json") + public ResponseEntity hex(@PathVariable(name = "landscape") final String landscapeIdentifier) throws IOException { + Landscape landscape = landscapeRepository.findDistinctByIdentifier(landscapeIdentifier); + if (landscape == null) + throw new NotFoundException("Not found"); + + JGraphXRenderer jGraphXRenderer = new JGraphXRenderer(iconService); + + + try { + FinalGraph graph = new FinalGraph(iconService); + jGraphXRenderer.getFinalGraph(landscape, graph); + + HttpHeaders headers = new HttpHeaders(); + ObjectMapper objectMapper = new ObjectMapper(); + headers.add(HttpHeaders.CONTENT_TYPE, "application/json"); + return new ResponseEntity<>( + objectMapper.writeValueAsString(graph.getRenderedGraph()), + headers, + HttpStatus.OK + ); + } catch (Exception ex) { + logger.warn("Could not render graph: " ); + throw ex; + } + } } \ No newline at end of file diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderer.java b/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderer.java index 7a9e4c722..3e740352a 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderer.java +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderer.java @@ -18,10 +18,9 @@ public class JGraphXRenderer implements Renderer { + private static final Logger logger = LoggerFactory.getLogger(JGraphXRenderer.class); private final IconService iconService; - private Logger logger = LoggerFactory.getLogger(JGraphXRenderer.class); - private Map subgraphs = new LinkedHashMap<>(); public JGraphXRenderer(IconService iconService) { this.iconService = iconService; @@ -30,6 +29,7 @@ public JGraphXRenderer(IconService iconService) { @Override public mxGraph render(Landscape landscape) { + Map subgraphs = new LinkedHashMap<>(); Groups groups = Groups.from(landscape); groups.getAll().forEach((groupName, serviceItems) -> { GroupGraph groupGraph = new GroupGraph(serviceItems); @@ -41,7 +41,7 @@ public mxGraph render(Landscape landscape) { //return allGroupsGraph.getGraph(); FinalGraph finalGraph = new FinalGraph(iconService); - return finalGraph.render(allGroupsGraph, subgraphs); + return getFinalGraph(landscape, finalGraph); } @Override @@ -53,4 +53,19 @@ public void render(Landscape landscape, File file) throws IOException { ImageIO.write(image, "PNG", file); } + + public mxGraph getFinalGraph(Landscape landscape, FinalGraph finalGraph) { + Map subgraphs = new LinkedHashMap<>(); + Groups groups = Groups.from(landscape); + groups.getAll().forEach((groupName, serviceItems) -> { + GroupGraph groupGraph = new GroupGraph(serviceItems); + subgraphs.put(groupName, groupGraph); + }); + + AllGroupsGraph allGroupsGraph = new AllGroupsGraph(landscape.getConfig(), groups, subgraphs); + + //return allGroupsGraph.getGraph(); + + return finalGraph.render(allGroupsGraph, subgraphs); + } } diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/JsonRenderer.java b/src/main/java/de/bonndan/nivio/output/jgraphx/JsonRenderer.java index f9b131604..731e76e42 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/JsonRenderer.java +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/JsonRenderer.java @@ -62,10 +62,10 @@ private void getAllChildren(List dtos, mxGraph graph, mxCell cell, Arrays.stream(graph.getChildCells(cell)).forEach(o -> getAllChildren(dtos, graph, (mxCell) o, services)); } + @Deprecated private Serializable toDto(mxCell cell, List services) { mxGeometry geometry = cell.getGeometry(); - Map style = parseStyle(cell.getStyle()); ServiceItem serviceItem = null; if (!StringUtils.isEmpty(cell.getId())) @@ -73,9 +73,7 @@ private Serializable toDto(mxCell cell, List services) { Vertex vertex = new Vertex(); vertex.id = cell.getId(); vertex.name = (String) cell.getValue(); - vertex.type = style.get("type"); - vertex.group = style.get("group"); - vertex.groupColor = style.get("groupColor"); + if (cell.getParent().getGeometry() != null) { vertex.x = Math.round(geometry.getX() + cell.getParent().getGeometry().getX()); vertex.y = Math.round(geometry.getY() + cell.getParent().getGeometry().getY()); @@ -95,19 +93,6 @@ private Serializable toDto(mxCell cell, List services) { return vertex; } - private Map parseStyle(String style) { - Map map = new HashMap<>(); - Arrays.stream(StringUtils.delimitedListToStringArray(style, ";")).forEach(s -> { - String[] keyvalue = StringUtils.delimitedListToStringArray(s, "="); - if (StringUtils.isEmpty(s)) - return; - if (keyvalue.length < 2) - return; - map.put(keyvalue[0], keyvalue[1]); - }); - return map; - } - @Override public void render(Landscape landscape, File file) throws IOException { String json = render(landscape); diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/HexVertex.java b/src/main/java/de/bonndan/nivio/output/jgraphx/dto/HexVertex.java new file mode 100644 index 000000000..4e0e320be --- /dev/null +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/dto/HexVertex.java @@ -0,0 +1,32 @@ +package de.bonndan.nivio.output.jgraphx.dto; + +import com.mxgraph.model.mxCell; +import de.bonndan.nivio.landscape.Service; + +import static java.lang.Math.sqrt; + +// https://www.redblobgames.com/grids/hexagons/#rounding +public class HexVertex extends Vertex { + + private int size; + + public HexVertex(Service service, mxCell mxCell, int size) { + super(service, mxCell); + this.size = size; + } + + public HexVertex(String groupName, mxCell mxCell, int size) { + super(groupName, mxCell); + this.size = size; + } + + //https://stackoverflow.com/questions/20734438/algorithm-to-generate-a-hexagonal-grid-with-coordinate-system/20751975#20751975 + + Hex hex() { + var q = (2. / 3 * x) / size; + var r = (-1. / 3 * x + sqrt(3) / 3 * y) / size; + FractionalHex hex = new FractionalHex(q, r, -q - r); + return hex.hexRound(); + } + +} diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/RenderedGraph.java b/src/main/java/de/bonndan/nivio/output/jgraphx/dto/RenderedGraph.java new file mode 100644 index 000000000..5803c3b32 --- /dev/null +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/dto/RenderedGraph.java @@ -0,0 +1,10 @@ +package de.bonndan.nivio.output.jgraphx.dto; + +import java.util.ArrayList; +import java.util.List; + +public class RenderedGraph { + + public final List services = new ArrayList<>(); + public final List groups = new ArrayList<>(); +} diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/Tests.java b/src/main/java/de/bonndan/nivio/output/jgraphx/dto/Tests.java new file mode 100644 index 000000000..60b7184ac --- /dev/null +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/dto/Tests.java @@ -0,0 +1,495 @@ +package de.bonndan.nivio.output.jgraphx.dto; + + +// Generated code -- CC0 -- No Rights Reserved -- http://www.redblobgames.com/grids/hexagons/ + +import java.util.ArrayList; + + +class Point { + public Point(double x, double y) { + this.x = x; + this.y = y; + } + + public final double x; + public final double y; +} + +class Hex { + public Hex(int q, int r, int s) { + this.q = q; + this.r = r; + this.s = s; + if (q + r + s != 0) throw new IllegalArgumentException("q + r + s must be 0"); + } + + public final int q; + public final int r; + public final int s; + + public Hex add(Hex b) { + return new Hex(q + b.q, r + b.r, s + b.s); + } + + + public Hex subtract(Hex b) { + return new Hex(q - b.q, r - b.r, s - b.s); + } + + + public Hex scale(int k) { + return new Hex(q * k, r * k, s * k); + } + + + public Hex rotateLeft() { + return new Hex(-s, -q, -r); + } + + + public Hex rotateRight() { + return new Hex(-r, -s, -q); + } + + static public ArrayList directions = new ArrayList() {{ + add(new Hex(1, 0, -1)); + add(new Hex(1, -1, 0)); + add(new Hex(0, -1, 1)); + add(new Hex(-1, 0, 1)); + add(new Hex(-1, 1, 0)); + add(new Hex(0, 1, -1)); + }}; + + static public Hex direction(int direction) { + return Hex.directions.get(direction); + } + + + public Hex neighbor(int direction) { + return add(Hex.direction(direction)); + } + + static public ArrayList diagonals = new ArrayList() {{ + add(new Hex(2, -1, -1)); + add(new Hex(1, -2, 1)); + add(new Hex(-1, -1, 2)); + add(new Hex(-2, 1, 1)); + add(new Hex(-1, 2, -1)); + add(new Hex(1, 1, -2)); + }}; + + public Hex diagonalNeighbor(int direction) { + return add(Hex.diagonals.get(direction)); + } + + + public int length() { + return (int) ((Math.abs(q) + Math.abs(r) + Math.abs(s)) / 2); + } + + + public int distance(Hex b) { + return subtract(b).length(); + } + +} + +class FractionalHex { + public FractionalHex(double q, double r, double s) { + this.q = q; + this.r = r; + this.s = s; + if (Math.round(q + r + s) != 0) throw new IllegalArgumentException("q + r + s must be 0"); + } + + public final double q; + public final double r; + public final double s; + + public Hex hexRound() { + int qi = (int) (Math.round(q)); + int ri = (int) (Math.round(r)); + int si = (int) (Math.round(s)); + double q_diff = Math.abs(qi - q); + double r_diff = Math.abs(ri - r); + double s_diff = Math.abs(si - s); + if (q_diff > r_diff && q_diff > s_diff) { + qi = -ri - si; + } else if (r_diff > s_diff) { + ri = -qi - si; + } else { + si = -qi - ri; + } + return new Hex(qi, ri, si); + } + + + public FractionalHex hexLerp(FractionalHex b, double t) { + return new FractionalHex(q * (1.0 - t) + b.q * t, r * (1.0 - t) + b.r * t, s * (1.0 - t) + b.s * t); + } + + + static public ArrayList hexLinedraw(Hex a, Hex b) { + int N = a.distance(b); + FractionalHex a_nudge = new FractionalHex(a.q + 0.000001, a.r + 0.000001, a.s - 0.000002); + FractionalHex b_nudge = new FractionalHex(b.q + 0.000001, b.r + 0.000001, b.s - 0.000002); + ArrayList results = new ArrayList() {{ + }}; + double step = 1.0 / Math.max(N, 1); + for (int i = 0; i <= N; i++) { + results.add(a_nudge.hexLerp(b_nudge, step * i).hexRound()); + } + return results; + } + +} + +class OffsetCoord { + public OffsetCoord(int col, int row) { + this.col = col; + this.row = row; + } + + public final int col; + public final int row; + static public int EVEN = 1; + static public int ODD = -1; + + static public OffsetCoord qoffsetFromCube(int offset, Hex h) { + int col = h.q; + int row = h.r + (int) ((h.q + offset * (h.q & 1)) / 2); + return new OffsetCoord(col, row); + } + + + static public Hex qoffsetToCube(int offset, OffsetCoord h) { + int q = h.col; + int r = h.row - (int) ((h.col + offset * (h.col & 1)) / 2); + int s = -q - r; + return new Hex(q, r, s); + } + + + static public OffsetCoord roffsetFromCube(int offset, Hex h) { + int col = h.q + (int) ((h.r + offset * (h.r & 1)) / 2); + int row = h.r; + return new OffsetCoord(col, row); + } + + + static public Hex roffsetToCube(int offset, OffsetCoord h) { + int q = h.col - (int) ((h.row + offset * (h.row & 1)) / 2); + int r = h.row; + int s = -q - r; + return new Hex(q, r, s); + } + +} + +class DoubledCoord { + public DoubledCoord(int col, int row) { + this.col = col; + this.row = row; + } + + public final int col; + public final int row; + + static public DoubledCoord qdoubledFromCube(Hex h) { + int col = h.q; + int row = 2 * h.r + h.q; + return new DoubledCoord(col, row); + } + + + public Hex qdoubledToCube() { + int q = col; + int r = (int) ((row - col) / 2); + int s = -q - r; + return new Hex(q, r, s); + } + + + static public DoubledCoord rdoubledFromCube(Hex h) { + int col = 2 * h.q + h.r; + int row = h.r; + return new DoubledCoord(col, row); + } + + + public Hex rdoubledToCube() { + int q = (int) ((col - row) / 2); + int r = row; + int s = -q - r; + return new Hex(q, r, s); + } + +} + +class Orientation { + public Orientation(double f0, double f1, double f2, double f3, double b0, double b1, double b2, double b3, double start_angle) { + this.f0 = f0; + this.f1 = f1; + this.f2 = f2; + this.f3 = f3; + this.b0 = b0; + this.b1 = b1; + this.b2 = b2; + this.b3 = b3; + this.start_angle = start_angle; + } + + public final double f0; + public final double f1; + public final double f2; + public final double f3; + public final double b0; + public final double b1; + public final double b2; + public final double b3; + public final double start_angle; +} + +class Layout { + public Layout(Orientation orientation, Point size, Point origin) { + this.orientation = orientation; + this.size = size; + this.origin = origin; + } + + public final Orientation orientation; + public final Point size; + public final Point origin; + static public Orientation pointy = new Orientation(Math.sqrt(3.0), Math.sqrt(3.0) / 2.0, 0.0, 3.0 / 2.0, Math.sqrt(3.0) / 3.0, -1.0 / 3.0, 0.0, 2.0 / 3.0, 0.5); + static public Orientation flat = new Orientation(3.0 / 2.0, 0.0, Math.sqrt(3.0) / 2.0, Math.sqrt(3.0), 2.0 / 3.0, 0.0, -1.0 / 3.0, Math.sqrt(3.0) / 3.0, 0.0); + + public Point hexToPixel(Hex h) { + Orientation M = orientation; + double x = (M.f0 * h.q + M.f1 * h.r) * size.x; + double y = (M.f2 * h.q + M.f3 * h.r) * size.y; + return new Point(x + origin.x, y + origin.y); + } + + + public FractionalHex pixelToHex(Point p) { + Orientation M = orientation; + Point pt = new Point((p.x - origin.x) / size.x, (p.y - origin.y) / size.y); + double q = M.b0 * pt.x + M.b1 * pt.y; + double r = M.b2 * pt.x + M.b3 * pt.y; + return new FractionalHex(q, r, -q - r); + } + + + public Point hexCornerOffset(int corner) { + Orientation M = orientation; + double angle = 2.0 * Math.PI * (M.start_angle - corner) / 6.0; + return new Point(size.x * Math.cos(angle), size.y * Math.sin(angle)); + } + + + public ArrayList polygonCorners(Hex h) { + ArrayList corners = new ArrayList() {{ + }}; + Point center = hexToPixel(h); + for (int i = 0; i < 6; i++) { + Point offset = hexCornerOffset(i); + corners.add(new Point(center.x + offset.x, center.y + offset.y)); + } + return corners; + } + +} + + +// Tests + + +public class Tests { + public Tests() { + } + + static public void equalHex(String name, Hex a, Hex b) { + if (!(a.q == b.q && a.s == b.s && a.r == b.r)) { + Tests.complain(name); + } + } + + + static public void equalOffsetcoord(String name, OffsetCoord a, OffsetCoord b) { + if (!(a.col == b.col && a.row == b.row)) { + Tests.complain(name); + } + } + + + static public void equalDoubledcoord(String name, DoubledCoord a, DoubledCoord b) { + if (!(a.col == b.col && a.row == b.row)) { + Tests.complain(name); + } + } + + + static public void equalInt(String name, int a, int b) { + if (!(a == b)) { + Tests.complain(name); + } + } + + + static public void equalHexArray(String name, ArrayList a, ArrayList b) { + Tests.equalInt(name, a.size(), b.size()); + for (int i = 0; i < a.size(); i++) { + Tests.equalHex(name, a.get(i), b.get(i)); + } + } + + + static public void testHexArithmetic() { + Tests.equalHex("hex_add", new Hex(4, -10, 6), new Hex(1, -3, 2).add(new Hex(3, -7, 4))); + Tests.equalHex("hex_subtract", new Hex(-2, 4, -2), new Hex(1, -3, 2).subtract(new Hex(3, -7, 4))); + } + + + static public void testHexDirection() { + Tests.equalHex("hex_direction", new Hex(0, -1, 1), Hex.direction(2)); + } + + + static public void testHexNeighbor() { + Tests.equalHex("hex_neighbor", new Hex(1, -3, 2), new Hex(1, -2, 1).neighbor(2)); + } + + + static public void testHexDiagonal() { + Tests.equalHex("hex_diagonal", new Hex(-1, -1, 2), new Hex(1, -2, 1).diagonalNeighbor(3)); + } + + + static public void testHexDistance() { + Tests.equalInt("hex_distance", 7, new Hex(3, -7, 4).distance(new Hex(0, 0, 0))); + } + + + static public void testHexRotateRight() { + Tests.equalHex("hex_rotate_right", new Hex(1, -3, 2).rotateRight(), new Hex(3, -2, -1)); + } + + + static public void testHexRotateLeft() { + Tests.equalHex("hex_rotate_left", new Hex(1, -3, 2).rotateLeft(), new Hex(-2, -1, 3)); + } + + + static public void testHexRound() { + FractionalHex a = new FractionalHex(0.0, 0.0, 0.0); + FractionalHex b = new FractionalHex(1.0, -1.0, 0.0); + FractionalHex c = new FractionalHex(0.0, -1.0, 1.0); + Tests.equalHex("hex_round 1", new Hex(5, -10, 5), new FractionalHex(0.0, 0.0, 0.0).hexLerp(new FractionalHex(10.0, -20.0, 10.0), 0.5).hexRound()); + Tests.equalHex("hex_round 2", a.hexRound(), a.hexLerp(b, 0.499).hexRound()); + Tests.equalHex("hex_round 3", b.hexRound(), a.hexLerp(b, 0.501).hexRound()); + Tests.equalHex("hex_round 4", a.hexRound(), new FractionalHex(a.q * 0.4 + b.q * 0.3 + c.q * 0.3, a.r * 0.4 + b.r * 0.3 + c.r * 0.3, a.s * 0.4 + b.s * 0.3 + c.s * 0.3).hexRound()); + Tests.equalHex("hex_round 5", c.hexRound(), new FractionalHex(a.q * 0.3 + b.q * 0.3 + c.q * 0.4, a.r * 0.3 + b.r * 0.3 + c.r * 0.4, a.s * 0.3 + b.s * 0.3 + c.s * 0.4).hexRound()); + } + + + static public void testHexLinedraw() { + Tests.equalHexArray("hex_linedraw", new ArrayList() {{ + add(new Hex(0, 0, 0)); + add(new Hex(0, -1, 1)); + add(new Hex(0, -2, 2)); + add(new Hex(1, -3, 2)); + add(new Hex(1, -4, 3)); + add(new Hex(1, -5, 4)); + }}, FractionalHex.hexLinedraw(new Hex(0, 0, 0), new Hex(1, -5, 4))); + } + + + static public void testLayout() { + Hex h = new Hex(3, 4, -7); + Layout flat = new Layout(Layout.flat, new Point(10.0, 15.0), new Point(35.0, 71.0)); + Tests.equalHex("layout", h, flat.pixelToHex(flat.hexToPixel(h)).hexRound()); + Layout pointy = new Layout(Layout.pointy, new Point(10.0, 15.0), new Point(35.0, 71.0)); + Tests.equalHex("layout", h, pointy.pixelToHex(pointy.hexToPixel(h)).hexRound()); + } + + + static public void testOffsetRoundtrip() { + Hex a = new Hex(3, 4, -7); + OffsetCoord b = new OffsetCoord(1, -3); + Tests.equalHex("conversion_roundtrip even-q", a, OffsetCoord.qoffsetToCube(OffsetCoord.EVEN, OffsetCoord.qoffsetFromCube(OffsetCoord.EVEN, a))); + Tests.equalOffsetcoord("conversion_roundtrip even-q", b, OffsetCoord.qoffsetFromCube(OffsetCoord.EVEN, OffsetCoord.qoffsetToCube(OffsetCoord.EVEN, b))); + Tests.equalHex("conversion_roundtrip odd-q", a, OffsetCoord.qoffsetToCube(OffsetCoord.ODD, OffsetCoord.qoffsetFromCube(OffsetCoord.ODD, a))); + Tests.equalOffsetcoord("conversion_roundtrip odd-q", b, OffsetCoord.qoffsetFromCube(OffsetCoord.ODD, OffsetCoord.qoffsetToCube(OffsetCoord.ODD, b))); + Tests.equalHex("conversion_roundtrip even-r", a, OffsetCoord.roffsetToCube(OffsetCoord.EVEN, OffsetCoord.roffsetFromCube(OffsetCoord.EVEN, a))); + Tests.equalOffsetcoord("conversion_roundtrip even-r", b, OffsetCoord.roffsetFromCube(OffsetCoord.EVEN, OffsetCoord.roffsetToCube(OffsetCoord.EVEN, b))); + Tests.equalHex("conversion_roundtrip odd-r", a, OffsetCoord.roffsetToCube(OffsetCoord.ODD, OffsetCoord.roffsetFromCube(OffsetCoord.ODD, a))); + Tests.equalOffsetcoord("conversion_roundtrip odd-r", b, OffsetCoord.roffsetFromCube(OffsetCoord.ODD, OffsetCoord.roffsetToCube(OffsetCoord.ODD, b))); + } + + + static public void testOffsetFromCube() { + Tests.equalOffsetcoord("offset_from_cube even-q", new OffsetCoord(1, 3), OffsetCoord.qoffsetFromCube(OffsetCoord.EVEN, new Hex(1, 2, -3))); + Tests.equalOffsetcoord("offset_from_cube odd-q", new OffsetCoord(1, 2), OffsetCoord.qoffsetFromCube(OffsetCoord.ODD, new Hex(1, 2, -3))); + } + + + static public void testOffsetToCube() { + Tests.equalHex("offset_to_cube even-", new Hex(1, 2, -3), OffsetCoord.qoffsetToCube(OffsetCoord.EVEN, new OffsetCoord(1, 3))); + Tests.equalHex("offset_to_cube odd-q", new Hex(1, 2, -3), OffsetCoord.qoffsetToCube(OffsetCoord.ODD, new OffsetCoord(1, 2))); + } + + + static public void testDoubledRoundtrip() { + Hex a = new Hex(3, 4, -7); + DoubledCoord b = new DoubledCoord(1, -3); + Tests.equalHex("conversion_roundtrip doubled-q", a, DoubledCoord.qdoubledFromCube(a).qdoubledToCube()); + Tests.equalDoubledcoord("conversion_roundtrip doubled-q", b, DoubledCoord.qdoubledFromCube(b.qdoubledToCube())); + Tests.equalHex("conversion_roundtrip doubled-r", a, DoubledCoord.rdoubledFromCube(a).rdoubledToCube()); + Tests.equalDoubledcoord("conversion_roundtrip doubled-r", b, DoubledCoord.rdoubledFromCube(b.rdoubledToCube())); + } + + + static public void testDoubledFromCube() { + Tests.equalDoubledcoord("doubled_from_cube doubled-q", new DoubledCoord(1, 5), DoubledCoord.qdoubledFromCube(new Hex(1, 2, -3))); + Tests.equalDoubledcoord("doubled_from_cube doubled-r", new DoubledCoord(4, 2), DoubledCoord.rdoubledFromCube(new Hex(1, 2, -3))); + } + + + static public void testDoubledToCube() { + Tests.equalHex("doubled_to_cube doubled-q", new Hex(1, 2, -3), new DoubledCoord(1, 5).qdoubledToCube()); + Tests.equalHex("doubled_to_cube doubled-r", new Hex(1, 2, -3), new DoubledCoord(4, 2).rdoubledToCube()); + } + + + static public void testAll() { + Tests.testHexArithmetic(); + Tests.testHexDirection(); + Tests.testHexNeighbor(); + Tests.testHexDiagonal(); + Tests.testHexDistance(); + Tests.testHexRotateRight(); + Tests.testHexRotateLeft(); + Tests.testHexRound(); + Tests.testHexLinedraw(); + Tests.testLayout(); + Tests.testOffsetRoundtrip(); + Tests.testOffsetFromCube(); + Tests.testOffsetToCube(); + Tests.testDoubledRoundtrip(); + Tests.testDoubledFromCube(); + Tests.testDoubledToCube(); + } + + + static public void main(String[] args) { + Tests.testAll(); + } + + + static public void complain(String name) { + System.out.println("FAIL " + name); + } + +} + diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/Vertex.java b/src/main/java/de/bonndan/nivio/output/jgraphx/dto/Vertex.java index adfe33a79..7585e5b46 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/Vertex.java +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/dto/Vertex.java @@ -1,7 +1,13 @@ package de.bonndan.nivio.output.jgraphx.dto; import com.fasterxml.jackson.annotation.JsonInclude; +import com.mxgraph.model.mxCell; +import com.mxgraph.model.mxGeometry; +import de.bonndan.nivio.landscape.FullyQualifiedIdentifier; +import de.bonndan.nivio.landscape.Service; import de.bonndan.nivio.landscape.ServiceItem; +import de.bonndan.nivio.landscape.ServiceItems; +import org.springframework.util.StringUtils; import java.io.Serializable; @@ -19,4 +25,49 @@ public class Vertex implements Serializable { public String groupColor; public String type; public ServiceItem service; + + public Vertex(ServiceItem service, mxCell cell) { + type = "service"; + this.service = service; + + mxGeometry geometry = cell.getGeometry(); + + id = cell.getId(); + name = (String) cell.getValue(); + group = service.getGroup(); + + if (cell.getParent().getGeometry() != null) { + x = Math.round(geometry.getX() + cell.getParent().getGeometry().getX()); + y = Math.round(geometry.getY() + cell.getParent().getGeometry().getY()); + } else { + x = Math.round(geometry.getX()); + y = Math.round(geometry.getY()); + } + width = Math.round(geometry.getWidth()); + height = Math.round(geometry.getHeight()); + } + + public Vertex(String groupName, mxCell cell) { + type = "group"; + + mxGeometry geometry = cell.getGeometry(); + + id = cell.getId(); + name = (String) cell.getValue(); + group = groupName; + + if (cell.getParent().getGeometry() != null) { + x = Math.round(geometry.getX() + cell.getParent().getGeometry().getX()); + y = Math.round(geometry.getY() + cell.getParent().getGeometry().getY()); + } else { + x = Math.round(geometry.getX()); + y = Math.round(geometry.getY()); + } + width = Math.round(geometry.getWidth()); + height = Math.round(geometry.getHeight()); + } + + public Vertex() { + + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c28e5cd41..98734e7f7 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -12,7 +12,7 @@ spring: properties.hibernate.format_sql: false datasource: - url: jdbc:h2:/opt/nivio/database;DB_CLOSE_ON_EXIT=FALSE + url: jdbc:h2:mem:db;DB_CLOSE_DELAY=-1 username: nivio password: nivio driver-class-name: org.h2.Driver From 2421e1fd8e848dd5c6834f328589b81706b5b892 Mon Sep 17 00:00:00 2001 From: Daniel Pozzi Date: Thu, 3 Oct 2019 22:14:12 +0200 Subject: [PATCH 002/191] demo landscape config fix --- src/test/resources/example/example_env.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/test/resources/example/example_env.yml b/src/test/resources/example/example_env.yml index db64c0ab6..347386a9b 100644 --- a/src/test/resources/example/example_env.yml +++ b/src/test/resources/example/example_env.yml @@ -7,6 +7,17 @@ sources: format: nivio config: + jgraphx: + #nodeDistributionCostFactor: 9000000.0 + #edgeLengthCostFactor; + #borderLineCostFactor; + + # the higher, the longer the edges between groups + forceConstantFactor: 8 + + # higher value is cpu intensive, but can lead to better layouts + #maxIterations: 1000 + groups: content: color: "24a0ed" \ No newline at end of file From bade53b19b35d47a8afaddbf16a690fe16f202e1 Mon Sep 17 00:00:00 2001 From: Daniel Pozzi Date: Thu, 3 Oct 2019 22:20:49 +0200 Subject: [PATCH 003/191] react app to render hex --- pom.xml | 73 + readme.md | 7 +- src/main/app/.gitignore | 23 + src/main/app/README.md | 68 + src/main/app/package-lock.json | 13119 ++++++++++++++++ src/main/app/package.json | 32 + src/main/app/public/favicon.ico | Bin 0 -> 22382 bytes src/main/app/public/index.html | 43 + src/main/app/public/logo192.png | Bin 0 -> 8581 bytes src/main/app/public/logo512.png | Bin 0 -> 22920 bytes src/main/app/public/manifest.json | 25 + src/main/app/public/robots.txt | 2 + src/main/app/src/App.css | 24 + src/main/app/src/App.js | 26 + src/main/app/src/App.test.js | 9 + src/main/app/src/index.css | 51 + src/main/app/src/index.js | 12 + src/main/app/src/map.json | 478 + src/main/app/src/serviceWorker.js | 135 + .../nivio/output/jgraphx/FinalGraph.java | 21 +- .../jgraphx/JGraphXRenderController.java | 59 - .../nivio/output/jgraphx/JGraphXRenderer.java | 5 +- .../nivio/output/jgraphx/dto/HexVertex.java | 32 - .../output/jgraphx/dto/RenderedGraph.java | 10 - .../bonndan/nivio/output/map/HexMapItem.java | 40 + .../output/map/JsonRenderController.java | 104 + .../output/{jgraphx => map}/JsonRenderer.java | 29 +- .../de/bonndan/nivio/output/map/MapItem.java | 23 + .../bonndan/nivio/output/map/RenderedMap.java | 20 + .../output/{jgraphx/dto => map}/Tests.java | 2 +- .../dto/Vertex.java => map/XYMapItem.java} | 15 +- 31 files changed, 14338 insertions(+), 149 deletions(-) create mode 100644 src/main/app/.gitignore create mode 100644 src/main/app/README.md create mode 100644 src/main/app/package-lock.json create mode 100644 src/main/app/package.json create mode 100644 src/main/app/public/favicon.ico create mode 100644 src/main/app/public/index.html create mode 100644 src/main/app/public/logo192.png create mode 100644 src/main/app/public/logo512.png create mode 100644 src/main/app/public/manifest.json create mode 100644 src/main/app/public/robots.txt create mode 100644 src/main/app/src/App.css create mode 100644 src/main/app/src/App.js create mode 100644 src/main/app/src/App.test.js create mode 100644 src/main/app/src/index.css create mode 100644 src/main/app/src/index.js create mode 100644 src/main/app/src/map.json create mode 100644 src/main/app/src/serviceWorker.js delete mode 100644 src/main/java/de/bonndan/nivio/output/jgraphx/dto/HexVertex.java delete mode 100644 src/main/java/de/bonndan/nivio/output/jgraphx/dto/RenderedGraph.java create mode 100644 src/main/java/de/bonndan/nivio/output/map/HexMapItem.java create mode 100644 src/main/java/de/bonndan/nivio/output/map/JsonRenderController.java rename src/main/java/de/bonndan/nivio/output/{jgraphx => map}/JsonRenderer.java (71%) create mode 100644 src/main/java/de/bonndan/nivio/output/map/MapItem.java create mode 100644 src/main/java/de/bonndan/nivio/output/map/RenderedMap.java rename src/main/java/de/bonndan/nivio/output/{jgraphx/dto => map}/Tests.java (99%) rename src/main/java/de/bonndan/nivio/output/{jgraphx/dto/Vertex.java => map/XYMapItem.java} (85%) diff --git a/pom.xml b/pom.xml index 13cc10103..b92bceeee 100644 --- a/pom.xml +++ b/pom.xml @@ -19,6 +19,9 @@ 1.10 5.4.0 2.24.0 + ${project.basedir}/src/main/app + v10.16.3 + 1.7.6 @@ -245,6 +248,76 @@ + + + + + com.github.eirslett + frontend-maven-plugin + ${frontend-maven-plugin.version} + + + ${node.version} + ${yarn.version} + ${frontend-src-dir} + ${project.build.directory} + + + + + Install node and npm locally to the project + + install-node-and-npm + + + + npm install + + npm + + + + Build frontend + + npm + + + run build + + + + + + + maven-resources-plugin + 3.0.1 + + + position-react-build + + copy-resources + + prepare-package + + ${project.build.outputDirectory}/static + + + ${frontend-src-dir}/build + false + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 11 + 11 + + diff --git a/readme.md b/readme.md index a88a5ecc7..ec29931af 100644 --- a/readme.md +++ b/readme.md @@ -27,4 +27,9 @@ To **get started** read the [documentation](https://nivio.readthedocs.io/en/mast git clone https://github.com/bonndan/nivio.git && cd nivio mvn clean package docker build -t nivio:latest - docker run -e SEED=/tmp/inout.yml --mount type=bind,source="$(pwd)"/src/test/resources/example,target=/tmp -p 8089:8080 nivio:latest \ No newline at end of file + docker run -e SEED=/tmp/inout.yml --mount type=bind,source="$(pwd)"/src/test/resources/example,target=/tmp -p 8089:8080 nivio:latest + +https://medium.com/@itzgeoff/including-react-in-your-spring-boot-maven-build-ae3b8f8826e + * install nvm oder node > 5 + nvm install-latest-npm https://www.hostingadvice.com/how-to/update-node-js-latest-version/ + \ No newline at end of file diff --git a/src/main/app/.gitignore b/src/main/app/.gitignore new file mode 100644 index 000000000..4d29575de --- /dev/null +++ b/src/main/app/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/src/main/app/README.md b/src/main/app/README.md new file mode 100644 index 000000000..859d27a64 --- /dev/null +++ b/src/main/app/README.md @@ -0,0 +1,68 @@ +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.
+Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +The page will reload if you make edits.
+You will also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.
+See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.
+It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.
+Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can’t go back!** + +If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. + +You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting + +### Analyzing the Bundle Size + +This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size + +### Making a Progressive Web App + +This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app + +### Advanced Configuration + +This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration + +### Deployment + +This section has moved here: https://facebook.github.io/create-react-app/docs/deployment + +### `npm run build` fails to minify + +This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify diff --git a/src/main/app/package-lock.json b/src/main/app/package-lock.json new file mode 100644 index 000000000..0b86e737e --- /dev/null +++ b/src/main/app/package-lock.json @@ -0,0 +1,13119 @@ +{ + "name": "my-app", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.0.tgz", + "integrity": "sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw==", + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.0", + "@babel/helpers": "^7.6.0", + "@babel/parser": "^7.6.0", + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.0", + "@babel/types": "^7.6.0", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz", + "integrity": "sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==", + "requires": { + "@babel/types": "^7.6.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", + "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", + "requires": { + "@babel/types": "^7.3.0", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz", + "integrity": "sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==", + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4" + } + }, + "@babel/helper-define-map": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", + "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", + "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "requires": { + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", + "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "requires": { + "@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": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", + "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" + } + }, + "@babel/helpers": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz", + "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==", + "requires": { + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.2", + "@babel/types": "^7.6.0" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz", + "integrity": "sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==" + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz", + "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.5.5", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz", + "integrity": "sha512-ZSyYw9trQI50sES6YxREXKu+4b7MAg6Qx2cvyDDYjP2Hpzd3FleOUwC9cqn1+za8d0A2ZU8SHujxFao956efUg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.6.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.2.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", + "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz", + "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz", + "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz", + "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", + "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", + "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz", + "integrity": "sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "requires": { + "@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": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.2.tgz", + "integrity": "sha512-zZT8ivau9LOQQaOGC7bQLQOT4XPkPXgN2ERfUgk1X8ql+mVkLc4E8eKk+FO3o0154kxzqenWCorfmEXpEZcrSQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", + "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.5.5", + "@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.5.5", + "@babel/helper-split-export-declaration": "^7.4.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", + "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz", + "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz", + "integrity": "sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", + "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", + "requires": { + "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.2.tgz", + "integrity": "sha512-xBdB+XOs+lgbZc2/4F5BVDVcDNS4tcSKQc96KmlqLEAwz6tpYPEvPdmDfvVG0Ssn8lAhronaRs6Z6KSexIpK5g==", + "requires": { + "regexpu-core": "^4.6.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", + "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "requires": { + "@babel/helper-call-delegate": "^7.4.4", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.0.tgz", + "integrity": "sha512-np/nPuII8DHOZWB3u8u+NSeKlEz0eBrOlnVksIQog4C9NGVzXO+NLxMcXn4Eu4GMFzOw2W6Tyo6L3+Wv8z9Y5w==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", + "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", + "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", + "requires": { + "@babel/helper-builder-react-jsx": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz", + "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz", + "integrity": "sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.0.tgz", + "integrity": "sha512-Da8tMf7uClzwUm/pnJ1S93m/aRXmoYNDD7TkHua8xBDdaAs54uZpTWvEt6NGwmoVMb9mZbntfTqmG2oSzN/7Vg==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz", + "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.0.tgz", + "integrity": "sha512-yzw7EopOOr6saONZ3KA3lpizKnWRTe+rfBqg4AmQbSow7ik7fqmzrfIqt053osLwLE2AaTqGinLM2tl6+M/uog==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.6.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.2.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz", + "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/preset-env": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.2.tgz", + "integrity": "sha512-Ru7+mfzy9M1/YTEtlDS8CD45jd22ngb9tXnn64DvQK3ooyqSw9K4K9DUWmYknTTVk4TqygL9dqCrZgm1HMea/Q==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-dynamic-import": "^7.5.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.6.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.6.2", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.5.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.6.2", + "@babel/plugin-transform-classes": "^7.5.5", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.6.0", + "@babel/plugin-transform-dotall-regex": "^7.6.2", + "@babel/plugin-transform-duplicate-keys": "^7.5.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.6.0", + "@babel/plugin-transform-modules-systemjs": "^7.5.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.2", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.5.5", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.6.2", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.6.2", + "@babel/types": "^7.6.0", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/preset-react": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz", + "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0" + } + }, + "@babel/preset-typescript": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz", + "integrity": "sha512-4xKw3tTcCm0qApyT6PqM9qniseCE79xGHiUnNdKGdxNsGUc2X7WwZybqIpnTmoukg3nhPceI5KPNzNqLNeIJww==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.6.0" + } + }, + "@babel/runtime": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.0.tgz", + "integrity": "sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@babel/template": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", + "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0" + } + }, + "@babel/traverse": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz", + "integrity": "sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==", + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.6.2", + "@babel/types": "^7.6.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz", + "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@cnakazawa/watch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz", + "integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==", + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==" + }, + "@csstools/normalize.css": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-9.0.1.tgz", + "integrity": "sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA==" + }, + "@hapi/address": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.2.tgz", + "integrity": "sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q==" + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" + }, + "@hapi/hoek": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.2.5.tgz", + "integrity": "sha512-rmGFzok1zR3xZKd5m3ihWdqafXFxvPHoQ/78+AG5URKbEbJiwBBfRgzbu+07W5f3+07JRshw6QqGbVmCp8ntig==" + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.4.tgz", + "integrity": "sha512-aVWQTOI9wBD6zawmOr6f+tdEIxQC8JXfQVLTjgGe8YEStAWGn/GNNVTobKJhbWKveQj2RyYF3oYbO9SC8/eOCA==", + "requires": { + "@hapi/hoek": "8.x.x" + } + }, + "@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "requires": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + } + }, + "@jest/core": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", + "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", + "requires": { + "@jest/console": "^24.7.1", + "@jest/reporters": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-changed-files": "^24.9.0", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-resolve-dependencies": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "jest-watcher": "^24.9.0", + "micromatch": "^3.1.10", + "p-each-series": "^1.0.0", + "realpath-native": "^1.1.0", + "rimraf": "^2.5.4", + "slash": "^2.0.0", + "strip-ansi": "^5.0.0" + } + }, + "@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "requires": { + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "requires": { + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/reporters": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", + "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", + "requires": { + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "istanbul-lib-coverage": "^2.0.2", + "istanbul-lib-instrument": "^3.0.1", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.1", + "istanbul-reports": "^2.2.6", + "jest-haste-map": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "node-notifier": "^5.4.2", + "slash": "^2.0.0", + "source-map": "^0.6.0", + "string-length": "^2.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "requires": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + } + }, + "@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", + "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "requires": { + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" + } + }, + "@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", + "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", + "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", + "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", + "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", + "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", + "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", + "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==" + }, + "@svgr/babel-preset": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", + "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^4.2.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^4.2.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.2.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.2.0", + "@svgr/babel-plugin-svg-dynamic-title": "^4.3.3", + "@svgr/babel-plugin-svg-em-dimensions": "^4.2.0", + "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", + "@svgr/babel-plugin-transform-svg-component": "^4.2.0" + } + }, + "@svgr/core": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", + "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", + "requires": { + "@svgr/plugin-jsx": "^4.3.3", + "camelcase": "^5.3.1", + "cosmiconfig": "^5.2.1" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", + "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@svgr/plugin-jsx": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", + "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", + "requires": { + "@babel/core": "^7.4.5", + "@svgr/babel-preset": "^4.3.3", + "@svgr/hast-util-to-babel-ast": "^4.3.2", + "svg-parser": "^2.0.0" + } + }, + "@svgr/plugin-svgo": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", + "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", + "requires": { + "cosmiconfig": "^5.2.1", + "merge-deep": "^3.0.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-4.3.2.tgz", + "integrity": "sha512-F3VE5OvyOWBEd2bF7BdtFRyI6E9it3mN7teDw0JQTlVtc4HZEYiiLSl+Uf9Uub6IYHVGc+qIrxxDyeedkQru2w==", + "requires": { + "@babel/core": "^7.4.5", + "@babel/plugin-transform-react-constant-elements": "^7.0.0", + "@babel/preset-env": "^7.4.5", + "@babel/preset-react": "^7.0.0", + "@svgr/core": "^4.3.2", + "@svgr/plugin-jsx": "^4.3.2", + "@svgr/plugin-svgo": "^4.3.1", + "loader-utils": "^1.2.3" + } + }, + "@types/babel__core": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", + "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.0.tgz", + "integrity": "sha512-c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.7.tgz", + "integrity": "sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw==", + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==" + }, + "@types/istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz", + "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==" + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" + }, + "@types/yargs": { + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz", + "integrity": "sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz", + "integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.3.2.tgz", + "integrity": "sha512-tcnpksq1bXzcIRbYLeXkgp6l+ggEMXXUcl1wsSvL807fRtmvVQKygElwEUf4hBA76dNag3VAK1q2m3vd7qJaZA==", + "requires": { + "@typescript-eslint/experimental-utils": "2.3.2", + "eslint-utils": "^1.4.2", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^2.0.1", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.2.tgz", + "integrity": "sha512-t+JGdTT6dRbmvKDlhlVkEueoZa0fhJNfG6z2cpnRPLwm3VwYr2BjR//acJGC1Yza0I9ZNcDfRY7ubQEvvfG6Jg==", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.3.2", + "eslint-scope": "^5.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.3.2.tgz", + "integrity": "sha512-nq1UQeNGdKdqdgF6Ww+Ov2OidWgiL96+JYdXXZ2rkP/OWyc6KMNSbs6MpRCpI8q+PmDa7hBnHNQIo7w/drYccA==", + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.3.2", + "@typescript-eslint/typescript-estree": "2.3.2", + "eslint-visitor-keys": "^1.1.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.3.2.tgz", + "integrity": "sha512-eZNEAai16nwyhIVIEaWQlaUgAU3S9CkQ58qvK0+3IuSdLJD3W1PNuehQFMIhW/mTP1oFR9GNoTcLg7gtXz6lzA==", + "requires": { + "glob": "^7.1.4", + "is-glob": "^4.0.1", + "lodash.unescape": "4.0.1", + "semver": "^6.3.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "abab": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz", + "integrity": "sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==" + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==" + } + } + }, + "acorn-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", + "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==" + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" + }, + "adjust-sourcemap-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz", + "integrity": "sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==", + "requires": { + "assert": "1.4.1", + "camelcase": "5.0.0", + "loader-utils": "1.2.3", + "object-path": "0.11.4", + "regex-parser": "2.2.10" + }, + "dependencies": { + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" + } + } + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==" + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "requires": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + } + }, + "arity-n": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", + "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=" + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "requires": { + "util": "0.10.3" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "autoprefixer": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz", + "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==", + "requires": { + "browserslist": "^4.6.3", + "caniuse-lite": "^1.0.30000980", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.17", + "postcss-value-parser": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", + "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==" + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "axobject-query": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", + "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", + "requires": { + "ast-types-flow": "0.0.7" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "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" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "babel-eslint": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", + "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "requires": { + "babylon": "^6.18.0" + } + }, + "babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "requires": { + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^5.1.0", + "babel-preset-jest": "^24.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" + } + }, + "babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + } + }, + "babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "requires": { + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz", + "integrity": "sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ==", + "requires": { + "@babel/runtime": "^7.4.2", + "cosmiconfig": "^5.2.0", + "resolve": "^1.10.0" + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.4.tgz", + "integrity": "sha512-S6d+tEzc5Af1tKIMbsf2QirCcPdQ+mKUCY2H1nJj1DyA1ShwpsoxEOAwbWsG5gcXNV/olpvQd9vrUWRx4bnhpw==" + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "requires": { + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" + } + }, + "babel-preset-react-app": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-9.0.2.tgz", + "integrity": "sha512-aXD+CTH8Chn8sNJr4tO/trWKqe5sSE4hdO76j9fhVezJSzmpWYWUSc5JoPmdSxADwef5kQFNGKXd433vvkd2VQ==", + "requires": { + "@babel/core": "7.6.0", + "@babel/plugin-proposal-class-properties": "7.5.5", + "@babel/plugin-proposal-decorators": "7.6.0", + "@babel/plugin-proposal-object-rest-spread": "7.5.5", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-transform-destructuring": "7.6.0", + "@babel/plugin-transform-flow-strip-types": "7.4.4", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-runtime": "7.6.0", + "@babel/preset-env": "7.6.0", + "@babel/preset-react": "7.0.0", + "@babel/preset-typescript": "7.6.0", + "@babel/runtime": "7.6.0", + "babel-plugin-dynamic-import-node": "2.3.0", + "babel-plugin-macros": "2.6.1", + "babel-plugin-transform-react-remove-prop-types": "0.4.24" + }, + "dependencies": { + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", + "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/preset-env": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.0.tgz", + "integrity": "sha512-1efzxFv/TcPsNXlRhMzRnkBFMeIqBBgzwmZwlFDw5Ubj0AGLeufxugirwZmkkX/ayi3owsSqoQ4fw8LkfK9SYg==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-dynamic-import": "^7.5.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.5.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.5.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.6.0", + "@babel/plugin-transform-classes": "^7.5.5", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.6.0", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/plugin-transform-duplicate-keys": "^7.5.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.6.0", + "@babel/plugin-transform-modules-systemjs": "^7.5.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.0", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.5.5", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.4.4", + "@babel/types": "^7.6.0", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "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" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "bluebird": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz", + "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "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" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==" + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "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": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "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": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", + "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", + "requires": { + "caniuse-lite": "^1.0.30000989", + "electron-to-chromium": "^1.3.247", + "node-releases": "^1.1.29" + } + }, + "bser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz", + "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "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": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30000998", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000998.tgz", + "integrity": "sha512-8Tj5sPZR9kMHeDD9SZXIVr5m9ofufLLCG2Y4QwQrH18GIwG+kCc+zYdlR036ZRkuKjVVetyxeAgGA1xF7XdmzQ==" + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "requires": { + "rsvp": "^4.8.4" + } + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "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" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "optional": true, + "requires": { + "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" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "optional": true + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + } + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", + "requires": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz", + "integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==" + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compose-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", + "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", + "requires": { + "arity-n": "^1.0.4" + } + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "requires": { + "mime-db": ">= 1.40.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "confusing-browser-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", + "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==" + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz", + "integrity": "sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==" + }, + "core-js-compat": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", + "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", + "requires": { + "browserslist": "^4.6.6", + "semver": "^6.3.0" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "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": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "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": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "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": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "requires": { + "postcss": "^7.0.5" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "css-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", + "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", + "requires": { + "camelcase": "^5.2.0", + "icss-utils": "^4.1.0", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.14", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^2.0.6", + "postcss-modules-scope": "^2.1.0", + "postcss-modules-values": "^2.0.0", + "postcss-value-parser": "^3.3.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + } + } + }, + "css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "requires": { + "postcss": "^7.0.5" + } + }, + "css-select": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz", + "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^2.1.2", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-tree": { + "version": "1.0.0-alpha.33", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz", + "integrity": "sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.5.3" + } + }, + "css-unit-converter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", + "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=" + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" + }, + "cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" + }, + "csso": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", + "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "requires": { + "css-tree": "1.0.0-alpha.29" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.29", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", + "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", + "requires": { + "mdn-data": "~1.1.0", + "source-map": "^0.5.3" + } + }, + "mdn-data": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", + "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==" + } + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "requires": { + "cssom": "0.3.x" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "damerau-levenshtein": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz", + "integrity": "sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA==" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz", + "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=" + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz", + "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "electron-to-chromium": { + "version": "1.3.273", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.273.tgz", + "integrity": "sha512-0kUppiHQvHEENHh+nTtvTt4eXMwcPyWmMaj73GPrSEm3ldKhmmHuOH6IjrmuW6YmyS/fpXcLvMQLNVpqRhpNWw==" + }, + "elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "requires": { + "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" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz", + "integrity": "sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==", + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.0", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.6.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.51", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz", + "integrity": "sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "^1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz", + "integrity": "sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==", + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.51" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", + "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, + "eslint": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz", + "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==", + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.2", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.4.1", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "import-fresh": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + } + } + }, + "eslint-config-react-app": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.0.2.tgz", + "integrity": "sha512-VhlESAQM83uULJ9jsvcKxx2Ab0yrmjUt8kDz5DyhTQufqWE0ssAnejlWri5LXv25xoXfdqOyeDPdfJS9dXKagQ==", + "requires": { + "confusing-browser-globals": "^1.0.9" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "requires": { + "debug": "^2.6.9", + "resolve": "^1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "eslint-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-3.0.2.tgz", + "integrity": "sha512-S5VnD+UpVY1PyYRqeBd/4pgsmkvSokbHqTXAQMpvCyRr3XN2tvSLo9spm2nEpqQqh9dezw3os/0zWihLeOg2Rw==", + "requires": { + "fs-extra": "^8.1.0", + "loader-fs-cache": "^1.0.2", + "loader-utils": "^1.2.3", + "object-hash": "^1.3.1", + "schema-utils": "^2.2.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "schema-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.4.1.tgz", + "integrity": "sha512-RqYLpkPZX5Oc3fw/kHHHyP56fg5Y+XBpIpV8nCg0znIALfq3OH+Ea9Hfeac9BAMwG5IICltiZ0vxFvJQONfA5w==", + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", + "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", + "requires": { + "debug": "^2.6.8", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", + "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", + "requires": { + "lodash": "^4.17.15" + } + }, + "eslint-plugin-import": { + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", + "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", + "requires": { + "array-includes": "^3.0.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.11.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz", + "integrity": "sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg==", + "requires": { + "@babel/runtime": "^7.4.5", + "aria-query": "^3.0.0", + "array-includes": "^3.0.3", + "ast-types-flow": "^0.0.7", + "axobject-query": "^2.0.2", + "damerau-levenshtein": "^1.0.4", + "emoji-regex": "^7.0.2", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.1" + } + }, + "eslint-plugin-react": { + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz", + "integrity": "sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA==", + "requires": { + "array-includes": "^3.0.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.1.0", + "object.entries": "^1.1.0", + "object.fromentries": "^2.0.0", + "object.values": "^1.1.0", + "prop-types": "^15.7.2", + "resolve": "^1.10.1" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz", + "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==" + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", + "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "requires": { + "eslint-visitor-keys": "^1.0.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==" + }, + "espree": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz", + "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==", + "requires": { + "acorn": "^7.0.0", + "acorn-jsx": "^5.0.2", + "eslint-visitor-keys": "^1.1.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz", + "integrity": "sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "requires": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "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" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "requires": { + "bser": "^2.0.0" + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", + "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + } + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==" + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=" + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "follow-redirects": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", + "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", + "requires": { + "debug": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "fork-ts-checker-webpack-plugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz", + "integrity": "sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==", + "requires": { + "babel-code-frame": "^6.22.0", + "chalk": "^2.4.1", + "chokidar": "^2.0.4", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz", + "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", + "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==" + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + } + } + }, + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==" + }, + "handlebars": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.2.tgz", + "integrity": "sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg==", + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "harmony-reflect": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.1.tgz", + "integrity": "sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", + "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + } + } + }, + "html-webpack-plugin": { + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz", + "integrity": "sha512-y5l4lGxOW3pz3xBTFdfB9rnnrWRPVxlAhX6nrBYIcW+2k2zC3mSp/3DxlWVCMBfnO6UAnoF8OcFn0IMy6kaKAQ==", + "requires": { + "html-minifier": "^3.5.20", + "loader-utils": "^1.1.0", + "lodash": "^4.17.11", + "pretty-error": "^2.1.1", + "tapable": "^1.1.0", + "util.promisify": "1.0.0" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=" + }, + "http-proxy": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "requires": { + "postcss": "^7.0.14" + } + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=", + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "immer": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", + "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==" + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "requires": { + "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": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "^1.0.1" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==" + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + } + }, + "istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "requires": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "istanbul-reports": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", + "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", + "requires": { + "handlebars": "^4.1.2" + } + }, + "jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", + "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", + "requires": { + "import-local": "^2.0.0", + "jest-cli": "^24.9.0" + }, + "dependencies": { + "jest-cli": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", + "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "requires": { + "@jest/core": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "import-local": "^2.0.0", + "is-ci": "^2.0.0", + "jest-config": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "prompts": "^2.0.1", + "realpath-native": "^1.1.0", + "yargs": "^13.3.0" + } + } + } + }, + "jest-changed-files": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", + "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", + "requires": { + "@jest/types": "^24.9.0", + "execa": "^1.0.0", + "throat": "^4.0.0" + } + }, + "jest-config": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", + "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^24.9.0", + "@jest/types": "^24.9.0", + "babel-jest": "^24.9.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^24.9.0", + "jest-environment-node": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "micromatch": "^3.1.10", + "pretty-format": "^24.9.0", + "realpath-native": "^1.1.0" + } + }, + "jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "requires": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-docblock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", + "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "requires": { + "detect-newline": "^2.1.0" + } + }, + "jest-each": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", + "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", + "requires": { + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-environment-jsdom": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0", + "jsdom": "^11.5.1" + } + }, + "jest-environment-jsdom-fourteen": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz", + "integrity": "sha512-4vtoRMg7jAstitRzL4nbw83VmGH8Rs13wrND3Ud2o1fczDhMUF32iIrNKwYGgeOPUdfvZU4oy8Bbv+ni1fgVCA==", + "requires": { + "jest-mock": "^24.5.0", + "jest-util": "^24.5.0", + "jsdom": "^14.0.0" + }, + "dependencies": { + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==" + }, + "jsdom": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", + "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==", + "requires": { + "abab": "^2.0.0", + "acorn": "^6.0.4", + "acorn-globals": "^4.3.0", + "array-equal": "^1.0.0", + "cssom": "^0.3.4", + "cssstyle": "^1.1.1", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.0", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.1.3", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.5.0", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^6.1.2", + "xml-name-validator": "^3.0.0" + } + }, + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + }, + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + } + }, + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==" + }, + "jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "requires": { + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.7", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "dependencies": { + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "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" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "optional": true, + "requires": { + "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" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "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" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "optional": true + } + } + } + } + }, + "jest-jasmine2": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", + "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^24.9.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", + "throat": "^4.0.0" + } + }, + "jest-leak-detector": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", + "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "requires": { + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "requires": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "requires": { + "@jest/types": "^24.9.0" + } + }, + "jest-pnp-resolver": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", + "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==" + }, + "jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==" + }, + "jest-resolve": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", + "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", + "requires": { + "@jest/types": "^24.9.0", + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "jest-pnp-resolver": "^1.2.1", + "realpath-native": "^1.1.0" + } + }, + "jest-resolve-dependencies": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", + "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", + "requires": { + "@jest/types": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-snapshot": "^24.9.0" + } + }, + "jest-runner": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", + "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "requires": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.4.2", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-docblock": "^24.3.0", + "jest-haste-map": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-leak-detector": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + } + }, + "jest-runtime": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", + "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", + "requires": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/source-map": "^24.3.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "strip-bom": "^3.0.0", + "yargs": "^13.3.0" + } + }, + "jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==" + }, + "jest-snapshot": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", + "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "expect": "^24.9.0", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^24.9.0", + "semver": "^6.2.0" + } + }, + "jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "requires": { + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "requires": { + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" + } + }, + "jest-watch-typeahead": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.4.0.tgz", + "integrity": "sha512-bJR/HPNgOQnkmttg1OkBIrYFAYuxFxExtgQh67N2qPvaWGVC8TCkedRNPKBfmZfVXFD3u2sCH+9OuS5ApBfCgA==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.1", + "jest-watcher": "^24.3.0", + "slash": "^3.0.0", + "string-length": "^3.1.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", + "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==", + "requires": { + "type-fest": "^0.5.2" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + } + } + } + }, + "jest-watcher": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", + "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", + "requires": { + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "jest-util": "^24.9.0", + "string-length": "^2.0.0" + } + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz", + "integrity": "sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==", + "requires": { + "array-includes": "^3.0.3", + "object.assign": "^4.1.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "requires": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "loader-fs-cache": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz", + "integrity": "sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw==", + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "loglevel": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz", + "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "requires": { + "tmpl": "1.0.x" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "merge-deep": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz", + "integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==", + "requires": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "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" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "mini-css-extract-plugin": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz", + "integrity": "sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==", + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=" + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "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" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "requires": { + "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": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "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.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + } + } + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" + }, + "node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "node-releases": { + "version": "1.1.34", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.34.tgz", + "integrity": "sha512-fNn12JTEfniTuCqo0r9jXgl44+KxRH/huV7zM/KAGOKxDKrHr6EbT7SSs4B+DNxyBE2mks28AD+Jw6PkfY5uwA==", + "requires": { + "semver": "^6.3.0" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nwsapi": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz", + "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==" + }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==" + }, + "object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-path": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", + "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.entries": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", + "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.0.tgz", + "integrity": "sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.11.0", + "function-bind": "^1.1.1", + "has": "^1.0.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + } + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz", + "integrity": "sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==", + "requires": { + "cssnano": "^4.1.10", + "last-call-webpack-plugin": "^3.0.0" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "requires": { + "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" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, + "p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=" + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + } + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + } + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "pnp-webpack-plugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz", + "integrity": "sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg==", + "requires": { + "ts-pnp": "^1.1.2" + } + }, + "portfinder": { + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz", + "integrity": "sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==", + "requires": { + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz", + "integrity": "sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-browser-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-2.0.0.tgz", + "integrity": "sha512-xGG0UvoxwBc4Yx4JX3gc0RuDl1kc4bVihCzzk6UC72YPfq5fu3c717Nu8Un3nvnq1BJ31gBnFXIG/OaUTnpHgA==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-calc": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz", + "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==", + "requires": { + "css-unit-converter": "^1.1.1", + "postcss": "^7.0.5", + "postcss-selector-parser": "^5.0.0-rc.4", + "postcss-value-parser": "^3.3.1" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "requires": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + } + }, + "postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "requires": { + "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": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "requires": { + "postcss": "^7.0.14" + } + }, + "postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "requires": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + } + }, + "postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "requires": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz", + "integrity": "sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-font-variant": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz", + "integrity": "sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-initial": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.1.tgz", + "integrity": "sha512-I2Sz83ZSHybMNh02xQDK609lZ1/QOyYeuizCjzEhlMgeV/HcDJapQiH4yTqLjZss0X6/6VvKFXUeObaHpJoINw==", + "requires": { + "lodash.template": "^4.5.0", + "postcss": "^7.0.2" + } + }, + "postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + } + }, + "postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "requires": { + "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" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "requires": { + "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": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "requires": { + "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": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", + "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0", + "postcss-value-parser": "^3.3.1" + } + }, + "postcss-modules-scope": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", + "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", + "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^7.0.6" + } + }, + "postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-normalize": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-7.0.1.tgz", + "integrity": "sha512-NOp1fwrG+6kVXWo7P9SizCHX6QvioxFD/hZcI2MLxPmVnFJFC0j0DDpIuNw2tUDeCFMni59gCVgeJ1/hYhj2OQ==", + "requires": { + "@csstools/normalize.css": "^9.0.1", + "browserslist": "^4.1.1", + "postcss": "^7.0.2", + "postcss-browser-comments": "^2.0.0" + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "requires": { + "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": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "requires": { + "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": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", + "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", + "requires": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-safe-parser": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz", + "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "postcss-selector-not": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz", + "integrity": "sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ==", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "pretty-bytes": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", + "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==" + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "requires": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + } + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "promise": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.3.tgz", + "integrity": "sha512-HeRDUL1RJiLhyA0/grn+PTShlBAcLuh/1BJGtrvjwbvRDCTLLMEz9rOGCV+R3vHY4MixIuoMEd9Yq/XvsTPcjw==", + "requires": { + "asap": "~2.0.6" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "prompts": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz", + "integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.3" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "psl": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "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" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + } + } + }, + "react": { + "version": "16.10.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.10.1.tgz", + "integrity": "sha512-2bisHwMhxQ3XQz4LiJJwG3360pY965pTl/MRrZYxIBKVj4fOHoDs5aZAkYXGxDRO1Li+SyjTAilQEbOmtQJHzA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, + "react-app-polyfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-1.0.4.tgz", + "integrity": "sha512-5Vte6ki7jpNsNCUKaboyofAhmURmCn2Y6Hu7ydJ6Iu4dct1CIGoh/1FT7gUZKAbowVX2lxVPlijvp1nKxfAl4w==", + "requires": { + "core-js": "3.2.1", + "object-assign": "4.1.1", + "promise": "8.0.3", + "raf": "3.4.1", + "regenerator-runtime": "0.13.3", + "whatwg-fetch": "3.0.0" + } + }, + "react-dev-utils": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-9.1.0.tgz", + "integrity": "sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg==", + "requires": { + "@babel/code-frame": "7.5.5", + "address": "1.1.2", + "browserslist": "4.7.0", + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "detect-port-alt": "1.1.6", + "escape-string-regexp": "1.0.5", + "filesize": "3.6.1", + "find-up": "3.0.0", + "fork-ts-checker-webpack-plugin": "1.5.0", + "global-modules": "2.0.0", + "globby": "8.0.2", + "gzip-size": "5.1.1", + "immer": "1.10.0", + "inquirer": "6.5.0", + "is-root": "2.1.0", + "loader-utils": "1.2.3", + "open": "^6.3.0", + "pkg-up": "2.0.0", + "react-error-overlay": "^6.0.3", + "recursive-readdir": "2.2.2", + "shell-quote": "1.7.2", + "sockjs-client": "1.4.0", + "strip-ansi": "5.2.0", + "text-table": "0.2.0" + }, + "dependencies": { + "inquirer": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.0.tgz", + "integrity": "sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==", + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + } + } + } + }, + "react-dom": { + "version": "16.10.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.10.1.tgz", + "integrity": "sha512-SmM4ZW0uug0rn95U8uqr52I7UdNf6wdGLeXDmNLfg3y5q5H9eAbdjF5ubQc3bjDyRrvdAB2IKG7X0GzSpnn5Mg==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.16.1" + } + }, + "react-error-overlay": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.3.tgz", + "integrity": "sha512-bOUvMWFQVk5oz8Ded9Xb7WVdEi3QGLC8tH7HmYP0Fdp4Bn3qw0tRFmr5TW6mvahzvmrK4a6bqWGfCevBflP+Xw==" + }, + "react-is": { + "version": "16.10.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.10.1.tgz", + "integrity": "sha512-BXUMf9sIOPXXZWqr7+c5SeOKJykyVr2u0UDzEf4LNGc6taGkQe1A9DFD07umCIXz45RLr9oAAwZbAJ0Pkknfaw==" + }, + "react-scripts": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-3.2.0.tgz", + "integrity": "sha512-6LzuKbE2B4eFQG6i1FnTScn9HDcWBfXXnOwW9xKFPJ/E3rK8i1ufbOZ0ocKyRPxJAKdN7iqg3i7lt0+oxkSVOA==", + "requires": { + "@babel/core": "7.6.0", + "@svgr/webpack": "4.3.2", + "@typescript-eslint/eslint-plugin": "^2.2.0", + "@typescript-eslint/parser": "^2.2.0", + "babel-eslint": "10.0.3", + "babel-jest": "^24.9.0", + "babel-loader": "8.0.6", + "babel-plugin-named-asset-import": "^0.3.4", + "babel-preset-react-app": "^9.0.2", + "camelcase": "^5.2.0", + "case-sensitive-paths-webpack-plugin": "2.2.0", + "css-loader": "2.1.1", + "dotenv": "6.2.0", + "dotenv-expand": "5.1.0", + "eslint": "^6.1.0", + "eslint-config-react-app": "^5.0.2", + "eslint-loader": "3.0.2", + "eslint-plugin-flowtype": "3.13.0", + "eslint-plugin-import": "2.18.2", + "eslint-plugin-jsx-a11y": "6.2.3", + "eslint-plugin-react": "7.14.3", + "eslint-plugin-react-hooks": "^1.6.1", + "file-loader": "3.0.1", + "fs-extra": "7.0.1", + "fsevents": "2.0.7", + "html-webpack-plugin": "4.0.0-beta.5", + "identity-obj-proxy": "3.0.0", + "is-wsl": "^1.1.0", + "jest": "24.9.0", + "jest-environment-jsdom-fourteen": "0.1.0", + "jest-resolve": "24.9.0", + "jest-watch-typeahead": "0.4.0", + "mini-css-extract-plugin": "0.8.0", + "optimize-css-assets-webpack-plugin": "5.0.3", + "pnp-webpack-plugin": "1.5.0", + "postcss-flexbugs-fixes": "4.1.0", + "postcss-loader": "3.0.0", + "postcss-normalize": "7.0.1", + "postcss-preset-env": "6.7.0", + "postcss-safe-parser": "4.0.1", + "react-app-polyfill": "^1.0.4", + "react-dev-utils": "^9.1.0", + "resolve": "1.12.0", + "resolve-url-loader": "3.1.0", + "sass-loader": "7.2.0", + "semver": "6.3.0", + "style-loader": "1.0.0", + "terser-webpack-plugin": "1.4.1", + "ts-pnp": "1.1.4", + "url-loader": "2.1.0", + "webpack": "4.41.0", + "webpack-dev-server": "3.2.1", + "webpack-manifest-plugin": "2.1.1", + "workbox-webpack-plugin": "4.3.1" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "requires": { + "util.promisify": "^1.0.0" + } + }, + "recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "requires": { + "minimatch": "3.0.4" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "requires": { + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regex-parser": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz", + "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==" + }, + "regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "requires": { + "define-properties": "^1.1.2" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==" + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", + "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", + "requires": { + "lodash": "^4.17.11" + } + }, + "request-promise-native": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", + "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", + "requires": { + "request-promise-core": "1.1.2", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "resolve-url-loader": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz", + "integrity": "sha512-2QcrA+2QgVqsMJ1Hn5NnJXIGCX1clQ1F6QJTqOeiaDw9ACo1G2k+8/shq3mtqne03HOFyskAClqfxKyFBriXZg==", + "requires": { + "adjust-sourcemap-loader": "2.0.0", + "camelcase": "5.0.0", + "compose-function": "3.0.3", + "convert-source-map": "1.6.0", + "es6-iterator": "2.0.3", + "loader-utils": "1.2.3", + "postcss": "7.0.14", + "rework": "1.0.1", + "rework-visit": "1.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" + }, + "postcss": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", + "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "rework": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", + "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", + "requires": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + }, + "dependencies": { + "convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=" + } + } + }, + "rework-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=" + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "^2.1.0" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + } + }, + "sass-loader": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.2.0.tgz", + "integrity": "sha512-h8yUWaWtsbuIiOCgR9fd9c2lRXZ2uG+h8Dzg/AGNj+Hg/3TO8+BBAW9mEP+mh8ei+qBKqSJ0F1FLlYjNBc61OA==", + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.0.1", + "neo-async": "^2.5.0", + "pify": "^4.0.1", + "semver": "^5.5.0" + }, + "dependencies": { + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "requires": { + "kind-of": "^6.0.2" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "requires": { + "xmlchars": "^2.1.1" + } + }, + "scheduler": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.16.1.tgz", + "integrity": "sha512-MIuie7SgsqMYOdCXVFZa8SKoNorJZUWHW8dPgto7uEHn1lX3fg2Gu0TzgK8USj76uxV7vB5eRMnZs/cdEHg+cg==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "requires": { + "node-forge": "0.9.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "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.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==" + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "requires": { + "is-buffer": "^1.0.2" + } + }, + "lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=" + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, + "sisteransi": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz", + "integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==" + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + }, + "dependencies": { + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "requires": { + "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-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" + }, + "spdy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + } + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + } + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==" + }, + "style-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.0.0.tgz", + "integrity": "sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw==", + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.0.1" + }, + "dependencies": { + "schema-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.4.1.tgz", + "integrity": "sha512-RqYLpkPZX5Oc3fw/kHHHyP56fg5Y+XBpIpV8nCg0znIALfq3OH+Ea9Hfeac9BAMwG5IICltiZ0vxFvJQONfA5w==", + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.2.tgz", + "integrity": "sha512-1gtApepKFweigFZj3sGO8KT8LvVZK8io146EzXrpVuWCDAbISz/yMucco3hWTkpZNoPabM+dnMOpy6Swue68Zg==" + }, + "svgo": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz", + "integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.33", + "csso": "^3.5.1", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "terser": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.4.tgz", + "integrity": "sha512-Kcrn3RiW8NtHBP0ssOAzwa2MsIRQ8lJWiBG/K7JgqPlomA3mtb2DEmp4/hrUA+Jujx+WZ02zqd7GYD+QRBB/2Q==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "thunky": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", + "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==" + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "requires": { + "punycode": "^2.1.0" + } + }, + "ts-pnp": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.4.tgz", + "integrity": "sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw==" + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "requires": { + "tslib": "^1.8.1" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", + "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==" + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==" + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-loader": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.1.0.tgz", + "integrity": "sha512-kVrp/8VfEm5fUt+fl2E0FQyrpmOYgMEkBsv8+UDP1wFhszECq5JyGF33I7cajlVY90zRZ6MyfgKXngLvHYZX8A==", + "requires": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.4.1.tgz", + "integrity": "sha512-RqYLpkPZX5Oc3fw/kHHHyP56fg5Y+XBpIpV8nCg0znIALfq3OH+Ea9Hfeac9BAMwG5IICltiZ0vxFvJQONfA5w==", + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz", + "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==" + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "requires": { + "browser-process-hrtime": "^0.1.2" + } + }, + "w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "requires": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "requires": { + "makeerror": "1.0.x" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "webpack": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.0.tgz", + "integrity": "sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==" + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz", + "integrity": "sha512-sjuE4mnmx6JOh9kvSbPYw3u/6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6/rCw==", + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^4.1.1", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "^0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.2.0", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "schema-utils": "^1.0.0", + "selfsigned": "^1.9.1", + "semver": "^5.6.0", + "serve-index": "^1.7.2", + "sockjs": "0.3.19", + "sockjs-client": "1.3.0", + "spdy": "^4.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.5.1", + "webpack-log": "^2.0.0", + "yargs": "12.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "requires": { + "xregexp": "4.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "sockjs-client": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", + "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "yargs": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", + "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-manifest-plugin": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.1.1.tgz", + "integrity": "sha512-2zqJ6mvc3yoiqfDjghAIpljhLSDh/G7vqGrzYcYqqRCd/ZZZCAuc/YPE5xG0LGpLgDJRhUNV1H+znyyhIxahzA==", + "requires": { + "fs-extra": "^7.0.0", + "lodash": ">=3.5 <5", + "object.entries": "^1.1.0", + "tapable": "^1.0.0" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "requires": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, + "workbox-background-sync": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", + "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-build": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", + "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", + "requires": { + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.3", + "lodash.template": "^4.4.0", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "workbox-cacheable-response": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", + "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==" + }, + "workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", + "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-google-analytics": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", + "requires": { + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" + } + }, + "workbox-navigation-preload": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-precaching": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", + "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-range-requests": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", + "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-routing": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", + "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-strategies": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", + "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-streams": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", + "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-sw": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", + "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==" + }, + "workbox-webpack-plugin": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz", + "integrity": "sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ==", + "requires": { + "@babel/runtime": "^7.0.0", + "json-stable-stringify": "^1.0.1", + "workbox-build": "^4.3.1" + } + }, + "workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", + "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "requires": { + "errno": "~0.1.7" + } + }, + "worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "requires": { + "microevent.ts": "~0.1.1" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/src/main/app/package.json b/src/main/app/package.json new file mode 100644 index 000000000..7b03bca97 --- /dev/null +++ b/src/main/app/package.json @@ -0,0 +1,32 @@ +{ + "name": "my-app", + "version": "0.1.0", + "private": true, + "dependencies": { + "react": "^16.10.1", + "react-dom": "^16.10.1", + "react-hexgrid": "^1.0.3", + "react-scripts": "3.2.0" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": "react-app" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/src/main/app/public/favicon.ico b/src/main/app/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c2c86b859eaa20639adf92ff979c2be8d580433e GIT binary patch literal 22382 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 QPNaAH_W=L@JAozeZ|l@fegFUf literal 0 HcmV?d00001 diff --git a/src/main/app/public/index.html b/src/main/app/public/index.html new file mode 100644 index 000000000..c240d2ca8 --- /dev/null +++ b/src/main/app/public/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + React App + + + +
+ + + diff --git a/src/main/app/public/logo192.png b/src/main/app/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fa313abf53936aefc517dbd583b724a57199d415 GIT binary patch literal 8581 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�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 b!B~?t+WWKS5u5)CcMJGaRz{_UZlwPKNp@r} literal 0 HcmV?d00001 diff --git a/src/main/app/public/manifest.json b/src/main/app/public/manifest.json new file mode 100644 index 000000000..080d6c77a --- /dev/null +++ b/src/main/app/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/src/main/app/public/robots.txt b/src/main/app/public/robots.txt new file mode 100644 index 000000000..01b0f9a10 --- /dev/null +++ b/src/main/app/public/robots.txt @@ -0,0 +1,2 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * diff --git a/src/main/app/src/App.css b/src/main/app/src/App.css new file mode 100644 index 000000000..2afbe7dfe --- /dev/null +++ b/src/main/app/src/App.css @@ -0,0 +1,24 @@ +.App { + text-align: center; +} + +.App-logo { + animation: App-logo-spin infinite 20s linear; + height: 80px; +} + +.App-header { + background-color: #222; + height: 150px; + padding: 20px; + color: white; +} + +.App-intro { + font-size: large; +} + +@keyframes App-logo-spin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} \ No newline at end of file diff --git a/src/main/app/src/App.js b/src/main/app/src/App.js new file mode 100644 index 000000000..ffbf5785b --- /dev/null +++ b/src/main/app/src/App.js @@ -0,0 +1,26 @@ +import React, { Component } from 'react'; +import './App.css'; +import { HexGrid, Layout, Hexagon, Text, Pattern, Path, Hex, GridGenerator, HexUtils } from 'react-hexgrid'; +import map from './map'; + +class App extends Component { + render() { + + return ( +

+ + + + {map.items.map( (vertex) => + + {vertex.landscapeItem.identifier} + ) + } + + +
+ ); + } +} + +export default App; diff --git a/src/main/app/src/App.test.js b/src/main/app/src/App.test.js new file mode 100644 index 000000000..a754b201b --- /dev/null +++ b/src/main/app/src/App.test.js @@ -0,0 +1,9 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import App from './App'; + +it('renders without crashing', () => { + const div = document.createElement('div'); + ReactDOM.render(, div); + ReactDOM.unmountComponentAtNode(div); +}); diff --git a/src/main/app/src/index.css b/src/main/app/src/index.css new file mode 100644 index 000000000..207180d43 --- /dev/null +++ b/src/main/app/src/index.css @@ -0,0 +1,51 @@ +body { + margin: 0; + padding: 1em; + font-family: sans-serif; + background: #f0f0f0; +} + +[draggable] { + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + user-select: none; + -moz-user-drag: element; + -webkit-user-drag: element; + -khtml-user-drag: element; + user-drag: element; +} + +svg { + +} +svg g { + fill: #3F51B5; + fill-opacity: 0.6; +} +svg g:hover { + fill-opacity: 1; +} +svg g:hover text { + fill-opacity: 1; +} + +svg g polygon { + stroke: #3F51B5; + stroke-width: 0.2; + transition: fill-opacity .2s; +} +svg g text { + font-size: 0.3em; + fill: #FFFFFF; + fill-opacity: 0.4; + transition: fill-opacity .2s; +} +svg path { + fill: none; + stroke: hsl(60, 20%, 70%); + stroke-width: 0.4em; + stroke-opacity: 0.3; + stroke-linecap: round; + stroke-linejoin: round; +} \ No newline at end of file diff --git a/src/main/app/src/index.js b/src/main/app/src/index.js new file mode 100644 index 000000000..87d1be551 --- /dev/null +++ b/src/main/app/src/index.js @@ -0,0 +1,12 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import './index.css'; +import App from './App'; +import * as serviceWorker from './serviceWorker'; + +ReactDOM.render(, document.getElementById('root')); + +// If you want your app to work offline and load faster, you can change +// unregister() to register() below. Note this comes with some pitfalls. +// Learn more about service workers: https://bit.ly/CRA-PWA +serviceWorker.unregister(); diff --git a/src/main/app/src/map.json b/src/main/app/src/map.json new file mode 100644 index 000000000..3d1bb24b8 --- /dev/null +++ b/src/main/app/src/map.json @@ -0,0 +1,478 @@ +{ + "items": [ + { + "type": "service", + "landscapeItem": { + "identifier": "wordpress-redis", + "layer": "infrastructure", + "type": "cache", + "name": null, + "short_name": null, + "icon": "vendor://redis", + "owner": null, + "team": "ops guys", + "contact": null, + "homepage": null, + "description": "Cache for Wordpress", + "version": "1.0", + "software": "Redis", + "repository": null, + "group": null, + "visibility": null, + "tags": null, + "networks": [ + "content" + ], + "machine": "Pentium 1 1GB RAM", + "scale": null, + "host_type": "native", + "costs": null, + "capability": null, + "statuses": [], + "dataFlow": [], + "note": null, + "interfaces": [], + "lifecycle": "PLANNED", + "labels": {}, + "fullyQualifiedIdentifier": { + "landscape": "nivio:example", + "group": null, + "identifier": "wordpress-redis" + } + }, + "hex": { + "q": 3, + "r": 1, + "s": -4 + } + }, + { + "group": "content", + "type": "service", + "landscapeItem": { + "identifier": "wordpress-web", + "layer": "ingress", + "type": "server", + "name": null, + "short_name": null, + "icon": "vendor://apache/httpd", + "owner": null, + "team": "ops guys", + "contact": null, + "homepage": null, + "description": "Webserver", + "version": "2.4", + "software": "Apache", + "repository": null, + "group": "content", + "visibility": null, + "tags": null, + "networks": [ + "content" + ], + "machine": "Pentium 1 512MB RAM", + "scale": null, + "host_type": "docker", + "costs": null, + "capability": null, + "statuses": [], + "dataFlow": [], + "note": null, + "interfaces": [], + "lifecycle": "PRODUCTION", + "labels": {}, + "fullyQualifiedIdentifier": { + "landscape": "nivio:example", + "group": "content", + "identifier": "wordpress-web" + } + }, + "hex": { + "q": 6, + "r": -1, + "s": -5 + } + }, + { + "group": "dashboard", + "type": "service", + "landscapeItem": { + "identifier": "kpi-dashboard", + "layer": "applications", + "type": "service", + "name": "Demo Dashboard", + "short_name": "dashboard", + "icon": null, + "owner": "Marketing", + "team": "alphateam", + "contact": "alphateam@acme.io", + "homepage": "https://acme.io", + "description": "Show our most important KPIs", + "version": "0.7", + "software": "custom", + "repository": "https://git.acme.io/dashboard", + "group": "dashboard", + "visibility": "public", + "tags": null, + "networks": [], + "machine": "s", + "scale": "1", + "host_type": "docker", + "costs": null, + "capability": null, + "statuses": [ + { + "label": "stability", + "message": null, + "status": "green" + }, + { + "label": "business_capability", + "message": null, + "status": "green" + } + ], + "dataFlow": [], + "note": null, + "interfaces": [ + { + "description": "kpis", + "format": "json", + "url": "http://dashboard.acme.io/kpis" + } + ], + "lifecycle": "PRODUCTION", + "labels": {}, + "fullyQualifiedIdentifier": { + "landscape": "nivio:example", + "group": "dashboard", + "identifier": "kpi-dashboard" + } + }, + "hex": { + "q": 4, + "r": -2, + "s": -2 + } + }, + { + "group": "content", + "type": "service", + "landscapeItem": { + "identifier": "emailer", + "layer": "applications", + "type": "application", + "name": null, + "short_name": null, + "icon": null, + "owner": null, + "team": null, + "contact": null, + "homepage": null, + "description": "Reminder", + "version": "2.4", + "software": "PHP", + "repository": null, + "group": "content", + "visibility": null, + "tags": null, + "networks": [ + "content" + ], + "machine": null, + "scale": null, + "host_type": "docker", + "costs": null, + "capability": null, + "statuses": [], + "dataFlow": [], + "note": null, + "interfaces": [], + "lifecycle": null, + "labels": {}, + "fullyQualifiedIdentifier": { + "landscape": "nivio:example", + "group": "content", + "identifier": "emailer" + } + }, + "hex": { + "q": 5, + "r": 0, + "s": -5 + } + }, + { + "group": "dashboard", + "type": "service", + "landscapeItem": { + "identifier": "dashboard-db", + "layer": "infrastructure", + "type": "database", + "name": null, + "short_name": null, + "icon": null, + "owner": null, + "team": "ops guys", + "contact": null, + "homepage": null, + "description": "Database for Dashboard", + "version": "10.3.11", + "software": "MariaDB", + "repository": null, + "group": "dashboard", + "visibility": null, + "tags": null, + "networks": [], + "machine": "Pentium 1 512MB RAM", + "scale": null, + "host_type": "docker", + "costs": null, + "capability": null, + "statuses": [], + "dataFlow": [], + "note": null, + "interfaces": [], + "lifecycle": null, + "labels": {}, + "fullyQualifiedIdentifier": { + "landscape": "nivio:example", + "group": "dashboard", + "identifier": "dashboard-db" + } + }, + "hex": { + "q": 2, + "r": -1, + "s": -1 + } + }, + { + "group": "ingress", + "type": "service", + "landscapeItem": { + "identifier": "keycloak", + "layer": "applications", + "type": "service", + "name": "Keycloak SSO", + "short_name": null, + "icon": "https://raw.githubusercontent.com/keycloak/keycloak-misc/master/logo/keycloak_icon_256px.png", + "owner": "Ops", + "team": null, + "contact": null, + "homepage": null, + "description": null, + "version": "4.4.0", + "software": null, + "repository": null, + "group": "ingress", + "visibility": null, + "tags": null, + "networks": [], + "machine": null, + "scale": null, + "host_type": null, + "costs": null, + "capability": null, + "statuses": [], + "dataFlow": [], + "note": null, + "interfaces": [], + "lifecycle": null, + "labels": {}, + "fullyQualifiedIdentifier": { + "landscape": "nivio:example", + "group": "ingress", + "identifier": "keycloak" + } + }, + "hex": { + "q": 0, + "r": 0, + "s": 0 + } + }, + { + "group": "content", + "type": "service", + "landscapeItem": { + "identifier": "blog-server", + "layer": "applications", + "type": "webservice", + "name": "Demo Blog", + "short_name": "blog", + "icon": "https://s.w.org/style/images/about/WordPress-logotype-wmark.png", + "owner": "Marketing", + "team": "alphateam", + "contact": "alphateam@acme.io", + "homepage": "https://acme.io", + "description": "Company blog", + "version": "1.0", + "software": "Wordpress", + "repository": "https://git.acme.io/blog-server", + "group": "content", + "visibility": "public", + "tags": [ + "CMS" + ], + "networks": [ + "content" + ], + "machine": "s", + "scale": "5", + "host_type": "docker", + "costs": null, + "capability": null, + "statuses": [ + { + "label": "stability", + "message": null, + "status": "green" + }, + { + "label": "business_capability", + "message": "needs finer control of content publishing like ACLs", + "status": "yellow" + }, + { + "label": "security", + "message": "uses outdated version", + "status": "red" + } + ], + "dataFlow": [ + { + "target": "nivio:example/dashboard/kpi-dashboard", + "description": "push", + "format": "json", + "source": "blog-server" + }, + { + "target": "nivio:example/content/emailer", + "description": "reminder", + "format": null, + "source": "blog-server" + } + ], + "note": "to be replaced", + "interfaces": [ + { + "description": "posts", + "format": "form", + "url": "http://acme.io/create" + }, + { + "description": "api calls", + "format": "json", + "url": "http://acme.io/api" + }, + { + "description": "user data", + "format": "form", + "url": "http://acme.io/whoami" + } + ], + "lifecycle": "END_OF_LIFE", + "labels": {}, + "fullyQualifiedIdentifier": { + "landscape": "nivio:example", + "group": "content", + "identifier": "blog-server" + } + }, + "hex": { + "q": 6, + "r": -1, + "s": -5 + } + }, + { + "type": "service", + "landscapeItem": { + "identifier": "wordpress-mariadb", + "layer": "infrastructure", + "type": "database", + "name": null, + "short_name": null, + "icon": null, + "owner": null, + "team": "ops guys", + "contact": null, + "homepage": null, + "description": "Database for Wordpress", + "version": "10.3.11", + "software": "MariaDB", + "repository": null, + "group": null, + "visibility": null, + "tags": null, + "networks": [ + "content" + ], + "machine": "Pentium 1 512MB RAM", + "scale": null, + "host_type": "docker", + "costs": null, + "capability": null, + "statuses": [], + "dataFlow": [], + "note": null, + "interfaces": [], + "lifecycle": null, + "labels": {}, + "fullyQualifiedIdentifier": { + "landscape": "nivio:example", + "group": null, + "identifier": "wordpress-mariadb" + } + }, + "hex": { + "q": 2, + "r": 1, + "s": -3 + } + } + ], + "groups": [ + { + "id": "ingress", + "name": "ingress", + "group": "ingress", + "type": "group", + "x": -41, + "y": -1, + "width": 164, + "height": 130 + }, + { + "id": "content", + "name": "content", + "group": "content", + "type": "group", + "x": 549, + "y": 219, + "width": 274, + "height": 201 + }, + { + "id": "dashboard", + "name": "dashboard", + "group": "dashboard", + "type": "group", + "x": 279, + "y": -41, + "width": 240, + "height": 132 + }, + { + "id": "Common", + "name": "Common", + "group": "Common", + "type": "group", + "x": 159, + "y": 279, + "width": 222, + "height": 165 + } + ] +} \ No newline at end of file diff --git a/src/main/app/src/serviceWorker.js b/src/main/app/src/serviceWorker.js new file mode 100644 index 000000000..f8c7e50c2 --- /dev/null +++ b/src/main/app/src/serviceWorker.js @@ -0,0 +1,135 @@ +// This optional code is used to register a service worker. +// register() is not called by default. + +// This lets the app load faster on subsequent visits in production, and gives +// it offline capabilities. However, it also means that developers (and users) +// will only see deployed updates on subsequent visits to a page, after all the +// existing tabs open on the page have been closed, since previously cached +// resources are updated in the background. + +// To learn more about the benefits of this model and instructions on how to +// opt-in, read https://bit.ly/CRA-PWA + +const isLocalhost = Boolean( + window.location.hostname === 'localhost' || + // [::1] is the IPv6 localhost address. + window.location.hostname === '[::1]' || + // 127.0.0.1/8 is considered localhost for IPv4. + window.location.hostname.match( + /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ + ) +); + +export function register(config) { + if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { + // The URL constructor is available in all browsers that support SW. + const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); + if (publicUrl.origin !== window.location.origin) { + // Our service worker won't work if PUBLIC_URL is on a different origin + // from what our page is served on. This might happen if a CDN is used to + // serve assets; see https://github.com/facebook/create-react-app/issues/2374 + return; + } + + window.addEventListener('load', () => { + const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; + + if (isLocalhost) { + // This is running on localhost. Let's check if a service worker still exists or not. + checkValidServiceWorker(swUrl, config); + + // Add some additional logging to localhost, pointing developers to the + // service worker/PWA documentation. + navigator.serviceWorker.ready.then(() => { + console.log( + 'This web app is being served cache-first by a service ' + + 'worker. To learn more, visit https://bit.ly/CRA-PWA' + ); + }); + } else { + // Is not localhost. Just register service worker + registerValidSW(swUrl, config); + } + }); + } +} + +function registerValidSW(swUrl, config) { + navigator.serviceWorker + .register(swUrl) + .then(registration => { + registration.onupdatefound = () => { + const installingWorker = registration.installing; + if (installingWorker == null) { + return; + } + installingWorker.onstatechange = () => { + if (installingWorker.state === 'installed') { + if (navigator.serviceWorker.controller) { + // At this point, the updated precached content has been fetched, + // but the previous service worker will still serve the older + // content until all client tabs are closed. + console.log( + 'New content is available and will be used when all ' + + 'tabs for this page are closed. See https://bit.ly/CRA-PWA.' + ); + + // Execute callback + if (config && config.onUpdate) { + config.onUpdate(registration); + } + } else { + // At this point, everything has been precached. + // It's the perfect time to display a + // "Content is cached for offline use." message. + console.log('Content is cached for offline use.'); + + // Execute callback + if (config && config.onSuccess) { + config.onSuccess(registration); + } + } + } + }; + }; + }) + .catch(error => { + console.error('Error during service worker registration:', error); + }); +} + +function checkValidServiceWorker(swUrl, config) { + // Check if the service worker can be found. If it can't reload the page. + fetch(swUrl) + .then(response => { + // Ensure service worker exists, and that we really are getting a JS file. + const contentType = response.headers.get('content-type'); + if ( + response.status === 404 || + (contentType != null && contentType.indexOf('javascript') === -1) + ) { + // No service worker found. Probably a different app. Reload the page. + navigator.serviceWorker.ready.then(registration => { + registration.unregister().then(() => { + window.location.reload(); + }); + }); + } else { + // Service worker found. Proceed as normal. + registerValidSW(swUrl, config); + } + }) + .catch(() => { + console.log( + 'No internet connection found. App is running in offline mode.' + ); + }); +} + +export function unregister() { + if ('serviceWorker' in navigator) { + navigator.serviceWorker.ready.then(registration => { + registration.unregister(); + }); + } +} diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java b/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java index 166430394..2d48e60f1 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java @@ -13,8 +13,7 @@ import de.bonndan.nivio.output.Icon; import de.bonndan.nivio.output.IconService; import de.bonndan.nivio.output.LocalServer; -import de.bonndan.nivio.output.jgraphx.dto.HexVertex; -import de.bonndan.nivio.output.jgraphx.dto.RenderedGraph; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.StringUtils; @@ -103,16 +102,6 @@ public mxGraph render(AllGroupsGraph allGroupsGraph, Map sub return graph; } - public RenderedGraph getRenderedGraph() { - - RenderedGraph renderedGraph = new RenderedGraph(); - itemVertexes.forEach((service, mxCell) -> renderedGraph.services.add(new HexVertex(service, mxCell, 1000))); - groups.forEach((groupName, mxCell) -> renderedGraph.groups.add(new HexVertex(groupName, mxCell, 1000))); - - return renderedGraph; - } - - /** * Adds dataflow edges. */ @@ -373,4 +362,12 @@ private String getGroupColor(String name, LandscapeConfig config) { .map(LandscapeConfig.GroupConfig::getColor) .orElse(de.bonndan.nivio.util.Color.nameToRGB(name, "333333")); } + + public Map getGroupVertexes() { + return groups; + } + + public Map getItemVertexes() { + return itemVertexes; + } } diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderController.java b/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderController.java index 73be593d0..4d976e1e0 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderController.java +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderController.java @@ -1,6 +1,5 @@ package de.bonndan.nivio.output.jgraphx; -import com.fasterxml.jackson.databind.ObjectMapper; import de.bonndan.nivio.api.NotFoundException; import de.bonndan.nivio.model.LandscapeImpl; import de.bonndan.nivio.model.LandscapeRepository; @@ -19,7 +18,6 @@ import java.io.File; import java.io.IOException; import java.nio.file.Files; -import java.util.Optional; @Controller @@ -62,61 +60,4 @@ public ResponseEntity pngResource(@PathVariable(name = "landscape") fina ); } - - /** - * Prints the landscape as json based on rendering - * - * - */ - //TODO todo provide officially supported 3d format like https://threejs.org/docs/#examples/loaders/OBJLoader - @RequestMapping(method = RequestMethod.GET, path = "/{landscape}/threejs.json") - public ResponseEntity json(@PathVariable(name = "landscape") final String landscapeIdentifier) throws IOException { - LandscapeImpl landscape = landscapeRepository.findDistinctByIdentifier(landscapeIdentifier).orElseThrow(() -> - new NotFoundException("Not found: " + landscapeIdentifier) - ); - - JGraphXRenderer jGraphXRenderer = new JGraphXRenderer(iconService); - JsonRenderer renderer = new JsonRenderer(jGraphXRenderer); - - try { - String rendered = renderer.render(landscape); - HttpHeaders headers = new HttpHeaders(); - headers.add(HttpHeaders.CONTENT_TYPE, "application/json"); - return new ResponseEntity<>( - rendered, - headers, - HttpStatus.OK - ); - } catch (Exception ex) { - logger.warn("Could not render graph: " ); - throw ex; - } - } - - @RequestMapping(method = RequestMethod.GET, path = "/{landscape}/hex.json") - public ResponseEntity hex(@PathVariable(name = "landscape") final String landscapeIdentifier) throws IOException { - Optional landscape = landscapeRepository.findDistinctByIdentifier(landscapeIdentifier); - if (!landscape.isPresent()) - throw new NotFoundException("Not found"); - - JGraphXRenderer jGraphXRenderer = new JGraphXRenderer(iconService); - - - try { - FinalGraph graph = new FinalGraph(iconService); - jGraphXRenderer.getFinalGraph(landscape.get(), graph); - - HttpHeaders headers = new HttpHeaders(); - ObjectMapper objectMapper = new ObjectMapper(); - headers.add(HttpHeaders.CONTENT_TYPE, "application/json"); - return new ResponseEntity<>( - objectMapper.writeValueAsString(graph.getRenderedGraph()), - headers, - HttpStatus.OK - ); - } catch (Exception ex) { - logger.warn("Could not render graph: " ); - throw ex; - } - } } \ No newline at end of file diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderer.java b/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderer.java index 0bc9e6f4a..006fcbcd1 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderer.java +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/JGraphXRenderer.java @@ -3,7 +3,6 @@ import com.mxgraph.util.mxCellRenderer; import com.mxgraph.view.mxGraph; import de.bonndan.nivio.model.Groups; -import de.bonndan.nivio.model.Landscape; import de.bonndan.nivio.model.LandscapeImpl; import de.bonndan.nivio.output.IconService; import de.bonndan.nivio.output.Renderer; @@ -42,7 +41,7 @@ public mxGraph render(LandscapeImpl landscape) { //return allGroupsGraph.getGraph(); FinalGraph finalGraph = new FinalGraph(iconService); - return getFinalGraph(landscape, finalGraph); + return getMxGraph(landscape, finalGraph); } @Override @@ -55,7 +54,7 @@ public void render(LandscapeImpl landscape, File file) throws IOException { } - public mxGraph getFinalGraph(LandscapeImpl landscape, FinalGraph finalGraph) { + public mxGraph getMxGraph(LandscapeImpl landscape, FinalGraph finalGraph) { Map subgraphs = new LinkedHashMap<>(); Groups groups = Groups.from(landscape); groups.getAll().forEach((groupName, serviceItems) -> { diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/HexVertex.java b/src/main/java/de/bonndan/nivio/output/jgraphx/dto/HexVertex.java deleted file mode 100644 index 5fba8944c..000000000 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/HexVertex.java +++ /dev/null @@ -1,32 +0,0 @@ -package de.bonndan.nivio.output.jgraphx.dto; - -import com.mxgraph.model.mxCell; -import de.bonndan.nivio.model.Item; - -import static java.lang.Math.sqrt; - -// https://www.redblobgames.com/grids/hexagons/#rounding -public class HexVertex extends Vertex { - - private int size; - - public HexVertex(Item service, mxCell mxCell, int size) { - super(service, mxCell); - this.size = size; - } - - public HexVertex(String groupName, mxCell mxCell, int size) { - super(groupName, mxCell); - this.size = size; - } - - //https://stackoverflow.com/questions/20734438/algorithm-to-generate-a-hexagonal-grid-with-coordinate-system/20751975#20751975 - - Hex hex() { - var q = (2. / 3 * x) / size; - var r = (-1. / 3 * x + sqrt(3) / 3 * y) / size; - FractionalHex hex = new FractionalHex(q, r, -q - r); - return hex.hexRound(); - } - -} diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/RenderedGraph.java b/src/main/java/de/bonndan/nivio/output/jgraphx/dto/RenderedGraph.java deleted file mode 100644 index 5803c3b32..000000000 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/RenderedGraph.java +++ /dev/null @@ -1,10 +0,0 @@ -package de.bonndan.nivio.output.jgraphx.dto; - -import java.util.ArrayList; -import java.util.List; - -public class RenderedGraph { - - public final List services = new ArrayList<>(); - public final List groups = new ArrayList<>(); -} diff --git a/src/main/java/de/bonndan/nivio/output/map/HexMapItem.java b/src/main/java/de/bonndan/nivio/output/map/HexMapItem.java new file mode 100644 index 000000000..62b50f65e --- /dev/null +++ b/src/main/java/de/bonndan/nivio/output/map/HexMapItem.java @@ -0,0 +1,40 @@ +package de.bonndan.nivio.output.map; + + +import de.bonndan.nivio.model.LandscapeItem; + +import static java.lang.Math.sqrt; + +/** + * Calculated hexagon map coordinates from x-y coordinates. + * + * https://stackoverflow.com/questions/20734438/algorithm-to-generate-a-hexagonal-grid-with-coordinate-system/20751975#20751975 + * https://www.redblobgames.com/grids/hexagons/#rounding + */ +class HexMapItem extends MapItem { + + public final String type; + public final String group; + private final long x; + private final long y; + private final int size; + + public HexMapItem(XYMapItem i, int size) { + this.size = size; + this.type = i.type; + this.group = i.group; + this.landscapeItem = i.service; + this.x = i.x; + this.y = i.y; + } + + // + + public Hex getHex() { + var q = (2. / 3 * x) / size; + var r = (-1. / 3 * x + sqrt(3) / 3 * y) / size; + FractionalHex hex = new FractionalHex(q, r, -q - r); + return hex.hexRound(); + } + +} diff --git a/src/main/java/de/bonndan/nivio/output/map/JsonRenderController.java b/src/main/java/de/bonndan/nivio/output/map/JsonRenderController.java new file mode 100644 index 000000000..f56d01cce --- /dev/null +++ b/src/main/java/de/bonndan/nivio/output/map/JsonRenderController.java @@ -0,0 +1,104 @@ +package de.bonndan.nivio.output.map; + +import com.fasterxml.jackson.databind.ObjectMapper; +import de.bonndan.nivio.api.NotFoundException; +import de.bonndan.nivio.model.LandscapeImpl; +import de.bonndan.nivio.model.LandscapeRepository; +import de.bonndan.nivio.output.IconService; +import de.bonndan.nivio.output.jgraphx.FinalGraph; +import de.bonndan.nivio.output.jgraphx.JGraphXRenderer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + +import java.io.IOException; +import java.util.Arrays; +import java.util.Optional; + + +@Controller +@RequestMapping(path = "/render") +public class JsonRenderController { + + private static final Logger logger = LoggerFactory.getLogger(JsonRenderController.class); + + private final LandscapeRepository landscapeRepository; + private final IconService iconService; + + @Autowired + public JsonRenderController(LandscapeRepository landscapeRepository, IconService iconService) { + this.landscapeRepository = landscapeRepository; + this.iconService = iconService; + } + + @RequestMapping(method = RequestMethod.GET, path = "/{landscape}/hex.json") + public ResponseEntity hex( + @PathVariable(name = "landscape") final String landscapeIdentifier, + @RequestParam(value = "size", required = false) Integer size + ) throws IOException { + Optional landscape = landscapeRepository.findDistinctByIdentifier(landscapeIdentifier); + if (!landscape.isPresent()) + throw new NotFoundException("Not found"); + + JGraphXRenderer jGraphXRenderer = new JGraphXRenderer(iconService); + + try { + FinalGraph graph = new FinalGraph(iconService); + jGraphXRenderer.getMxGraph(landscape.get(), graph); + RenderedMap from = RenderedMap.from(graph); + MapItem[] items = from.items.toArray(MapItem[]::new); + from.items.clear(); + Arrays.stream(items).forEach((i -> from.items.add(new HexMapItem((XYMapItem) i, size == null ? 100 : size)))); + + HttpHeaders headers = new HttpHeaders(); + ObjectMapper objectMapper = new ObjectMapper(); + headers.add(HttpHeaders.CONTENT_TYPE, "application/json"); + return new ResponseEntity<>( + objectMapper.writeValueAsString(from), + headers, + HttpStatus.OK + ); + } catch (Exception ex) { + logger.warn("Could not render graph: " ); + throw ex; + } + } + + /** + * Prints the landscape as json based on rendering + * + * + */ + //TODO todo provide officially supported 3d format like https://threejs.org/docs/#examples/loaders/OBJLoader + @RequestMapping(method = RequestMethod.GET, path = "/{landscape}/threejs.json") + public ResponseEntity json(@PathVariable(name = "landscape") final String landscapeIdentifier) throws IOException { + LandscapeImpl landscape = landscapeRepository.findDistinctByIdentifier(landscapeIdentifier).orElseThrow(() -> + new NotFoundException("Not found: " + landscapeIdentifier) + ); + + JGraphXRenderer jGraphXRenderer = new JGraphXRenderer(iconService); + JsonRenderer renderer = new JsonRenderer(jGraphXRenderer); + + try { + String rendered = renderer.render(landscape); + HttpHeaders headers = new HttpHeaders(); + headers.add(HttpHeaders.CONTENT_TYPE, "application/json"); + return new ResponseEntity<>( + rendered, + headers, + HttpStatus.OK + ); + } catch (Exception ex) { + logger.warn("Could not render graph: " ); + throw ex; + } + } +} \ No newline at end of file diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/JsonRenderer.java b/src/main/java/de/bonndan/nivio/output/map/JsonRenderer.java similarity index 71% rename from src/main/java/de/bonndan/nivio/output/jgraphx/JsonRenderer.java rename to src/main/java/de/bonndan/nivio/output/map/JsonRenderer.java index d65c7d77e..a803ce49b 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/JsonRenderer.java +++ b/src/main/java/de/bonndan/nivio/output/map/JsonRenderer.java @@ -1,4 +1,4 @@ -package de.bonndan.nivio.output.jgraphx; +package de.bonndan.nivio.output.map; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -8,7 +8,6 @@ import com.mxgraph.view.mxGraph; import de.bonndan.nivio.model.*; import de.bonndan.nivio.output.Renderer; -import de.bonndan.nivio.output.jgraphx.dto.Vertex; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.StringUtils; @@ -27,7 +26,7 @@ public class JsonRenderer implements Renderer { private final Renderer mxGraphRenderer; - public JsonRenderer(Renderer mxGraphRenderer) { + JsonRenderer(Renderer mxGraphRenderer) { this.mxGraphRenderer = mxGraphRenderer; } @@ -62,35 +61,13 @@ private void getAllChildren(List dtos, mxGraph graph, mxCell cell, Arrays.stream(graph.getChildCells(cell)).forEach(o -> getAllChildren(dtos, graph, (mxCell) o, items)); } - @Deprecated private Serializable toDto(mxCell cell, Collection items) { - mxGeometry geometry = cell.getGeometry(); - LandscapeItem landscapeItem = null; if (!StringUtils.isEmpty(cell.getId())) landscapeItem = ServiceItems.find(FullyQualifiedIdentifier.from(cell.getId()), items).orElse(null); - Vertex vertex = new Vertex(); - vertex.id = cell.getId(); - vertex.name = (String) cell.getValue(); - - if (cell.getParent().getGeometry() != null) { - vertex.x = Math.round(geometry.getX() + cell.getParent().getGeometry().getX()); - vertex.y = Math.round(geometry.getY() + cell.getParent().getGeometry().getY()); - } else { - vertex.x = Math.round(geometry.getX()); - vertex.y = Math.round(geometry.getY()); - } - vertex.width = Math.round(geometry.getWidth()); - vertex.height = Math.round(geometry.getHeight()); - if (vertex.x == 0 && vertex.y == 0) - return null; - - if (landscapeItem != null) { - vertex.service = landscapeItem; - } - return vertex; + return new XYMapItem(landscapeItem, cell); } @Override diff --git a/src/main/java/de/bonndan/nivio/output/map/MapItem.java b/src/main/java/de/bonndan/nivio/output/map/MapItem.java new file mode 100644 index 000000000..b31fe284b --- /dev/null +++ b/src/main/java/de/bonndan/nivio/output/map/MapItem.java @@ -0,0 +1,23 @@ +package de.bonndan.nivio.output.map; + +import com.fasterxml.jackson.annotation.JsonInclude; +import de.bonndan.nivio.model.LandscapeItem; + +import java.io.Serializable; + +/** + * JSON representation for custom rendering. + * + * The x,y coordinates are derived from the rendered mxGraph. + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +class MapItem implements Serializable { + + public String id; + public String name; + public String image; + public String group; + public String groupColor; + public String type; + public LandscapeItem landscapeItem; +} diff --git a/src/main/java/de/bonndan/nivio/output/map/RenderedMap.java b/src/main/java/de/bonndan/nivio/output/map/RenderedMap.java new file mode 100644 index 000000000..fc17d6b70 --- /dev/null +++ b/src/main/java/de/bonndan/nivio/output/map/RenderedMap.java @@ -0,0 +1,20 @@ +package de.bonndan.nivio.output.map; + +import de.bonndan.nivio.output.jgraphx.FinalGraph; + +import java.util.ArrayList; +import java.util.List; + +public class RenderedMap { + + public final List items = new ArrayList<>(); + public final List groups = new ArrayList<>(); + + public static RenderedMap from(FinalGraph finalGraph) { + RenderedMap renderedMap = new RenderedMap(); + finalGraph.getItemVertexes().forEach((service, mxCell) -> renderedMap.items.add(new XYMapItem(service, mxCell))); + finalGraph.getGroupVertexes().forEach((groupName, mxCell) -> renderedMap.groups.add(new XYMapItem(groupName, mxCell))); + + return renderedMap; + } +} diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/Tests.java b/src/main/java/de/bonndan/nivio/output/map/Tests.java similarity index 99% rename from src/main/java/de/bonndan/nivio/output/jgraphx/dto/Tests.java rename to src/main/java/de/bonndan/nivio/output/map/Tests.java index 60b7184ac..e5fe3c060 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/Tests.java +++ b/src/main/java/de/bonndan/nivio/output/map/Tests.java @@ -1,4 +1,4 @@ -package de.bonndan.nivio.output.jgraphx.dto; +package de.bonndan.nivio.output.map; // Generated code -- CC0 -- No Rights Reserved -- http://www.redblobgames.com/grids/hexagons/ diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/Vertex.java b/src/main/java/de/bonndan/nivio/output/map/XYMapItem.java similarity index 85% rename from src/main/java/de/bonndan/nivio/output/jgraphx/dto/Vertex.java rename to src/main/java/de/bonndan/nivio/output/map/XYMapItem.java index 92ac32a59..ae45f4a08 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/dto/Vertex.java +++ b/src/main/java/de/bonndan/nivio/output/map/XYMapItem.java @@ -1,4 +1,4 @@ -package de.bonndan.nivio.output.jgraphx.dto; +package de.bonndan.nivio.output.map; import com.fasterxml.jackson.annotation.JsonInclude; import com.mxgraph.model.mxCell; @@ -7,8 +7,13 @@ import java.io.Serializable; +/** + * JSON representation for custom rendering. + * + * The x,y coordinates are derived from the rendered mxGraph. + */ @JsonInclude(JsonInclude.Include.NON_NULL) -public class Vertex implements Serializable { +class XYMapItem extends MapItem { public String id; public String name; @@ -23,7 +28,7 @@ public class Vertex implements Serializable { public LandscapeItem service; - public Vertex(LandscapeItem service, mxCell cell) { + XYMapItem(LandscapeItem service, mxCell cell) { type = "service"; this.service = service; @@ -44,7 +49,7 @@ public Vertex(LandscapeItem service, mxCell cell) { height = Math.round(geometry.getHeight()); } - public Vertex(String groupName, mxCell cell) { + XYMapItem(String groupName, mxCell cell) { type = "group"; mxGeometry geometry = cell.getGeometry(); @@ -64,7 +69,7 @@ public Vertex(String groupName, mxCell cell) { height = Math.round(geometry.getHeight()); } - public Vertex() { + XYMapItem() { } } From c494ab910c104d76479db324c44fc1d3381ab172 Mon Sep 17 00:00:00 2001 From: Daniel Pozzi Date: Fri, 4 Oct 2019 16:23:27 +0200 Subject: [PATCH 004/191] react app to render hex (wip) --- docs/hexmap.png | Bin 0 -> 193183 bytes src/main/app/src/App.js | 23 +-- src/main/app/src/Nexagon.js | 72 ++++++++++ src/main/app/src/index.css | 14 +- src/main/app/src/map.json | 133 +++++++----------- .../nivio/output/jgraphx/FinalGraph.java | 2 +- .../bonndan/nivio/output/map/HexMapItem.java | 6 +- .../output/map/JsonRenderController.java | 73 +++++++++- .../nivio/output/map/RenderedHexMap.java | 15 ++ .../{RenderedMap.java => RenderedXYMap.java} | 13 +- 10 files changed, 243 insertions(+), 108 deletions(-) create mode 100644 docs/hexmap.png create mode 100644 src/main/app/src/Nexagon.js create mode 100644 src/main/java/de/bonndan/nivio/output/map/RenderedHexMap.java rename src/main/java/de/bonndan/nivio/output/map/{RenderedMap.java => RenderedXYMap.java} (57%) diff --git a/docs/hexmap.png b/docs/hexmap.png new file mode 100644 index 0000000000000000000000000000000000000000..428a04c28f21835c3934929a72325b32550b19cc GIT binary patch literal 193183 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 ef6Z9@4q+8+NK - - + + - {map.items.map( (vertex) => - - {vertex.landscapeItem.identifier} - ) + {hexagons.map(hex => )} + {map.items.map((vertex) => + " + {vertex.landscapeItem.identifier} + ) } + + diff --git a/src/main/app/src/Nexagon.js b/src/main/app/src/Nexagon.js new file mode 100644 index 000000000..dd681ab2e --- /dev/null +++ b/src/main/app/src/Nexagon.js @@ -0,0 +1,72 @@ +import React, {Component} from 'react'; +import PropTypes from 'prop-types'; +import classNames from 'classnames'; +import {Text, Pattern, Path, Hex, HexUtils} from 'react-hexgrid'; + + +class Nexagon extends Component { + static propTypes = { + q: PropTypes.number.isRequired, + r: PropTypes.number.isRequired, + s: PropTypes.number.isRequired, + fill: PropTypes.string, + cellStyle: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.object + ]), + className: PropTypes.string, + data: PropTypes.object, + onClick: PropTypes.func, + children: PropTypes.node + }; + + static contextTypes = { + layout: PropTypes.object, // TODO Shape + points: PropTypes.string + }; + + constructor(props, context) { + super(props, context); + const {q, r, s} = props; + const {layout} = context; + const hex = new Hex(q, r, s); + const pixel = HexUtils.hexToPixel(hex, layout); + this.state = {hex, pixel}; + } + + // TODO Refactor to reduce duplicate + componentWillReceiveProps(nextProps) { + const {q, r, s} = nextProps; + const {layout} = this.context; + const hex = new Hex(q, r, s); + const pixel = HexUtils.hexToPixel(hex, layout); + this.setState({hex, pixel}); + } + + onClick(e) { + if (this.props.onClick) { + this.props.onClick(e, this); + } + } + + render() { + const {fill, cellStyle, className} = this.props; + const {points} = this.context; + const {hex, pixel} = this.state; + const fillId = (fill) ? `url(#${fill})` : null; + return ( + this.onClick(e)} + > + + + {this.props.children} + + + ); + } +} + +export default Nexagon; \ No newline at end of file diff --git a/src/main/app/src/index.css b/src/main/app/src/index.css index 207180d43..1aecdd4f9 100644 --- a/src/main/app/src/index.css +++ b/src/main/app/src/index.css @@ -19,10 +19,21 @@ body { svg { } + svg g { + stroke: #3F51B5; + stroke-width: 0.3; +} + +svg g .service { fill: #3F51B5; fill-opacity: 0.6; } + +svg g .other { + fill: transparent; +} + svg g:hover { fill-opacity: 1; } @@ -36,8 +47,7 @@ svg g polygon { transition: fill-opacity .2s; } svg g text { - font-size: 0.3em; - fill: #FFFFFF; + fill-opacity: 0.4; transition: fill-opacity .2s; } diff --git a/src/main/app/src/map.json b/src/main/app/src/map.json index 3d1bb24b8..9ba362234 100644 --- a/src/main/app/src/map.json +++ b/src/main/app/src/map.json @@ -1,6 +1,7 @@ { "items": [ { + "groupColor": "333333", "type": "service", "landscapeItem": { "identifier": "wordpress-redis", @@ -41,13 +42,13 @@ } }, "hex": { - "q": 3, - "r": 1, - "s": -4 + "q": 11, + "r": 6, + "s": -17 } }, { - "group": "content", + "groupColor": "24a0ed", "type": "service", "landscapeItem": { "identifier": "wordpress-web", @@ -88,13 +89,13 @@ } }, "hex": { - "q": 6, - "r": -1, - "s": -5 + "q": 27, + "r": -3, + "s": -24 } }, { - "group": "dashboard", + "groupColor": "C18AEA", "type": "service", "landscapeItem": { "identifier": "kpi-dashboard", @@ -122,12 +123,12 @@ "capability": null, "statuses": [ { - "label": "stability", + "label": "business_capability", "message": null, "status": "green" }, { - "label": "business_capability", + "label": "stability", "message": null, "status": "green" } @@ -150,13 +151,13 @@ } }, "hex": { - "q": 4, - "r": -2, - "s": -2 + "q": 15, + "r": -7, + "s": -8 } }, { - "group": "content", + "groupColor": "24a0ed", "type": "service", "landscapeItem": { "identifier": "emailer", @@ -197,13 +198,13 @@ } }, "hex": { - "q": 5, - "r": 0, - "s": -5 + "q": 22, + "r": -1, + "s": -21 } }, { - "group": "dashboard", + "groupColor": "C18AEA", "type": "service", "landscapeItem": { "identifier": "dashboard-db", @@ -242,13 +243,13 @@ } }, "hex": { - "q": 2, - "r": -1, - "s": -1 + "q": 12, + "r": -6, + "s": -6 } }, { - "group": "ingress", + "groupColor": "740432", "type": "service", "landscapeItem": { "identifier": "keycloak", @@ -287,13 +288,13 @@ } }, "hex": { - "q": 0, - "r": 0, - "s": 0 + "q": 1, + "r": 1, + "s": -2 } }, { - "group": "content", + "groupColor": "24a0ed", "type": "service", "landscapeItem": { "identifier": "blog-server", @@ -329,15 +330,15 @@ "message": null, "status": "green" }, - { - "label": "business_capability", - "message": "needs finer control of content publishing like ACLs", - "status": "yellow" - }, { "label": "security", "message": "uses outdated version", "status": "red" + }, + { + "label": "business_capability", + "message": "needs finer control of content publishing like ACLs", + "status": "yellow" } ], "dataFlow": [ @@ -361,15 +362,15 @@ "format": "form", "url": "http://acme.io/create" }, - { - "description": "api calls", - "format": "json", - "url": "http://acme.io/api" - }, { "description": "user data", "format": "form", "url": "http://acme.io/whoami" + }, + { + "description": "api calls", + "format": "json", + "url": "http://acme.io/api" } ], "lifecycle": "END_OF_LIFE", @@ -381,12 +382,13 @@ } }, "hex": { - "q": 6, - "r": -1, - "s": -5 + "q": 26, + "r": -5, + "s": -21 } }, { + "groupColor": "333333", "type": "service", "landscapeItem": { "identifier": "wordpress-mariadb", @@ -427,52 +429,15 @@ } }, "hex": { - "q": 2, - "r": 1, - "s": -3 + "q": 7, + "r": 7, + "s": -14 } } ], - "groups": [ - { - "id": "ingress", - "name": "ingress", - "group": "ingress", - "type": "group", - "x": -41, - "y": -1, - "width": 164, - "height": 130 - }, - { - "id": "content", - "name": "content", - "group": "content", - "type": "group", - "x": 549, - "y": 219, - "width": 274, - "height": 201 - }, - { - "id": "dashboard", - "name": "dashboard", - "group": "dashboard", - "type": "group", - "x": 279, - "y": -41, - "width": 240, - "height": 132 - }, - { - "id": "Common", - "name": "Common", - "group": "Common", - "type": "group", - "x": 159, - "y": 279, - "width": 222, - "height": 165 - } - ] + "groups": [], + "minQ": 0, + "maxQ": 27, + "minR": -7, + "maxR": 7 } \ No newline at end of file diff --git a/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java b/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java index 2d48e60f1..750539675 100644 --- a/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java +++ b/src/main/java/de/bonndan/nivio/output/jgraphx/FinalGraph.java @@ -353,7 +353,7 @@ private String getGroupColor(Item item) { return getGroupColor(item.getGroup(), item.getLandscape().getConfig()); } - private String getGroupColor(String name, LandscapeConfig config) { + public static String getGroupColor(String name, LandscapeConfig config) { if (config == null) return "333333"; diff --git a/src/main/java/de/bonndan/nivio/output/map/HexMapItem.java b/src/main/java/de/bonndan/nivio/output/map/HexMapItem.java index 62b50f65e..ccc149353 100644 --- a/src/main/java/de/bonndan/nivio/output/map/HexMapItem.java +++ b/src/main/java/de/bonndan/nivio/output/map/HexMapItem.java @@ -1,7 +1,9 @@ package de.bonndan.nivio.output.map; +import de.bonndan.nivio.model.Item; import de.bonndan.nivio.model.LandscapeItem; +import de.bonndan.nivio.output.jgraphx.FinalGraph; import static java.lang.Math.sqrt; @@ -14,7 +16,7 @@ class HexMapItem extends MapItem { public final String type; - public final String group; + public final String groupColor; private final long x; private final long y; private final int size; @@ -22,7 +24,7 @@ class HexMapItem extends MapItem { public HexMapItem(XYMapItem i, int size) { this.size = size; this.type = i.type; - this.group = i.group; + this.groupColor = FinalGraph.getGroupColor(i.service.getGroup(), ((Item)i.service).getLandscape().getConfig()); //TODO this.landscapeItem = i.service; this.x = i.x; this.y = i.y; diff --git a/src/main/java/de/bonndan/nivio/output/map/JsonRenderController.java b/src/main/java/de/bonndan/nivio/output/map/JsonRenderController.java index f56d01cce..3d5f28e51 100644 --- a/src/main/java/de/bonndan/nivio/output/map/JsonRenderController.java +++ b/src/main/java/de/bonndan/nivio/output/map/JsonRenderController.java @@ -4,9 +4,11 @@ import de.bonndan.nivio.api.NotFoundException; import de.bonndan.nivio.model.LandscapeImpl; import de.bonndan.nivio.model.LandscapeRepository; +import de.bonndan.nivio.output.Icon; import de.bonndan.nivio.output.IconService; import de.bonndan.nivio.output.jgraphx.FinalGraph; import de.bonndan.nivio.output.jgraphx.JGraphXRenderer; +import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -20,8 +22,11 @@ import org.springframework.web.bind.annotation.RequestParam; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import java.util.Optional; +import java.util.concurrent.atomic.AtomicInteger; @Controller @@ -53,16 +58,13 @@ public ResponseEntity hex( try { FinalGraph graph = new FinalGraph(iconService); jGraphXRenderer.getMxGraph(landscape.get(), graph); - RenderedMap from = RenderedMap.from(graph); - MapItem[] items = from.items.toArray(MapItem[]::new); - from.items.clear(); - Arrays.stream(items).forEach((i -> from.items.add(new HexMapItem((XYMapItem) i, size == null ? 100 : size)))); + RenderedXYMap xyMap = getRenderedMap(graph); HttpHeaders headers = new HttpHeaders(); ObjectMapper objectMapper = new ObjectMapper(); headers.add(HttpHeaders.CONTENT_TYPE, "application/json"); return new ResponseEntity<>( - objectMapper.writeValueAsString(from), + objectMapper.writeValueAsString(getRenderedHexMap(xyMap)), headers, HttpStatus.OK ); @@ -72,6 +74,67 @@ public ResponseEntity hex( } } + private RenderedXYMap getRenderedMap(FinalGraph graph) { + RenderedXYMap renderedMap = RenderedXYMap.from(graph); + + AtomicInteger minX = new AtomicInteger(0); + AtomicInteger maxX = new AtomicInteger(0); + AtomicInteger minY = new AtomicInteger(0); + AtomicInteger maxY = new AtomicInteger(0); + renderedMap.items.forEach(item -> { + if (item.x < minX.get()) + minX.set((int) item.x); + if (item.x > maxX.get()) + maxX.set((int) item.x); + if (item.y < minY.get()) + minY.set((int) item.y); + if (item.y > maxY.get()) + maxY.set((int) item.y); + }); + + renderedMap.width = maxX.get() - minX.get(); + renderedMap.height = maxY.get() - minY.get(); + + return renderedMap; + } + + @NotNull + private RenderedHexMap getRenderedHexMap(RenderedXYMap renderedMap) { + MapItem[] items = renderedMap.items.toArray(MapItem[]::new); + int size = Math.max(renderedMap.width, renderedMap.height) / 40; + + List hexmapItems = new ArrayList<>(); + RenderedHexMap renderedHexMap = new RenderedHexMap(); + Arrays.stream(items).forEach((i -> { + HexMapItem hmi = new HexMapItem((XYMapItem) i, size); + hexmapItems.add(hmi); + })); + renderedHexMap.items.addAll(hexmapItems); + + AtomicInteger minQ = new AtomicInteger(0); + AtomicInteger maxQ = new AtomicInteger(0); + AtomicInteger minR = new AtomicInteger(0); + AtomicInteger maxR = new AtomicInteger(0); + hexmapItems.forEach(xyMapItem -> { + Hex hex = xyMapItem.getHex(); + if (hex.q < minQ.get()) + minQ.set(hex.q); + if (hex.q > maxQ.get()) + maxQ.set(hex.q); + if (hex.r < minR.get()) + minR.set(hex.r); + if (hex.r > maxR.get()) + maxR.set(hex.r); + }); + + renderedHexMap.minQ = minQ.get(); + renderedHexMap.maxQ = maxQ.get(); + renderedHexMap.minR = minR.get(); + renderedHexMap.maxR = maxR.get(); + + return renderedHexMap; + } + /** * Prints the landscape as json based on rendering * diff --git a/src/main/java/de/bonndan/nivio/output/map/RenderedHexMap.java b/src/main/java/de/bonndan/nivio/output/map/RenderedHexMap.java new file mode 100644 index 000000000..3f66fba8e --- /dev/null +++ b/src/main/java/de/bonndan/nivio/output/map/RenderedHexMap.java @@ -0,0 +1,15 @@ +package de.bonndan.nivio.output.map; + +import java.util.ArrayList; +import java.util.List; + +public class RenderedHexMap { + + public final List items = new ArrayList<>(); + public final List groups = new ArrayList<>(); + + public Integer minQ; + public Integer maxQ; + public Integer minR; + public Integer maxR; +} diff --git a/src/main/java/de/bonndan/nivio/output/map/RenderedMap.java b/src/main/java/de/bonndan/nivio/output/map/RenderedXYMap.java similarity index 57% rename from src/main/java/de/bonndan/nivio/output/map/RenderedMap.java rename to src/main/java/de/bonndan/nivio/output/map/RenderedXYMap.java index fc17d6b70..111bb959c 100644 --- a/src/main/java/de/bonndan/nivio/output/map/RenderedMap.java +++ b/src/main/java/de/bonndan/nivio/output/map/RenderedXYMap.java @@ -5,13 +5,16 @@ import java.util.ArrayList; import java.util.List; -public class RenderedMap { +public class RenderedXYMap { - public final List items = new ArrayList<>(); - public final List groups = new ArrayList<>(); + public final List items = new ArrayList<>(); + public final List groups = new ArrayList<>(); - public static RenderedMap from(FinalGraph finalGraph) { - RenderedMap renderedMap = new RenderedMap(); + public Integer width; + public Integer height; + + public static RenderedXYMap from(FinalGraph finalGraph) { + RenderedXYMap renderedMap = new RenderedXYMap(); finalGraph.getItemVertexes().forEach((service, mxCell) -> renderedMap.items.add(new XYMapItem(service, mxCell))); finalGraph.getGroupVertexes().forEach((groupName, mxCell) -> renderedMap.groups.add(new XYMapItem(groupName, mxCell))); From d02a082ef1b98aa210fce81602ac0c6d3a5022e8 Mon Sep 17 00:00:00 2001 From: Daniel Pozzi Date: Fri, 4 Oct 2019 23:18:10 +0200 Subject: [PATCH 005/191] react app to render hex (wip) --- docs/hexmap.png | Bin 193183 -> 198304 bytes src/main/app/src/App.js | 21 +++++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/docs/hexmap.png b/docs/hexmap.png index 428a04c28f21835c3934929a72325b32550b19cc..b7eb5f2888ac003fe55430ffc7103207e998f198 100644 GIT binary patch literal 198304 zcmZs@bzBrt|2DidN-N#cEz-?`2qGQQ-Mw^oE7IL1B@NQjCEeZK-Ldcv-p~E}Jn{0+ z?9T4aoH^&4*L5Af$;(Qhy(WAO0)fyZKZ_}XKnRN<5F9=-B5-CbjrtKdz&nUaDkB4b zp2$X_AP_l7QcOhIHSMrj(~A1WYv-G%;?g(mt3 zlK{;6AtGCa-;F*RoGht{pE^d20JHOtnu`jIw{Q_VpZb{AC8vjNre}YY&XGvfHoaY7 zE@dInTw>NV&=sq46TVTJ@uHjNbwWQFZ9G+mK8HMGko#KwO6?YYzAA@!`EXmCn$m)^ z<>|0r2Z{dghi(tik$c$x`z-LCB>1?svj3m&zso{(`9Cl5?;SdfaXsVzdl@@qx=!u? z{eJ)X>GzLdg5&>dBrl&3!}i;%{y$?3TE~dsJ3Cp!>nGb0J~TBSYN%lG|E!UC?tfPXLNpS*kobVOQiNik6o*yt{*t{+ zwJcD$_e|oN=*;{>zglFu-D8R|c?+#dS-q=sFrEX*g@qr^4?Vf6OHP|(?54K+{wrBi z#?jUPEXH@C|1Qm0t-4QMX1L&Ug{+-y#Nl=5PgE<)M60d>kw=eDGZkJ-1=aMr2qJ-~ z1hYf&zVr6=J#1ew#qb-l`+p3`_Ne~+p8->Bx;OpjO*DaXx=yR*Qq0KDA3RR&hgWSa zUUPZwTr=$Jsf;kdRV-H=dos=r=MLGYLl}`0gjiIaJ-Uj*Xqq6w&1W+@m%P{Hn+)o@ zUo&qBGu=doIfdMojSd>aCthw3$<>SbALIFp&btza^Ka39$_j)zpZ%f#iW0%o%^Q9f z;>1;Uf9ss&=XL&vSFcM#+*L!&S}m9nS&Xe{<&`+gBBjgIJC52DE$8|h`VT*j)?ULV z%j~nusr`8>^*-Hgm-|-P^IvP|RuHd=Q}{P|XD9?V?H_z(ZC=@(d$uB7&xh$_9J(^b zaU?ejTMe<(|E+V9_irtEot)n$tg%#cdfn){#5y|-|#S)@$>V~wL<^17?>%U zk6&jSVOLw^G!#t{B&`1I->_8_oBkeTuh4x?m|)M7gZ`rTl85U6%f$IbAOe$|9740Tt-&E8qfmfQJRD)gVB0ym_Axm(%%Uw*udAl~v^X=>_1 zBH2}Lt$5mKu;nWKlb(6{&Hs41#GAbdcYlzlaC#kz%*1GQHqI8X2>|>YVn0F!h0jf zAse)eQ0KT)sBc^Xz6{FDU19cP-C6EqU7v`1r)oBl9U=SljYhMOPdIB5+pE&3WtO1?snX;89L;!dsgJF9$^$fc^ll?dE&(r(F9mg0 z1|I)PhM%*%=K>aY`$B@H;$;$)iklo8Th3Q#Kt)qxxqHBa(97gqC>}P#G;xL)R!i)x zO<8#Cru2N<*n1poA*-k~u4WbXtGT4CAR+5T<7tRm9{JN^&ThIDA>B250k`jz*!^~| z^lUmJz}P}!f2~Hzfu}Mmb9D8hft$+}#)ohxk^BpJ}p)2r|FhB{*xa%!3U+C!k`*N)U!GH!HtoL0MoY!ob= zjdFy)?VWHtCi(QtEb~*4#8WtH>5Nw>ae2rzg)qN}jNVTkQqMG4P}kE~_Tei>L>#z~ zTPweK&%{l+zi0VIkk3-9^k-AgRF!0@wZ3pxlFU1z=w)#raub98N1D4wqm;4`|^5VaLc<6B8G8UX64U{n?CBQrL8bKy0sUfQn=)LuL zB}pbZ`PAzy(dDeETD!DdtSqG`O}D zehkbPG4KC5CO~LvuQJkX(M{-joGt*#Ik_VvQuR7?-%q^E2-OG!C+U+weC#f2Sd5vW zoGg|!kjLLs51vnH5ns`TBXrA|W}Og!TowAS$}(+0FF&!@FzqVg-3KrAqp)NwaTmhy zrNR)E=T9+R*y3|d=f3vmPrUbwcuO{>R2;$c^mnykbUDs)q(!NUbrif;$5A0oGB9pd z6YougCn3{1MZ|&wbGbkjJ4L8^{iY-Ww%>Q3iGHpq5fgY1!oAzUG8NG+euz=ksQxnPrKM0f@pq}-izh+18KFO}=2HXwA~+tN zcNntoP*)eS>CplL>?tXAaMy9*qbrw}QD= z%&|t=mRqn)^e~9did8pxB!Hw#VJK*0->XTT*L?^Vup@dT!#f=0@+AS0kPe!Fn3Au+ zLh#mF=;f)ZWc307yM5EgW(zMtiJVdcvBQ3>E4evScr}_A?ilRRR88A9X!T$uQw83g zUz14~F>Vs1Q73oR;W1;BfO^xQSI70-BKLhxny6@5TBju1*E=R(iUB9@Le* zoh4Uqm3gC1)XsVb!v`!285V37>)kvB%1`!1%d0~KeCb*+=2|;KEHkE<`i3Mfa!$zy z=`yfcji5a&GHa5SpWcE{R`h^zYftBcS}p3KLUXD0g6W1+qW!yviyXz@^&Xvb56vf# zAPRRxXCRg`APW#pzrAlTZ9jzbsuu2VBjsBE1c~PO#VNPAs559AE)_;teG@XX$v{RJ4C!kbw=`<0Jkl6nDs=%e({){mi>pdi8Lp%m$7X2vQX*gtR< zSBKS)>(V(dBRuCNq0D_VtWTpr9!k|lj*YCnkV)r99s>#hW?O$d0^hXCTs9w!`EKC- z@Tr4b0_veFxY=x@$4 z*;T@@-PS3Z5;*_QF!D*jz@@t6e?Z`7t}4^5JZ90^zrl+925ch(EN>~`EvCI8`39NO zPiLA!)Q{ZRd7oe8H;ArHc?_S`RU9oBI~*8sAp%k$0re5T{NT4-=I?F+)9G0*I)B-I zu=S}y%8ab;D! z7>Y0K=0%Sf!milWihY8R0=u->YhQ8cl-j><>|_gd!Od&0XxsFv;Qh^#FvYO- zM)4S9$zNWus>8NB!4dZss9{R@ep2qA?m}gGGv?|Gr8vB$eCbGd2*v5&AYIkAxRpxH zVMD?PQo4sMp-eYFRp=^$^{W7%#F85Ok+pC& z#&HI(){ZSJ0KBfnP$0T87=C?73KTSpZCj71#nr{bi z=(<_iEGKqZ0xjUOgI>p8EDjKUILUfv0UHLlivpia38p|{O+xjP$5ZodH$o0H8NgBT z{q&awvr(H&CM1pec;ln9-)bXF1Y;Q}0BXr(fp{&_Tnd2#p-?0$?f^a?1-H(7e#9P+ z6OO;gzpWYxZCVMh%i}s-pj8-7a}pSCoj;i4muZckgZ@Kf8lkKa99o>W6w2JgJOeOf zF*!ZByBYkh8|Ds9T*eRU=@cQ)+Z&Are;|K|#H^^_n!b7D#=^Y$)+ABArND$QiozNy z&B2SILI98dml;zF^4_1m0tDAE!-EV-=8t&C@>aoEOr6ERjDaF2!SMG1px-C;GwYOExQvSPb^ zVjJwW?jRCK**={jn9HYIF|!nSo4CkT0`*2fjFY()LRM#YHNtGbs(KwL@4L6#I17t< z?Vp8qH~gJ7jJ&OCQ*Gl`h;+D3$A@}BQ0P~kQ}6ZMW3mMO`zJSrej+RAVD1DO98!)k zkY5hQFh^?e9{eJd@Vd2kfX;PHg9?r4KmnosXutrdEwOjH_<%}D(HsRZ=7^H*m%3U4 z7Y=Q6ske%%!tW0ZU-DyJT3+tnS~D#X8$3Asq?J?iJRL8G{PL{`4Gg0FYrr0I$-jZ% zco9Sk4zdpjc||<3&?ep@zp43buSF(NLBEgmE*Ff9kR;VW)thXEPuT4*QcXRR%(UQ8 z&gV!&i5Owh{sKQ#@I{~!OBtQfJ5QUqV6qW+C*L$trg zWorrfi))rZ4|=^OWWyoo4<@yK_ojp4b1xdDf46@{Vm(IZDBb4PH&7o<8-)?S+JRF8 zsTO%A7}+E1+X^W~gyVx68w{d63js$;83%0k+&SH5_pv^|bfuZzf>(g)By0a~f~f^} z)0rNfiN8CWtS+E)-tb{f!X}SuGBE;iUM&&5&FlM{_aPo4zu#r#;>Y_ji!#RjoEG>m zT7cRf{1hR|<$wejKVU;Wk#YAj6mUTK!aWwv?1#3AGTOJ>y4NUPnI-i$D|X5!Rz@>4 zu);;D`JMOsRw|?Kpgy`bz4rkUZ~R8h8nMF=gT(-=f%m5g0q;5rqG~7RAV?4=!}}i~ z*82ki?o*9{c#58Hlf10tD%`jWmKSh@clAOjGvWq#oDic1AoRv zYnl;dn!Z6WYxzEyU{<|O)QukpUP0J}AT$%DW{bSK|3_Wei|OnE9Vn23qNl(>ks@Pc zB&`S60P9$F57~;5tlpyVgVK~fbA9EoO#}7f=xT-rM+JKn92oAVIKncCBKnb619k-O ze}eRTJ|hkmb&~*|sh9`k2JgQcyN{8hHfpCGh=m^(z`%klL^Jv><;6?&+$3bNm+x z-X7_zN!$=gS|GUT5k?05R^)#hzY&y%q6!f#k^xFTd`bn-ovH^2n`;^c#ZSe=yLJS7 z&XX7jcSSRdAQ)o^qI7L-F+W4B->eaad8o`r zM4o(n_x_G>=HY<{7`qO{vTpcln()~u*aiRuN)~Mkw=upTT^B96g*{*7$#8|(^iA&* zuH5aRmsV=?j+UNvCaToWf6*zn5bD*OSt!wI7+Qf=$Sy2y7nC|JJ5CG%70q<9X^od( zL|){;&0(r=!O1||@UMSqtV#t_tPAc#`p}{K#xsSH4~D`$GYJr+gmVtK=g>H2%U8rc zUW4fVVr9ib8&sL_>&s?8S{S4I!m1?%XCH_@Kqx2{A)asG@x@@<*JgjX*0iLTMVgx_ zqOc;*xLOY6N8!nBihV53r{)?3f~yO6qsPrpH7v+Vh|0poZJO)NEPu8dt68137Izy* zw}v6I$Lug!tVj4qzpSx6chL;I@L-8Nie;zfx9f;p+{-TX?zNg*Ue#@g>vAo7^@GI7^=D4Hs^dgy^Zx|6XuvC6pN4jpzHO`pq zWJd^q?aE^Ijfn|OGb&u6nrj)&UUOURa_VUUkSeF89`iu)#{pd_mvEp}3Rm4KB@eB> zvL6Ovy|>5x4UI$oo*BqX|DCSS(-4YxO<2TO2)n;<&b$*O&sQwa z5)Ikcsi~wzLD(If%Zs=ZK5ucdk8dTh^jPs>-dKN>^#{RKB8WDxu`$~@d!&6Pmsah* zccb~_>sJq(J?0qXsqVua%7Dp7LN+m3A>Dw0f5`3n-GT4|*3fe4iz5Ixh#yPL$Wu0y*^LOK8P5=89pC4~^VvD)C>P?6S z?@5>XIq-y8;fNRoe2T*k+>)G-r_gK}rJ(giq~SsYJq>8?^i|!K9-U zt6pSi)l!~~f2NxIj_0~A$G0s5!ZvJmKEDs$v`+~bWgA#$EGjij$%60Cjus&YgjpFAVDfh|xI}TkC@L_K2+PTVfR8te^gDa4-bx9{HnN~|pH8!2d zwRey1mD@5~T3T=1Sj&p8W=asUjR^_U)^WEE<6q!HF~e`{`xYX5u2wlPHN&N*W3KeU zxxNpZ%)=__TIRYOAB!IT`AHdX3JXO60`q~t2Q)F*c(#wb}>nXPU+CMaQ zN2a!H?p7ARgx4GWoj1)(lKM~3cTB>DV;1cKEm0wWMFxSxJ%mV;E9ei;&dSd_2!IA$ z$)p;HJpBsgz}!CGpBEBg<%LBR^^;Fw1F)%Iu*60Y2NOs4gECP(prkU5Ng~pTsl%Ds z8#qFl#5==v;`5Mp$L<^z7alIgp5>w`5|jLHEXEL#8iUG8^aDkem?qH(E>%75sbi*rCTAz#;orpJJz1f)5y)AHw zIAz7eWx%-6a&&2KP5Awa{s4D!Cd(QDUvDvA-So-1CuOf=P1l1Qw!Sr<-1`dU$#xDp z{84yvP<5N&ClcwfWcqZ@75#;?J~^CMk&goGN)_9)JiH`zQ>)`B2PL&mzv5v{n@?BH zE{VfcY)EE{5b2mJt@*B-Bir(!qvQivsC?r1uOQeosq84W znnQoMRaB&4;;ipg42}yvPef!sW!C^9I9qSj${iaewz{W8cnlRm*7$WI1i6+h*5XtU!y>#tuJM(*ggZVdq+O5i39I z2U^`3g1C4XNy8q25mT?c;S}A?+}2B>?LUa`7iW)rmdKi)r9n;Y&lkD;TGgDaVOoD$ zF&~5@btc^#hbk{r{dNh~p zQSEiT#h}mHX&#vA!UbpkP}e)>mMiR7eBN?+6;x)q$@For?!$kh*yaV{mC5XlyW;0@ zh`J&ZzLkwj5wcziDNTCW$YKe;@Wju1NP3xE9#s#a#8awSY2Y&BQLTixKP=~l7+sAL zeMt11=r763C`SP;oESky%vQ%+uKR1y%> zz<{_1OL~j)_8U>=Y>uf5I4k~iF0963@U;B!xH*c-_a_|!78&a@_~v(U8`OH1-5aGu zPA0nP>&v>wiWrW#sFD5tB28uNK?C7axH7_#8#N90v3%QeZlprR6B^nZNJK(9`jf5Y z`nTH4RbIbz62rxP)tOIQiqHp$tfw2PWhaaaaurgB^&LgnWxnUjS(gqUaix(y(cZA_ zp49UFPU=`X8b#*Vwm0_P*dSZyzJB61HBE0yMPH~Lc~w3z;v!&j%*`r|#(vu1R2p_+ z7#WY2>croxF_g_&>vZg}Ld*Omj4*6R=J+vyC%OM5J|H;ucv9;z?)N9RFSK$cgWsXu*ZA;73 z$Ny+4p#P*fZWY9ImHHRi$^F}`?-N13xX@3uLoUR|cEQ%`y8t)kR4qFh1fx`qT=Iut8Gi=%)AzPL}#7LlA^(oR< z1UcR{nWLrrR{MqPYH1j-b6{&evAT(bQm>NXAVu?h=3)7`qM4OwH}&!KzgmF&!g~^( zrrORq`?i|ImCcmA347E8Ay%30J*uaJGCaKnlCoC!SW8g%o7Ue+1r~$0CLZAf?^$Ad zJCk^O$}{NX7yH|Xte*y?`0F+NVm~F;Evt2>e>-U6kjd!*!UiqDI5C57ph(=e~1zS?;wp@G(Bu{P3<4+ z*jhc#th&RLat(HC{E$g`PKaxpwsQN;Ps+=P2E~;xMoQyZeioF=c&-%&rPO%8C3sOU zEWMI%1?BXbHQaE^ zu3Q}NQF=M@MJuD2(>a#0O zny;B$U|}blRujMxB0A)2)-Q8s(J~}JnzRA9V+M*}roa8ZBUfH(%I@pyyjXHXPL3L9z+l`_~ornE6lXk3~yE@2weQ$D^c$557^ zi;%0{`;cm&SF&vT0WI9%a5iZTIT*_w;91%GIJS*0vsC(j!JZ4|}|?fdHB9Z&ffiuc7Mmv9%X&=|Dm2jQBt;D~c%Byrx)$dK~S% z&{=hDn(`yIP^)(78WBKEJKL7g)(A0<=WIjKimtV%evh77b2P*Fk+1*0aryF(zC+TP z2B;m&hleWi9+@~NTs&l``N_k8v~l**8IlH)D_6-0L1H70$?Jl#g(iE3(3)ji*IldI zhxBAFb^fvL7DkBfg6s^X3)^n;5$4kmK#Y-6WR%bwzH(J8)JygXj$w+Oux1NX;1@?Q zd$#tok&`Fwa+-*w-@9?-{L7fpkw!?vTU=fxTGdwpAj|jY=nnDU02~NlxGWj+y<;uC zHeOt?qkRWhwzp$fnhi!(EpvHl98tF#C30{=9A-tGTlZ8o9(@IY4Kxn~SYU=fJ}iH2^^pmMIK|OVXn@YUb>*LRwB-6b2XlAyjE#wH+ZFxfrdq(%d4+16D-biq`Xk z)Ehl@)K?5L1i$&0!IA6r;HYRi5FfGDpeQkz4ii@Raj7>N+Q9uM!-b{cHk)?f%)#9v zfP-=auLGC1Sk>T2Vn z$M)<{nPq3R{%%q4l%k)soLfu7#q;~!QEe-1C&+~Omsc~sG>r4j(9ks(J#0>1Lb}BM_Usxh^V+0hBs3C}i3J}a?Qy~AF*scVrkCWT8o_T6wz=CQz%C=l^-iH zDE#ldD?T-5e_jQZ7EKInmJ7?xP2aj3`<2i{!v+b=9^pqNIA$cAT z(9UXrKw-6CJE?UM^k}_ULp{9CCnmJ1=alQZZ$#7VX^~#zDBAA`Sh3y+GNa|tX`lT*7E$}(0W4!YO0%deUcivY@ta7<9{Wj^5^mG!$i)&8{Kn{ z%kS!s_zq0Me9WuBpGc}PbOZhh1OipB0u>0%?$RRkjTWrf$5tyHQQ`RB5D0X_j2<0$ zzgMdN&67l*Mk5JKP$PN)>7c?vzhUEvv(>R%;mZ5Uh8SxEkuJc9xVWOv_|yDIxYa*x zWlakJ+=+f;)KRik3g3J}`@MLpgq&yiMmwy+H&sm3OcV-BlsN_wKphhz_L9Foe&U0g z>^G|;RFPZ25)or(#WH@NHYfAY@jZf1Mg(U+^DpCN#g6$%N$U+fNps1hr{P=^Mk>*# zHurxbz~lrGzH7{+|Gg&kOEsksmB?(wXOEze0V@0DQMuxHz=3 zXDaYD<-};k8xx$+?|)(BU!cC|=KFhuP}0g!{N>PrM4k1iR&QM2{k@>Uss&1u1ljYk z5wF+2Hl@5#TP$J!%q4~g)PT@Yh{qn?1q1L<;;&f8t}72=^?!oinuSXc2;|Xg=j`bC zkd?QxCDCi84X6a75w$MNJeYQl2Ou~f9T&DTprXwf@3pt=@oS053#J|sVi2_+lm|XI z&xYc~E0ntNX=j#Z-o>5I5t(7-MRb>HLZ{gPnCe^gYq5>2*RW$59)0&i0O20!6&?1E z63Ja*+7EAcPz9~d03&Yoc)u_T+Z4*XxSMro2$kz@d3u6Gb*$~Lf#UldcDCkKgrf|^8C3G6!s zUpJVDBc;LmK!>EC2?%-gu{NrUp9K#weCMy)rPl!RiYIYH{hCpAF@v60o0FbJRC5*P zm-Rxf>vx@mh|f6icCy;U9NtHb#4oz5n`Wonp}6-w_u_H(H2edk>9X|+NJ9*mK>-ZN zV(g=^u)=hD*?)=G!0VwDbsh~9O`P6@70n>orePbf?t?MtytTWai-1uq* zJm{sx^nz0y^y6g}PjzGXc9=nFU=4}_utHfdgR3QUp6=_^TQ1o^Qh20m?JM_cDv7m` z^><_#uYu1yh&)EET$*iHi_HL10~=W~8BGLp)a*Mg`YIkWyhzAo1g_q?U_F4E*D@!9 zdE|XxDeBO`M6x+Ufq(8MSoI%r?w7c=nSeunPEJMONKC z2+XQ>x&3rEUt~a0vaL8u+soH}kbJZ{zf%Lsu^X<5`4;vJ; z=^*0z%&d=JYIQFI-?b1R4Xh`I5}s1dPwGzcXL(nREj@$goW`m-K*AkiVOlA zW_zpLr|E`MVWwV{kjfV0w?2j6s1-GuJPsuM-CaAiK^)KUXFqbY%>FT0X^ENcw|Y^F z8sbKNtct$o2CrE|5wX!)q&Jz+Mk^3FT!TY8(J;<_m{xuVDB0T%#vn09Uz?cT?F(%9H=q*;2yHpTI$N2igwqVKZCIC`K~oDGduvJ_?r?i zj1c{jk^cc@(L<}r*iagKUl#NF^1rXFSQ)^H0zVYtW8kvZ+!R>8HS{!t(y5qZj8J?< zU4zZtT>&K0DO{Vo&3UsB&^r)dV(gee8 zEpHF#z1@qzjPKR2)A*J~Y$A25U%X|#^`Y=;$QIGr$lkP1q}1(rxn|783H76v zwZgcJP4o20miK6hKNA7zG10q5Kg7O!Yvp|7>6g-5oX8CD8{F9Z6)~+1KydR(*AV&Y z^yyvAdg+J11Rw-}?PEg(zq@OeHF~yoJuNA@XSVFpE`=BKa7DWjUj(x4&GY4Zn7^uD zk}q3fm1Z}&a( z*zWw~ys(~h++>}a7jhq<2&k-UwoctYm5_%PW=vfZw2HILg^t7kQPq>|SnEJ>C=9yD z?nL6Hx^wLAGZK;VH3|m^EAj1%en!^sQp8mN=FEt5lzgsG`Toc@`fIBn@hdA##9b>7 zAHZ;?l@q9tz;IgJS!$Rb;SLEA`QOO0VmbZLz%!iR5wveXOLWgNCeQ?GgO$6Fp;VYL zsJ~qqlY3iF30_ZZF|iz3p8+A&*E0{k?PaRw8X8`Q(qhJtYK7+yD36KRLJoy*~vqD?_oAhbDIZ035;XnVugV?7Je4zc+C6B$?xJ#274} zb>tM_I||3M+&iK)q5;KH?ice36J_%{>2(nL@M@n1`HwexRbuOu0D{4E=k%7%6`rn= z3|H@<{1S;`Sa^{vl#an}qpq6Q>~Z;`UBHRk!+H!^D?w;-#D)wg`^$8d|8a0P3pZjt z<#YtIz|MhhonHJTnd#huUl80fJe1M}>Jk>3MHU@pOzQzl1ZKf=ha~}mKMmT=k)szX36r0uZ5J;cnD+ZKjRT+- z86VYE03=>_kl37+D$$50;b46;>~rya*mgTFtwg`^ta^Rug6&`IYPbtM$Md5AR!uNGJc`_4R^@}n4_ ztDB3m+F>DaM}>eAGHecZ9%xpI9%6|lu2 zO<)B8`E^jkb+OngFf4{Hwy$vWz!8GPAL6-Zz1Xv+_A%tcM;O$Gvb;t_I=zh9|0zx} zwOjjavOfLjZ&SHHI{iEe`2Xu;&PYYCgbxcuG%!ko6VEmR!pUWvomGhM;h)LTukR6X~V6$-4I#@$LTMZs z!lCRtGXkXDeJ9=!*9Z#wTy6MgYehhvc!?Uzq?!E#kiAQ`8vA)RIYgGgcU1UI19=%h zj`zHvx=+c(KwdUw5$YKak^reS-Lt>cEgrf97U4@+c_LSV_B`sNPL(eTjBm|Y#yEOd zk{(=ppIDgp!=c7iY$&Xla^zI6Dx7;eIXI*p?5BA=x8aj7<%xyxQW&Axxhe#Jpn{qj zkmwiapn?VVD_3sPBQF`(6-O-4^1_{79 zi*zOOSD=DX@nC$e(TwMDc1KGYkoS@9vkvd$Ss42HqOL9E8keWCH zAY9D%$6vEzN|8(F08BocYYKB@QO*bXd6L(x4enWJlrdnQ&%S+Z@C>iCXObAcfB4BI z>C5a>_uRp95134F_==wubi(bBzJU7&8=AmMZ-%{^z`vwCu@`o(jM??=B;0HSmFR3? z2C4(v8GUY=TW@%V;y&Mff*4t5)GhBv6%*h$${uYqKWzueSRg$qbCp9c(Gyix)TslN zRyOAtA$B#K^_6MU=!rTS8&}7nt+!lsM2K}|SI>TH>Ijzaop0Bk?P4L&k1n2;&2N4H z`45$YfPIuA<}x+g5<5(M|GhoXF=dV+raaycad6D1XI~2f`JNDIukJTMwHqv}4SS_I|JiF^g%Ov(2|YfpORo1C3H5h+YVqT( zr4I_YMR8qK=%%Sit5=`B+A&7=>G0%qqa4b-q!GK*dWkCMb%x=4N4L|M$kH}tqK)Ff8oVcfku@J5bT?TjU6Py7~XYiCZyv-Rt ztg^!T!#lx)wEtpz3q4PZZ%2Q^ss1MOX6V`#LF6AKWdC~UMFajr+?uz|JkY}w_+c_F zlg_is?HiYih7TzMEuH)Sbp|JaO4xZ zaIgp^Xh6%Dz#GaqYkJfU2@xVW zPBrYcuWyAv66c%4tllE7?!EWm(h;$}&zWQkSHfem7|1?rI`4Ek|A3jOuGDaAK;S-mgUPD=40zwT4Fu-acElVF{$wYp)B z*lX%%^M4C&K2}zC-}va{+GyZgCoX>D^)^O7C9!#&knzsnt2gu1GmpkdY`(0=WC`-C8*cII}mWBKRLu~Of|B>nkr2rkbS=WXkg z1(BsruAsw@0w2ne)MIU(rd-3djcmJ;xM4*=>=EJb%`c>yHElaqb9Q11h~mZ|y*r3Q z*OC(uC69Q5vl6YBZaMnCG&$Tm4A6a`UC&odlSH5)?D{HCe! zIzuj~Ua@{2UIn`5F)NF#g~w3>$N{G($*i^8ec8qnCBqn5MWr%zE}N zgI0)Q1ZWk2dIV8TZE!pJ-wwrwFZHU^I+tfhwixM+dR2fTtklxbMt^nxj}s1Gn0Bp- z%b1Y;kCodU>Uy1C*7G#4XFF0xvp<*fd;^Ty5jZhVSef%*!kgTKB88oQ{A%uu^j_`) z5ibPnnR`3f1^-gr7_Z?IhQz5aTC62(-wh!RsFf1V95>dJCIz=IKH%O?eM+w(vV1hE z>ufd#PbBLI^p&&hTP>+=1jQrXtlE3^uEIsKoSnvvq;gN+_Gxk^3~M-+yot;xw&&V8 zpAUCRIGImNc{S>Va**Nn)I{5F)q0A1R6X&iN|vnO*wiV!Y-Ye>mgc(RTBFr6FN`Mu z?EAXr5fbK|r;u#j;{yUd#Y+~j?=$ksZ7R2pcqv0ZLlg9+awOSCLDEW{99Ld2jRx&m zNw)%I!lkt##^%j#0#&)@REWD(=PTqT^zjdwj@S7gXg){yS|yyuQ&~r zwB{Y8Ykl}N@YrA#(Bz_flsbwMDcwUz<}qq?)Xl0`Z8xh6N{ zkiqu6{*9m?9N@du*n=du*>;(nIX-(Sk^C&gDNHULpKIp-DcU^c5LQLD*P65bvV*VK zI^80#OKzXwGu*XX+*3#{X~5sC$T=; z0h83nnYqM03jUfD=0Q;9UC33&Udxk3QV|nBqw2l5CCBHQhBu?1s{vMg*|NIIc6f7G zxW3u4=_J z5+xs_=meps1>{frvvY13+#pl>b`DHeB(^r3=d_Bm`bC)MW#V#g+RSPYQ4>g-nRsVo ziw0ujIBUV>wii6m8Aez}7G-sCkkq5+Fz%IGhJ|q0R-P6?w!U@ zN%#+HF9PI)%isp|x}B(Gjio$AEQv6nnyPVkZqDfy$=!R+nf4plggA95%@*JLi6c!J zz8Vnm@>_NBW-lX*JoTx%TWgO~=rW&$Jg*q0HQeH3c&@|Fw0b226wu>t@yaI9DJuV( zu}^XY__gOPQ};~a25yckexFOz7vMJETacElCGzdgaq4HkC_pOW1ZROp8_z_&5@N{S z;CB)~X(?~AkLHs37Y%lHuI613=k*`oxjg}Ks{s@Behzf;_)ThI5F&%?$pkAjO{iRn|I{7Ac=xz(*_m-sx4l}>Yx*ZC5rFe!DZ zRvfT{zdqe|jTS9?yw7Z|yNQ%<`noY+CbNW4yksW&SzrQ*!r z>>^I3MJTOo@5n@Y3Tf%~Iwtdzq{Ois&)$oqW)irW91=pT-0_J>ix~}VHsG+gnZ7&B z|J4~|i~YGGfZ=T6%n)1$paRcNKvWF+h>V1%4B+vGao!814YwkEUgsP4XfYuT{ey*T zKf@D3HV#oV$@oMtqXv@W44=fNn{zNy6<|hXdkd!Ql+Kt@wF?MQe*LhZrec>YU9(!q zUH)R)LIyK9+@-lif(A{%9WT@S6XKo%bT=)4il_(Tv$b-%iT9k9sQ>)G)I>4Pw)+>l z?!h*tuiDC?2P>u~dsKj=B;(s0x;`uQ{ySkwSbb$kU3e)=ugOH;wjIDaka*~wP8aF~ zuo>_RiBz<5I5{ks{L<6QC-?Oy*E1|0__hIE*?U>`Y8*f~!X!m$ns;F~H&>a=pKpl2 zmXZEXp0tmKryU^rA^k8}qf>-i+CCv78YRSa*^`Ci$VO=AbGlzTN1Ef+_f$amw93(O z^72m#?30RrEPC45hKCbRE~Ac1PHi?+9{Qt=M%dn`w?+X|nx`vW&PzmV<$w5Lo zl(tR6;LA@3q!mXV35^ z6IbH+7}B~@^tEA#&E>f=$>-~$KCvyYlhq1N&Ge<^Ul@`rT~oMGsa-tEaUVQfJu)9o zCh;n@*DNP~R|w5wZE-X@uWY&eB_GF4)625qnfq1vBNR}Yj}tR5s+ zYx}H{?LNsuDmj%JTNC(dJmG5B6;1*FhB%PbYy$dCZ5%!wHsO}mZDq?%J{!>*tXlbv z_7(#_Bsh;p9MouQKYj;T^_PHX0K9p0M@bwJsIT5(r2)~&5bQO;5-EyS`8oKzr|2tJ zA2WdgRmb&cRerEoAzp6d!$8bSyQ8dXjuI5L$&42RCsU4t&LipuLEw7+I{N- z&j;hpz{~50(8YsR$iK_gJ4)ssKL-#oarm%nf_yZbb4QcCI1K$5*`Q;xy()RE2RZrh zDDY}>?wRt(Yy6J8Dj%s>liRtDv4wbX!3&3XfHrkKJz<0Vn+v>_JYIA0hX$$66)fQv zl3_aR8If*z*w(ym(0Td{6Vu^0pcte^goyYv*=j^P0FQ& z)%wCwa!2j)0XNm{2oY(2nu}HyRmPuo6d%qJcOmzq{nT;D<|KvCw`Bikje%K(dXceTY^42^(L60+B z{j5>{?yBJKJ;K4|ESM7LnO;8^2=K3QFEVLxJxnGA+UvuHrE|NtZE&*Z6bh3r=V8%i zEO%bI5&5h7PWWRufXIA;D9@hWp;rTG(lfnR7(3t#bLW@oT@HI8UA6r3H`xt7!nab^ z((_(^0Hj#R^YyeCw)R^5gEl;A>R&fplfK+}>DVY1OrIbE1KNSiB~^1|gBsfeH8<{q zi#X{omQd6kCcTcL$Q04DYcBCAzNN9dmE46%unU4^?tp5^)IfbPiL#?`C#F($2sx zID9Qzz)Zl;@y{cj&)ac8joMkurTJE7p?PrIbI~cj@&G>~Ns%$@g0l>eu~O;|&0jL` z2&^ykW=*Yg_9^DGarbHjnLl&Bzy0-tkxVk{U=WCE#<;142F7;F+jcgW)&z&^0f4zns43ss-R5@;S-t8voHSROvMMq;~r0&a~oHqpgq0&FL zji=sz-Ifkr**?Y&p3E1#U$6IN&pyn-Y2p$U^AudJ2D9*Gn`WZ-ozYp!Pj`jJaCR00 z{`gme5q!zlvLQew_KYh{>@HPZ3JAB?c@#TvZFY*Kk^(|XFdCn{394Li)k~wB{C<8m zN8Wv&)eGJC`Dx{|WBA|5vA9+pP4~*xd6+0cZnOw}1n3h7)=wfiV%u%$oY z-`bF3kdz61?=ytbNur(0%1vWKNm?6#v6pTPE(ECS!$mPq4=k4Of`SZ(kfHe}^Y@e= zNd-!6x>w&!W6Lsuw_wP)zuoTtWSL9*>#BnoZk(jK`2i!d%j%Jx3;HkCJEVd{LN217 zejhuHo=SXlkxAZQ2I^lFTIN?jkUOs7dij1wzO*B+F9%i+-%tbhjOANXAGMd>7pA!u zJbeP39QGqCbblAtJ@P<-HTQe5hY+A%<%l70Al8Zf5Flz87ZorJ8iTtV+#948ZG#`% zD^ggFcG^_3$|Sfgjq%&(W1-$bs&b1?_-su;$~oh~)$%sq_Zh-KK;W0*X2_%YTHQ_W zAkH5EgsD&b;TnHQ`LMGs@j;O-UD)mPdO`9Y8?11=#2pr?#J_-Cm)_wQNj3LCz+;gc zyf)Hz+>{h~`v2BnxZ}L79$`}Udtc5pfJIz5uM$`=#!M?Ka*zTlAFto$xFIX~Wy;oPU0Tu~OB)iK{%+r`l? zUHB#EJWk%`@%&rr(d zfS1(D7eZK+je|IOAQ@60oU#f9er&%%Hu(YhWD8^%c;hM=0mH~&pqBt9I1lsIR^uwn zct^vN1-}DJgkqZe)_1v=G<|(m3?ST%Rl)Sp*=GRFy#_0c_FmdPyl&Zw2(!R=#2%R% zc@Vh^NF&gVf5|XEGVS5A)&s+F%1OWy0YN=~>j#6kg)!~gOHV#d@e-L5P>MAYt+lLY zk7~V`BK|eh88_mHiL3hr1K_l9Qfj+~q)4K%PUrvpt6owb=bw79Vor`Y$CD#Qbc;H& zFPBYn?Y@7YS>E@dZq+GJ$DDI-4qlt?JDc;qGK{eKI&7;6T5P>c(cCiwO68OQqH$PA zLEdUDKVnt`=mTd+Y^&Bi68F5yRS|Dg#gPHjD{D4iGYRxPY~o|jfY;{cOZ}F`S>6O={(%% zrE;~Qet$-ggg0i*w*UFFjUPrFF(y`px{P%pWU8)=J|c}6o^bYf-Dd%(I^ro0edd22 z4ARK#n8*xZ9?-Y3Bi?GbllHHZ_-#;}4Zd|#PD{d1k%5lOAri8&6_?(*6=L7mRcACQ z?W~rxEV$A4-I2D{+=UO@-)y&9m+Sa}ze#g2eOdMc^B8_M&V)F|iTGvGd1mI<|N7gm z!kwo7iJKS|I^g8!l>2iofNTw8vyzefg({d91NkY1r0#ZctRCbn!$zD)2&mS4$fx){ zylkB0qvc_2JLu)dj{5_+@#X~gC_6}OM0{Y7I1h9{dPW;uPrnGnV;kVdfhPr+MTF;^-mo4t+#H6?Dxk0d@!`%h19Yh zW2Qm)974&%3u7Lnj7Bi275kE8mUAw8kNZEJ;*isBTu*n5a<+;;eum=POfvNLerK%q zTW?|v?<~fwa1WT{LNxX$()K3*aX-nj^iRc`WgdMUC&L__y+<;vt#o7Q^vo+xjVHz2 zXyOqrdHn|vhi=>DnXFep45^(RbCW{+tj9;=r4)8SLRc{`{Ax1c4ra9)hUS3|8zkwcG*)B76x!#X+#E&6Fa--^+D`NTh( z>(dft7kam??HyzU*yGO!A)j`9Yn@uVnX8e0E##J*pzp{SsJUg=I~;W-JZFKE&J5A;+?AGG5gk7Hbz1KnpB#r>+fy+2WfQy`Vd&I)sAi> z#?pm4XXN=r8GtZa@Wfosj?88M$OdzCI!>2vIM#RSBX<$#(^vaEXpS+^l7<@bjOrs2E zO*0<-5z?K^7$}>#0=5n8 zjEsXveZ5|VPa~V-pw7Ayo^TWGRc}cfs3p#kCnyCWxnra1yY#Bg$$c%CB2o@Q^2}pv zf#v?J3(3RL%6;^MyMgt2_4R$+4#j-^%IweQ_!W95=rXolgiKlRpBaq)+jGDV1exFB zrz6T~$D^{~PMZqo{z0qa&KGma5B^h92lgZlGk3xDij+TbmLxw0c(vk}$v&cQY}8fi zh#Y55ldD|q$LH{U<$Wi|aVtAc& z+bVjPe#ebP+vJB<4R*{n0PVt{J_)KsfaKdmOdC@ZvFAgbm2;jcRVUoseM`x{Eul_y z&(N#Lj49BPi>q`rN57ilN5MF5cgYrYJi|E$)#LWiV7AuR=Z(um+kvqy?~6 zx!N-m2Md$Hv82tW&+}e8UHq8$$K4ewWYS^zFrM>K=H-5`%B4RRWOwPWjcFa?&Evex zmN`9m2kFe_S`7nngl#0X_Bx|PwvvtdJ)s7Dxl?W=TPGw}L+H`oAf9PS;v`X9q#&uP@woSx4^au&& zTqGW&?<~?#or`e5RR{&)xL49hA~mzR{SX$2ZE3K(p7dubmsJbQw{*j4om)?of>i6* z+s%4g^9jr>&VRh@v-5bgy@qnh#9KXQADV>jX7SU-_lXZ0d~7uQ5Zh-n=k_>K-oIvF~^^kZ)QNVAij@wnNIaE%i1h z{Mq%<1uL2wzHv*rxC_dYeauz>3(!_5^FmCi-2Fipi@8J7(pHI zDqHL|ndlL3;EYya;_=|i`mW^v{$LOuFKcsGWrVzKDQ5pKR;X+tZM+2_0RdS|VV~)a zy05`7fiUt8lE`d%aJ?xSEHk+AdF1P|KRf3I97&oa(?Fuc-~provy+WRx;33`z+;H` zy_VqTI5856jjx-X?I~3exNInyGuVu{w*4(okny^uJ|5i?g6AF<-OO3YGY%p|$yy=u zDIz4S-nk;3L1`0FgZsWa+P-mA#x!K2>L(3mI=G_|b`% zS^3S3VsAa*@8iZb%-1C$8SqiWs`Fd;AIDsQz2#tK>awKWUHzx?%~asu1|tm7drN*6 ztuX9h?s`&%pd9$8k$Pp6mVnc7x@NEj%(eNeKK>Y$qLZZNyFz4*u`(`uAVTOIc7+lR z2H)rH3PDP6_?PQ`7ULhMFhH=&33G{9G!hywFEH>tRrV1-b;xZItW<(H95)w3Om+@9 z82nUkM5_ZausQfj!9Q)T)wlh^#yEv#YPhtIck*!NVxWyQ~ndY7w%2XfGBWpyOy998)r$GNhR7NY*>7o<@}d&i%eDmDulr zcA#EBkb|reCnf5IM8=n1SzTbYvy2@o1ah-Am97|@7jPx5hwg*KbM$^TV}J+#)nrIR zYOPKi{o*42!-U(Uz=ZNJTw>GQ-rlq0$GvBLRiq(^E0@H2Z|i!lh=i{hp%9jYJt5=q z#mk6-)uakbcSKIUKpS>nm#Oki@<4s1I<;jhn;#0`UO(zV z9Ap92XPMs*pt|E{R4|v&ZX#_5T8cx9pmwft)=%%Gaf0IXO9u1U{Fqpr+T`l6Ck-t1 zCyQdhVGqJh6HK4Dvbz87X8d+FkB^jKya|dP(cf%7m;1ui_^o&c7_ghhTZ;K|Z5FZI zhAl9`uzaz07Zb=qo4nMtR=4_(6~bG1aV7mSBxizG)q5R3Cl8A|y>_W5f{8%4=qHE5 z&Bz3S2K_j#;it-2d)e^E9|a*W$*dv{0^2r13>2~qrT}~c%9*Ifj4o+oa10y;&n~ry z3Jn=@I;nFvC}qFNUMa}0H=Ay16Wy*@zz)SYEDkoct`fU-e^VCRk5}8Tjgbi5$2T%~ zp`$jiwu?){-^f;yI;h{zhFQ77r52`{ry9%+bFZ#VyHWWk^@ZIXkT*=W()OX_F2}F{ zP!JJi1nl8c?>wTkg}v%PDkM=XN-9rTNApLA=X5f~dz}*UbVZRu-WcNhD_9fsPP{=2 ztIU^-z=*G(o)uQYa)h+6TMpx@_TrYJhSUCXBGFKz}GzU1*HZO03 z!P>wX^8OcBEtRmb^CjIx*^WW`+-tBK^^2hRx*ueDLCIVW`P3-l0Y9XyL(V;ji}evV zxa0xxj9;7DiGIbAg3yh~~s`+DNY$9Q<+~h6Gwa?{UWT^P4q7x6Bo=VF9_XF{s+|ll{Ylrisf`OXh?UeN&zk+AYmS8#(nv*!T8=9jxe~otXoJ64`(O+cFWe-&E z{c4q~SFkx3cPd1%USFYa$%L$Kr=+z{tRnQO1i0g&m(l%y%7bHH|H~FCr+Af(VTY0n z$z_2xBrTKu5ui~TCRLOTaQLPT@f1N>%%5rGrdTACnFKyT)31fadQZI~7qfc5{yzFC z{N~p)=#mj4C%6r-xAK7J;oNelWd0SKn{xS|k_(G^4Rgf1%)3WOr!#CGo z3WfpaO=;q8lpq4|ZpMZFh>%vLv5;Q*K`^ArGK-VZ^(#u1oN|$Z^4P}Tpxwcv-RI&RO5+qIC)6gI!c;2_ravhO!vq3nR^U{4Wazyf}I4W|b< zv2+fF#xodqM?E^~c^X;?pauIs-Yw5H*Gmm5gQ8}{mxIKiSeA4o>4@3Mvg&`aUa?kc_bqKDM4_>)llc0sL855KohnRwi$VZUh?pPL2K-0xM z=i*18)nNs!Z<20s>E-^Ju9@#f4Kl)P77DGDztytf{MT!-k!l(mQ|5o~60WBq%P3_; z$#uF04{U*q)S|ztl(j^Q-_V%aeS)-dugeX-i#y>fi1>e~R-mXT-jzfD8wCn3Sv@^H zg?HH^>mUgqBlS7-R=9Cz#B;*kMZI2T_V?H_&+VchLzvLj}ByrvY#zq`|%!ga87zE z)$U6nRj3i1RD@qRE}V@`o2eHGRxHWIo*wDwzjR?L>eq;G^!kyxOMqF#D4)Ay{b5)i zBN0_`jJ)N%+toR;mKLv{@W^CsWMm72m5Cyyj<)hNtB(wQb0x;qMqPisne{Lm6D!H5 zOc;ewMI&yHI!efA(QPz}d9mvqaWvvTouN64x&a|#P{F`gxQjX8hl)P#=YASKJ7=w2 zsp@e=>3A1>YN-zq?J&)4(TX&DZ4n-fzsh-;=X9M#WofF@#43d@2sVMBqv~S5wnoVQ z#jF8sz}pzVI7KSr{dR-D0(gfwa=2IXCNXES;FO3r>^Nos&-JCuUE^e}I;VX)raeUA zZmXw^COn@$FI3dXMxdI}W$R6v^B8>lUF1+q-mZIQ6`|15tv^QNrd2l-J!pMgHgHD< z*|XE0ici(SkUQo3X=lBmXDePY)9+bliN?*mh5Bk9Qcd~S9g#5vVYj&pU8{i`v`_;h z;yo?DgR9HJJvP`<#b!7uUZF$q;!-AIW4%73~btAx09}$l=-z0yt#4)co6LuYs`Q#FaQb zI3vMi{_0!P=h?(<6Du6-@C4H0-TbAu+#lfOkLWVGddixbaGB5?x~Zi*Q!xMWtDL3TuwcA^NYVr z_^Z~rZYnML_YHykA&v3@xzb(%mqcu7P4tS~?El+5hz+#K?0`<$i8o#(I}31%dWcbm zB?kl>GR#I=s>MMVp&VU~217bwpA$g)4HX|A2qjS4xUO?SZ|he|Zct7;fK*@Ke1fkB z?2cq2Rw-?{o$NUQ`kacvYIgxuI~mCMGQH6RBy@N*&Q^Ed)QMq2 z#JZ_e`yqDeAt6PH6DB2WlbHvQUAR%Ub})Uv>7X>|E>HT;X6J=&8XohSHKIH<-K6^4 zCW{g4Fqu4TO$A@5Bn^6{7`S&{9PlA*mi^1qH37|c9PW4h;f8=YM7;8L^VH=ZL=Yv5 zQgYs|;?LJvp=K=P8P0_b%K8b7^t&blKCf9=e(|xw#75jA+P^0);3brnc8w3>UcQBc zh>AnGt==0C$nw2-3Swk)I`OmX>3ZvAd--MGzjPtDEsOz31W#6qz=)PL`Y0ZvCidod z;nkWCX~+oEE}zTYuh&miZvzc?r{(9F8uhA3KJPCYLeGk756x5!jfwN6RR9Jh_gr#8lG%?m5y6C+N8hv=S~C! z)fTsoUgVfI0Yj@eNT1)&m#zlE>x+&;)sB1QYC@;mlcWHYAVs~N42)RZzA{0qsh7y!oMc zlalB-ktsg2fC`!9-GB+K>xzncp)&lZkWsY5r6Df;^N}~J;^Ecr;=iT;mAu|NMEyXR zbGM}vGK4gDUR`aAOnnx=_l||6L0$=SmK#gY47aJ}oA9q$7gY^{=fc%t@Ih>c<{9uV zd-8@AM%dC8gjwAzaZ!><<`{`aH#c&BHcU7#8REHRsy5`wN6rXWm(*IezP^Uh|P)vbN)qaU~i!9tQj6lCJdKb4Z zS0qGmL~F}F_^oPOjA@{--5v-2@V2l(ag5RM4=(aZvq~y2-!EDMqdA)3 zBLb}W3OG!}YvYfQ_-iDQ|B7Mus=|WRpcw(@h3@)CJ{|R@vz~~6{|9GX`fxiP;Qw6?`Z5W zKDXbGoFWPX2!*Ook9c@+PTSe$6#2g!w4E&EOq;+5JZp)6+qTo5DNOdw2VGSdJ%;gj zqXk!B)H`l0w44uEO7u6XBw`0!4|o46>~g|1D|5=5d;9o~rS2(#Ei!19G^+kA4@H2Z z@n9Z>UkMq`)Cv9_R%zbzH0M%?->81ktM_U&3Gg5lGLlp4<8TY#W_zW`VS)L^=-4qk(r8}22X{l_=Rb7&)S2o1-8|{*=%@sTZ2QMkW1r=vW95R9jbUlcZrs4ba8~djQ zfp+gA%AQvqZ;%j$Im4!iiT^}cns#_}_g{<+f9(fv`H%K1skO8T7=~Jl2d%!#J6pp7 z(ACF-u#sWVyV(+|7r?DX@)sDvLcAhMSEFPn2}@O_+K07oZaFRuhF4paI%qr*S zfT{@PTh%_w^`MTYgpf#eL`JDI=Yt+3c1lewdbV#^_%y`g>TJEW2snve9B6p?HjfVe zGbHn1R)sr|OmtKKpbf;meQ@N0tcCgFt%p8Q+c+uf=mUkl_g(sS&25~)bK~(Ff=YVf ztIjqlv@X{jmq9e*Vogax^ z*~2c)X$x#N=w9=>t1T`4I8`zzG-AP6Kc91zj5K>scKoXl8>3Cgwk z|LaVCJG%{H2a)2i&UtB`XT<$34mC$d@dQ1S9LJ3wF__tnQV%?sl;JQ}4_DFB6TTmx zFcscK;GQ%X7if~V=X_lGmY__FuS7a!Ry7N#B=X~0ZWX7dP6%ya#nh(>Zxx1o4{x8T zd04x&>?Sikj%CM1!6lEZ=AMZPyYGZ=9vzgmX4i`hj?g^r?A6^g*9hHCDo4^|xO6;| z_uZt50wO;@ti54B-=yXdzs^6*B=FGw!= zs;!GAv4huap4s7KXrIO^>J6S#(b?*AfTkvz|E3~G;I1EdFelxNhI<7L z_v#~-Gc%tB9&l<`PI+8gs|`uH^iZ4nZu6OJiOjMiUI8*K%_BIX3#Pvxzo7UF83fM! zIhGaxq^PZSUw@?PfB6hzsctXqebnj^y^}4TJoJVHo#Wq4M;rOK6*p5lP#yye0wB%Q zfjhRWbLRuxwq9u@s6UN;P~HqN;->!YZmfGkAj3NzRM@pSRbn?;$umeBd4A#{rppwF zgl_qo{_F-1I}F)~?q^;0cHWcgZveN_ur~x)mq_sWz9BEO zFiTx^oiIrn_@!5d_EI06GGUpl*eiB%`3k&e0-@PE>|iA>SrC$JPbwvHrH%Z>*t6c4 zH73jbEBg3rfp4SYU3V9XdG7BUr#3_s=20TRc%8yYm!wJ_gN~x6em9^iiuI--0QJ%M zT(hp``ny4YeNq_&KJQz#kJREdAooODiatMp2zMR&mfk*pC~ZB zoyKW=d#sR>a+V*~rZcwDv`rc^he6j&*5^Y4asAV(W;VWGeg8!r(c#&n!M6!}#78GJ z7yDVuU<4B|6kTMgknMMqSg1>0X8N>7K{HcEo9tNcy#^E`P%=!{6uxG0goJz9(j%!0 zG_2G}p^qgj*YN__-@vudCKt&wggG1RU^~MFUuNfWvOiC43Gh6R{@zuQTePsCaXSjCO!xG%XVfHMx+V>U$axMpzGnq6z&gpiF$GdTvykcbM$GcaJ^5$9ukX_LD zSFU;|aNMODS|pws_=zKEEK8G)B1r>=%2kM0QOtL!%E!fwm&AaC5IOobA+BUi@)SY4 zPooN&3czeys);y~pu3Bgq=FM3J z<-T2gKttoW!>E39uk!79uPI~>z=Kq=PMHvhO@J#DH2JD~lPe^^@g*>pV=2VR_Y0Wp zb_S+R1Tuo-kQM-vPDTy6?!3@QqOd*ix`98T2R0TpFif8(slCtEp*@cA=&u9gp*SR~$Tyq7+>IoaQb7pb9QMGn#LG`mKNIf@&Q5 z={S!rC7Q@2wJN3H?HxVrn`{zY3L%L;8WIf3KRk54g~!H29*UJzo)pA?{p7f4IRSW1;P7zf@n0CG>f$L5K! zF^$gp9dHwA^F&(g?W&u@QJv2HHT3M_Lp>))aNaxby$8`q>*OpSMWP1zRBvHhdP=~G zx-Ky+!amijYoYy4Vr_sC=mlMm&%Q1Ozx=Ofi{OwIZUzJyYHD+YAh0NGGfKO;dvz`J zne@%h30yMF0efN;v>^CZas%UceTmi}eDw0IC6KZ-t+BYA8MsDRsTgdHT>O8`snR6MQ3V$zK9QnH zhvru!dv2@_l&`n*?g(iRSiH1yJ%am&j&;)Vi%#rcbkI=D9~wGZ>`rs#v2KtvuXIzZ zKAhTm@BI~Zj)i^^2f&1#(PBm~U@6e0$ubmgh@xIplol-26%k`rc)71d*rHQbhrtNM zy0Kz>o|NVp%)SvnyNTmQh5}a-K%-CA(of0&HkJihD(u8X+oiXjX{HM8tIf+j1uD5` zlz`^bp(C(RXN~qo$FCrXvaM#tBsHe6vQRUT9O_q1c74;+mt4sE#IZMe`SCMAc0I}X zANc9M*Hj2+Dhyyt*k3?uz-XMmtl7VbCEX`L(B`iUde4@2e9aF@%2#F|SMpR;d}Qxo zv644MA?H)ZKJ#d_{Z0Tu+X0MKuiG<p5f1fL6h&$S&}n7st(hL>J??KkjKFbR4^Ug>SVohrg@Ep7OKwHse2PESO$AKf1^S;^xyIP@(e=5ajTMSlK* z5+#CBA<(Snuha#LwZ=1Be|GU6f9+<%@+ZxU%`3~#vpE`%r z>`#dd4P4akc>Bttd2PL1_m|?)t9rVSG(d^+xTo=;JBo%H5L9QF#c6;qM@1G5dHG8q z4x6Jxrv;d^kYl}zUo#`de{B(+29b) zK>je;A4w(l*v51q_Dx6d+Nb0K$mT57IsG^T^7_ivX$ROZzhgHV<)fOmurM%0j0{xo zm~6M~5z2v4Sh7^dpyiRJLPsBPEqXzEM%76R1PNdhbni8JM=Qa@HHH8Zo&YhbqH{_t zEY1DFN`SWLYC-|zo0!d-3f)Y5H7=5@%AgFzlmHboIDL)B`l$x)(a<8EjUeTEY(ZB< zn#jMk-*w%FFf@#bpEPp=&5!VjB{$1?@ohV?CP6djds0)#-8y3_j2uc+Qu^pD{(=x# z+e2dYd6g73;if#iRQfbjM8RjU0;%COLM_B@i3*^*MP|reV73p66QqvwQYXbq>MAfL zSR}LUVUeZx<5+jt2NXz#F2{8DIFweOjhHZ(Vh`M1b4FV;tH&l2et&bwu>5#XXhW8M zC1W5*YORI#21Q5pPR=egNf6OJvZJV=-_7ocy8cXT1Qp6n_q0n2D;}Zgu8;;eA;G}} zs5`=3tB0t{RZWtTlyl1<)oG6iODso;{|HWG!dzh0q190oo0fA!{{Kh=C~{d}pkM4q zesudgzzj)X$i5HKfp{O7ti1O>u1Kle|EZzL{%1PDo}}ZC0ZVRqfTvo?Vu zH~$W zC9xU?#g(o;1=(ZvdnakR?4w<$PmZHcdOWK1Cjfg~1Nr0)l8cHdiZ+U8+(+TL8HWt@ zF>yVB4ugs>a$c>P0F-As;0~v12LJ7XRqXcmTCrYHNl7&6{cTc6XNGt@AM+SmRgbj& z*xi-PA8C6%64cb+U2aAxQ5#&fP-J)t`tAg+Z4$^e27o)KC_*c%HweQZqYsCfp34z8 zj2Tk*sOLFg--K93`hRBY_aFHaJO8LzSrE$OouBT%BuO^vuEvKVx)S`v&#B;%YRxDO zz1`6`;Q1B2WBn0?In|km%RV`pxy(~)=ursjI;lcCVGdLItXM4~zjg40X%r)t1>Zq9 zi~XiTQ**r;gbukG;Kpm0^=?$c0Iv%o=QwP7@~>X{8P&m8=0$GBbg%&2Qg(ZcAW9d% zs(Rg}GHq1Nvld0_Kka!w3f+JGGQ0cV!YSlC!PtMTl<)Pz$2`H0lP&d^@AHs49_aOkak{5@ME5(x=ao6PVDC_eyShdj1ObWK0;_F z?%*g!I;QgUoe-}eRg$N#)LP?JlG7N${VGW2M+s2JlNR-GZs3neN*yY4z33)>hDMFt z_t^QU8Z3y^w_pH5!!3|KI-pHmgrd@=Em~3*7znLxa<1G~Oe7=M^3WZCbka+y&la9CUynY_@NB;z_H zePe}G_3zZSc@MyY!3+(jHe;U!3omm12C`g7`dnJYX%X=-A1YVV=@lGDLYB+Au1 zHxQ>Wwu>$a>PKTxw+RNi6YmhDyQ-W1{aDD`gHI3HZIsUkWo|pXSP>LAo_GEBq1~B? z!zlyKR1h%r2CbzM?4OwGa|8D^W*6NXmBuw{Sk*}GDC-(7__JefVnur1^OOY%>4AN< zGs6YEYVsPk2BW~;MDGlTwI+XbN`O`y#Kz!(0R+-`u+fl{^6JC#`ElYJ7nc(r2`|XEAlBC5} z{mvhSZI5}hrk)qtULGx~siK7#F*UhFf)eh2T*G;;7KjR4Eef<}a=#aM!oW>6KHMs9 ziuEP0rx{615qZU@=s4Ibft!OYn=J=|(o2kq$gD~-A&$r+;iU8OQ)|b3R2#_UjNp1T zH8Edauz|sC4VNDTStc9TB8XPWHYnx;*obL+5r;KB_0GJPDe+DMJiV=8D5kFtRB$VZ zQ|TRn%P7$&Df-XSm_dj>=*n7Ayg_wY5$jb-s2i+~% zPGio`N;A7=5}Og^S%Yq9h04{rDRR%{)uH2C49*6j{1JT4p!WV>{!IApn_*guKmX2` z%>6dnw3jWgJSu#G&@ma%;NV6c{s-eE_V}mOAO7qH{AJ;mbs2u6$K*b z|L;ljdbV`erHSY@`hK*F)W=KX_s;mP_YZeuj;(*AOSJwE0^Zzp5raam?mq=mq^)lD znrs5r86lwXGudLPQPZW@94g4P%6HCPXsmXNGO;&mwXm?ZU^o^}MZa6`{N?ne#L><`21>r;}UAI5&M0G?!D0xbZp7@`w?_?17o!c|F81e^Jk=5XXt|-pXlb(ex2R_n-!blaZ0qh>nF0)IZEw$i(rNTP0SOR z>caMMiSC=^)y>Io2~P3AD5pkW^sTT=?r^+HHt0CN4fh_hm96UxQzgfln^iMXaR3FK z0CgwZ=G%~Gx;J88rjI&!sBC*eD!tsC+z5%f9%{mh)}br)(c_w(FX-r4*-bNxH%?sn zR@{kGNO1kn+*I6QCxA_SJC>#X0L2{aO9m{G{es^nL9 zMMz|M4tku$OtHOP>^T2@{~#91DGtic;?>-|o0ul6{fnT6ML{7rud1gC+>9Wkje3!b z64#x3cKW!gW*aG^*mP5qS5y&PyaZv13f9+({+3gANo6~l#BbC=CcxDl!d+L}51U*| zUnsL!kHMPT=;&{+3D{*6#q?A*`YeY`Q(JQo6epC!r2ltA0f(-&n1E-a0?+i#RfPwz z*VTq13TCL0)R)4I%TpB23PVr~yaay5s6Rf2x!;V5!cXmqnN2I+`O zS`$u5Wxy7-4RXg@BS#LCPA{##-|I}@oaT56bgNT1E1xw~D@?e#35TF9b%xD!)NiV+ zHCa=%1W<^^*eWDcB6*B`>Yi+OsCKi!f?#nX6bbr=R))y{_yGIf{zU*1dNtaMqVjyr zUmm)zQeJEzr8Bxg#?fAMsn=K$b@U`rDiIAWQcj@;=atR#z7F0#=6So}u)HVALOy8x zp?0!lH_e1x4$m>8)b!NT$04f-!UE%EB})w}NfEHs=SRt8UMHp2`yVLW^a4nk-mU8p z2s2f~cDFg%W-73YD___A3&Sas4#qNYo_-=H#sy&8TJu~aAok>#@Uirp15!s?Kl(ER za8Pf)FJ9HuQg{SlhRf*1P z!%h64fX$0r9c}F^HPc~Cmro}B!!NUg)}iK-6V?37?^mBwYWDT_Z-{x7XKd7|QVio= zOH-AGCN;jN!e$K+VmHtCM$>XYC##9si+TJ5AG_ouX|)l}U1ZoS)3+^X&1<&xEWX}1 zeI)!TGlxrpmCqW@^r*NGQ)~9g)u(9%cfiFFT$}$~k;R3%r%C+k=g}N8OZ~S3yKN3z z2&o^jJkbBFL@B=@9DW3pJYb_4=BEZmbd3W_NYNyf#HPq9&v5#E#K>Y}xb;$h{};y! zx6ga1{`Zspr$M1bW{+QRiQcuN3?IK|**z7*2QsB%)P>eroGJH-1Cg{0;?2{q-^}y$ zXPO&uH{hGzy3QH%!dmie2Yvrjfso^8N`6rUH*Z+7?C+^1l_E7j{Pwx9zu*TQTu^&w zf83d17yUn?^HU|RtOig4$|011h!>DQL3oyMRU*@-^i0hrde8bT)x|*t4scZmlIIpX zmZp#Vqu=H|qve;C9$@X_%zzM+FN)!5Z&)|Mv5KN(%fhlTrel!KW*#=gofxrA7n9RG z#2q<*n8%lzJ2zA41V41jC?HWcMX@>K8_Zai_jy6a-n{2tLV``*+08F3YB~)N$sO&q z05d&`9zxq#0o>{XPiD(_lqIiFLb0e9kLN4*7;Akj`@O_mOC$nxSfY?sUavK8_%+U= z3|!=5rD%P&3)&1~YzLq3YMDsh z08ukqYIi)R9YRLs4+6Rt0H^;)wohoDEDSx0+eC_De!qYRz75FVT_r)CCwBRL(=c%R z|8zu<&KXgr>f|+&>5UJ^1q2lGU|*f%gy^@+d|1- z6dm;{^s_L_Gg`;b@OLk9ZwN|VYx1h0qZ$2&73fUZDw^h(S)x3#YWI6;s8woUIOnoa zoQQ5Qrs{6rmqle-oz;E^->^~|c>uR8tFQJ-Oiau>v0+*OO^!it=qcY_m%U3<8YUkH z8TOT9eHhP;xZOwISQKr$Qme0!&jPdOwpi2^#75SjS~J}-wYK1waaiIMiyxzO$asX+ zIqM*jp@Kuj_lgr|TzO3 zXWV{gVU?k$e0rEg-LSpjvsn_}vYiMulJHKXT`GU&nT}9BAYNwY zTcZF>N!$~XKs>aF!c~Y58^eO#TStC#hpfG(bH-7d=K3KsAl}Wo`TKe~@DMPw!U)k< z{IMGK4eI@^LzT3{)J?PRcs-LuIf>hkl_2Z9ND3=Tm-Dx4G-yGK{SB;x%FpbL_#J6d zSBwO@ZkvZ#Hifpdu0p@SbVQqr=jFN>+GYeQBFpMWg(c_XhNE8GG?Mw2NJ|Z7cV7o! z(HipelNtGV(m%bjU7MbFDWrwuOq-MnE6Ey z=7N^WSoq{Ao`fq`kRukVwo8-saIhT%PoW((R0ZQagO-9?YEOWLufpq95GZTF@I+tt z)oOuND+|fY_x@}FI4rY*n_R@U!HGBqoXC4VM{BY^3Dzp~c`DGS| zsN{{knuXG4Ks>1Nm2}vNh0mW0s9;P{;p8#E7kIsO(HA$8BFz)W#4YtfJ>W@RCjP5w zMfeZH!w&^2AoQ#nobnl#ej7(URBBKlKK)UL-J8CSu7A{Z$JD($BF($rc%rs@(gmo~ zrp}trvVVXlwp!ri%R)@d|7T&=#SH~PaN?+R=%q%p0X$XczhpDzA`#mH_ZsN8M7RD| z^JqR*NB%98R!fpj^R6Gq&bRqtXYYX!L9IY2EL+}<{iu0RmCTd?&e4#Lo87&%yQ;C= z+`Ag3FS#}X-DiciFS3q-caC<2i))yCzfI_N&%GPM~%>`VD zD?6_u(~I7?opwv}MJV;My&LEnwvosKS!OYZ}31Me_6JKiF8$#qwa4En`@ zga^%5z#ZY*#8q-rhYBppy5GB1X5& z%Az;%Y5G3J2jIX2LHH1kXoo*=7yGEZ1l+&9``J-xiU2!^KEjf>TfTjb;%TYTa^g4Y zs!yhJK_jwUuMWj}zhQ4ZIPO_Qis__?Wz%ZmK?l_``AOD|A!uas=|aM_kQ5Uz<<4VL zUwValDh(&c4Ft`WCZIojR6a@o0`;yZ4@VYl4k|j^o)8Mn))xKRkC?+U;up5gu+0cI zhg+)O-1f~;{Z|4_qTo@W}^dx7n?kI{T?cnv?7x=>8ceEl#;jLdLODJsnveDoH z$=;IIdqNmg!uWfDOuhO7njAfzCkHSvxnfI#3c}W8=VnyyOB%>Fh+)E)mUrmmV+*wt zpl%|a?rn#O+Qer9`e-vUC2D=Xi4M0N0bYN-TLE1I-T%WKgQbVSKs{UVum$m%r8^~P zsIKrs64DNccffU^sk&&>X#M|j_1^JRzyBZbIfrAfjLfVeAta%!BT*UId&|t0z0R>B z5=AK4QRvv&9I}#GLgq0lJ9~57*SpX6cR%jO{YQ__BYbqO^?JRo=XhPAv?XIVE;Ira z%H3-&K5&>6S94tYSSTQszWuBwhj{>PniyEp8HZ+6BGVh`#XXK>HNkxz#SR2(s5pm8 zw5y$Ue4AYh>K1}3h9Xj|qSW)mnu-o?|7M9wYxg*mzj-vpFWw2!yDjS-MDs|W;H=)@ zAY@0aG{hGXddU_G6L6o0v%Ge+K5^bI)t3w=!qQJLL$gF}$E~P|f zf%i+~fWDN{p}Q%EttEy1uCuDMLra90afDsn)8;&%?tRZM{Y)&siwnNxFBddt_x5;`9QH1}W#HF> zvUCjnUmnp)$kOt1Q>(b3lKhABEt8BzB~^RyDoDLn@~>85EGaYa7FkVj3JV2@Ie)_b z;I#i;LDJ*Rz_8+kFgouz$Bm63M#<~Os>(mKww2^^+;=g7YjLNO05*i3>cX;oUtDc# z%SED19wSj>4}Mn=1Vox_+irA^UJue^T>j947^RFWn-o=niZBVMN9v*0i|T0B|0bZRBjk}@zIsgbV2x;lGf z&$NEScKdcliKvndP7igzZAifSev?=H3kR{-l6LS3K9 zjVRXf$BJ;+%>BziVAfkaIW9T;1~)zY;Pc>Hn)fAq-SoD5KNr@$&&b`n@4!o%J)k~>&M_bq9d7S%3S*0iK7 zg-&`i?FADaw)XfV;R%X`5^iS`i)^%S-rX;J28HyO=hV~5x~qb0hKqi+oc~U$LqUwI zGNoQ~@^n9%0V_( zLO%~n<>O7FCZ7Sz{(;MMC4n)uTOPIm>SoI_#Y=qrY4EXB@+fr2iqp2nR9Z4bt!1atpHs$wy z*Ns8d2J=y+()D+4+3<@Imm5VRHCAr6R!*i4#D^om?T~Hs*@$uSLS~VmfHqa8%2eVX zdHW@)iq55VCKM2KpiDK#cG!hrZ$OxhD8X~^ARwCOn@LWLDikBG!UU5;h3H)G1A}sT zCokAAE-N)v_s)pVM9A4&0S}Zq0XdGY-vW&qiWh$dOoURc?QoT#W4`yB*ZxhKh#1WU z)4<Gi~+Hh0IA+_zD;%FQ$n|Fo_Y14Z;*6x+3g!#mo4}Tn1@yp{1(lh*`LCsO(q1 z4JFZp7UfU8oovqkbE~qq@IC!U5q0~+eo6WRlNT@0VFv>L+bGttOk7vFF`;dsrt=0x zk!d$!BxAcQ_YEtV=&V^9r z>w}mZRGg}%rr)yHC{vVa-sA#WYib5Ku9!8)J$fZdTwHD)&gcXS|B=eY+^~FqKt3WzM|FEEt+pikspe{1w7e`+ z@cNSbvk{|6U_Arbqk}^SGTgr+c|lgdpBzR)SDssVr!n%J93;+KgeYL%WEjyeCNg27 zKF=^6?Thsrt5z~4@D{v|nQC!skt~@-b z*Dh~sTXm;DSREaGgAGR+wvVUwNs65bZ9OxHKgibG1ke_X?D>wF7mB8XPyB(c4hf1k zB7MFHSq8p6`VvpD>ZzZ0(t-G+WzhYZF)}w1gvje}GMEXKXw$j|Pist`-JPQ*x(lczd!-r$d?;IPEYE+&QAF zr@*laZHyu&*BdCQqs+ylcqSN=zNzh9+|!0mXVS&?hJUF9lQJce9!j(bWMhieAQ@3Z z@7oZ33|S>)qzN0}W_Dd^r?aLz#2^*h&z;Q#7z~X5xvdp?&Js;w5Fn0K%d@%JQaupD z#xBViu^y$dI)OBshiFr!N9q6h1H!YO3P5M2D(n_->l+)!J* zaW$eXREkIznEGI#0EHkO2#Zd29!MZkm@;DqLX}s(ahyOD1JcK+>o^o0BsqbsGLI?d z^%{d@-OxLkg`68|dm?!x>g%l7%6m$(PApF-%ykF3+WVqyg_5hRmuga4{uKj_i5j?a zL^dc%xg3u)b^ts#>i&)?_NCa|5Xd0&4p`WSF9S_F+EMejV__N3$X!s9JLzOG#}Y7) z|CEjcq1(lUw41i)Bn#XA>~_ZUxg1YkE#vTvjIVYjl_$Jj2_NN!%(k?E+}ikNbq^bZ z2&)cw!{7Z#gsEeK_;VtCkPPs^I7YqX|Hz|7q$o8mRzXG#EY%})0&KuGIjTR4LC+S93Egg0b!D{#Z*29gs;9A#%Z} zTyH# zKBN<N>6kwSasP<6TP_=s8f#@^86hI(qCWyg+-JoxLs{M`QkyZ`H97|2D&{e70h$MoL{x2!63X= zfFy0Z2*z=oemA1jJ!oU)GZnP##cixVU&TH*uR)U#NuB1Gtc^uDD>UEmKTX0Bo-+b_ zKV*Go(K()bs6h4PN9-lK4@%iU>5J5Pd66hTmt=I;>Wz&(lbF)_(^@7)?~Z;teVlh}0KUn6{23$O773{UjE?%m+Do}Np!CRdq@jqWyZ(*% zyL3tdTHQQJJMKf5`9 zZW;(Q8UxnR_Ad;Sh;Shy8Q0TJDhy!#&0jQyw?u;~&>au)UrC^Oz|4vibw-K*Rgua> z&^seNl!2T_L8Gf#?yH*ukXJ34e+jyj877DRqXEN|fI)U$Wm$fuSJDHll<5jlSi^)O z;?GRPkc{R43j?Sw!Gju+&wOoK?exn~9|bjeg(5icVq>p3IdJ1Gw1tZ{%)Hhk?;qEtLc;`qfP)`W z4FP2gD^OE`cB9fIls&5NRj+}t*HzKj3p6OW3dwp=0g5F|qCuP*=wlZ}EQu0eiP34=YzS*tB8~pzw5xRA$p^u^MM=j-CF-hN=DJz} zA8xbC0)_;3jXG19)luFv!oj|j#%K3ooj6oh4jJI^|0i|&Hr}@Z0T0poirkf<&RT!RO!V*K)?4nkqI*nW zjEPF%SzchJP^^s5#q$x}joU5K8(Wi?ntV()vCr^WCNr#Qy_!9{->hRdQ21`^4fGMK zx;kU{dbbH^R59Nozk0ak3j2~cegM;-{x{HK>5UxMk51%~AIZhIUVyeLa=?v+jNtfT zr+g_4b)DtJYx=gLM@Jb+m3mbbRVEPDV~Z5YuZWF-l>us>z^UiyGgbv1rXF8j*Ud9X z`Bx#XHH3WTKah56`kfiM941i6ifyw?~;@+OoHgB4`4ZBPE{%0pfS^b1J5ej_^06KI{{@N*vQOy+;%C9 z?r{*f>mp$M{1ml+(9@u6>6vAYQ}CnN9p{n`pW|xMQo9mvvc~{h@%#(abJY#fyHoEy zfX!R`%?BhRXQ*6zhEZY%eii|p3 zvMHym6UUfkqpe)JZsl12;y7PhYS6{_sm0s*&m8r7MA)hFvVem2-)x=AM%>9t;Z1#VS)bHK(uCT;r_|b@p>n_o{#531Hk*W(_yi0T6R4 z`+-l6&NF(DRA*rR8+it5K+Pc zx!u*5fkCZy{Q#X(0L-pjA*Tu?O7|6j4ua(MuM*0}t+<-(+W7>Q^y)ZTv^QlzP2v?( zAiJLp$~tCyf)$C~6>RoB3HnZQ14b|F|Mx`~JaMKKV2wftW3TLzdLnv!!o2P)^PM+0 zZM3m@^f{5BMU~j*fLp)B$dN z5n7%UJwKD*g1MwUEAcFT*fyB_MM>ZO5Azf9q%sAM!Ihh4BR_X#UDAZ_sDh?7FE?LC zwGpH6$HH-wcv%wjF_ALQ?_?yAM5}V@1}TQZdV(gl>yPEEfT`Uf-j!B2N#)nfoHS=j zddd#T8_nSLmHq(#Z70I-T>v}&BpiO57Q=}pPNTN1*FwNTC_oGGA8?!Q+Mr{|5e4PA zbBciGUKD%wZGGTvsI%#y&kdb(vjHuym?$}_DQZQ?-zBR8rW(2$g7SySnreR?f0(Lh zxv79Y!IK)#R#X7#QnTNNGuY7rl0^sO1K*`;j1^(VpdR*Loxv%s%-O+O3`2LaBES3` z0E%z$x-jMM3jW?%M`>>$xqN-j3TDpz?x}0g3*iA_?m34f-mzwG}q46;pTCKT9}%a#6Rvbp7jlBdu#J(kxWw$;2!aKbFRUk5!%g zwz;7;;LP?ocmkPeNN6N9`hHkb!}!@$-Z`uf9}gw<7OcHg|7ueGke`e2e_DXdAO`C1 zfe#~K1KVJfkUbu9ZNDF@5c~FJgbgZI0m4VyTunE7{n3O4n1LBG>)LhDRtES-2J8J< zAsajB^6?b(`YH%9UXKGo{IP=kxkf^g!bQc%(X0SY=qE;<>z0~Dt$|GZXERz<rz z%+rYI-&?4;K@OSkp8+rj7rnW+1!GX!LkS-Uo^#yI)efEC{4)ehT7{f;r*NQ9f_ z+v&#qmrouHL^3QhWgu^vdxG{s-b@t9cS;?{mV90HZtm6*l%O&GAGthCvBYHl(%tyJZ z78zk3Fk3GI{p{nk;*W1b=f<+dA@uT}bZTHOsio_FdA3Sm&bKG`zfd{XzH+J;yDHy? zjzdyExkituvbL&FVt2DMcC#5js^vCj&O1(nT;1czkYhJTf#pn{8m6V6t-~qj>jN$u zLg4c6Mzq?gQS8e1jB(&%0j=m<#4_abeqw8WIX?M8DxS?y=o?Rr&sQmLrV>V$#YF zc*nN;P~W1M50Fc^xDn{Vpv8q*?X^2K0-rE?#xkboYm^$4m|(DuqYoiHKso<)%7ql8 ziw~gyVbi)REad0*?+F;JuV%p$T<|7K?V4C5WFSKYT_a7+m!&<9og)!O<=HKqkkEM- znfkf|+EQT@gH>BjoPF1y>dqbwhBoV+nU{q(3dqEIe9IecJWc1_veZ3jbxWOI8$Wy# z_9vj_H($~O8|@Pjlk#1cA3jy%V@C5i_xGl1VWwu{vjH;|oz-jB0erV6D|AMHrpAre zbr{k?pa5qIGoF)fp4zSfxvzV-ENNWz_feNt4_38nh`WcV+k+ zykq(h_xx-VpGh0|g$unX0DT2A@k;Oal7qf45S36;mK-jDJdGgjCawaHet!3J(;cZlx6%P>=f*1BT;k<_EExaIy&@OC#Gg=Gn;s3dBdSafye}8v8jLw5 zy@K6~UN)wvm}{;MiGLO!1n^oYbVGuUD(^~-iurr_>$Va3ctN|2hia+dsG_tJ7kRRP ztBwj&kc%JJp2ulRK?y5V;k+^A)zu_bAUXzDBS;Pmxa)V`ZE_BpjT}^$U0o&^yWRHd zw!gW1vi=1P>g1vA>uBEi?7D*VlMu8gnGDTp8?*p`LFBwPXUA)yNXMz7#%UicRS}+( z`~KEz;COl-L0umIapJL-VBsWX3y#E|0YTGxnwD+;rG$d2lm$z{wEQ}t@qd**$WQj9hN`6+bni! zpG+E?DZfCQvXooSe7!|bs|!0-Q5H9+FmO@<@ac$lN$(OPU0%hu!vRQ?0|In_ewoE?SoF(FfW$S|37li&TX`k6IjAd1j#Hh`QIq( z6t5(_YPwTAaWN#{iG&U3GJFnd5E_uPoKuEMeDR5x1>1$My^;!9)OwyzR|01693B;y z>QV4Y+X8SIg7kcQ@oz-d*n%>nA4uIKP8jLOkXlDve&(LrO`-Aby><4Xguu#`pyC)% z#W#sO2_s3|UG>h}_pE!@T4Cm->NH<9Dh5qVY_64bvhF|O477{BXgQQ*sey_%33;9BDGBUophM_A-(zN6n^bx* zsM0|jFu-4Qf$2fg-I!}rM0~S`e4gZDAUq@UU#c>ZiMtSc#=t5W>>|OV3E9~9AEB;& zM!=$=Gm=wKCF1~e57ZLOZ(@Hu!4485&P8ylt9`%me5$K@t<|^j$CK6ys!Sd2`CBlT zCT4mb*zTZ>vcd<+~f$+H9znlRnZm7k?%3C8=+8{T`&hdRv~e zuhg7fy;jvW_7hMq`FcnB(Hew@_)x|O`^z@%1DVnnST=JRjOVomxn1ETiQUUnnHqgF zfO;C_)cV!>HWNmK@w(sl43$kT26}pM)xM~3p0>Tu{n0Kv-$}NN_;#Ls_V7!gh_3Z` z7EwjlYU~d+eq&bIj1r=Oq^@AA3%%cqxXCIDS}%?zULOxE01c;5O(`6`my263<^nVd zjPIXt_TN4aKGJAD29fr=#Y2d5%*K{i9l2s*jt?#2*Z6q_-F%RfyDvJ%>f!g5#j}|dTj~X&b!}79Ws1g6c)puSY>nT9SJLNZd zbXK`9Szci_+Jwh7A2l3Lidu-%Qm~SR?hz52yp<)VzK$w<>Els zl1--|D@z;$Gl{UZg1_7%iA1zt<7JD9|MJ{EvYj-B^G^6`7_p51JA|yobWn4BaYMcQ z-Zblv!pHUXdv2ccp(QPweM@z4DO{%8fSaoE0g~#2pug?KmbR-0 z*;rIVAkVTmhGge*3qvX8vo1Ko1}>4^XrsVN8Z)}P`|JG7SV6cg4Ey=e^jI40oTaQu z?>%|aw=egMRnO#a?zR*KT%zSLojUi+-N6WUZ#{-=)J<6*aheR=C#qeC6ql9^UF2Rz z(E5Bd{y+p1Xmwh8wz#`;HlS7-vRgmu&kSB~Gb|07Kigo(cR)Y3w16fWKrh+BYB_b( zUMXP%K9I3^44Zy(w3vF=d~UTOHofWO1Mwh+C|qozsxuJIK+kfH<>VWw;vnfDM&tVw zQ-6rJ+?9n&x|Mj_bKtWh!qzXwE(f`%8cOefTWexa5@L*Hd{R8sQ`-)aQfN{`)$96j_i&XR%K}V$jF|oytzI#1tWs zJn_o%j5D)koj-^ind%*?sW!;A;G8sY3Dml~oe-lmT894ZY2S~D@xzJDnZNF4lehPK zbttmo{dgCvapt$U3(S?cZ<>Rids2df0rWRyPfy$(O>?y7rfSgPmM47^u&+Fs`d}>y z8wK?tHF6J9gO`Uz=LnbOX|fw{Z2X;2a3Y@bOCr@1o8pE!?w}?v#|B4+McekQ$I3;+ z*sRV+9tyWVQVxn2y)ocY!9=FSb?zLzct(({K7^;|YwEzavWbglR?XfOoEY9MA4g|FB-LwNTVxTUD#}r7!ze4wYK7G z8Oz}LIP$UJ(mYP~Y?0jQU zqbFv*R=_d|_ooQIiBZvPfpJsG-O0hzMUF|J8Vl+S(*iFp7X=7_Bc3xQ7_J7xhCjsI z_4_0<_O*DOuSt1ijq(SPY(0gu8{xb%Cj#%RXQI;z&S)BuV?X}6vgJwq790C%ycL{% z=A`fZwsDMIFKDFw9wCXsiRuwlJ~63sox~%45&caTD#IU+q<`Yc9B4W~RHt5>J{poL zIa3g2D0C}@hPRPk8cc#3t2xbZZz7-JH--(G%ukKTHb{}d0!MBAHf4trufJhe47hQx zj67RE4I!I;=ZE0cLaXy-n0FZXk#kfsQjr-oaS5TV*UX~b?%gpxYL=gm`Fpe9i##90 zlOy!D!Hm@Zky8H-R!hK&4WWDkL&8C`vASQMk6C&oH9SM(;nN`xt2X6SlmM&z)!AiB zs>pfuq>qNh5rgmh`y7Q z{g~j(aWvudP{UXZDH%C_7B@ipL zp?e7jW0of{lyUs&k|DaZC&BU8NaeuHWAq6V%+CF!#sW>$qVXM8OWy9+oiifKK_h}X zn?q^PZJ8$NiQFfoOk&uwAZ`m2?B)hNjLdTVUAh z^-=_U$b#tRjKi5DRl8p+7^zwFDk`8>FrVE^#o^)b?%F&(iin01@#@CN9_k^l6^vF< z3_18+-R9P8xn;5(qXsQ0O=1x(#?z@a4-vsr|fRfuBCp86>Pak zM(Xc907wOB6&I-reF!7+Z;2dR+`^x`Wo;x>DN4f$})z7I~RrN1$g zk@ga1&=9>saa2$iQNpCkyh^hfe7J(feCwuCI3py0&8l$x8sB*tccOYZYt7KkTfD8u z@+@NI%$$#Mk7(1Jx^Nf-U^ikH@jsh7RExBtg5g&6Z0$=kh#hB_M^QHHL&JZ6$0lIl zRmfQ_So{zhZM1yyyY%cK>gf6EPU{(Kv5gm(BqC@@-RbB!5czG4GdVh*xs+n>UPtOs zDCNqz`1CID7zn+AXUY=~!jf=Hra3=5p&*2Cls(lzkuA8pdVaz0MQi(pfn2#1jSEQA zNWX6Vx0& z!xOHA5>B~pAT}Gik*2Z-V+xPl>0l?nU@f~^2_cHvTCESiT6vj1Oybu1>Eg3ecb}N# z8S%&PB5v?eU}79)xBfgMzf~CUqVlPmG)EV)Kz8Y!>(tjPp5DZyRD!&B1fz|zRw*DB zh~}(5rXrPR%)a0?^1IHVe!TD7Rds@jb>drS0I9eeqd!5sxyHBX-6r5V2bSyTw>!^w z^@>d?H*&3(x7jPV$~P|^m@;qN>K+V1?zvf=ZW}V~yEhR!L4W~|ZF^xyrG0#ph=vFD zx&Y8<3@D{@sSV(ro3I*rXFn0-pBssiHBOT6ZF2rb>R^pr5 zdclH}*&{pLVR|ZVGY7^dbrbeAMDa3NrBkKN&+{SlWfW6!o}+Nislb%07yXgpLINcI z>hP-Bmb)$4$S(P9r$LXn5}`65rjd~Cnj)sJgpUYQsJPLE#h2ocTB_z~W+9OMX+ey9 z4T6h(bn{`lo1DzPl!leum_;AARSFEb<2>mjlzh1rUyqsk>SG*+rTl2wxGz6_=sTtv zDxFpFe`(_+)q+H8ud~#RIym%wNJ1aar)ZOHj}#(I3O89!nTGQGBf9+?1(NR!{5(8+ z+t+Q1W|maxj?SZq1QkEv-YUOH;D%LSAof4vw?Y{g<`vH@3AW@>W-~?INfAl`H7Cc+ zQc?JV79x2i(`@gTavrI#A)FKBhkj?Ov{P){4PSyiX$TC92AN{5*73AYthj}wA3y#+ zmEgPUlDH++=YjtnYe@OYyoABqR3q-)tJ52yFHia;g$>t}EJKkBgpvJ?R)rIs|NdIm zT!uUDsYB*j{K%Pwxm8Hb=)rr7(>b3~&j(QXx*4~Qi}(K2DT5DX$U4~)8dZ9P-mE#} zOvMFbxK6sIHbn{B1Jwj$b!@;$diW;{$Pu!)dc@8xA1(Z3iadpLyXH2?516-Lwkj__ zMZM`BAJDdwcE7r+&$dYOAy?~**VB$*tF^}*>E?@)x5zg(B-(60&K&#p zrx%IuPEY$eFj1zwN^TJTbFN?XF_m9v_3U7my-?zB`iL*n0hK>iDJPH2SB!cu%KE2` zSgiUH$x2!t7EYdCJY! zyx!%|Rp^+kx^Elbo4}`CMulw!2W^O9n>3@tq8FECIb_g5F5U!t_Vu~B+=>1Zt{332 zlM_ZoPy8}Yrm~LbOK0*&n@x_X;u5C1(8oz@PZ?&A0BM$ejhrRzhk~Ov+$1&t&rLQwS*V?AX-bf$yx#hds z*>Axvg`mJ62UOZK#;=mApqTcZ_9jX9vo>I5zQhTUtv3lR@xpQ-vBAUR;`ib0LAlULIE53o3n$~^OS1NC-08ZuZEX~ ztT~@mC*cmS)$Oicmqza^%tfFNE*GQM=N|5FM!APl&pKjoguKyG)83O}g&^vE!eOO> zLeI6s0r_J@=oapj`ulG-u9G%}**azg=%7$DIz8DZoN8i2Q)Yu>@uz-gf9m~?1x3U- zkuibXbs)2(tNJ$^7B8ngBl;DUvGUe>MoMybw*WO0#1em?R=m>jv56K76s zjc`Rh{y#3*O&7M2=DVs_-ddio9g5)Q)2d#sGh@2(qSVck@pFHsYv@jtqBDU0oixL3w6Ddyc75_k;wwjJZHb-B=;xBm+e9fQ=4ICAo75AQs z`X*6AwF&d+u~LUE2vA08ph$NSnuJ>gvCg;R&+>+G+rJb-NNO@eNEA-DaUGUt-?9(_ zLGkF{r38oKtUPKc8_u2`e8s_GviozFH!VSvVBO2kvL?M7JNj|ijfqAgl*OYQ6PX@@M&}_o*;)ukRX_Y|)-6i1TXjCF@+W7{TZm zR2NqH@{N-yYwu~j->4u-9?g06=t0l|P5#n`_Toi~9-goeo4T)_w{16Gt_P((h?rjM zPVGTljuf=}Q%TojhZ_N$+?uIC<41T)w`{xDaA}iG64{-cySzVX%nnTlG9Ui$qxaZ7 z0AGS`zwtOGb98bZRLnRYnSx)CL`KD%b*JnC*t0HHsT; z0fmfs=pM5|%WqMxnJ)Yhr$yjeF&6!#y4HU^q;Y#q3Z5+YL*Z;!p^;Fj!CQ9!QZVJf z`ed`tvi_0&o_;z0TrbfuVjP8RV=Gu_BPPJe20O(2T z$=8#X>p5p+^pJ#o+d53S6elO+v!JFq{#Jq=~JGB5?0VLmceJP?}~3sAMT|e{7SXt(PkoO`>*Uu zl@w1X>@G8xlBR$+ykC+zJDbILE$_I|ewRo3kEDBH`b!2>3q8uKM*Z{)!Op&!Sszrn zWJY;g@V;3{FvoYj&)ew;-@p{>@))ZXgN>ztC&&9Fqn}4FD}JGTD(h~c(PVT!?YWXO z>(OsjZn7RB8>SF?;tb4HL*x@8u86RV8x~kfVkgYEGJ?%yDlFka%bX9KcJD~vjXrEw z<%fyV&K0OC^I3C8;SjR*atYzM_%664IAG4-6C(QY$@Q#>4nzy?zVc9vegBuHG=er{ zOG+2k2bIx>6IL^(l4rmc^4k{*Rhf!^0}h&YQVp z(sB&oGYjloyY+e&AT8$&>SOC##~NFql#BYA99*&B|=l ztK`fOoA;ryy6$XlkW^8t=;SjVH`+@-;IKEs0_(hp;~|R+hy?LVlRAL%v!IB_g74{X zDGO$n1ft?$67Vg3vmG5eb;Nl9+?+>OcTBbk_Ioaj^j)7|Rum&Q(iRYQn~X(nXr^H6+I!&Z!H-I-`phl`vh5sFkny>cT-{e+u!o z7I}(({3@ygU*zCh&YA)@+hi@gg``Fg4;H;_C5fXZ(zk%DzPq9tfWlqrm^r0&54jlPZzQ9Qun4}~*Nd)&!B_sMTH=WnFOx!KKtuXHS9;=-R?;DA z1kbnbJCCx_;aWi2icNTw3ND|=pKT{6nQJKkp-@ketq;z661$*ogE|KB2d0@>+^NC3 z%t4XubH=fMxur5T{TQKv-WIC|4WFp;4dby zUv+w$f<{XSjD-rlg7Ag!%No+@`0!g{Ea>FV6h?|CYf?R#xz&HjNtJjMmd zZRmgT8cbOedV9R1OsD>e+MLS_Ro9sc-o^yjcGTN%OvhW>%gB!_(~W=wxx(}k>(ZE} zE!|s?G^0xA7Mf7Zojl-D8NKFB?+b35B?#HvRi-A&E?9!w`r0ix1;8FXOdpzK!isQk zSt8lZ`WAmiZZfw_V?jcJGd|Bb>h=W?tdyqkdl4%fr)wTiC@U8`G)*Pfnn}bVSNr9_ zxAQbH^m|hA?po0{a8qUcDVDPSj2Oqy_zUJp@p)+AjD+xe{Y(VLZC<7q?*b3ciy5<*eP=o%z96btd%i3q$(St4bzI%syY*=a>7EZJ`Yw|8H;ipC0hRzT zRedzk0n)#S_=6-yr3J5|#C1D7B)tEZyE*9~Y{6Y}BZQWrjf&v`!TtdTSn(>|fB-=`sO1czPdW05W>+$mPb2sxRAy~C0#nNzE_$JGc$ zqbJ)}U^5W;BQhO?D^A$UIoaiE3O!wczNd2eIt-PfCV-?zkZdp$1IR-+-@|ZGQcD-G zGyw0=Jtu||B`dISV!UR)_V?(`sz^S!z^|JFLVMBfbc06oVmowCnt58<=Iw6RWa`mp zV{W!orfn9^7(W94@4ghq5Oa5*Lw8$h3JZsRbYH7Z;RU648~}h`cpu}nRdZ?}@B`X`O0quSh_wZm0P1E#${g_n z!p8Yg*U7Iiy#}<)mQ;uk<0Gh+Z6nvZwJ`0-g1R?$Z_v~6YFiG5dhtEZhdd)`Pbp^f z_h)T-v25e9{X#=rOh?yWB3S6Al>0njf4&djy}o6L_Sc;v9G2pDGBxSLTC*E-Rmn@j zvm4lwf77cX+Gv8Zmj?AW(oAx+Zu@;oAEyqdC;__%L@Tp1Tj0O z5FoxQ>Wm_bvQ-n()y`pv6b;^X9>q;lyXnpVe&cD6r92FF@<%AE71X&Nrw)3wBG1D; zuA4==1;vDTi_+8^2>c^%d?T!w0oF*fv6wlgZ)PP)J)?bHjN?3U5qZ77aFtTFx9C^K zv6eG85c0R0`l2#8UzJCzP6hx7})wxzON>}oF6cTRxAB5BzRL2e*uw0*;S|AVV` zI`J|5D0mVsfQ2E`8mi2_$+gA_e=f$#y1ZB89uMbRs4fepz|#M$pS&-#v` zH!_1ZkS!^{X<@M%EnfE2(s(Zk|?y2L(ucKkbI*|*4YkHRfHyQhTjsX)gID;Tvv zzH*_Cjc-nU`EuYzo%3QX!esTvNXGvm-8prZ$>DU|7E-0H+Ad5l%t!~9k3W0qTPeQV zfB*bY*oBy{5I~H8iOUKqfYEkPKoFc8fn?@Zwnlll1FIAf?T@U7=5|?N36S87wf@J? z{0A+AoftoTz`iMGyx?vZ_YU!cqU;~R0slIT_XcE8%T+kVP8(hTHT1~$-gWYP#wYFK zObv^~)>3Jw{}D8k9e0Z%S_8yUIP4!*1c(e+?YXkYR-6%QAG&je3~_sqnK%ifZ8<+X82wTf)Umto0Hxat=Ztm! zNGayAD~0*P#zm2>y$|D2-?Q$V_CtSyC1Ra>ufa`Pr@%SKYL3R37uY^F7 zR{GsH%8COJ90%$4EOx0NID+R&(3KH?C-WBF>xl&bif6Plga@o#Jw*Pe(PsyrT)p$= z{&zxW9fo>l&0UW>WH|-#hle{b>T%X-vvyYK?!MStO*jm_pMh%!fSlj%w~Yw&Y2S(^ z?qpY?Wzm)dlZt`wAbBiO4J&+0NdWQlJ2nb%gzEOgYJs>>S7tzZrg)(q=S@Y|bA!r4 zTdsGHm4-;br?N|53#9U#wfHYNFDrPdG~k?U&QxaDg=saVLyjTziw}TJa%?PH+C%;& zkSv;x`E)$WFGUggA5M664B%@4I{{)k0Gk%vueJ^2rLpAzwMg8TdWc9)z%7lWy~KHn zS`qmlvGd(K6Dpm1tL%%-UCuEIc?vRABlzsKgl&L-xsiMzoE$5B{uk&sRvkjw|G~ZJ z&igd5@o+0Pk=r-t?Zds02_;?*-HUeE@Ct~2XbT%q0ieDe7n7n<$s49y#w9QTsx&ed zD~gT9Xzg*8eU8VJ+3;wDY@dNZHOO;+{<<^OQ{0&NRTqAHyW?3Nj+z&D^Vc&JtxFQl z)AV172%r^ODfB$3UV6#v1-96L!x^fnK=8YcZaC`K-l>tlgo0-hRLCpd-+oO!w{2JY zlQ~i|^pI&1=n&vAa4*n30VAm(ybj&CEH%6)+O#*kV)>X+3{%3r_$2OKA!Z@qBQaIB z5LrD@kpSbCnT>32!?)#ZL9#zEHqo0fjM&b#L5=ctBf78CF&c1Fk;erKoK2v%=y>)J z!3fskrE87SBcE3?A)8Vy!LLU6f!re41pR#MD81nJ@Q;-deiQUV78DVrngDytV_WLE zGu7gh&9#JEA&L5za4gv^#*^xvJ8OQ*~BaiTmo?EAz{w{KKuC#G&f~fP%BSy@G1U;m)OR?hxL>T zkKM1ilkhcA>9L*0J9&^oa)LJmdsWPq*+UURC*Z6XPpKF8CZXyGa4XybS=2g&kvw8Y zBr`gXq}x1hJAzCC3Gh+Nf1efR0VD(?Bp)pPF(-TJu&;`R4Z~|fod}Xa2I8sf4bx=L z?!wjJ|Iv>Rbjb%uNzQd+SCw-3pqJketVeRQwmd%{5kNVaaPdd zzBnaACg_y+gNhV|xjRIW?|K9#n+ndUBqYNwY#5L?MdF8MPeA;tyQ8hOSA)pQ*{*pA zk&jgn(Rvqv8?dv-nhWj)`>X#pR>-c@6r10&yPO&ZA$tHkN7 zG~)>a`&^+rXa9xdz}+|~(7{yUJ>pLfGZa^{ax?@LYeQE4EP&Jaj|TZV9`{lnV?Z*w zj-SVMIxw?l*2^>!nr6#_Tkl6^{$P2;=d;1qzWZ8+`-K0jk)Y~{GAKB|AVH;n&^7ut794-*0xc7W2xQcgDeY|G`( zyHjkM%q+csLP}6Of+GKaw}9HqD0n4KAIjUCIltUP)G-EnuF-`@rkVGJAt+cEk<2^Y z(V@IQALQrn{bsg*jjVaVPZujKH{czM6W6ZH*g?=qZhJ$*QkmJw-hB_saHeS85=u3)`{C z^;Dbe#azOcdPwONVRyTV6i z#V!%T04MwW#z+VW{>7h{Q9_)u>g=s8wn83tf?`!=mcQ!S0bE)=YS=gckTlVE3q6xx z*(eL?4lEwxmS5qnLWnb#S)3Z(b50qs!xtgilt=Gk?cB+lzt(QeZ2>cjKeauw|1OQn zqXYv+ing3lme_G2v`mkO7ya;)*6|&wD@?)hxD3lbpw!yCPmL+TX-Da`G-)D8B#_ns zNtY2lH8diixr|OZ&N}?gNKZ!AgR4)dspn~+ah zThvwdL_}Zti)U}ycB2vHdG)FIi6TG=M^xczo@bm1@q31VaMeLXl|3FF+#mcxuMnI( z*Pn3|C+^@Ko~?J7@hOaydz|6LKk7&URQII*um(BT{m}|da32N?u~+;ti0}a-)@pC^ z2D|!SOvs>kekgH=an~Up+`ls8R8$&;zOoZ@c3x}_xw3za{I+5HN(Hm2B{7v4 zv(o0V<`ilrz^KV@+Hc%OOLqPt{H$1@i2DZgA2BmwTTI_$f^$^Nz{r_$G z$K}1(*p67vu@)?ytaU%>G$sD3ijkL#WNJ1vc&UZDf{Y?yAJh4dMAviVHmd&EeJ?H2 zOuG_6OUsj=A@ojiQ!e2Lo6s<>>GL*>ujlC>#>Cq^WP#Pj*{jxSzl~E68$pZViZhDi zS@8T0kQsJ{@xl0rOBJ1%Z7KHueS)FU#{=M7;BQ$i@3#Se_&D)?2q|2Q<-o|DLj2X& z1T~9$jL5RIQBBG#OfH9?|IQ%5h_WQ3?|Y~einmo~z5Z0!*_>d)*J8tIQzyt~`2R5V z=J8O!-~a#2m=Qy^mn~!|%1&jgB%>6f$i9=vKDH$5AXJjdl8~s#k}WZoFeu7iArUiW zEzxA(`<-XKKi}K$zml1*xt`}b*Ex@KKWE+_uCP&#vzEen2p0besVuTwu*~+7c>SQi zmJ(`4l}SE7a4n~%bvdr{rNLp%=aw~2GLBPMmo!^0a?uvm+g#r|O?Q;SQBxFJO~^UC zJTO><>x?}iqAPtT@1B0{{MZWv91R^!2usMlR_XA1uCa8195~(BD20g1Jp+)UA$K>T z?_@S6Fl1&qOJ3V!R1nJgzj9GQY{#!2GtlDICD#R=b+(FrK{?j|?YhQbJRmnNprFd@npyUfLF-xdQoVc~Lc=C~!4^x}95=Oc zB*l3b)|)PuclxdbUYwv|+WFFhZ2N*GmO){{RM||ZS)Sy#3>Gt}!W3CJ9QgH2bQ=3S z*r=*M`cRLAeCpx3FF&4%Ccmp$&${o4QXxyou^JmD;))~y0uVG!fbS`9Bv`5DdRV^Rx z?(X2DThW`KmRn;pIhgk%uzUFpwev3&)x4Im8wm$ZBLq)ssMsCn3OIsj$6nIKwTRSq z_*jpkP`(wX{-ggBIwUs)P2WCbOY$YDn-ApOCdZT<(KC1Zpz>Ge?h7Y!q$DMMOkNRC zQ1-jyiEE}*EIaS`$Hi98)YL^$b{V4#bSy$F8A!h+tA}Va58Or;x^~u+&>64i#JIFI zFpWavHD@H4GNl+?!}pS0tmVVl({8oQM7r=ST)p0Zb49?Mxp#{YRD0~HS0P`Vt;EcPWIC-3DK>8LCxB!YK84QYbaT@A-(`P{`1=^Eaf&60~)6V(>7=Q zQmh-rkhle?hx;Ktp2SVBew%ad+f@cNbvWCIC-@rDQHp)@U-&ZLc6LUKLfXbRtE4c6 zDm4t+I$zq5WJ<=kg4o!)S410K1>$X)bLN#7tzkUaheEGs=8x3Pemn9|6x$HTxqwPM zfEE}i%JxFy_AKIALrASAQQ#oQ9PyjWE!1>XrvIh!V+fkK>7~vFad~F;`M-=QfqRXK zf&E=ogM!bBsx-u9WsSb_W#4E-Zn0fHiF?>1e^qc_n~xuPwcM9NLT_)q~+q=R3>>ah|X8edqfn@L{(P2f{T2yAGIUtb*T)>d2uP;5CrV9q~t4 z8J~Hw-=oPX-ah;wk~H<=K3&}qEXGP2&a!|-@g7(cRMuhqf^K+R_aU^rj=SvUi71L3 z#ec8ElCY~S9#rr#Jq|yYD2GDNY2eC*xUi*0Zo0dTolk(Gym$s!NDs!|T3aBsWL?yY z&MacgN%WNpRb+KDJ7sQbD(^ZS-ZKBkR2R zPgq`0&3*zY5RyYIkiMU!q9bSg^$SSFk3(ISwp-;0Z9obVRA_S>>t>S4IRbxCzGp@6 z&VMguye#K{;)oG$?o~CR)34r+Jb@Xo1tkRM`1qmtJ(s?=qbjnOdIvy1&>2qfH(TAL^|C> zap1+u|1F~7vkfUqBl~`%Q+zLO0dw4R}kn)eP^1hk&?`G#F;>eJLXc#9Jl%jtD`vFv;9TLfh9bPwXg+ zD5$oB+P1vu)pRl8@P;6d>(Bfhw0r1-%={@k%3*mz(m??;SLGabFKK?v>0tHegfgLn z#xpQ1B2pDh*VW%2u*{MqnyHw7Pa3B$qWOe7ND?Qe`D*f0Yp?D(;X~CSMr$V`55A!`Q(7Fd&-EJFBV~LLZU44q zxI!c2imD!x>}@6xqHb3-8b#iY+)Y~lnp-De!aR6U-@{m$8M9Ord*iEn@4;?eW{a4) zH)*w^Cg#y<&`NP4s`qEgDI5rQH}A2~d9b#Zx%-vnaRkllE>XArNTT>C0S@}8RCfMdTI9~tssVoi36Jm@O+SvJrof zICHLM3XY~eT8Wg`h+c;%6Xf%?j1nF^Pc_e99}!3U{cm6Lh#DU3*^%oIDKf8{2f6|M7vM zY!5bO{{Cndngo*&1Hz~>0)F{uH;;*oc_p*qw-9aq`9j)(5mA1&Q0%o5pE)Ns@O?*l z^TaAmw!Hqhs{$16u∈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

LxDaGsCKgh=cZkY!!s^`@k{~2b)U&|3>4cp` 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