From 7b9d96838143d2e803d97cf3ff487f731e7ec8ad Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg <guzba8@gmail.com> Date: Thu, 25 Feb 2021 11:39:23 -0600 Subject: [PATCH 1/4] small comment things --- src/pixie.nim | 36 +++++++++++++++--------------- src/pixie/blends.nim | 42 +++++++++++++++++------------------ src/pixie/fileformats/svg.nim | 2 +- src/pixie/images.nim | 2 +- src/pixie/paths.nim | 34 +++++++++++++++++----------- 5 files changed, 62 insertions(+), 54 deletions(-) diff --git a/src/pixie.nim b/src/pixie.nim index 3ce03ea..ed9cca4 100644 --- a/src/pixie.nim +++ b/src/pixie.nim @@ -52,13 +52,13 @@ proc writeFile*(image: Image, filePath: string) = image.writeFile(filePath, fileformat) proc fillRect*(image: Image, rect: Rect, color: ColorRGBA) = - ## Fill a rectangle. + ## Fills a rectangle. var path: Path path.rect(rect) image.fillPath(path, color) proc fillRect*(mask: Mask, rect: Rect) = - ## Fill a rectangle. + ## Fills a rectangle. var path: Path path.rect(rect) mask.fillPath(path) @@ -66,13 +66,13 @@ proc fillRect*(mask: Mask, rect: Rect) = proc strokeRect*( image: Image, rect: Rect, color: ColorRGBA, strokeWidth = 1.0 ) = - ## Stroke a rounded rectangle. + ## Strokes a rectangle. var path: Path path.rect(rect) image.strokePath(path, color, strokeWidth) proc strokeRect*(mask: Mask, rect: Rect, strokeWidth = 1.0) = - ## Stroke a rounded rectangle. + ## Strokes a rectangle. var path: Path path.rect(rect) mask.strokePath(path, strokeWidth) @@ -83,7 +83,7 @@ proc fillRoundedRect*( nw, ne, se, sw: float32, color: ColorRGBA ) = - ## Fill a rounded rectangle. + ## Fills a rounded rectangle. var path: Path path.roundedRect(rect, nw, ne, se, sw) image.fillPath(path, color) @@ -94,19 +94,19 @@ proc fillRoundedRect*( radius: float32, color: ColorRGBA ) = - ## Fill a rounded rectangle. + ## Fills a rounded rectangle. var path: Path path.roundedRect(rect, radius, radius, radius, radius) image.fillPath(path, color) proc fillRoundedRect*(mask: Mask, rect: Rect, nw, ne, se, sw: float32) = - ## Fill a rounded rectangle. + ## Fills a rounded rectangle. var path: Path path.roundedRect(rect, nw, ne, se, sw) mask.fillPath(path) proc fillRoundedRect*(mask: Mask, rect: Rect, radius: float32) = - ## Fill a rounded rectangle. + ## Fills a rounded rectangle. var path: Path path.roundedRect(rect, radius, radius, radius, radius) mask.fillPath(path) @@ -118,7 +118,7 @@ proc strokeRoundedRect*( color: ColorRGBA, strokeWidth = 1.0 ) = - ## Stroke a rounded rectangle. + ## Strokes a rounded rectangle. var path: Path path.roundedRect(rect, nw, ne, se, sw) image.strokePath(path, color, strokeWidth) @@ -130,7 +130,7 @@ proc strokeRoundedRect*( color: ColorRGBA, strokeWidth = 1.0 ) = - ## Stroke a rounded rectangle. + ## Strokes a rounded rectangle. var path: Path path.roundedRect(rect, radius, radius, radius, radius) image.strokePath(path, color, strokeWidth) @@ -138,7 +138,7 @@ proc strokeRoundedRect*( proc strokeRoundedRect*( mask: Mask, rect: Rect, nw, ne, se, sw: float32, strokeWidth = 1.0 ) = - ## Stroke a rounded rectangle. + ## Strokes a rounded rectangle. var path: Path path.roundedRect(rect, nw, ne, se, sw) mask.strokePath(path, strokeWidth) @@ -146,7 +146,7 @@ proc strokeRoundedRect*( proc strokeRoundedRect*( mask: Mask, rect: Rect, radius: float32, strokeWidth = 1.0 ) = - ## Stroke a rounded rectangle. + ## Strokes a rounded rectangle. var path: Path path.roundedRect(rect, radius, radius, radius, radius) mask.strokePath(path, strokeWidth) @@ -157,14 +157,14 @@ proc strokeSegment*( color: ColorRGBA, strokeWidth = 1.0 ) = - ## Stroke a segment (draws a line from segment.at to segment.to). + ## Strokes a segment (draws a line from segment.at to segment.to). var path: Path path.moveTo(segment.at) path.lineTo(segment.to) image.strokePath(path, color, strokeWidth) proc strokeSegment*(mask: Mask, segment: Segment, strokeWidth: float32) = - ## Stroke a segment (draws a line from segment.at to segment.to). + ## Strokes a segment (draws a line from segment.at to segment.to). var path: Path path.moveTo(segment.at) path.lineTo(segment.to) @@ -177,7 +177,7 @@ proc fillEllipse*( color: ColorRGBA, blendMode = bmNormal ) = - ## Fill an ellipse. + ## Fills an ellipse. var path: Path path.ellipse(center, rx, ry) image.fillPath(path, color, wrNonZero, blendMode) @@ -187,7 +187,7 @@ proc fillEllipse*( center: Vec2, rx, ry: float32 ) = - ## Fill an ellipse. + ## Fills an ellipse. var path: Path path.ellipse(center, rx, ry) mask.fillPath(path) @@ -199,7 +199,7 @@ proc strokeEllipse*( color: ColorRGBA, strokeWidth = 1.0 ) = - ## Stroke an ellipse. + ## Strokes an ellipse. var path: Path path.ellipse(center, rx, ry) image.strokePath(path, color, strokeWidth) @@ -210,7 +210,7 @@ proc strokeEllipse*( rx, ry: float32, strokeWidth = 1.0 ) = - ## Stroke an ellipse. + ## Strokes an ellipse. var path: Path path.ellipse(center, rx, ry) mask.strokePath(path, strokeWidth) diff --git a/src/pixie/blends.nim b/src/pixie/blends.nim index 7623207..8b37575 100644 --- a/src/pixie/blends.nim +++ b/src/pixie/blends.nim @@ -210,15 +210,15 @@ proc blendMultiply(backdrop, source: ColorRGBA): ColorRGBA = result.b = blend(backdrop.b, backdrop.a, source.b, source.a) result.a = blendAlpha(backdrop.a, source.a) -proc blendLinearBurn(backdrop, source: ColorRGBA): ColorRGBA = - let - backdrop = backdrop.toStraightAlpha() - source = source.toStraightAlpha() - result.r = min(0, backdrop.r.int32 + source.r.int32 - 255).uint8 - result.g = min(0, backdrop.g.int32 + source.g.int32 - 255).uint8 - result.b = min(0, backdrop.b.int32 + source.b.int32 - 255).uint8 - result = alphaFix(backdrop, source, result) - result = result.toPremultipliedAlpha() +# proc blendLinearBurn(backdrop, source: ColorRGBA): ColorRGBA = +# let +# backdrop = backdrop.toStraightAlpha() +# source = source.toStraightAlpha() +# result.r = min(0, backdrop.r.int32 + source.r.int32 - 255).uint8 +# result.g = min(0, backdrop.g.int32 + source.g.int32 - 255).uint8 +# result.b = min(0, backdrop.b.int32 + source.b.int32 - 255).uint8 +# result = alphaFix(backdrop, source, result) +# result = result.toPremultipliedAlpha() proc blendColorBurn(backdrop, source: ColorRGBA): ColorRGBA = let @@ -257,15 +257,15 @@ proc blendScreen(backdrop, source: ColorRGBA): ColorRGBA = result.b = screen(backdrop.b, source.b) result.a = blendAlpha(backdrop.a, source.a) -proc blendLinearDodge(backdrop, source: ColorRGBA): ColorRGBA = - let - backdrop = backdrop.toStraightAlpha() - source = source.toStraightAlpha() - result.r = min(backdrop.r.uint32 + source.r, 255).uint8 - result.g = min(backdrop.g.uint32 + source.g, 255).uint8 - result.b = min(backdrop.b.uint32 + source.b, 255).uint8 - result = alphaFix(backdrop, source, result) - result = result.toPremultipliedAlpha() +# proc blendLinearDodge(backdrop, source: ColorRGBA): ColorRGBA = +# let +# backdrop = backdrop.toStraightAlpha() +# source = source.toStraightAlpha() +# result.r = min(backdrop.r.uint32 + source.r, 255).uint8 +# result.g = min(backdrop.g.uint32 + source.g, 255).uint8 +# result.b = min(backdrop.b.uint32 + source.b, 255).uint8 +# result = alphaFix(backdrop, source, result) +# result = result.toPremultipliedAlpha() proc blendColorDodge(backdrop, source: ColorRGBA): ColorRGBA = let @@ -449,9 +449,9 @@ proc blendExcludeMask(backdrop, source: ColorRGBA): ColorRGBA = proc blendOverwrite(backdrop, source: ColorRGBA): ColorRGBA = source -proc blendWhite(backdrop, source: ColorRGBA): ColorRGBA = - ## For testing - rgba(255, 255, 255, 255) +# proc blendWhite(backdrop, source: ColorRGBA): ColorRGBA = +# ## For testing +# rgba(255, 255, 255, 255) proc blender*(blendMode: BlendMode): Blender = ## Returns a blend function for a given blend mode. diff --git a/src/pixie/fileformats/svg.nim b/src/pixie/fileformats/svg.nim index 32fc68e..2007ad2 100644 --- a/src/pixie/fileformats/svg.nim +++ b/src/pixie/fileformats/svg.nim @@ -339,7 +339,7 @@ proc draw(img: Image, node: XmlNode, ctxStack: var seq[Ctx]) = raise newException(PixieError, "Unsupported SVG tag: " & node.tag & ".") proc decodeSvg*(data: string, width = 0, height = 0): Image = - ## Render SVG file and return the image. + ## Render SVG file and return the image. Defaults to the SVG's view box size. try: let root = parseXml(data) if root.tag != "svg": diff --git a/src/pixie/images.nim b/src/pixie/images.nim index 6897208..bc2c293 100644 --- a/src/pixie/images.nim +++ b/src/pixie/images.nim @@ -200,7 +200,7 @@ proc minifyBy2*(image: Image, power = 1): Image = src = result proc magnifyBy2*(image: Image, power = 1): Image = - ## Scales image image up by 2 ^ power. + ## Scales image up by 2 ^ power. if power < 0: raise newException(PixieError, "Cannot magnifyBy2 with negative power") diff --git a/src/pixie/paths.nim b/src/pixie/paths.nim index c55f99e..888c692 100644 --- a/src/pixie/paths.nim +++ b/src/pixie/paths.nim @@ -41,7 +41,7 @@ when defined(release): {.push checks: off.} proc maxScale(m: Mat3): float32 = - ## What is the largest scale of this matrix. + ## What is the largest scale factor of this matrix? max( vec2(m[0, 0], m[0, 1]).length, vec2(m[1, 0], m[1, 1]).length @@ -89,7 +89,7 @@ proc `$`*(path: Path): string = result.add " " proc parsePath*(path: string): Path = - ## Converts a SVG style path into seq of commands. + ## Converts a SVG style path string into seq of commands. if path.len == 0: return @@ -398,7 +398,9 @@ proc arcTo*(path: var Path, ctrl1, ctrl2: Vec2, radius: float32) {.inline.} = )) path.at = to -proc arcTo*(path: var Path, x1, y1, x2, y2, radius: float32) = +proc arcTo*(path: var Path, x1, y1, x2, y2, radius: float32) {.inline.} = + ## Adds a circular arc to the current sub-path, using the given control + ## points and radius. path.arcTo(vec2(x1, y1), vec2(x2, y2), radius) proc ellipticalArcTo*( @@ -419,6 +421,9 @@ proc ellipticalArcTo*( path.at = vec2(x, y) proc rect*(path: var Path, x, y, w, h: float32, clockwise = true) = + ## Adds a rectangle. + ## Clockwise param can be used to subtract a rect from a path when using + ## even-odd winding rule. if clockwise: path.moveTo(x, y) path.lineTo(x + w, y) @@ -434,12 +439,14 @@ proc rect*(path: var Path, x, y, w, h: float32, clockwise = true) = proc rect*(path: var Path, pos: Vec2, wh: Vec2, clockwise = true) {.inline.} = ## Adds a rectangle. - ## Clockwise param can be used to subtract a rect from a path using even-odd. + ## Clockwise param can be used to subtract a rect from a path when using + ## even-odd winding rule. path.rect(pos.x, pos.y, wh.x, wh.y, clockwise) proc rect*(path: var Path, rect: Rect, clockwise = true) {.inline.} = ## Adds a rectangle. - ## Clockwise param can be used to subtract a rect from a path using even-odd. + ## Clockwise param can be used to subtract a rect from a path when using + ## even-odd winding rule. path.rect(rect.x, rect.y, rect.w, rect.h, clockwise) const splineCircleK = 4.0 * (-1.0 + sqrt(2.0)) / 3 @@ -450,7 +457,8 @@ proc roundedRect*( path: var Path, x, y, w, h, nw, ne, se, sw: float32, clockwise = true ) = ## Adds a rounded rectangle. - ## Clockwise param can be used to subtract a rect from a path using even-odd. + ## Clockwise param can be used to subtract a rect from a path when using + ## even-odd winding rule. let s = splineCircleK @@ -505,14 +513,16 @@ proc roundedRect*( path: var Path, pos, wh: Vec2, nw, ne, se, sw: float32, clockwise = true ) {.inline.} = ## Adds a rounded rectangle. - ## Clockwise param can be used to subtract a rect from a path using even-odd. + ## Clockwise param can be used to subtract a rect from a path when using + ## even-odd winding rule. path.roundedRect(pos.x, pos.y, wh.x, wh.y, nw, ne, se, sw, clockwise) proc roundedRect*( path: var Path, rect: Rect, nw, ne, se, sw: float32, clockwise = true ) {.inline.} = ## Adds a rounded rectangle. - ## Clockwise param can be used to subtract a rect from a path using even-odd. + ## Clockwise param can be used to subtract a rect from a path when using + ## even-odd winding rule. path.roundedRect(rect.x, rect.y, rect.w, rect.h, nw, ne, se, sw, clockwise) proc ellipse*(path: var Path, cx, cy, rx, ry: float32) = @@ -533,7 +543,7 @@ proc ellipse*(path: var Path, center: Vec2, rx, ry: float32) {.inline.} = path.ellipse(center.x, center.y, rx, ry) proc polygon*(path: var Path, x, y, size: float32, sides: int) = - ## Draws a n-sided regular polygon at (x, y) with a size. + ## Draws an n-sided regular polygon at (x, y) with the parameter size. path.moveTo(x + size * cos(0.0), y + size * sin(0.0)) for side in 0 .. sides: path.lineTo( @@ -542,12 +552,11 @@ proc polygon*(path: var Path, x, y, size: float32, sides: int) = ) proc polygon*(path: var Path, pos: Vec2, size: float32, sides: int) {.inline.} = - ## Draws a n-sided regular polygon at (x, y) with a size. + ## Draws a n-sided regular polygon at (x, y) with the parameter size. path.polygon(pos.x, pos.y, size, sides) proc commandsToShapes*(path: Path, pixelScale: float32 = 1.0): seq[seq[Vec2]] = ## Converts SVG-like commands to line segments. - var start, at: Vec2 shape: seq[Vec2] @@ -910,7 +919,7 @@ iterator segments*(s: seq[Vec2]): Segment = yield(segment(s[i], s[i + 1])) proc quickSort(a: var seq[(float32, int16)], inl, inr: int) = - ## Quick sorts inline faster then standard lib. + ## Sorts in place + faster than standard lib sort. var r = inr l = inl @@ -966,7 +975,6 @@ proc partitionSegments( shapes: seq[seq[Vec2]], height: int ): seq[seq[(Segment, int16)]] = ## Puts segments into the height partitions they intersect with. - var segmentCount: int for shape in shapes: segmentCount += shape.len - 1 From 751b804679f7ba38d34774d4c72fd1f4eea90670 Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg <guzba8@gmail.com> Date: Thu, 25 Feb 2021 11:43:09 -0600 Subject: [PATCH 2/4] morepretty --- examples/gradient.nim | 14 +++++----- examples/image_tiled.nim | 4 +-- src/pixie.nim | 5 ++-- src/pixie/blends.nim | 1 - src/pixie/images.nim | 4 ++- src/pixie/paints.nim | 18 ++++++------ src/pixie/paths.nim | 4 +-- tests/test_paints.nim | 59 ++++++++++++++++++++-------------------- 8 files changed, 54 insertions(+), 55 deletions(-) diff --git a/examples/gradient.nim b/examples/gradient.nim index 6e7386e..3c0fc0c 100644 --- a/examples/gradient.nim +++ b/examples/gradient.nim @@ -14,17 +14,17 @@ image.fillPath( z """, Paint( - kind:pkGradientRadial, + kind: pkGradientRadial, gradientHandlePositions: @[ vec2(100, 100), vec2(200, 100), vec2(100, 200) - ], - gradientStops: @[ - ColorStop(color:rgba(255, 0, 0, 255).color, position: 0), - ColorStop(color:rgba(255, 0, 0, 40).color, position: 1.0), - ] - ) + ], + gradientStops: @[ + ColorStop(color: rgba(255, 0, 0, 255).color, position: 0), + ColorStop(color: rgba(255, 0, 0, 40).color, position: 1.0), + ] +) ) image.writeFile("examples/paint.png") diff --git a/examples/image_tiled.nim b/examples/image_tiled.nim index 2bb6f77..cac5af5 100644 --- a/examples/image_tiled.nim +++ b/examples/image_tiled.nim @@ -14,9 +14,9 @@ path.polygon( image.fillPath( path, Paint( - kind:pkImageTiled, + kind: pkImageTiled, image: readImage("tests/images/png/baboon.png"), - imageMat:scale(vec2(0.08, 0.08)) + imageMat: scale(vec2(0.08, 0.08)) ) ) diff --git a/src/pixie.nim b/src/pixie.nim index ed9cca4..74a956e 100644 --- a/src/pixie.nim +++ b/src/pixie.nim @@ -1,9 +1,8 @@ import bumpy, chroma, flatty/binny, os, pixie/blends, pixie/common, pixie/fileformats/bmp, pixie/fileformats/jpg, pixie/fileformats/png, - pixie/fileformats/svg, pixie/paints, pixie/images, pixie/masks, - pixie/paths, vmath + pixie/fileformats/svg, pixie/images, pixie/masks, pixie/paints, pixie/paths, vmath -export blends, bumpy, chroma, common, paints, images, masks, paths, vmath +export blends, bumpy, chroma, common, images, masks, paints, paths, vmath type FileFormat* = enum diff --git a/src/pixie/blends.nim b/src/pixie/blends.nim index 8b37575..aca4bbc 100644 --- a/src/pixie/blends.nim +++ b/src/pixie/blends.nim @@ -35,7 +35,6 @@ type bmIntersectMask bmExcludeMask - Blender* = proc(backdrop, source: ColorRGBA): ColorRGBA ## Function signature ## returned by blender. Masker* = proc(backdrop, source: uint8): uint8 ## Function signature returned diff --git a/src/pixie/images.nim b/src/pixie/images.nim index bc2c293..6bd4d59 100644 --- a/src/pixie/images.nim +++ b/src/pixie/images.nim @@ -543,7 +543,9 @@ proc getRgbaSmooth*(image: Image, x, y: float32, wrapped = false): ColorRGBA = lerp(bottomMix, topMix, diffY) -proc drawCorrect(a, b: Image | Mask, mat = mat3(), tiled = false, blendMode = bmNormal) = +proc drawCorrect( + a, b: Image | Mask, mat = mat3(), tiled = false, blendMode = bmNormal +) = ## Draws one image onto another using matrix with color blending. when type(a) is Image: diff --git a/src/pixie/paints.nim b/src/pixie/paints.nim index 72bef3f..66eb544 100644 --- a/src/pixie/paints.nim +++ b/src/pixie/paints.nim @@ -1,4 +1,4 @@ -import chroma, common, images, vmath, blends +import blends, chroma, common, images, vmath type PaintKind* = enum @@ -13,19 +13,19 @@ type ## Paint used to fill paths. case kind*: PaintKind of pkSolid: - color*: ColorRGBA ## Color to fill with. + color*: ColorRGBA ## Color to fill with. of pkImage, pkImageTiled: - image*: Image ## Image to fill with. - imageMat*: Mat3 ## Matrix of the filled image. + image*: Image ## Image to fill with. + imageMat*: Mat3 ## Matrix of the filled image. of pkGradientLinear, pkGradientRadial, pkGradientAngular: - gradientHandlePositions*: seq[Vec2] ## Gradient positions (image space). - gradientStops*: seq[ColorStop] ## Color stops (gradient space). - blendMode*: BlendMode ## Blend mode. + gradientHandlePositions*: seq[Vec2] ## Gradient positions (image space). + gradientStops*: seq[ColorStop] ## Color stops (gradient space). + blendMode*: BlendMode ## Blend mode. ColorStop* = object ## Color stop on a gradient curve. - color*: Color ## Color of the stop - position*: float32 ## Gradient Stop position 0..1. + color*: Color ## Color of the stop + position*: float32 ## Gradient Stop position 0..1. proc toLineSpace(at, to, point: Vec2): float32 = ## Convert position on to where it would fall on a line between at and to. diff --git a/src/pixie/paths.nim b/src/pixie/paths.nim index 888c692..66af2df 100644 --- a/src/pixie/paths.nim +++ b/src/pixie/paths.nim @@ -1,4 +1,4 @@ -import blends, bumpy, chroma, common, images, masks, strutils, vmath, paints +import blends, bumpy, chroma, common, images, masks, paints, strutils, vmath when defined(amd64) and not defined(pixieNoSimd): import nimsimd/sse2 @@ -35,7 +35,7 @@ type SomePath* = Path | string | seq[seq[Vec2]] -const epsilon = 0.0001 * PI ## Tiny value used for some computations. +const epsilon = 0.0001 * PI ## Tiny value used for some computations. when defined(release): {.push checks: off.} diff --git a/tests/test_paints.nim b/tests/test_paints.nim index 7f2a049..a832d86 100644 --- a/tests/test_paints.nim +++ b/tests/test_paints.nim @@ -14,8 +14,8 @@ block: image.fillPath( heartShape, Paint( - kind:pkSolid, - color:rgba(255, 0, 0, 255) + kind: pkSolid, + color: rgba(255, 0, 0, 255) ) ) image.writeFile("tests/images/paths/paintSolid.png") @@ -26,9 +26,9 @@ block: image.fillPath( heartShape, Paint( - kind:pkImage, - image:decodePng(readFile("tests/images/png/baboon.png")), - imageMat:scale(vec2(0.2, 0.2)) + kind: pkImage, + image: decodePng(readFile("tests/images/png/baboon.png")), + imageMat: scale(vec2(0.2, 0.2)) ) ) image.writeFile("tests/images/paths/paintImage.png") @@ -39,30 +39,29 @@ block: image.fillPath( heartShape, Paint( - kind:pkImageTiled, - image:decodePng(readFile("tests/images/png/baboon.png")), - imageMat:scale(vec2(0.02, 0.02)) + kind: pkImageTiled, + image: decodePng(readFile("tests/images/png/baboon.png")), + imageMat: scale(vec2(0.02, 0.02)) ) ) image.writeFile("tests/images/paths/paintImageTiled.png") - block: let image = newImage(100, 100) image.fillPath( heartShape, Paint( - kind:pkGradientLinear, + kind: pkGradientLinear, gradientHandlePositions: @[ vec2(0, 50), vec2(100, 50), - ], - gradientStops: @[ - ColorStop(color:rgba(255, 0, 0, 255).color, position: 0), - ColorStop(color:rgba(255, 0, 0, 40).color, position: 1.0), - ] - ) + ], + gradientStops: @[ + ColorStop(color: rgba(255, 0, 0, 255).color, position: 0), + ColorStop(color: rgba(255, 0, 0, 40).color, position: 1.0), + ] + ) ) image.writeFile("tests/images/paths/gradientLinear.png") @@ -72,17 +71,17 @@ block: image.fillPath( heartShape, Paint( - kind:pkGradientRadial, + kind: pkGradientRadial, gradientHandlePositions: @[ vec2(50, 50), vec2(100, 50), vec2(50, 100) - ], - gradientStops: @[ - ColorStop(color:rgba(255, 0, 0, 255).color, position: 0), - ColorStop(color:rgba(255, 0, 0, 40).color, position: 1.0), - ] - ) + ], + gradientStops: @[ + ColorStop(color: rgba(255, 0, 0, 255).color, position: 0), + ColorStop(color: rgba(255, 0, 0, 40).color, position: 1.0), + ] + ) ) image.writeFile("tests/images/paths/gradientRadial.png") @@ -93,17 +92,17 @@ block: image.fillPath( heartShape, Paint( - kind:pkGradientAngular, + kind: pkGradientAngular, gradientHandlePositions: @[ vec2(50, 50), vec2(100, 50), vec2(50, 100) - ], - gradientStops: @[ - ColorStop(color:rgba(255, 0, 0, 255).color, position: 0), - ColorStop(color:rgba(255, 0, 0, 40).color, position: 1.0), - ] - ) + ], + gradientStops: @[ + ColorStop(color: rgba(255, 0, 0, 255).color, position: 0), + ColorStop(color: rgba(255, 0, 0, 40).color, position: 1.0), + ] + ) ) image.writeFile("tests/images/paths/gradientAngular.png") From 3c3cd499ea1279a99de160b2cc5410bdbf455776 Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg <guzba8@gmail.com> Date: Thu, 25 Feb 2021 11:48:34 -0600 Subject: [PATCH 3/4] generate docs --- docs/dochack.js | 2479 ++++++++++++++++--------------- docs/nimdoc.out.css | 34 - docs/pixie.html | 87 +- docs/pixie/blends.html | 7 +- docs/pixie/common.html | 39 +- docs/pixie/fileformats/bmp.html | 7 +- docs/pixie/fileformats/jpg.html | 7 +- docs/pixie/fileformats/png.html | 7 +- docs/pixie/fileformats/svg.html | 11 +- docs/pixie/images.html | 66 +- docs/pixie/images.idx | 6 +- docs/pixie/masks.html | 7 +- docs/pixie/paints.html | 37 +- docs/pixie/paints.idx | 2 - docs/pixie/paths.html | 68 +- docs/pixie/paths.idx | 3 + docs/theindex.html | 40 +- 17 files changed, 1468 insertions(+), 1439 deletions(-) diff --git a/docs/dochack.js b/docs/dochack.js index 696f575..9786235 100644 --- a/docs/dochack.js +++ b/docs/dochack.js @@ -1,779 +1,784 @@ -/* Generated by the Nim Compiler v1.5.1 */ +/* Generated by the Nim Compiler v1.4.4 */ var framePtr = null; var excHandler = 0; var lastJSError = null; -var NTI520093699 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; -var NTI385876518 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316596 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316595 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316594 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316593 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316592 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316591 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316590 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316589 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316588 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316587 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316586 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316585 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316584 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316583 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316582 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316581 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316580 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316579 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316578 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316577 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316576 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316575 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316574 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316482 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316526 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316525 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316645 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316642 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI503316641 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; -var NTI503316572 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316644 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; -var NTI503316573 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316514 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316513 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316619 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316516 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316515 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316618 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316617 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316524 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316523 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316616 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316615 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316518 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316517 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316614 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316621 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316520 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316519 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316620 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI33554454 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; -var NTI503316624 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316522 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316521 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI33554464 = {size: 0,kind: 1,base: null,node: null,finalizer: null}; -var NTI503316495 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316494 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316502 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316501 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316500 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316499 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316496 = {size: 0, kind: 14, base: null, node: null, finalizer: null}; -var NTI503316613 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316612 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316611 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI503316498 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI503316497 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI503316899 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI33555108 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI33555112 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI33555071 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI33555149 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI33554437 = {size: 0,kind: 28,base: null,node: null,finalizer: null}; -var NTI33554438 = {size: 0,kind: 29,base: null,node: null,finalizer: null}; -var NTI33555148 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI33555096 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI33555097 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI33555104 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI33555106 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NNI33555106 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI33555106.node = NNI33555106; -var NNI33555104 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI33555104.node = NNI33555104; -var NNI33555097 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI33555097.node = NNI33555097; -NTI33555148.base = NTI33555096; -NTI33555149.base = NTI33555096; -var NNI33555096 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI33555148, name: "parent", sons: null}, -{kind: 1, offset: "name", len: 0, typ: NTI33554438, name: "name", sons: null}, -{kind: 1, offset: "message", len: 0, typ: NTI33554437, name: "msg", sons: null}, -{kind: 1, offset: "trace", len: 0, typ: NTI33554437, name: "trace", sons: null}, -{kind: 1, offset: "up", len: 0, typ: NTI33555149, name: "up", sons: null}]}; -NTI33555096.node = NNI33555096; -var NNI33555071 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI33555071.node = NNI33555071; -NTI33555096.base = NTI33555071; -NTI33555097.base = NTI33555096; -NTI33555104.base = NTI33555097; -NTI33555106.base = NTI33555104; -var NNI33555112 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI33555112.node = NNI33555112; -NTI33555112.base = NTI33555097; -var NNI33555108 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI33555108.node = NNI33555108; -NTI33555108.base = NTI33555097; -NTI503316611.base = NTI503316497; -NTI503316612.base = NTI503316497; -NTI503316613.base = NTI503316497; -var NNI503316496 = {kind: 2, offset: 0, typ: null, name: null, len: 12, sons: {"1": {kind: 1, offset: 1, typ: NTI503316496, name: "ElementNode", len: 0, sons: null}, -"2": {kind: 1, offset: 2, typ: NTI503316496, name: "AttributeNode", len: 0, sons: null}, -"3": {kind: 1, offset: 3, typ: NTI503316496, name: "TextNode", len: 0, sons: null}, -"4": {kind: 1, offset: 4, typ: NTI503316496, name: "CDATANode", len: 0, sons: null}, -"5": {kind: 1, offset: 5, typ: NTI503316496, name: "EntityRefNode", len: 0, sons: null}, -"6": {kind: 1, offset: 6, typ: NTI503316496, name: "EntityNode", len: 0, sons: null}, -"7": {kind: 1, offset: 7, typ: NTI503316496, name: "ProcessingInstructionNode", len: 0, sons: null}, -"8": {kind: 1, offset: 8, typ: NTI503316496, name: "CommentNode", len: 0, sons: null}, -"9": {kind: 1, offset: 9, typ: NTI503316496, name: "DocumentNode", len: 0, sons: null}, -"10": {kind: 1, offset: 10, typ: NTI503316496, name: "DocumentTypeNode", len: 0, sons: null}, -"11": {kind: 1, offset: 11, typ: NTI503316496, name: "DocumentFragmentNode", len: 0, sons: null}, -"12": {kind: 1, offset: 12, typ: NTI503316496, name: "NotationNode", len: 0, sons: null}}}; -NTI503316496.node = NNI503316496; -var NNI503316495 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI503316495.node = NNI503316495; -NTI503316495.base = NTI33555071; -NTI503316494.base = NTI503316495; -NTI503316624.base = NTI503316501; -var NNI503316522 = {kind: 2, len: 10, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "acceptCharset", len: 0, typ: NTI33554438, name: "acceptCharset", sons: null}, -{kind: 1, offset: "action", len: 0, typ: NTI33554438, name: "action", sons: null}, -{kind: 1, offset: "autocomplete", len: 0, typ: NTI33554438, name: "autocomplete", sons: null}, -{kind: 1, offset: "elements", len: 0, typ: NTI503316624, name: "elements", sons: null}, -{kind: 1, offset: "encoding", len: 0, typ: NTI33554438, name: "encoding", sons: null}, -{kind: 1, offset: "enctype", len: 0, typ: NTI33554438, name: "enctype", sons: null}, -{kind: 1, offset: "length", len: 0, typ: NTI33554454, name: "length", sons: null}, -{kind: 1, offset: "method", len: 0, typ: NTI33554438, name: "method", sons: null}, -{kind: 1, offset: "noValidate", len: 0, typ: NTI33554464, name: "noValidate", sons: null}, -{kind: 1, offset: "target", len: 0, typ: NTI33554438, name: "target", sons: null}]}; -NTI503316522.node = NNI503316522; -NTI503316522.base = NTI503316502; -NTI503316521.base = NTI503316522; -var NNI503316520 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "defaultSelected", len: 0, typ: NTI33554464, name: "defaultSelected", sons: null}, -{kind: 1, offset: "selected", len: 0, typ: NTI33554464, name: "selected", sons: null}, -{kind: 1, offset: "selectedIndex", len: 0, typ: NTI33554454, name: "selectedIndex", sons: null}, -{kind: 1, offset: "text", len: 0, typ: NTI33554438, name: "text", sons: null}, -{kind: 1, offset: "value", len: 0, typ: NTI33554438, name: "value", sons: null}]}; -NTI503316520.node = NNI503316520; -NTI503316520.base = NTI503316502; -NTI503316519.base = NTI503316520; -NTI503316620.base = NTI503316519; -NTI503316621.base = NTI503316519; -var NNI503316502 = {kind: 2, len: 20, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "className", len: 0, typ: NTI33554438, name: "className", sons: null}, -{kind: 1, offset: "classList", len: 0, typ: NTI503316494, name: "classList", sons: null}, -{kind: 1, offset: "checked", len: 0, typ: NTI33554464, name: "checked", sons: null}, -{kind: 1, offset: "defaultChecked", len: 0, typ: NTI33554464, name: "defaultChecked", sons: null}, -{kind: 1, offset: "defaultValue", len: 0, typ: NTI33554438, name: "defaultValue", sons: null}, -{kind: 1, offset: "disabled", len: 0, typ: NTI33554464, name: "disabled", sons: null}, -{kind: 1, offset: "form", len: 0, typ: NTI503316521, name: "form", sons: null}, -{kind: 1, offset: "name", len: 0, typ: NTI33554438, name: "name", sons: null}, -{kind: 1, offset: "readOnly", len: 0, typ: NTI33554464, name: "readOnly", sons: null}, -{kind: 1, offset: "options", len: 0, typ: NTI503316620, name: "options", sons: null}, -{kind: 1, offset: "selectedOptions", len: 0, typ: NTI503316621, name: "selectedOptions", sons: null}, -{kind: 1, offset: "clientWidth", len: 0, typ: NTI33554454, name: "clientWidth", sons: null}, -{kind: 1, offset: "clientHeight", len: 0, typ: NTI33554454, name: "clientHeight", sons: null}, -{kind: 1, offset: "contentEditable", len: 0, typ: NTI33554438, name: "contentEditable", sons: null}, -{kind: 1, offset: "isContentEditable", len: 0, typ: NTI33554464, name: "isContentEditable", sons: null}, -{kind: 1, offset: "dir", len: 0, typ: NTI33554438, name: "dir", sons: null}, -{kind: 1, offset: "offsetHeight", len: 0, typ: NTI33554454, name: "offsetHeight", sons: null}, -{kind: 1, offset: "offsetWidth", len: 0, typ: NTI33554454, name: "offsetWidth", sons: null}, -{kind: 1, offset: "offsetLeft", len: 0, typ: NTI33554454, name: "offsetLeft", sons: null}, -{kind: 1, offset: "offsetTop", len: 0, typ: NTI33554454, name: "offsetTop", sons: null}]}; -NTI503316502.node = NNI503316502; -NTI503316502.base = NTI503316498; -NTI503316501.base = NTI503316502; -var NNI503316518 = {kind: 2, len: 3, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "text", len: 0, typ: NTI33554438, name: "text", sons: null}, -{kind: 1, offset: "x", len: 0, typ: NTI33554454, name: "x", sons: null}, -{kind: 1, offset: "y", len: 0, typ: NTI33554454, name: "y", sons: null}]}; -NTI503316518.node = NNI503316518; -NTI503316518.base = NTI503316502; -NTI503316517.base = NTI503316518; -NTI503316614.base = NTI503316517; -NTI503316615.base = NTI503316521; -var NNI503316524 = {kind: 2, len: 8, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "border", len: 0, typ: NTI33554454, name: "border", sons: null}, -{kind: 1, offset: "complete", len: 0, typ: NTI33554464, name: "complete", sons: null}, -{kind: 1, offset: "height", len: 0, typ: NTI33554454, name: "height", sons: null}, -{kind: 1, offset: "hspace", len: 0, typ: NTI33554454, name: "hspace", sons: null}, -{kind: 1, offset: "lowsrc", len: 0, typ: NTI33554438, name: "lowsrc", sons: null}, -{kind: 1, offset: "src", len: 0, typ: NTI33554438, name: "src", sons: null}, -{kind: 1, offset: "vspace", len: 0, typ: NTI33554454, name: "vspace", sons: null}, -{kind: 1, offset: "width", len: 0, typ: NTI33554454, name: "width", sons: null}]}; -NTI503316524.node = NNI503316524; -NTI503316524.base = NTI503316502; -NTI503316523.base = NTI503316524; -NTI503316616.base = NTI503316523; -NTI503316617.base = NTI503316501; -var NNI503316516 = {kind: 2, len: 6, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "height", len: 0, typ: NTI33554454, name: "height", sons: null}, -{kind: 1, offset: "hspace", len: 0, typ: NTI33554454, name: "hspace", sons: null}, -{kind: 1, offset: "src", len: 0, typ: NTI33554438, name: "src", sons: null}, -{kind: 1, offset: "width", len: 0, typ: NTI33554454, name: "width", sons: null}, -{kind: 1, offset: "type", len: 0, typ: NTI33554438, name: "type", sons: null}, -{kind: 1, offset: "vspace", len: 0, typ: NTI33554454, name: "vspace", sons: null}]}; -NTI503316516.node = NNI503316516; -NTI503316516.base = NTI503316502; -NTI503316515.base = NTI503316516; -NTI503316618.base = NTI503316515; -var NNI503316514 = {kind: 2, len: 4, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "target", len: 0, typ: NTI33554438, name: "target", sons: null}, -{kind: 1, offset: "text", len: 0, typ: NTI33554438, name: "text", sons: null}, -{kind: 1, offset: "x", len: 0, typ: NTI33554454, name: "x", sons: null}, -{kind: 1, offset: "y", len: 0, typ: NTI33554454, name: "y", sons: null}]}; -NTI503316514.node = NNI503316514; -NTI503316514.base = NTI503316502; -NTI503316513.base = NTI503316514; -NTI503316619.base = NTI503316513; -var NNI503316641 = {kind: 1, offset: "then", len: 0, typ: NTI503316642, name: "then", sons: null}; -NTI503316641.node = NNI503316641; -NTI503316572.base = NTI503316641; -var NNI503316644 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "ready", len: 0, typ: NTI503316572, name: "ready", sons: null}, -{kind: 1, offset: "onloadingdone", len: 0, typ: NTI503316645, name: "onloadingdone", sons: null}]}; -NTI503316644.node = NNI503316644; -NTI503316573.base = NTI503316644; -var NNI503316500 = {kind: 2, len: 23, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "activeElement", len: 0, typ: NTI503316501, name: "activeElement", sons: null}, -{kind: 1, offset: "documentElement", len: 0, typ: NTI503316501, name: "documentElement", sons: null}, -{kind: 1, offset: "alinkColor", len: 0, typ: NTI33554438, name: "alinkColor", sons: null}, -{kind: 1, offset: "bgColor", len: 0, typ: NTI33554438, name: "bgColor", sons: null}, -{kind: 1, offset: "body", len: 0, typ: NTI503316501, name: "body", sons: null}, -{kind: 1, offset: "charset", len: 0, typ: NTI33554438, name: "charset", sons: null}, -{kind: 1, offset: "cookie", len: 0, typ: NTI33554438, name: "cookie", sons: null}, -{kind: 1, offset: "defaultCharset", len: 0, typ: NTI33554438, name: "defaultCharset", sons: null}, -{kind: 1, offset: "fgColor", len: 0, typ: NTI33554438, name: "fgColor", sons: null}, -{kind: 1, offset: "head", len: 0, typ: NTI503316501, name: "head", sons: null}, -{kind: 1, offset: "lastModified", len: 0, typ: NTI33554438, name: "lastModified", sons: null}, -{kind: 1, offset: "linkColor", len: 0, typ: NTI33554438, name: "linkColor", sons: null}, -{kind: 1, offset: "referrer", len: 0, typ: NTI33554438, name: "referrer", sons: null}, -{kind: 1, offset: "title", len: 0, typ: NTI33554438, name: "title", sons: null}, -{kind: 1, offset: "URL", len: 0, typ: NTI33554438, name: "URL", sons: null}, -{kind: 1, offset: "vlinkColor", len: 0, typ: NTI33554438, name: "vlinkColor", sons: null}, -{kind: 1, offset: "anchors", len: 0, typ: NTI503316614, name: "anchors", sons: null}, -{kind: 1, offset: "forms", len: 0, typ: NTI503316615, name: "forms", sons: null}, -{kind: 1, offset: "images", len: 0, typ: NTI503316616, name: "images", sons: null}, -{kind: 1, offset: "applets", len: 0, typ: NTI503316617, name: "applets", sons: null}, -{kind: 1, offset: "embeds", len: 0, typ: NTI503316618, name: "embeds", sons: null}, -{kind: 1, offset: "links", len: 0, typ: NTI503316619, name: "links", sons: null}, -{kind: 1, offset: "fonts", len: 0, typ: NTI503316573, name: "fonts", sons: null}]}; -NTI503316500.node = NNI503316500; -NTI503316500.base = NTI503316498; -NTI503316499.base = NTI503316500; -var NNI503316526 = {kind: 2, len: 368, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "alignContent", len: 0, typ: NTI33554438, name: "alignContent", sons: null}, -{kind: 1, offset: "alignItems", len: 0, typ: NTI33554438, name: "alignItems", sons: null}, -{kind: 1, offset: "alignSelf", len: 0, typ: NTI33554438, name: "alignSelf", sons: null}, -{kind: 1, offset: "all", len: 0, typ: NTI33554438, name: "all", sons: null}, -{kind: 1, offset: "animation", len: 0, typ: NTI33554438, name: "animation", sons: null}, -{kind: 1, offset: "animationDelay", len: 0, typ: NTI33554438, name: "animationDelay", sons: null}, -{kind: 1, offset: "animationDirection", len: 0, typ: NTI33554438, name: "animationDirection", sons: null}, -{kind: 1, offset: "animationDuration", len: 0, typ: NTI33554438, name: "animationDuration", sons: null}, -{kind: 1, offset: "animationFillMode", len: 0, typ: NTI33554438, name: "animationFillMode", sons: null}, -{kind: 1, offset: "animationIterationCount", len: 0, typ: NTI33554438, name: "animationIterationCount", sons: null}, -{kind: 1, offset: "animationName", len: 0, typ: NTI33554438, name: "animationName", sons: null}, -{kind: 1, offset: "animationPlayState", len: 0, typ: NTI33554438, name: "animationPlayState", sons: null}, -{kind: 1, offset: "animationTimingFunction", len: 0, typ: NTI33554438, name: "animationTimingFunction", sons: null}, -{kind: 1, offset: "backdropFilter", len: 0, typ: NTI33554438, name: "backdropFilter", sons: null}, -{kind: 1, offset: "backfaceVisibility", len: 0, typ: NTI33554438, name: "backfaceVisibility", sons: null}, -{kind: 1, offset: "background", len: 0, typ: NTI33554438, name: "background", sons: null}, -{kind: 1, offset: "backgroundAttachment", len: 0, typ: NTI33554438, name: "backgroundAttachment", sons: null}, -{kind: 1, offset: "backgroundBlendMode", len: 0, typ: NTI33554438, name: "backgroundBlendMode", sons: null}, -{kind: 1, offset: "backgroundClip", len: 0, typ: NTI33554438, name: "backgroundClip", sons: null}, -{kind: 1, offset: "backgroundColor", len: 0, typ: NTI33554438, name: "backgroundColor", sons: null}, -{kind: 1, offset: "backgroundImage", len: 0, typ: NTI33554438, name: "backgroundImage", sons: null}, -{kind: 1, offset: "backgroundOrigin", len: 0, typ: NTI33554438, name: "backgroundOrigin", sons: null}, -{kind: 1, offset: "backgroundPosition", len: 0, typ: NTI33554438, name: "backgroundPosition", sons: null}, -{kind: 1, offset: "backgroundRepeat", len: 0, typ: NTI33554438, name: "backgroundRepeat", sons: null}, -{kind: 1, offset: "backgroundSize", len: 0, typ: NTI33554438, name: "backgroundSize", sons: null}, -{kind: 1, offset: "blockSize", len: 0, typ: NTI33554438, name: "blockSize", sons: null}, -{kind: 1, offset: "border", len: 0, typ: NTI33554438, name: "border", sons: null}, -{kind: 1, offset: "borderBlock", len: 0, typ: NTI33554438, name: "borderBlock", sons: null}, -{kind: 1, offset: "borderBlockColor", len: 0, typ: NTI33554438, name: "borderBlockColor", sons: null}, -{kind: 1, offset: "borderBlockEnd", len: 0, typ: NTI33554438, name: "borderBlockEnd", sons: null}, -{kind: 1, offset: "borderBlockEndColor", len: 0, typ: NTI33554438, name: "borderBlockEndColor", sons: null}, -{kind: 1, offset: "borderBlockEndStyle", len: 0, typ: NTI33554438, name: "borderBlockEndStyle", sons: null}, -{kind: 1, offset: "borderBlockEndWidth", len: 0, typ: NTI33554438, name: "borderBlockEndWidth", sons: null}, -{kind: 1, offset: "borderBlockStart", len: 0, typ: NTI33554438, name: "borderBlockStart", sons: null}, -{kind: 1, offset: "borderBlockStartColor", len: 0, typ: NTI33554438, name: "borderBlockStartColor", sons: null}, -{kind: 1, offset: "borderBlockStartStyle", len: 0, typ: NTI33554438, name: "borderBlockStartStyle", sons: null}, -{kind: 1, offset: "borderBlockStartWidth", len: 0, typ: NTI33554438, name: "borderBlockStartWidth", sons: null}, -{kind: 1, offset: "borderBlockStyle", len: 0, typ: NTI33554438, name: "borderBlockStyle", sons: null}, -{kind: 1, offset: "borderBlockWidth", len: 0, typ: NTI33554438, name: "borderBlockWidth", sons: null}, -{kind: 1, offset: "borderBottom", len: 0, typ: NTI33554438, name: "borderBottom", sons: null}, -{kind: 1, offset: "borderBottomColor", len: 0, typ: NTI33554438, name: "borderBottomColor", sons: null}, -{kind: 1, offset: "borderBottomLeftRadius", len: 0, typ: NTI33554438, name: "borderBottomLeftRadius", sons: null}, -{kind: 1, offset: "borderBottomRightRadius", len: 0, typ: NTI33554438, name: "borderBottomRightRadius", sons: null}, -{kind: 1, offset: "borderBottomStyle", len: 0, typ: NTI33554438, name: "borderBottomStyle", sons: null}, -{kind: 1, offset: "borderBottomWidth", len: 0, typ: NTI33554438, name: "borderBottomWidth", sons: null}, -{kind: 1, offset: "borderCollapse", len: 0, typ: NTI33554438, name: "borderCollapse", sons: null}, -{kind: 1, offset: "borderColor", len: 0, typ: NTI33554438, name: "borderColor", sons: null}, -{kind: 1, offset: "borderEndEndRadius", len: 0, typ: NTI33554438, name: "borderEndEndRadius", sons: null}, -{kind: 1, offset: "borderEndStartRadius", len: 0, typ: NTI33554438, name: "borderEndStartRadius", sons: null}, -{kind: 1, offset: "borderImage", len: 0, typ: NTI33554438, name: "borderImage", sons: null}, -{kind: 1, offset: "borderImageOutset", len: 0, typ: NTI33554438, name: "borderImageOutset", sons: null}, -{kind: 1, offset: "borderImageRepeat", len: 0, typ: NTI33554438, name: "borderImageRepeat", sons: null}, -{kind: 1, offset: "borderImageSlice", len: 0, typ: NTI33554438, name: "borderImageSlice", sons: null}, -{kind: 1, offset: "borderImageSource", len: 0, typ: NTI33554438, name: "borderImageSource", sons: null}, -{kind: 1, offset: "borderImageWidth", len: 0, typ: NTI33554438, name: "borderImageWidth", sons: null}, -{kind: 1, offset: "borderInline", len: 0, typ: NTI33554438, name: "borderInline", sons: null}, -{kind: 1, offset: "borderInlineColor", len: 0, typ: NTI33554438, name: "borderInlineColor", sons: null}, -{kind: 1, offset: "borderInlineEnd", len: 0, typ: NTI33554438, name: "borderInlineEnd", sons: null}, -{kind: 1, offset: "borderInlineEndColor", len: 0, typ: NTI33554438, name: "borderInlineEndColor", sons: null}, -{kind: 1, offset: "borderInlineEndStyle", len: 0, typ: NTI33554438, name: "borderInlineEndStyle", sons: null}, -{kind: 1, offset: "borderInlineEndWidth", len: 0, typ: NTI33554438, name: "borderInlineEndWidth", sons: null}, -{kind: 1, offset: "borderInlineStart", len: 0, typ: NTI33554438, name: "borderInlineStart", sons: null}, -{kind: 1, offset: "borderInlineStartColor", len: 0, typ: NTI33554438, name: "borderInlineStartColor", sons: null}, -{kind: 1, offset: "borderInlineStartStyle", len: 0, typ: NTI33554438, name: "borderInlineStartStyle", sons: null}, -{kind: 1, offset: "borderInlineStartWidth", len: 0, typ: NTI33554438, name: "borderInlineStartWidth", sons: null}, -{kind: 1, offset: "borderInlineStyle", len: 0, typ: NTI33554438, name: "borderInlineStyle", sons: null}, -{kind: 1, offset: "borderInlineWidth", len: 0, typ: NTI33554438, name: "borderInlineWidth", sons: null}, -{kind: 1, offset: "borderLeft", len: 0, typ: NTI33554438, name: "borderLeft", sons: null}, -{kind: 1, offset: "borderLeftColor", len: 0, typ: NTI33554438, name: "borderLeftColor", sons: null}, -{kind: 1, offset: "borderLeftStyle", len: 0, typ: NTI33554438, name: "borderLeftStyle", sons: null}, -{kind: 1, offset: "borderLeftWidth", len: 0, typ: NTI33554438, name: "borderLeftWidth", sons: null}, -{kind: 1, offset: "borderRadius", len: 0, typ: NTI33554438, name: "borderRadius", sons: null}, -{kind: 1, offset: "borderRight", len: 0, typ: NTI33554438, name: "borderRight", sons: null}, -{kind: 1, offset: "borderRightColor", len: 0, typ: NTI33554438, name: "borderRightColor", sons: null}, -{kind: 1, offset: "borderRightStyle", len: 0, typ: NTI33554438, name: "borderRightStyle", sons: null}, -{kind: 1, offset: "borderRightWidth", len: 0, typ: NTI33554438, name: "borderRightWidth", sons: null}, -{kind: 1, offset: "borderSpacing", len: 0, typ: NTI33554438, name: "borderSpacing", sons: null}, -{kind: 1, offset: "borderStartEndRadius", len: 0, typ: NTI33554438, name: "borderStartEndRadius", sons: null}, -{kind: 1, offset: "borderStartStartRadius", len: 0, typ: NTI33554438, name: "borderStartStartRadius", sons: null}, -{kind: 1, offset: "borderStyle", len: 0, typ: NTI33554438, name: "borderStyle", sons: null}, -{kind: 1, offset: "borderTop", len: 0, typ: NTI33554438, name: "borderTop", sons: null}, -{kind: 1, offset: "borderTopColor", len: 0, typ: NTI33554438, name: "borderTopColor", sons: null}, -{kind: 1, offset: "borderTopLeftRadius", len: 0, typ: NTI33554438, name: "borderTopLeftRadius", sons: null}, -{kind: 1, offset: "borderTopRightRadius", len: 0, typ: NTI33554438, name: "borderTopRightRadius", sons: null}, -{kind: 1, offset: "borderTopStyle", len: 0, typ: NTI33554438, name: "borderTopStyle", sons: null}, -{kind: 1, offset: "borderTopWidth", len: 0, typ: NTI33554438, name: "borderTopWidth", sons: null}, -{kind: 1, offset: "borderWidth", len: 0, typ: NTI33554438, name: "borderWidth", sons: null}, -{kind: 1, offset: "bottom", len: 0, typ: NTI33554438, name: "bottom", sons: null}, -{kind: 1, offset: "boxDecorationBreak", len: 0, typ: NTI33554438, name: "boxDecorationBreak", sons: null}, -{kind: 1, offset: "boxShadow", len: 0, typ: NTI33554438, name: "boxShadow", sons: null}, -{kind: 1, offset: "boxSizing", len: 0, typ: NTI33554438, name: "boxSizing", sons: null}, -{kind: 1, offset: "breakAfter", len: 0, typ: NTI33554438, name: "breakAfter", sons: null}, -{kind: 1, offset: "breakBefore", len: 0, typ: NTI33554438, name: "breakBefore", sons: null}, -{kind: 1, offset: "breakInside", len: 0, typ: NTI33554438, name: "breakInside", sons: null}, -{kind: 1, offset: "captionSide", len: 0, typ: NTI33554438, name: "captionSide", sons: null}, -{kind: 1, offset: "caretColor", len: 0, typ: NTI33554438, name: "caretColor", sons: null}, -{kind: 1, offset: "clear", len: 0, typ: NTI33554438, name: "clear", sons: null}, -{kind: 1, offset: "clip", len: 0, typ: NTI33554438, name: "clip", sons: null}, -{kind: 1, offset: "clipPath", len: 0, typ: NTI33554438, name: "clipPath", sons: null}, -{kind: 1, offset: "color", len: 0, typ: NTI33554438, name: "color", sons: null}, -{kind: 1, offset: "colorAdjust", len: 0, typ: NTI33554438, name: "colorAdjust", sons: null}, -{kind: 1, offset: "columnCount", len: 0, typ: NTI33554438, name: "columnCount", sons: null}, -{kind: 1, offset: "columnFill", len: 0, typ: NTI33554438, name: "columnFill", sons: null}, -{kind: 1, offset: "columnGap", len: 0, typ: NTI33554438, name: "columnGap", sons: null}, -{kind: 1, offset: "columnRule", len: 0, typ: NTI33554438, name: "columnRule", sons: null}, -{kind: 1, offset: "columnRuleColor", len: 0, typ: NTI33554438, name: "columnRuleColor", sons: null}, -{kind: 1, offset: "columnRuleStyle", len: 0, typ: NTI33554438, name: "columnRuleStyle", sons: null}, -{kind: 1, offset: "columnRuleWidth", len: 0, typ: NTI33554438, name: "columnRuleWidth", sons: null}, -{kind: 1, offset: "columnSpan", len: 0, typ: NTI33554438, name: "columnSpan", sons: null}, -{kind: 1, offset: "columnWidth", len: 0, typ: NTI33554438, name: "columnWidth", sons: null}, -{kind: 1, offset: "columns", len: 0, typ: NTI33554438, name: "columns", sons: null}, -{kind: 1, offset: "contain", len: 0, typ: NTI33554438, name: "contain", sons: null}, -{kind: 1, offset: "content", len: 0, typ: NTI33554438, name: "content", sons: null}, -{kind: 1, offset: "counterIncrement", len: 0, typ: NTI33554438, name: "counterIncrement", sons: null}, -{kind: 1, offset: "counterReset", len: 0, typ: NTI33554438, name: "counterReset", sons: null}, -{kind: 1, offset: "counterSet", len: 0, typ: NTI33554438, name: "counterSet", sons: null}, -{kind: 1, offset: "cursor", len: 0, typ: NTI33554438, name: "cursor", sons: null}, -{kind: 1, offset: "direction", len: 0, typ: NTI33554438, name: "direction", sons: null}, -{kind: 1, offset: "display", len: 0, typ: NTI33554438, name: "display", sons: null}, -{kind: 1, offset: "emptyCells", len: 0, typ: NTI33554438, name: "emptyCells", sons: null}, -{kind: 1, offset: "filter", len: 0, typ: NTI33554438, name: "filter", sons: null}, -{kind: 1, offset: "flex", len: 0, typ: NTI33554438, name: "flex", sons: null}, -{kind: 1, offset: "flexBasis", len: 0, typ: NTI33554438, name: "flexBasis", sons: null}, -{kind: 1, offset: "flexDirection", len: 0, typ: NTI33554438, name: "flexDirection", sons: null}, -{kind: 1, offset: "flexFlow", len: 0, typ: NTI33554438, name: "flexFlow", sons: null}, -{kind: 1, offset: "flexGrow", len: 0, typ: NTI33554438, name: "flexGrow", sons: null}, -{kind: 1, offset: "flexShrink", len: 0, typ: NTI33554438, name: "flexShrink", sons: null}, -{kind: 1, offset: "flexWrap", len: 0, typ: NTI33554438, name: "flexWrap", sons: null}, -{kind: 1, offset: "cssFloat", len: 0, typ: NTI33554438, name: "cssFloat", sons: null}, -{kind: 1, offset: "font", len: 0, typ: NTI33554438, name: "font", sons: null}, -{kind: 1, offset: "fontFamily", len: 0, typ: NTI33554438, name: "fontFamily", sons: null}, -{kind: 1, offset: "fontFeatureSettings", len: 0, typ: NTI33554438, name: "fontFeatureSettings", sons: null}, -{kind: 1, offset: "fontKerning", len: 0, typ: NTI33554438, name: "fontKerning", sons: null}, -{kind: 1, offset: "fontLanguageOverride", len: 0, typ: NTI33554438, name: "fontLanguageOverride", sons: null}, -{kind: 1, offset: "fontOpticalSizing", len: 0, typ: NTI33554438, name: "fontOpticalSizing", sons: null}, -{kind: 1, offset: "fontSize", len: 0, typ: NTI33554438, name: "fontSize", sons: null}, -{kind: 1, offset: "fontSizeAdjust", len: 0, typ: NTI33554438, name: "fontSizeAdjust", sons: null}, -{kind: 1, offset: "fontStretch", len: 0, typ: NTI33554438, name: "fontStretch", sons: null}, -{kind: 1, offset: "fontStyle", len: 0, typ: NTI33554438, name: "fontStyle", sons: null}, -{kind: 1, offset: "fontSynthesis", len: 0, typ: NTI33554438, name: "fontSynthesis", sons: null}, -{kind: 1, offset: "fontVariant", len: 0, typ: NTI33554438, name: "fontVariant", sons: null}, -{kind: 1, offset: "fontVariantAlternates", len: 0, typ: NTI33554438, name: "fontVariantAlternates", sons: null}, -{kind: 1, offset: "fontVariantCaps", len: 0, typ: NTI33554438, name: "fontVariantCaps", sons: null}, -{kind: 1, offset: "fontVariantEastAsian", len: 0, typ: NTI33554438, name: "fontVariantEastAsian", sons: null}, -{kind: 1, offset: "fontVariantLigatures", len: 0, typ: NTI33554438, name: "fontVariantLigatures", sons: null}, -{kind: 1, offset: "fontVariantNumeric", len: 0, typ: NTI33554438, name: "fontVariantNumeric", sons: null}, -{kind: 1, offset: "fontVariantPosition", len: 0, typ: NTI33554438, name: "fontVariantPosition", sons: null}, -{kind: 1, offset: "fontVariationSettings", len: 0, typ: NTI33554438, name: "fontVariationSettings", sons: null}, -{kind: 1, offset: "fontWeight", len: 0, typ: NTI33554438, name: "fontWeight", sons: null}, -{kind: 1, offset: "gap", len: 0, typ: NTI33554438, name: "gap", sons: null}, -{kind: 1, offset: "grid", len: 0, typ: NTI33554438, name: "grid", sons: null}, -{kind: 1, offset: "gridArea", len: 0, typ: NTI33554438, name: "gridArea", sons: null}, -{kind: 1, offset: "gridAutoColumns", len: 0, typ: NTI33554438, name: "gridAutoColumns", sons: null}, -{kind: 1, offset: "gridAutoFlow", len: 0, typ: NTI33554438, name: "gridAutoFlow", sons: null}, -{kind: 1, offset: "gridAutoRows", len: 0, typ: NTI33554438, name: "gridAutoRows", sons: null}, -{kind: 1, offset: "gridColumn", len: 0, typ: NTI33554438, name: "gridColumn", sons: null}, -{kind: 1, offset: "gridColumnEnd", len: 0, typ: NTI33554438, name: "gridColumnEnd", sons: null}, -{kind: 1, offset: "gridColumnStart", len: 0, typ: NTI33554438, name: "gridColumnStart", sons: null}, -{kind: 1, offset: "gridRow", len: 0, typ: NTI33554438, name: "gridRow", sons: null}, -{kind: 1, offset: "gridRowEnd", len: 0, typ: NTI33554438, name: "gridRowEnd", sons: null}, -{kind: 1, offset: "gridRowStart", len: 0, typ: NTI33554438, name: "gridRowStart", sons: null}, -{kind: 1, offset: "gridTemplate", len: 0, typ: NTI33554438, name: "gridTemplate", sons: null}, -{kind: 1, offset: "gridTemplateAreas", len: 0, typ: NTI33554438, name: "gridTemplateAreas", sons: null}, -{kind: 1, offset: "gridTemplateColumns", len: 0, typ: NTI33554438, name: "gridTemplateColumns", sons: null}, -{kind: 1, offset: "gridTemplateRows", len: 0, typ: NTI33554438, name: "gridTemplateRows", sons: null}, -{kind: 1, offset: "hangingPunctuation", len: 0, typ: NTI33554438, name: "hangingPunctuation", sons: null}, -{kind: 1, offset: "height", len: 0, typ: NTI33554438, name: "height", sons: null}, -{kind: 1, offset: "hyphens", len: 0, typ: NTI33554438, name: "hyphens", sons: null}, -{kind: 1, offset: "imageOrientation", len: 0, typ: NTI33554438, name: "imageOrientation", sons: null}, -{kind: 1, offset: "imageRendering", len: 0, typ: NTI33554438, name: "imageRendering", sons: null}, -{kind: 1, offset: "inlineSize", len: 0, typ: NTI33554438, name: "inlineSize", sons: null}, -{kind: 1, offset: "inset", len: 0, typ: NTI33554438, name: "inset", sons: null}, -{kind: 1, offset: "insetBlock", len: 0, typ: NTI33554438, name: "insetBlock", sons: null}, -{kind: 1, offset: "insetBlockEnd", len: 0, typ: NTI33554438, name: "insetBlockEnd", sons: null}, -{kind: 1, offset: "insetBlockStart", len: 0, typ: NTI33554438, name: "insetBlockStart", sons: null}, -{kind: 1, offset: "insetInline", len: 0, typ: NTI33554438, name: "insetInline", sons: null}, -{kind: 1, offset: "insetInlineEnd", len: 0, typ: NTI33554438, name: "insetInlineEnd", sons: null}, -{kind: 1, offset: "insetInlineStart", len: 0, typ: NTI33554438, name: "insetInlineStart", sons: null}, -{kind: 1, offset: "isolation", len: 0, typ: NTI33554438, name: "isolation", sons: null}, -{kind: 1, offset: "justifyContent", len: 0, typ: NTI33554438, name: "justifyContent", sons: null}, -{kind: 1, offset: "justifyItems", len: 0, typ: NTI33554438, name: "justifyItems", sons: null}, -{kind: 1, offset: "justifySelf", len: 0, typ: NTI33554438, name: "justifySelf", sons: null}, -{kind: 1, offset: "left", len: 0, typ: NTI33554438, name: "left", sons: null}, -{kind: 1, offset: "letterSpacing", len: 0, typ: NTI33554438, name: "letterSpacing", sons: null}, -{kind: 1, offset: "lineBreak", len: 0, typ: NTI33554438, name: "lineBreak", sons: null}, -{kind: 1, offset: "lineHeight", len: 0, typ: NTI33554438, name: "lineHeight", sons: null}, -{kind: 1, offset: "listStyle", len: 0, typ: NTI33554438, name: "listStyle", sons: null}, -{kind: 1, offset: "listStyleImage", len: 0, typ: NTI33554438, name: "listStyleImage", sons: null}, -{kind: 1, offset: "listStylePosition", len: 0, typ: NTI33554438, name: "listStylePosition", sons: null}, -{kind: 1, offset: "listStyleType", len: 0, typ: NTI33554438, name: "listStyleType", sons: null}, -{kind: 1, offset: "margin", len: 0, typ: NTI33554438, name: "margin", sons: null}, -{kind: 1, offset: "marginBlock", len: 0, typ: NTI33554438, name: "marginBlock", sons: null}, -{kind: 1, offset: "marginBlockEnd", len: 0, typ: NTI33554438, name: "marginBlockEnd", sons: null}, -{kind: 1, offset: "marginBlockStart", len: 0, typ: NTI33554438, name: "marginBlockStart", sons: null}, -{kind: 1, offset: "marginBottom", len: 0, typ: NTI33554438, name: "marginBottom", sons: null}, -{kind: 1, offset: "marginInline", len: 0, typ: NTI33554438, name: "marginInline", sons: null}, -{kind: 1, offset: "marginInlineEnd", len: 0, typ: NTI33554438, name: "marginInlineEnd", sons: null}, -{kind: 1, offset: "marginInlineStart", len: 0, typ: NTI33554438, name: "marginInlineStart", sons: null}, -{kind: 1, offset: "marginLeft", len: 0, typ: NTI33554438, name: "marginLeft", sons: null}, -{kind: 1, offset: "marginRight", len: 0, typ: NTI33554438, name: "marginRight", sons: null}, -{kind: 1, offset: "marginTop", len: 0, typ: NTI33554438, name: "marginTop", sons: null}, -{kind: 1, offset: "mask", len: 0, typ: NTI33554438, name: "mask", sons: null}, -{kind: 1, offset: "maskBorder", len: 0, typ: NTI33554438, name: "maskBorder", sons: null}, -{kind: 1, offset: "maskBorderMode", len: 0, typ: NTI33554438, name: "maskBorderMode", sons: null}, -{kind: 1, offset: "maskBorderOutset", len: 0, typ: NTI33554438, name: "maskBorderOutset", sons: null}, -{kind: 1, offset: "maskBorderRepeat", len: 0, typ: NTI33554438, name: "maskBorderRepeat", sons: null}, -{kind: 1, offset: "maskBorderSlice", len: 0, typ: NTI33554438, name: "maskBorderSlice", sons: null}, -{kind: 1, offset: "maskBorderSource", len: 0, typ: NTI33554438, name: "maskBorderSource", sons: null}, -{kind: 1, offset: "maskBorderWidth", len: 0, typ: NTI33554438, name: "maskBorderWidth", sons: null}, -{kind: 1, offset: "maskClip", len: 0, typ: NTI33554438, name: "maskClip", sons: null}, -{kind: 1, offset: "maskComposite", len: 0, typ: NTI33554438, name: "maskComposite", sons: null}, -{kind: 1, offset: "maskImage", len: 0, typ: NTI33554438, name: "maskImage", sons: null}, -{kind: 1, offset: "maskMode", len: 0, typ: NTI33554438, name: "maskMode", sons: null}, -{kind: 1, offset: "maskOrigin", len: 0, typ: NTI33554438, name: "maskOrigin", sons: null}, -{kind: 1, offset: "maskPosition", len: 0, typ: NTI33554438, name: "maskPosition", sons: null}, -{kind: 1, offset: "maskRepeat", len: 0, typ: NTI33554438, name: "maskRepeat", sons: null}, -{kind: 1, offset: "maskSize", len: 0, typ: NTI33554438, name: "maskSize", sons: null}, -{kind: 1, offset: "maskType", len: 0, typ: NTI33554438, name: "maskType", sons: null}, -{kind: 1, offset: "maxBlockSize", len: 0, typ: NTI33554438, name: "maxBlockSize", sons: null}, -{kind: 1, offset: "maxHeight", len: 0, typ: NTI33554438, name: "maxHeight", sons: null}, -{kind: 1, offset: "maxInlineSize", len: 0, typ: NTI33554438, name: "maxInlineSize", sons: null}, -{kind: 1, offset: "maxWidth", len: 0, typ: NTI33554438, name: "maxWidth", sons: null}, -{kind: 1, offset: "minBlockSize", len: 0, typ: NTI33554438, name: "minBlockSize", sons: null}, -{kind: 1, offset: "minHeight", len: 0, typ: NTI33554438, name: "minHeight", sons: null}, -{kind: 1, offset: "minInlineSize", len: 0, typ: NTI33554438, name: "minInlineSize", sons: null}, -{kind: 1, offset: "minWidth", len: 0, typ: NTI33554438, name: "minWidth", sons: null}, -{kind: 1, offset: "mixBlendMode", len: 0, typ: NTI33554438, name: "mixBlendMode", sons: null}, -{kind: 1, offset: "objectFit", len: 0, typ: NTI33554438, name: "objectFit", sons: null}, -{kind: 1, offset: "objectPosition", len: 0, typ: NTI33554438, name: "objectPosition", sons: null}, -{kind: 1, offset: "offset", len: 0, typ: NTI33554438, name: "offset", sons: null}, -{kind: 1, offset: "offsetAnchor", len: 0, typ: NTI33554438, name: "offsetAnchor", sons: null}, -{kind: 1, offset: "offsetDistance", len: 0, typ: NTI33554438, name: "offsetDistance", sons: null}, -{kind: 1, offset: "offsetPath", len: 0, typ: NTI33554438, name: "offsetPath", sons: null}, -{kind: 1, offset: "offsetRotate", len: 0, typ: NTI33554438, name: "offsetRotate", sons: null}, -{kind: 1, offset: "opacity", len: 0, typ: NTI33554438, name: "opacity", sons: null}, -{kind: 1, offset: "order", len: 0, typ: NTI33554438, name: "order", sons: null}, -{kind: 1, offset: "orphans", len: 0, typ: NTI33554438, name: "orphans", sons: null}, -{kind: 1, offset: "outline", len: 0, typ: NTI33554438, name: "outline", sons: null}, -{kind: 1, offset: "outlineColor", len: 0, typ: NTI33554438, name: "outlineColor", sons: null}, -{kind: 1, offset: "outlineOffset", len: 0, typ: NTI33554438, name: "outlineOffset", sons: null}, -{kind: 1, offset: "outlineStyle", len: 0, typ: NTI33554438, name: "outlineStyle", sons: null}, -{kind: 1, offset: "outlineWidth", len: 0, typ: NTI33554438, name: "outlineWidth", sons: null}, -{kind: 1, offset: "overflow", len: 0, typ: NTI33554438, name: "overflow", sons: null}, -{kind: 1, offset: "overflowAnchor", len: 0, typ: NTI33554438, name: "overflowAnchor", sons: null}, -{kind: 1, offset: "overflowBlock", len: 0, typ: NTI33554438, name: "overflowBlock", sons: null}, -{kind: 1, offset: "overflowInline", len: 0, typ: NTI33554438, name: "overflowInline", sons: null}, -{kind: 1, offset: "overflowWrap", len: 0, typ: NTI33554438, name: "overflowWrap", sons: null}, -{kind: 1, offset: "overflowX", len: 0, typ: NTI33554438, name: "overflowX", sons: null}, -{kind: 1, offset: "overflowY", len: 0, typ: NTI33554438, name: "overflowY", sons: null}, -{kind: 1, offset: "overscrollBehavior", len: 0, typ: NTI33554438, name: "overscrollBehavior", sons: null}, -{kind: 1, offset: "overscrollBehaviorBlock", len: 0, typ: NTI33554438, name: "overscrollBehaviorBlock", sons: null}, -{kind: 1, offset: "overscrollBehaviorInline", len: 0, typ: NTI33554438, name: "overscrollBehaviorInline", sons: null}, -{kind: 1, offset: "overscrollBehaviorX", len: 0, typ: NTI33554438, name: "overscrollBehaviorX", sons: null}, -{kind: 1, offset: "overscrollBehaviorY", len: 0, typ: NTI33554438, name: "overscrollBehaviorY", sons: null}, -{kind: 1, offset: "padding", len: 0, typ: NTI33554438, name: "padding", sons: null}, -{kind: 1, offset: "paddingBlock", len: 0, typ: NTI33554438, name: "paddingBlock", sons: null}, -{kind: 1, offset: "paddingBlockEnd", len: 0, typ: NTI33554438, name: "paddingBlockEnd", sons: null}, -{kind: 1, offset: "paddingBlockStart", len: 0, typ: NTI33554438, name: "paddingBlockStart", sons: null}, -{kind: 1, offset: "paddingBottom", len: 0, typ: NTI33554438, name: "paddingBottom", sons: null}, -{kind: 1, offset: "paddingInline", len: 0, typ: NTI33554438, name: "paddingInline", sons: null}, -{kind: 1, offset: "paddingInlineEnd", len: 0, typ: NTI33554438, name: "paddingInlineEnd", sons: null}, -{kind: 1, offset: "paddingInlineStart", len: 0, typ: NTI33554438, name: "paddingInlineStart", sons: null}, -{kind: 1, offset: "paddingLeft", len: 0, typ: NTI33554438, name: "paddingLeft", sons: null}, -{kind: 1, offset: "paddingRight", len: 0, typ: NTI33554438, name: "paddingRight", sons: null}, -{kind: 1, offset: "paddingTop", len: 0, typ: NTI33554438, name: "paddingTop", sons: null}, -{kind: 1, offset: "pageBreakAfter", len: 0, typ: NTI33554438, name: "pageBreakAfter", sons: null}, -{kind: 1, offset: "pageBreakBefore", len: 0, typ: NTI33554438, name: "pageBreakBefore", sons: null}, -{kind: 1, offset: "pageBreakInside", len: 0, typ: NTI33554438, name: "pageBreakInside", sons: null}, -{kind: 1, offset: "paintOrder", len: 0, typ: NTI33554438, name: "paintOrder", sons: null}, -{kind: 1, offset: "perspective", len: 0, typ: NTI33554438, name: "perspective", sons: null}, -{kind: 1, offset: "perspectiveOrigin", len: 0, typ: NTI33554438, name: "perspectiveOrigin", sons: null}, -{kind: 1, offset: "placeContent", len: 0, typ: NTI33554438, name: "placeContent", sons: null}, -{kind: 1, offset: "placeItems", len: 0, typ: NTI33554438, name: "placeItems", sons: null}, -{kind: 1, offset: "placeSelf", len: 0, typ: NTI33554438, name: "placeSelf", sons: null}, -{kind: 1, offset: "pointerEvents", len: 0, typ: NTI33554438, name: "pointerEvents", sons: null}, -{kind: 1, offset: "position", len: 0, typ: NTI33554438, name: "position", sons: null}, -{kind: 1, offset: "quotes", len: 0, typ: NTI33554438, name: "quotes", sons: null}, -{kind: 1, offset: "resize", len: 0, typ: NTI33554438, name: "resize", sons: null}, -{kind: 1, offset: "right", len: 0, typ: NTI33554438, name: "right", sons: null}, -{kind: 1, offset: "rotate", len: 0, typ: NTI33554438, name: "rotate", sons: null}, -{kind: 1, offset: "rowGap", len: 0, typ: NTI33554438, name: "rowGap", sons: null}, -{kind: 1, offset: "scale", len: 0, typ: NTI33554438, name: "scale", sons: null}, -{kind: 1, offset: "scrollBehavior", len: 0, typ: NTI33554438, name: "scrollBehavior", sons: null}, -{kind: 1, offset: "scrollMargin", len: 0, typ: NTI33554438, name: "scrollMargin", sons: null}, -{kind: 1, offset: "scrollMarginBlock", len: 0, typ: NTI33554438, name: "scrollMarginBlock", sons: null}, -{kind: 1, offset: "scrollMarginBlockEnd", len: 0, typ: NTI33554438, name: "scrollMarginBlockEnd", sons: null}, -{kind: 1, offset: "scrollMarginBlockStart", len: 0, typ: NTI33554438, name: "scrollMarginBlockStart", sons: null}, -{kind: 1, offset: "scrollMarginBottom", len: 0, typ: NTI33554438, name: "scrollMarginBottom", sons: null}, -{kind: 1, offset: "scrollMarginInline", len: 0, typ: NTI33554438, name: "scrollMarginInline", sons: null}, -{kind: 1, offset: "scrollMarginInlineEnd", len: 0, typ: NTI33554438, name: "scrollMarginInlineEnd", sons: null}, -{kind: 1, offset: "scrollMarginInlineStart", len: 0, typ: NTI33554438, name: "scrollMarginInlineStart", sons: null}, -{kind: 1, offset: "scrollMarginLeft", len: 0, typ: NTI33554438, name: "scrollMarginLeft", sons: null}, -{kind: 1, offset: "scrollMarginRight", len: 0, typ: NTI33554438, name: "scrollMarginRight", sons: null}, -{kind: 1, offset: "scrollMarginTop", len: 0, typ: NTI33554438, name: "scrollMarginTop", sons: null}, -{kind: 1, offset: "scrollPadding", len: 0, typ: NTI33554438, name: "scrollPadding", sons: null}, -{kind: 1, offset: "scrollPaddingBlock", len: 0, typ: NTI33554438, name: "scrollPaddingBlock", sons: null}, -{kind: 1, offset: "scrollPaddingBlockEnd", len: 0, typ: NTI33554438, name: "scrollPaddingBlockEnd", sons: null}, -{kind: 1, offset: "scrollPaddingBlockStart", len: 0, typ: NTI33554438, name: "scrollPaddingBlockStart", sons: null}, -{kind: 1, offset: "scrollPaddingBottom", len: 0, typ: NTI33554438, name: "scrollPaddingBottom", sons: null}, -{kind: 1, offset: "scrollPaddingInline", len: 0, typ: NTI33554438, name: "scrollPaddingInline", sons: null}, -{kind: 1, offset: "scrollPaddingInlineEnd", len: 0, typ: NTI33554438, name: "scrollPaddingInlineEnd", sons: null}, -{kind: 1, offset: "scrollPaddingInlineStart", len: 0, typ: NTI33554438, name: "scrollPaddingInlineStart", sons: null}, -{kind: 1, offset: "scrollPaddingLeft", len: 0, typ: NTI33554438, name: "scrollPaddingLeft", sons: null}, -{kind: 1, offset: "scrollPaddingRight", len: 0, typ: NTI33554438, name: "scrollPaddingRight", sons: null}, -{kind: 1, offset: "scrollPaddingTop", len: 0, typ: NTI33554438, name: "scrollPaddingTop", sons: null}, -{kind: 1, offset: "scrollSnapAlign", len: 0, typ: NTI33554438, name: "scrollSnapAlign", sons: null}, -{kind: 1, offset: "scrollSnapStop", len: 0, typ: NTI33554438, name: "scrollSnapStop", sons: null}, -{kind: 1, offset: "scrollSnapType", len: 0, typ: NTI33554438, name: "scrollSnapType", sons: null}, -{kind: 1, offset: "scrollbar3dLightColor", len: 0, typ: NTI33554438, name: "scrollbar3dLightColor", sons: null}, -{kind: 1, offset: "scrollbarArrowColor", len: 0, typ: NTI33554438, name: "scrollbarArrowColor", sons: null}, -{kind: 1, offset: "scrollbarBaseColor", len: 0, typ: NTI33554438, name: "scrollbarBaseColor", sons: null}, -{kind: 1, offset: "scrollbarColor", len: 0, typ: NTI33554438, name: "scrollbarColor", sons: null}, -{kind: 1, offset: "scrollbarDarkshadowColor", len: 0, typ: NTI33554438, name: "scrollbarDarkshadowColor", sons: null}, -{kind: 1, offset: "scrollbarFaceColor", len: 0, typ: NTI33554438, name: "scrollbarFaceColor", sons: null}, -{kind: 1, offset: "scrollbarHighlightColor", len: 0, typ: NTI33554438, name: "scrollbarHighlightColor", sons: null}, -{kind: 1, offset: "scrollbarShadowColor", len: 0, typ: NTI33554438, name: "scrollbarShadowColor", sons: null}, -{kind: 1, offset: "scrollbarTrackColor", len: 0, typ: NTI33554438, name: "scrollbarTrackColor", sons: null}, -{kind: 1, offset: "scrollbarWidth", len: 0, typ: NTI33554438, name: "scrollbarWidth", sons: null}, -{kind: 1, offset: "shapeImageThreshold", len: 0, typ: NTI33554438, name: "shapeImageThreshold", sons: null}, -{kind: 1, offset: "shapeMargin", len: 0, typ: NTI33554438, name: "shapeMargin", sons: null}, -{kind: 1, offset: "shapeOutside", len: 0, typ: NTI33554438, name: "shapeOutside", sons: null}, -{kind: 1, offset: "tabSize", len: 0, typ: NTI33554438, name: "tabSize", sons: null}, -{kind: 1, offset: "tableLayout", len: 0, typ: NTI33554438, name: "tableLayout", sons: null}, -{kind: 1, offset: "textAlign", len: 0, typ: NTI33554438, name: "textAlign", sons: null}, -{kind: 1, offset: "textAlignLast", len: 0, typ: NTI33554438, name: "textAlignLast", sons: null}, -{kind: 1, offset: "textCombineUpright", len: 0, typ: NTI33554438, name: "textCombineUpright", sons: null}, -{kind: 1, offset: "textDecoration", len: 0, typ: NTI33554438, name: "textDecoration", sons: null}, -{kind: 1, offset: "textDecorationColor", len: 0, typ: NTI33554438, name: "textDecorationColor", sons: null}, -{kind: 1, offset: "textDecorationLine", len: 0, typ: NTI33554438, name: "textDecorationLine", sons: null}, -{kind: 1, offset: "textDecorationSkipInk", len: 0, typ: NTI33554438, name: "textDecorationSkipInk", sons: null}, -{kind: 1, offset: "textDecorationStyle", len: 0, typ: NTI33554438, name: "textDecorationStyle", sons: null}, -{kind: 1, offset: "textDecorationThickness", len: 0, typ: NTI33554438, name: "textDecorationThickness", sons: null}, -{kind: 1, offset: "textEmphasis", len: 0, typ: NTI33554438, name: "textEmphasis", sons: null}, -{kind: 1, offset: "textEmphasisColor", len: 0, typ: NTI33554438, name: "textEmphasisColor", sons: null}, -{kind: 1, offset: "textEmphasisPosition", len: 0, typ: NTI33554438, name: "textEmphasisPosition", sons: null}, -{kind: 1, offset: "textEmphasisStyle", len: 0, typ: NTI33554438, name: "textEmphasisStyle", sons: null}, -{kind: 1, offset: "textIndent", len: 0, typ: NTI33554438, name: "textIndent", sons: null}, -{kind: 1, offset: "textJustify", len: 0, typ: NTI33554438, name: "textJustify", sons: null}, -{kind: 1, offset: "textOrientation", len: 0, typ: NTI33554438, name: "textOrientation", sons: null}, -{kind: 1, offset: "textOverflow", len: 0, typ: NTI33554438, name: "textOverflow", sons: null}, -{kind: 1, offset: "textRendering", len: 0, typ: NTI33554438, name: "textRendering", sons: null}, -{kind: 1, offset: "textShadow", len: 0, typ: NTI33554438, name: "textShadow", sons: null}, -{kind: 1, offset: "textTransform", len: 0, typ: NTI33554438, name: "textTransform", sons: null}, -{kind: 1, offset: "textUnderlineOffset", len: 0, typ: NTI33554438, name: "textUnderlineOffset", sons: null}, -{kind: 1, offset: "textUnderlinePosition", len: 0, typ: NTI33554438, name: "textUnderlinePosition", sons: null}, -{kind: 1, offset: "top", len: 0, typ: NTI33554438, name: "top", sons: null}, -{kind: 1, offset: "touchAction", len: 0, typ: NTI33554438, name: "touchAction", sons: null}, -{kind: 1, offset: "transform", len: 0, typ: NTI33554438, name: "transform", sons: null}, -{kind: 1, offset: "transformBox", len: 0, typ: NTI33554438, name: "transformBox", sons: null}, -{kind: 1, offset: "transformOrigin", len: 0, typ: NTI33554438, name: "transformOrigin", sons: null}, -{kind: 1, offset: "transformStyle", len: 0, typ: NTI33554438, name: "transformStyle", sons: null}, -{kind: 1, offset: "transition", len: 0, typ: NTI33554438, name: "transition", sons: null}, -{kind: 1, offset: "transitionDelay", len: 0, typ: NTI33554438, name: "transitionDelay", sons: null}, -{kind: 1, offset: "transitionDuration", len: 0, typ: NTI33554438, name: "transitionDuration", sons: null}, -{kind: 1, offset: "transitionProperty", len: 0, typ: NTI33554438, name: "transitionProperty", sons: null}, -{kind: 1, offset: "transitionTimingFunction", len: 0, typ: NTI33554438, name: "transitionTimingFunction", sons: null}, -{kind: 1, offset: "translate", len: 0, typ: NTI33554438, name: "translate", sons: null}, -{kind: 1, offset: "unicodeBidi", len: 0, typ: NTI33554438, name: "unicodeBidi", sons: null}, -{kind: 1, offset: "verticalAlign", len: 0, typ: NTI33554438, name: "verticalAlign", sons: null}, -{kind: 1, offset: "visibility", len: 0, typ: NTI33554438, name: "visibility", sons: null}, -{kind: 1, offset: "whiteSpace", len: 0, typ: NTI33554438, name: "whiteSpace", sons: null}, -{kind: 1, offset: "widows", len: 0, typ: NTI33554438, name: "widows", sons: null}, -{kind: 1, offset: "width", len: 0, typ: NTI33554438, name: "width", sons: null}, -{kind: 1, offset: "willChange", len: 0, typ: NTI33554438, name: "willChange", sons: null}, -{kind: 1, offset: "wordBreak", len: 0, typ: NTI33554438, name: "wordBreak", sons: null}, -{kind: 1, offset: "wordSpacing", len: 0, typ: NTI33554438, name: "wordSpacing", sons: null}, -{kind: 1, offset: "writingMode", len: 0, typ: NTI33554438, name: "writingMode", sons: null}, -{kind: 1, offset: "zIndex", len: 0, typ: NTI33554438, name: "zIndex", sons: null}]}; -NTI503316526.node = NNI503316526; -NTI503316526.base = NTI33555071; -NTI503316525.base = NTI503316526; -var NNI503316498 = {kind: 2, len: 22, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "attributes", len: 0, typ: NTI503316611, name: "attributes", sons: null}, -{kind: 1, offset: "childNodes", len: 0, typ: NTI503316612, name: "childNodes", sons: null}, -{kind: 1, offset: "children", len: 0, typ: NTI503316613, name: "children", sons: null}, -{kind: 1, offset: "data", len: 0, typ: NTI33554438, name: "data", sons: null}, -{kind: 1, offset: "firstChild", len: 0, typ: NTI503316497, name: "firstChild", sons: null}, -{kind: 1, offset: "lastChild", len: 0, typ: NTI503316497, name: "lastChild", sons: null}, -{kind: 1, offset: "nextSibling", len: 0, typ: NTI503316497, name: "nextSibling", sons: null}, -{kind: 1, offset: "nodeName", len: 0, typ: NTI33554438, name: "nodeName", sons: null}, -{kind: 1, offset: "nodeType", len: 0, typ: NTI503316496, name: "nodeType", sons: null}, -{kind: 1, offset: "nodeValue", len: 0, typ: NTI33554438, name: "nodeValue", sons: null}, -{kind: 1, offset: "parentNode", len: 0, typ: NTI503316497, name: "parentNode", sons: null}, -{kind: 1, offset: "content", len: 0, typ: NTI503316497, name: "content", sons: null}, -{kind: 1, offset: "previousSibling", len: 0, typ: NTI503316497, name: "previousSibling", sons: null}, -{kind: 1, offset: "ownerDocument", len: 0, typ: NTI503316499, name: "ownerDocument", sons: null}, -{kind: 1, offset: "innerHTML", len: 0, typ: NTI33554438, name: "innerHTML", sons: null}, -{kind: 1, offset: "outerHTML", len: 0, typ: NTI33554438, name: "outerHTML", sons: null}, -{kind: 1, offset: "innerText", len: 0, typ: NTI33554438, name: "innerText", sons: null}, -{kind: 1, offset: "textContent", len: 0, typ: NTI33554438, name: "textContent", sons: null}, -{kind: 1, offset: "style", len: 0, typ: NTI503316525, name: "style", sons: null}, -{kind: 1, offset: "baseURI", len: 0, typ: NTI33554438, name: "baseURI", sons: null}, -{kind: 1, offset: "parentElement", len: 0, typ: NTI503316501, name: "parentElement", sons: null}, -{kind: 1, offset: "isConnected", len: 0, typ: NTI33554464, name: "isConnected", sons: null}]}; -NTI503316498.node = NNI503316498; -var NNI503316482 = {kind: 2, len: 23, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "onabort", len: 0, typ: NTI503316574, name: "onabort", sons: null}, -{kind: 1, offset: "onblur", len: 0, typ: NTI503316575, name: "onblur", sons: null}, -{kind: 1, offset: "onchange", len: 0, typ: NTI503316576, name: "onchange", sons: null}, -{kind: 1, offset: "onclick", len: 0, typ: NTI503316577, name: "onclick", sons: null}, -{kind: 1, offset: "ondblclick", len: 0, typ: NTI503316578, name: "ondblclick", sons: null}, -{kind: 1, offset: "onerror", len: 0, typ: NTI503316579, name: "onerror", sons: null}, -{kind: 1, offset: "onfocus", len: 0, typ: NTI503316580, name: "onfocus", sons: null}, -{kind: 1, offset: "onkeydown", len: 0, typ: NTI503316581, name: "onkeydown", sons: null}, -{kind: 1, offset: "onkeypress", len: 0, typ: NTI503316582, name: "onkeypress", sons: null}, -{kind: 1, offset: "onkeyup", len: 0, typ: NTI503316583, name: "onkeyup", sons: null}, -{kind: 1, offset: "onload", len: 0, typ: NTI503316584, name: "onload", sons: null}, -{kind: 1, offset: "onmousedown", len: 0, typ: NTI503316585, name: "onmousedown", sons: null}, -{kind: 1, offset: "onmousemove", len: 0, typ: NTI503316586, name: "onmousemove", sons: null}, -{kind: 1, offset: "onmouseout", len: 0, typ: NTI503316587, name: "onmouseout", sons: null}, -{kind: 1, offset: "onmouseover", len: 0, typ: NTI503316588, name: "onmouseover", sons: null}, -{kind: 1, offset: "onmouseup", len: 0, typ: NTI503316589, name: "onmouseup", sons: null}, -{kind: 1, offset: "onreset", len: 0, typ: NTI503316590, name: "onreset", sons: null}, -{kind: 1, offset: "onselect", len: 0, typ: NTI503316591, name: "onselect", sons: null}, -{kind: 1, offset: "onsubmit", len: 0, typ: NTI503316592, name: "onsubmit", sons: null}, -{kind: 1, offset: "onunload", len: 0, typ: NTI503316593, name: "onunload", sons: null}, -{kind: 1, offset: "onloadstart", len: 0, typ: NTI503316594, name: "onloadstart", sons: null}, -{kind: 1, offset: "onprogress", len: 0, typ: NTI503316595, name: "onprogress", sons: null}, -{kind: 1, offset: "onloadend", len: 0, typ: NTI503316596, name: "onloadend", sons: null}]}; -NTI503316482.node = NNI503316482; -NTI503316482.base = NTI33555071; -NTI503316498.base = NTI503316482; -NTI503316497.base = NTI503316498; -NTI503316899.base = NTI503316497; -NTI385876518.base = NTI33554438; -var NNI520093699 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI33554454, name: "Field0", sons: null}, -{kind: 1, offset: "Field1", len: 0, typ: NTI33554464, name: "Field1", sons: null}]}; -NTI520093699.node = NNI520093699; -function makeNimstrLit(c_33556787) { - var result = []; - for (var i = 0; i < c_33556787.length; ++i) { - result[i] = c_33556787.charCodeAt(i); +var NTI10436058 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI1214653 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI10595580 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872476 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872472 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872468 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872464 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872460 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872456 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872452 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872448 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872444 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872440 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872436 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872432 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872428 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872424 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872420 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872416 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872412 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872408 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872404 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872400 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872396 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872392 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872388 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1872205 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872293 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872291 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1873628 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1873619 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1873618 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI1872385 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1873626 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI1872387 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1872269 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872267 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1872661 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872273 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872271 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1872659 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872657 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872289 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872287 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1872655 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872653 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872277 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872275 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1872651 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872675 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872281 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872279 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1872673 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1208044 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; +var NTI1872767 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872285 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872283 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1208064 = {size: 0,kind: 1,base: null,node: null,finalizer: null}; +var NTI1872231 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872229 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1872245 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872243 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1872241 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872239 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1872233 = {size: 0, kind: 14, base: null, node: null, finalizer: null}; +var NTI1872614 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872612 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872610 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1872237 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1872235 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1900505 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1214641 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1214649 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1214408 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1214728 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1208013 = {size: 0,kind: 28,base: null,node: null,finalizer: null}; +var NTI1208015 = {size: 0,kind: 29,base: null,node: null,finalizer: null}; +var NTI1214723 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1214617 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1214619 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1214633 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1214637 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NNI1214637 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1214637.node = NNI1214637; +var NNI1214633 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1214633.node = NNI1214633; +var NNI1214619 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1214619.node = NNI1214619; +NTI1214723.base = NTI1214617; +NTI1214728.base = NTI1214617; +var NNI1214617 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI1214723, name: "parent", sons: null}, +{kind: 1, offset: "name", len: 0, typ: NTI1208015, name: "name", sons: null}, +{kind: 1, offset: "message", len: 0, typ: NTI1208013, name: "msg", sons: null}, +{kind: 1, offset: "trace", len: 0, typ: NTI1208013, name: "trace", sons: null}, +{kind: 1, offset: "up", len: 0, typ: NTI1214728, name: "up", sons: null}]}; +NTI1214617.node = NNI1214617; +var NNI1214408 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1214408.node = NNI1214408; +NTI1214617.base = NTI1214408; +NTI1214619.base = NTI1214617; +NTI1214633.base = NTI1214619; +NTI1214637.base = NTI1214633; +var NNI1214649 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1214649.node = NNI1214649; +NTI1214649.base = NTI1214619; +var NNI1214641 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1214641.node = NNI1214641; +NTI1214641.base = NTI1214619; +NTI1872610.base = NTI1872235; +NTI1872612.base = NTI1872235; +NTI1872614.base = NTI1872235; +var NNI1872233 = {kind: 2, offset: 0, typ: null, name: null, len: 12, sons: {"1": {kind: 1, offset: 1, typ: NTI1872233, name: "ElementNode", len: 0, sons: null}, +"2": {kind: 1, offset: 2, typ: NTI1872233, name: "AttributeNode", len: 0, sons: null}, +"3": {kind: 1, offset: 3, typ: NTI1872233, name: "TextNode", len: 0, sons: null}, +"4": {kind: 1, offset: 4, typ: NTI1872233, name: "CDATANode", len: 0, sons: null}, +"5": {kind: 1, offset: 5, typ: NTI1872233, name: "EntityRefNode", len: 0, sons: null}, +"6": {kind: 1, offset: 6, typ: NTI1872233, name: "EntityNode", len: 0, sons: null}, +"7": {kind: 1, offset: 7, typ: NTI1872233, name: "ProcessingInstructionNode", len: 0, sons: null}, +"8": {kind: 1, offset: 8, typ: NTI1872233, name: "CommentNode", len: 0, sons: null}, +"9": {kind: 1, offset: 9, typ: NTI1872233, name: "DocumentNode", len: 0, sons: null}, +"10": {kind: 1, offset: 10, typ: NTI1872233, name: "DocumentTypeNode", len: 0, sons: null}, +"11": {kind: 1, offset: 11, typ: NTI1872233, name: "DocumentFragmentNode", len: 0, sons: null}, +"12": {kind: 1, offset: 12, typ: NTI1872233, name: "NotationNode", len: 0, sons: null}}}; +NTI1872233.node = NNI1872233; +var NNI1872231 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1872231.node = NNI1872231; +NTI1872231.base = NTI1214408; +NTI1872229.base = NTI1872231; +NTI1872767.base = NTI1872243; +var NNI1872285 = {kind: 2, len: 10, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "acceptCharset", len: 0, typ: NTI1208015, name: "acceptCharset", sons: null}, +{kind: 1, offset: "action", len: 0, typ: NTI1208015, name: "action", sons: null}, +{kind: 1, offset: "autocomplete", len: 0, typ: NTI1208015, name: "autocomplete", sons: null}, +{kind: 1, offset: "elements", len: 0, typ: NTI1872767, name: "elements", sons: null}, +{kind: 1, offset: "encoding", len: 0, typ: NTI1208015, name: "encoding", sons: null}, +{kind: 1, offset: "enctype", len: 0, typ: NTI1208015, name: "enctype", sons: null}, +{kind: 1, offset: "length", len: 0, typ: NTI1208044, name: "length", sons: null}, +{kind: 1, offset: "method", len: 0, typ: NTI1208015, name: "method", sons: null}, +{kind: 1, offset: "noValidate", len: 0, typ: NTI1208064, name: "noValidate", sons: null}, +{kind: 1, offset: "target", len: 0, typ: NTI1208015, name: "target", sons: null}]}; +NTI1872285.node = NNI1872285; +NTI1872285.base = NTI1872245; +NTI1872283.base = NTI1872285; +var NNI1872281 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "defaultSelected", len: 0, typ: NTI1208064, name: "defaultSelected", sons: null}, +{kind: 1, offset: "selected", len: 0, typ: NTI1208064, name: "selected", sons: null}, +{kind: 1, offset: "selectedIndex", len: 0, typ: NTI1208044, name: "selectedIndex", sons: null}, +{kind: 1, offset: "text", len: 0, typ: NTI1208015, name: "text", sons: null}, +{kind: 1, offset: "value", len: 0, typ: NTI1208015, name: "value", sons: null}]}; +NTI1872281.node = NNI1872281; +NTI1872281.base = NTI1872245; +NTI1872279.base = NTI1872281; +NTI1872673.base = NTI1872279; +NTI1872675.base = NTI1872279; +var NNI1872245 = {kind: 2, len: 20, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "className", len: 0, typ: NTI1208015, name: "className", sons: null}, +{kind: 1, offset: "classList", len: 0, typ: NTI1872229, name: "classList", sons: null}, +{kind: 1, offset: "checked", len: 0, typ: NTI1208064, name: "checked", sons: null}, +{kind: 1, offset: "defaultChecked", len: 0, typ: NTI1208064, name: "defaultChecked", sons: null}, +{kind: 1, offset: "defaultValue", len: 0, typ: NTI1208015, name: "defaultValue", sons: null}, +{kind: 1, offset: "disabled", len: 0, typ: NTI1208064, name: "disabled", sons: null}, +{kind: 1, offset: "form", len: 0, typ: NTI1872283, name: "form", sons: null}, +{kind: 1, offset: "name", len: 0, typ: NTI1208015, name: "name", sons: null}, +{kind: 1, offset: "readOnly", len: 0, typ: NTI1208064, name: "readOnly", sons: null}, +{kind: 1, offset: "options", len: 0, typ: NTI1872673, name: "options", sons: null}, +{kind: 1, offset: "selectedOptions", len: 0, typ: NTI1872675, name: "selectedOptions", sons: null}, +{kind: 1, offset: "clientWidth", len: 0, typ: NTI1208044, name: "clientWidth", sons: null}, +{kind: 1, offset: "clientHeight", len: 0, typ: NTI1208044, name: "clientHeight", sons: null}, +{kind: 1, offset: "contentEditable", len: 0, typ: NTI1208015, name: "contentEditable", sons: null}, +{kind: 1, offset: "isContentEditable", len: 0, typ: NTI1208064, name: "isContentEditable", sons: null}, +{kind: 1, offset: "dir", len: 0, typ: NTI1208015, name: "dir", sons: null}, +{kind: 1, offset: "offsetHeight", len: 0, typ: NTI1208044, name: "offsetHeight", sons: null}, +{kind: 1, offset: "offsetWidth", len: 0, typ: NTI1208044, name: "offsetWidth", sons: null}, +{kind: 1, offset: "offsetLeft", len: 0, typ: NTI1208044, name: "offsetLeft", sons: null}, +{kind: 1, offset: "offsetTop", len: 0, typ: NTI1208044, name: "offsetTop", sons: null}]}; +NTI1872245.node = NNI1872245; +NTI1872245.base = NTI1872237; +NTI1872243.base = NTI1872245; +var NNI1872277 = {kind: 2, len: 3, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "text", len: 0, typ: NTI1208015, name: "text", sons: null}, +{kind: 1, offset: "x", len: 0, typ: NTI1208044, name: "x", sons: null}, +{kind: 1, offset: "y", len: 0, typ: NTI1208044, name: "y", sons: null}]}; +NTI1872277.node = NNI1872277; +NTI1872277.base = NTI1872245; +NTI1872275.base = NTI1872277; +NTI1872651.base = NTI1872275; +NTI1872653.base = NTI1872283; +var NNI1872289 = {kind: 2, len: 8, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "border", len: 0, typ: NTI1208044, name: "border", sons: null}, +{kind: 1, offset: "complete", len: 0, typ: NTI1208064, name: "complete", sons: null}, +{kind: 1, offset: "height", len: 0, typ: NTI1208044, name: "height", sons: null}, +{kind: 1, offset: "hspace", len: 0, typ: NTI1208044, name: "hspace", sons: null}, +{kind: 1, offset: "lowsrc", len: 0, typ: NTI1208015, name: "lowsrc", sons: null}, +{kind: 1, offset: "src", len: 0, typ: NTI1208015, name: "src", sons: null}, +{kind: 1, offset: "vspace", len: 0, typ: NTI1208044, name: "vspace", sons: null}, +{kind: 1, offset: "width", len: 0, typ: NTI1208044, name: "width", sons: null}]}; +NTI1872289.node = NNI1872289; +NTI1872289.base = NTI1872245; +NTI1872287.base = NTI1872289; +NTI1872655.base = NTI1872287; +NTI1872657.base = NTI1872243; +var NNI1872273 = {kind: 2, len: 6, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "height", len: 0, typ: NTI1208044, name: "height", sons: null}, +{kind: 1, offset: "hspace", len: 0, typ: NTI1208044, name: "hspace", sons: null}, +{kind: 1, offset: "src", len: 0, typ: NTI1208015, name: "src", sons: null}, +{kind: 1, offset: "width", len: 0, typ: NTI1208044, name: "width", sons: null}, +{kind: 1, offset: "type", len: 0, typ: NTI1208015, name: "type", sons: null}, +{kind: 1, offset: "vspace", len: 0, typ: NTI1208044, name: "vspace", sons: null}]}; +NTI1872273.node = NNI1872273; +NTI1872273.base = NTI1872245; +NTI1872271.base = NTI1872273; +NTI1872659.base = NTI1872271; +var NNI1872269 = {kind: 2, len: 4, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "target", len: 0, typ: NTI1208015, name: "target", sons: null}, +{kind: 1, offset: "text", len: 0, typ: NTI1208015, name: "text", sons: null}, +{kind: 1, offset: "x", len: 0, typ: NTI1208044, name: "x", sons: null}, +{kind: 1, offset: "y", len: 0, typ: NTI1208044, name: "y", sons: null}]}; +NTI1872269.node = NNI1872269; +NTI1872269.base = NTI1872245; +NTI1872267.base = NTI1872269; +NTI1872661.base = NTI1872267; +var NNI1873618 = {kind: 1, offset: "then", len: 0, typ: NTI1873619, name: "then", sons: null}; +NTI1873618.node = NNI1873618; +NTI1872385.base = NTI1873618; +var NNI1873626 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "ready", len: 0, typ: NTI1872385, name: "ready", sons: null}, +{kind: 1, offset: "onloadingdone", len: 0, typ: NTI1873628, name: "onloadingdone", sons: null}]}; +NTI1873626.node = NNI1873626; +NTI1872387.base = NTI1873626; +var NNI1872241 = {kind: 2, len: 23, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "activeElement", len: 0, typ: NTI1872243, name: "activeElement", sons: null}, +{kind: 1, offset: "documentElement", len: 0, typ: NTI1872243, name: "documentElement", sons: null}, +{kind: 1, offset: "alinkColor", len: 0, typ: NTI1208015, name: "alinkColor", sons: null}, +{kind: 1, offset: "bgColor", len: 0, typ: NTI1208015, name: "bgColor", sons: null}, +{kind: 1, offset: "body", len: 0, typ: NTI1872243, name: "body", sons: null}, +{kind: 1, offset: "charset", len: 0, typ: NTI1208015, name: "charset", sons: null}, +{kind: 1, offset: "cookie", len: 0, typ: NTI1208015, name: "cookie", sons: null}, +{kind: 1, offset: "defaultCharset", len: 0, typ: NTI1208015, name: "defaultCharset", sons: null}, +{kind: 1, offset: "fgColor", len: 0, typ: NTI1208015, name: "fgColor", sons: null}, +{kind: 1, offset: "head", len: 0, typ: NTI1872243, name: "head", sons: null}, +{kind: 1, offset: "lastModified", len: 0, typ: NTI1208015, name: "lastModified", sons: null}, +{kind: 1, offset: "linkColor", len: 0, typ: NTI1208015, name: "linkColor", sons: null}, +{kind: 1, offset: "referrer", len: 0, typ: NTI1208015, name: "referrer", sons: null}, +{kind: 1, offset: "title", len: 0, typ: NTI1208015, name: "title", sons: null}, +{kind: 1, offset: "URL", len: 0, typ: NTI1208015, name: "URL", sons: null}, +{kind: 1, offset: "vlinkColor", len: 0, typ: NTI1208015, name: "vlinkColor", sons: null}, +{kind: 1, offset: "anchors", len: 0, typ: NTI1872651, name: "anchors", sons: null}, +{kind: 1, offset: "forms", len: 0, typ: NTI1872653, name: "forms", sons: null}, +{kind: 1, offset: "images", len: 0, typ: NTI1872655, name: "images", sons: null}, +{kind: 1, offset: "applets", len: 0, typ: NTI1872657, name: "applets", sons: null}, +{kind: 1, offset: "embeds", len: 0, typ: NTI1872659, name: "embeds", sons: null}, +{kind: 1, offset: "links", len: 0, typ: NTI1872661, name: "links", sons: null}, +{kind: 1, offset: "fonts", len: 0, typ: NTI1872387, name: "fonts", sons: null}]}; +NTI1872241.node = NNI1872241; +NTI1872241.base = NTI1872237; +NTI1872239.base = NTI1872241; +var NNI1872293 = {kind: 2, len: 368, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "alignContent", len: 0, typ: NTI1208015, name: "alignContent", sons: null}, +{kind: 1, offset: "alignItems", len: 0, typ: NTI1208015, name: "alignItems", sons: null}, +{kind: 1, offset: "alignSelf", len: 0, typ: NTI1208015, name: "alignSelf", sons: null}, +{kind: 1, offset: "all", len: 0, typ: NTI1208015, name: "all", sons: null}, +{kind: 1, offset: "animation", len: 0, typ: NTI1208015, name: "animation", sons: null}, +{kind: 1, offset: "animationDelay", len: 0, typ: NTI1208015, name: "animationDelay", sons: null}, +{kind: 1, offset: "animationDirection", len: 0, typ: NTI1208015, name: "animationDirection", sons: null}, +{kind: 1, offset: "animationDuration", len: 0, typ: NTI1208015, name: "animationDuration", sons: null}, +{kind: 1, offset: "animationFillMode", len: 0, typ: NTI1208015, name: "animationFillMode", sons: null}, +{kind: 1, offset: "animationIterationCount", len: 0, typ: NTI1208015, name: "animationIterationCount", sons: null}, +{kind: 1, offset: "animationName", len: 0, typ: NTI1208015, name: "animationName", sons: null}, +{kind: 1, offset: "animationPlayState", len: 0, typ: NTI1208015, name: "animationPlayState", sons: null}, +{kind: 1, offset: "animationTimingFunction", len: 0, typ: NTI1208015, name: "animationTimingFunction", sons: null}, +{kind: 1, offset: "backdropFilter", len: 0, typ: NTI1208015, name: "backdropFilter", sons: null}, +{kind: 1, offset: "backfaceVisibility", len: 0, typ: NTI1208015, name: "backfaceVisibility", sons: null}, +{kind: 1, offset: "background", len: 0, typ: NTI1208015, name: "background", sons: null}, +{kind: 1, offset: "backgroundAttachment", len: 0, typ: NTI1208015, name: "backgroundAttachment", sons: null}, +{kind: 1, offset: "backgroundBlendMode", len: 0, typ: NTI1208015, name: "backgroundBlendMode", sons: null}, +{kind: 1, offset: "backgroundClip", len: 0, typ: NTI1208015, name: "backgroundClip", sons: null}, +{kind: 1, offset: "backgroundColor", len: 0, typ: NTI1208015, name: "backgroundColor", sons: null}, +{kind: 1, offset: "backgroundImage", len: 0, typ: NTI1208015, name: "backgroundImage", sons: null}, +{kind: 1, offset: "backgroundOrigin", len: 0, typ: NTI1208015, name: "backgroundOrigin", sons: null}, +{kind: 1, offset: "backgroundPosition", len: 0, typ: NTI1208015, name: "backgroundPosition", sons: null}, +{kind: 1, offset: "backgroundRepeat", len: 0, typ: NTI1208015, name: "backgroundRepeat", sons: null}, +{kind: 1, offset: "backgroundSize", len: 0, typ: NTI1208015, name: "backgroundSize", sons: null}, +{kind: 1, offset: "blockSize", len: 0, typ: NTI1208015, name: "blockSize", sons: null}, +{kind: 1, offset: "border", len: 0, typ: NTI1208015, name: "border", sons: null}, +{kind: 1, offset: "borderBlock", len: 0, typ: NTI1208015, name: "borderBlock", sons: null}, +{kind: 1, offset: "borderBlockColor", len: 0, typ: NTI1208015, name: "borderBlockColor", sons: null}, +{kind: 1, offset: "borderBlockEnd", len: 0, typ: NTI1208015, name: "borderBlockEnd", sons: null}, +{kind: 1, offset: "borderBlockEndColor", len: 0, typ: NTI1208015, name: "borderBlockEndColor", sons: null}, +{kind: 1, offset: "borderBlockEndStyle", len: 0, typ: NTI1208015, name: "borderBlockEndStyle", sons: null}, +{kind: 1, offset: "borderBlockEndWidth", len: 0, typ: NTI1208015, name: "borderBlockEndWidth", sons: null}, +{kind: 1, offset: "borderBlockStart", len: 0, typ: NTI1208015, name: "borderBlockStart", sons: null}, +{kind: 1, offset: "borderBlockStartColor", len: 0, typ: NTI1208015, name: "borderBlockStartColor", sons: null}, +{kind: 1, offset: "borderBlockStartStyle", len: 0, typ: NTI1208015, name: "borderBlockStartStyle", sons: null}, +{kind: 1, offset: "borderBlockStartWidth", len: 0, typ: NTI1208015, name: "borderBlockStartWidth", sons: null}, +{kind: 1, offset: "borderBlockStyle", len: 0, typ: NTI1208015, name: "borderBlockStyle", sons: null}, +{kind: 1, offset: "borderBlockWidth", len: 0, typ: NTI1208015, name: "borderBlockWidth", sons: null}, +{kind: 1, offset: "borderBottom", len: 0, typ: NTI1208015, name: "borderBottom", sons: null}, +{kind: 1, offset: "borderBottomColor", len: 0, typ: NTI1208015, name: "borderBottomColor", sons: null}, +{kind: 1, offset: "borderBottomLeftRadius", len: 0, typ: NTI1208015, name: "borderBottomLeftRadius", sons: null}, +{kind: 1, offset: "borderBottomRightRadius", len: 0, typ: NTI1208015, name: "borderBottomRightRadius", sons: null}, +{kind: 1, offset: "borderBottomStyle", len: 0, typ: NTI1208015, name: "borderBottomStyle", sons: null}, +{kind: 1, offset: "borderBottomWidth", len: 0, typ: NTI1208015, name: "borderBottomWidth", sons: null}, +{kind: 1, offset: "borderCollapse", len: 0, typ: NTI1208015, name: "borderCollapse", sons: null}, +{kind: 1, offset: "borderColor", len: 0, typ: NTI1208015, name: "borderColor", sons: null}, +{kind: 1, offset: "borderEndEndRadius", len: 0, typ: NTI1208015, name: "borderEndEndRadius", sons: null}, +{kind: 1, offset: "borderEndStartRadius", len: 0, typ: NTI1208015, name: "borderEndStartRadius", sons: null}, +{kind: 1, offset: "borderImage", len: 0, typ: NTI1208015, name: "borderImage", sons: null}, +{kind: 1, offset: "borderImageOutset", len: 0, typ: NTI1208015, name: "borderImageOutset", sons: null}, +{kind: 1, offset: "borderImageRepeat", len: 0, typ: NTI1208015, name: "borderImageRepeat", sons: null}, +{kind: 1, offset: "borderImageSlice", len: 0, typ: NTI1208015, name: "borderImageSlice", sons: null}, +{kind: 1, offset: "borderImageSource", len: 0, typ: NTI1208015, name: "borderImageSource", sons: null}, +{kind: 1, offset: "borderImageWidth", len: 0, typ: NTI1208015, name: "borderImageWidth", sons: null}, +{kind: 1, offset: "borderInline", len: 0, typ: NTI1208015, name: "borderInline", sons: null}, +{kind: 1, offset: "borderInlineColor", len: 0, typ: NTI1208015, name: "borderInlineColor", sons: null}, +{kind: 1, offset: "borderInlineEnd", len: 0, typ: NTI1208015, name: "borderInlineEnd", sons: null}, +{kind: 1, offset: "borderInlineEndColor", len: 0, typ: NTI1208015, name: "borderInlineEndColor", sons: null}, +{kind: 1, offset: "borderInlineEndStyle", len: 0, typ: NTI1208015, name: "borderInlineEndStyle", sons: null}, +{kind: 1, offset: "borderInlineEndWidth", len: 0, typ: NTI1208015, name: "borderInlineEndWidth", sons: null}, +{kind: 1, offset: "borderInlineStart", len: 0, typ: NTI1208015, name: "borderInlineStart", sons: null}, +{kind: 1, offset: "borderInlineStartColor", len: 0, typ: NTI1208015, name: "borderInlineStartColor", sons: null}, +{kind: 1, offset: "borderInlineStartStyle", len: 0, typ: NTI1208015, name: "borderInlineStartStyle", sons: null}, +{kind: 1, offset: "borderInlineStartWidth", len: 0, typ: NTI1208015, name: "borderInlineStartWidth", sons: null}, +{kind: 1, offset: "borderInlineStyle", len: 0, typ: NTI1208015, name: "borderInlineStyle", sons: null}, +{kind: 1, offset: "borderInlineWidth", len: 0, typ: NTI1208015, name: "borderInlineWidth", sons: null}, +{kind: 1, offset: "borderLeft", len: 0, typ: NTI1208015, name: "borderLeft", sons: null}, +{kind: 1, offset: "borderLeftColor", len: 0, typ: NTI1208015, name: "borderLeftColor", sons: null}, +{kind: 1, offset: "borderLeftStyle", len: 0, typ: NTI1208015, name: "borderLeftStyle", sons: null}, +{kind: 1, offset: "borderLeftWidth", len: 0, typ: NTI1208015, name: "borderLeftWidth", sons: null}, +{kind: 1, offset: "borderRadius", len: 0, typ: NTI1208015, name: "borderRadius", sons: null}, +{kind: 1, offset: "borderRight", len: 0, typ: NTI1208015, name: "borderRight", sons: null}, +{kind: 1, offset: "borderRightColor", len: 0, typ: NTI1208015, name: "borderRightColor", sons: null}, +{kind: 1, offset: "borderRightStyle", len: 0, typ: NTI1208015, name: "borderRightStyle", sons: null}, +{kind: 1, offset: "borderRightWidth", len: 0, typ: NTI1208015, name: "borderRightWidth", sons: null}, +{kind: 1, offset: "borderSpacing", len: 0, typ: NTI1208015, name: "borderSpacing", sons: null}, +{kind: 1, offset: "borderStartEndRadius", len: 0, typ: NTI1208015, name: "borderStartEndRadius", sons: null}, +{kind: 1, offset: "borderStartStartRadius", len: 0, typ: NTI1208015, name: "borderStartStartRadius", sons: null}, +{kind: 1, offset: "borderStyle", len: 0, typ: NTI1208015, name: "borderStyle", sons: null}, +{kind: 1, offset: "borderTop", len: 0, typ: NTI1208015, name: "borderTop", sons: null}, +{kind: 1, offset: "borderTopColor", len: 0, typ: NTI1208015, name: "borderTopColor", sons: null}, +{kind: 1, offset: "borderTopLeftRadius", len: 0, typ: NTI1208015, name: "borderTopLeftRadius", sons: null}, +{kind: 1, offset: "borderTopRightRadius", len: 0, typ: NTI1208015, name: "borderTopRightRadius", sons: null}, +{kind: 1, offset: "borderTopStyle", len: 0, typ: NTI1208015, name: "borderTopStyle", sons: null}, +{kind: 1, offset: "borderTopWidth", len: 0, typ: NTI1208015, name: "borderTopWidth", sons: null}, +{kind: 1, offset: "borderWidth", len: 0, typ: NTI1208015, name: "borderWidth", sons: null}, +{kind: 1, offset: "bottom", len: 0, typ: NTI1208015, name: "bottom", sons: null}, +{kind: 1, offset: "boxDecorationBreak", len: 0, typ: NTI1208015, name: "boxDecorationBreak", sons: null}, +{kind: 1, offset: "boxShadow", len: 0, typ: NTI1208015, name: "boxShadow", sons: null}, +{kind: 1, offset: "boxSizing", len: 0, typ: NTI1208015, name: "boxSizing", sons: null}, +{kind: 1, offset: "breakAfter", len: 0, typ: NTI1208015, name: "breakAfter", sons: null}, +{kind: 1, offset: "breakBefore", len: 0, typ: NTI1208015, name: "breakBefore", sons: null}, +{kind: 1, offset: "breakInside", len: 0, typ: NTI1208015, name: "breakInside", sons: null}, +{kind: 1, offset: "captionSide", len: 0, typ: NTI1208015, name: "captionSide", sons: null}, +{kind: 1, offset: "caretColor", len: 0, typ: NTI1208015, name: "caretColor", sons: null}, +{kind: 1, offset: "clear", len: 0, typ: NTI1208015, name: "clear", sons: null}, +{kind: 1, offset: "clip", len: 0, typ: NTI1208015, name: "clip", sons: null}, +{kind: 1, offset: "clipPath", len: 0, typ: NTI1208015, name: "clipPath", sons: null}, +{kind: 1, offset: "color", len: 0, typ: NTI1208015, name: "color", sons: null}, +{kind: 1, offset: "colorAdjust", len: 0, typ: NTI1208015, name: "colorAdjust", sons: null}, +{kind: 1, offset: "columnCount", len: 0, typ: NTI1208015, name: "columnCount", sons: null}, +{kind: 1, offset: "columnFill", len: 0, typ: NTI1208015, name: "columnFill", sons: null}, +{kind: 1, offset: "columnGap", len: 0, typ: NTI1208015, name: "columnGap", sons: null}, +{kind: 1, offset: "columnRule", len: 0, typ: NTI1208015, name: "columnRule", sons: null}, +{kind: 1, offset: "columnRuleColor", len: 0, typ: NTI1208015, name: "columnRuleColor", sons: null}, +{kind: 1, offset: "columnRuleStyle", len: 0, typ: NTI1208015, name: "columnRuleStyle", sons: null}, +{kind: 1, offset: "columnRuleWidth", len: 0, typ: NTI1208015, name: "columnRuleWidth", sons: null}, +{kind: 1, offset: "columnSpan", len: 0, typ: NTI1208015, name: "columnSpan", sons: null}, +{kind: 1, offset: "columnWidth", len: 0, typ: NTI1208015, name: "columnWidth", sons: null}, +{kind: 1, offset: "columns", len: 0, typ: NTI1208015, name: "columns", sons: null}, +{kind: 1, offset: "contain", len: 0, typ: NTI1208015, name: "contain", sons: null}, +{kind: 1, offset: "content", len: 0, typ: NTI1208015, name: "content", sons: null}, +{kind: 1, offset: "counterIncrement", len: 0, typ: NTI1208015, name: "counterIncrement", sons: null}, +{kind: 1, offset: "counterReset", len: 0, typ: NTI1208015, name: "counterReset", sons: null}, +{kind: 1, offset: "counterSet", len: 0, typ: NTI1208015, name: "counterSet", sons: null}, +{kind: 1, offset: "cursor", len: 0, typ: NTI1208015, name: "cursor", sons: null}, +{kind: 1, offset: "direction", len: 0, typ: NTI1208015, name: "direction", sons: null}, +{kind: 1, offset: "display", len: 0, typ: NTI1208015, name: "display", sons: null}, +{kind: 1, offset: "emptyCells", len: 0, typ: NTI1208015, name: "emptyCells", sons: null}, +{kind: 1, offset: "filter", len: 0, typ: NTI1208015, name: "filter", sons: null}, +{kind: 1, offset: "flex", len: 0, typ: NTI1208015, name: "flex", sons: null}, +{kind: 1, offset: "flexBasis", len: 0, typ: NTI1208015, name: "flexBasis", sons: null}, +{kind: 1, offset: "flexDirection", len: 0, typ: NTI1208015, name: "flexDirection", sons: null}, +{kind: 1, offset: "flexFlow", len: 0, typ: NTI1208015, name: "flexFlow", sons: null}, +{kind: 1, offset: "flexGrow", len: 0, typ: NTI1208015, name: "flexGrow", sons: null}, +{kind: 1, offset: "flexShrink", len: 0, typ: NTI1208015, name: "flexShrink", sons: null}, +{kind: 1, offset: "flexWrap", len: 0, typ: NTI1208015, name: "flexWrap", sons: null}, +{kind: 1, offset: "cssFloat", len: 0, typ: NTI1208015, name: "cssFloat", sons: null}, +{kind: 1, offset: "font", len: 0, typ: NTI1208015, name: "font", sons: null}, +{kind: 1, offset: "fontFamily", len: 0, typ: NTI1208015, name: "fontFamily", sons: null}, +{kind: 1, offset: "fontFeatureSettings", len: 0, typ: NTI1208015, name: "fontFeatureSettings", sons: null}, +{kind: 1, offset: "fontKerning", len: 0, typ: NTI1208015, name: "fontKerning", sons: null}, +{kind: 1, offset: "fontLanguageOverride", len: 0, typ: NTI1208015, name: "fontLanguageOverride", sons: null}, +{kind: 1, offset: "fontOpticalSizing", len: 0, typ: NTI1208015, name: "fontOpticalSizing", sons: null}, +{kind: 1, offset: "fontSize", len: 0, typ: NTI1208015, name: "fontSize", sons: null}, +{kind: 1, offset: "fontSizeAdjust", len: 0, typ: NTI1208015, name: "fontSizeAdjust", sons: null}, +{kind: 1, offset: "fontStretch", len: 0, typ: NTI1208015, name: "fontStretch", sons: null}, +{kind: 1, offset: "fontStyle", len: 0, typ: NTI1208015, name: "fontStyle", sons: null}, +{kind: 1, offset: "fontSynthesis", len: 0, typ: NTI1208015, name: "fontSynthesis", sons: null}, +{kind: 1, offset: "fontVariant", len: 0, typ: NTI1208015, name: "fontVariant", sons: null}, +{kind: 1, offset: "fontVariantAlternates", len: 0, typ: NTI1208015, name: "fontVariantAlternates", sons: null}, +{kind: 1, offset: "fontVariantCaps", len: 0, typ: NTI1208015, name: "fontVariantCaps", sons: null}, +{kind: 1, offset: "fontVariantEastAsian", len: 0, typ: NTI1208015, name: "fontVariantEastAsian", sons: null}, +{kind: 1, offset: "fontVariantLigatures", len: 0, typ: NTI1208015, name: "fontVariantLigatures", sons: null}, +{kind: 1, offset: "fontVariantNumeric", len: 0, typ: NTI1208015, name: "fontVariantNumeric", sons: null}, +{kind: 1, offset: "fontVariantPosition", len: 0, typ: NTI1208015, name: "fontVariantPosition", sons: null}, +{kind: 1, offset: "fontVariationSettings", len: 0, typ: NTI1208015, name: "fontVariationSettings", sons: null}, +{kind: 1, offset: "fontWeight", len: 0, typ: NTI1208015, name: "fontWeight", sons: null}, +{kind: 1, offset: "gap", len: 0, typ: NTI1208015, name: "gap", sons: null}, +{kind: 1, offset: "grid", len: 0, typ: NTI1208015, name: "grid", sons: null}, +{kind: 1, offset: "gridArea", len: 0, typ: NTI1208015, name: "gridArea", sons: null}, +{kind: 1, offset: "gridAutoColumns", len: 0, typ: NTI1208015, name: "gridAutoColumns", sons: null}, +{kind: 1, offset: "gridAutoFlow", len: 0, typ: NTI1208015, name: "gridAutoFlow", sons: null}, +{kind: 1, offset: "gridAutoRows", len: 0, typ: NTI1208015, name: "gridAutoRows", sons: null}, +{kind: 1, offset: "gridColumn", len: 0, typ: NTI1208015, name: "gridColumn", sons: null}, +{kind: 1, offset: "gridColumnEnd", len: 0, typ: NTI1208015, name: "gridColumnEnd", sons: null}, +{kind: 1, offset: "gridColumnStart", len: 0, typ: NTI1208015, name: "gridColumnStart", sons: null}, +{kind: 1, offset: "gridRow", len: 0, typ: NTI1208015, name: "gridRow", sons: null}, +{kind: 1, offset: "gridRowEnd", len: 0, typ: NTI1208015, name: "gridRowEnd", sons: null}, +{kind: 1, offset: "gridRowStart", len: 0, typ: NTI1208015, name: "gridRowStart", sons: null}, +{kind: 1, offset: "gridTemplate", len: 0, typ: NTI1208015, name: "gridTemplate", sons: null}, +{kind: 1, offset: "gridTemplateAreas", len: 0, typ: NTI1208015, name: "gridTemplateAreas", sons: null}, +{kind: 1, offset: "gridTemplateColumns", len: 0, typ: NTI1208015, name: "gridTemplateColumns", sons: null}, +{kind: 1, offset: "gridTemplateRows", len: 0, typ: NTI1208015, name: "gridTemplateRows", sons: null}, +{kind: 1, offset: "hangingPunctuation", len: 0, typ: NTI1208015, name: "hangingPunctuation", sons: null}, +{kind: 1, offset: "height", len: 0, typ: NTI1208015, name: "height", sons: null}, +{kind: 1, offset: "hyphens", len: 0, typ: NTI1208015, name: "hyphens", sons: null}, +{kind: 1, offset: "imageOrientation", len: 0, typ: NTI1208015, name: "imageOrientation", sons: null}, +{kind: 1, offset: "imageRendering", len: 0, typ: NTI1208015, name: "imageRendering", sons: null}, +{kind: 1, offset: "inlineSize", len: 0, typ: NTI1208015, name: "inlineSize", sons: null}, +{kind: 1, offset: "inset", len: 0, typ: NTI1208015, name: "inset", sons: null}, +{kind: 1, offset: "insetBlock", len: 0, typ: NTI1208015, name: "insetBlock", sons: null}, +{kind: 1, offset: "insetBlockEnd", len: 0, typ: NTI1208015, name: "insetBlockEnd", sons: null}, +{kind: 1, offset: "insetBlockStart", len: 0, typ: NTI1208015, name: "insetBlockStart", sons: null}, +{kind: 1, offset: "insetInline", len: 0, typ: NTI1208015, name: "insetInline", sons: null}, +{kind: 1, offset: "insetInlineEnd", len: 0, typ: NTI1208015, name: "insetInlineEnd", sons: null}, +{kind: 1, offset: "insetInlineStart", len: 0, typ: NTI1208015, name: "insetInlineStart", sons: null}, +{kind: 1, offset: "isolation", len: 0, typ: NTI1208015, name: "isolation", sons: null}, +{kind: 1, offset: "justifyContent", len: 0, typ: NTI1208015, name: "justifyContent", sons: null}, +{kind: 1, offset: "justifyItems", len: 0, typ: NTI1208015, name: "justifyItems", sons: null}, +{kind: 1, offset: "justifySelf", len: 0, typ: NTI1208015, name: "justifySelf", sons: null}, +{kind: 1, offset: "left", len: 0, typ: NTI1208015, name: "left", sons: null}, +{kind: 1, offset: "letterSpacing", len: 0, typ: NTI1208015, name: "letterSpacing", sons: null}, +{kind: 1, offset: "lineBreak", len: 0, typ: NTI1208015, name: "lineBreak", sons: null}, +{kind: 1, offset: "lineHeight", len: 0, typ: NTI1208015, name: "lineHeight", sons: null}, +{kind: 1, offset: "listStyle", len: 0, typ: NTI1208015, name: "listStyle", sons: null}, +{kind: 1, offset: "listStyleImage", len: 0, typ: NTI1208015, name: "listStyleImage", sons: null}, +{kind: 1, offset: "listStylePosition", len: 0, typ: NTI1208015, name: "listStylePosition", sons: null}, +{kind: 1, offset: "listStyleType", len: 0, typ: NTI1208015, name: "listStyleType", sons: null}, +{kind: 1, offset: "margin", len: 0, typ: NTI1208015, name: "margin", sons: null}, +{kind: 1, offset: "marginBlock", len: 0, typ: NTI1208015, name: "marginBlock", sons: null}, +{kind: 1, offset: "marginBlockEnd", len: 0, typ: NTI1208015, name: "marginBlockEnd", sons: null}, +{kind: 1, offset: "marginBlockStart", len: 0, typ: NTI1208015, name: "marginBlockStart", sons: null}, +{kind: 1, offset: "marginBottom", len: 0, typ: NTI1208015, name: "marginBottom", sons: null}, +{kind: 1, offset: "marginInline", len: 0, typ: NTI1208015, name: "marginInline", sons: null}, +{kind: 1, offset: "marginInlineEnd", len: 0, typ: NTI1208015, name: "marginInlineEnd", sons: null}, +{kind: 1, offset: "marginInlineStart", len: 0, typ: NTI1208015, name: "marginInlineStart", sons: null}, +{kind: 1, offset: "marginLeft", len: 0, typ: NTI1208015, name: "marginLeft", sons: null}, +{kind: 1, offset: "marginRight", len: 0, typ: NTI1208015, name: "marginRight", sons: null}, +{kind: 1, offset: "marginTop", len: 0, typ: NTI1208015, name: "marginTop", sons: null}, +{kind: 1, offset: "mask", len: 0, typ: NTI1208015, name: "mask", sons: null}, +{kind: 1, offset: "maskBorder", len: 0, typ: NTI1208015, name: "maskBorder", sons: null}, +{kind: 1, offset: "maskBorderMode", len: 0, typ: NTI1208015, name: "maskBorderMode", sons: null}, +{kind: 1, offset: "maskBorderOutset", len: 0, typ: NTI1208015, name: "maskBorderOutset", sons: null}, +{kind: 1, offset: "maskBorderRepeat", len: 0, typ: NTI1208015, name: "maskBorderRepeat", sons: null}, +{kind: 1, offset: "maskBorderSlice", len: 0, typ: NTI1208015, name: "maskBorderSlice", sons: null}, +{kind: 1, offset: "maskBorderSource", len: 0, typ: NTI1208015, name: "maskBorderSource", sons: null}, +{kind: 1, offset: "maskBorderWidth", len: 0, typ: NTI1208015, name: "maskBorderWidth", sons: null}, +{kind: 1, offset: "maskClip", len: 0, typ: NTI1208015, name: "maskClip", sons: null}, +{kind: 1, offset: "maskComposite", len: 0, typ: NTI1208015, name: "maskComposite", sons: null}, +{kind: 1, offset: "maskImage", len: 0, typ: NTI1208015, name: "maskImage", sons: null}, +{kind: 1, offset: "maskMode", len: 0, typ: NTI1208015, name: "maskMode", sons: null}, +{kind: 1, offset: "maskOrigin", len: 0, typ: NTI1208015, name: "maskOrigin", sons: null}, +{kind: 1, offset: "maskPosition", len: 0, typ: NTI1208015, name: "maskPosition", sons: null}, +{kind: 1, offset: "maskRepeat", len: 0, typ: NTI1208015, name: "maskRepeat", sons: null}, +{kind: 1, offset: "maskSize", len: 0, typ: NTI1208015, name: "maskSize", sons: null}, +{kind: 1, offset: "maskType", len: 0, typ: NTI1208015, name: "maskType", sons: null}, +{kind: 1, offset: "maxBlockSize", len: 0, typ: NTI1208015, name: "maxBlockSize", sons: null}, +{kind: 1, offset: "maxHeight", len: 0, typ: NTI1208015, name: "maxHeight", sons: null}, +{kind: 1, offset: "maxInlineSize", len: 0, typ: NTI1208015, name: "maxInlineSize", sons: null}, +{kind: 1, offset: "maxWidth", len: 0, typ: NTI1208015, name: "maxWidth", sons: null}, +{kind: 1, offset: "minBlockSize", len: 0, typ: NTI1208015, name: "minBlockSize", sons: null}, +{kind: 1, offset: "minHeight", len: 0, typ: NTI1208015, name: "minHeight", sons: null}, +{kind: 1, offset: "minInlineSize", len: 0, typ: NTI1208015, name: "minInlineSize", sons: null}, +{kind: 1, offset: "minWidth", len: 0, typ: NTI1208015, name: "minWidth", sons: null}, +{kind: 1, offset: "mixBlendMode", len: 0, typ: NTI1208015, name: "mixBlendMode", sons: null}, +{kind: 1, offset: "objectFit", len: 0, typ: NTI1208015, name: "objectFit", sons: null}, +{kind: 1, offset: "objectPosition", len: 0, typ: NTI1208015, name: "objectPosition", sons: null}, +{kind: 1, offset: "offset", len: 0, typ: NTI1208015, name: "offset", sons: null}, +{kind: 1, offset: "offsetAnchor", len: 0, typ: NTI1208015, name: "offsetAnchor", sons: null}, +{kind: 1, offset: "offsetDistance", len: 0, typ: NTI1208015, name: "offsetDistance", sons: null}, +{kind: 1, offset: "offsetPath", len: 0, typ: NTI1208015, name: "offsetPath", sons: null}, +{kind: 1, offset: "offsetRotate", len: 0, typ: NTI1208015, name: "offsetRotate", sons: null}, +{kind: 1, offset: "opacity", len: 0, typ: NTI1208015, name: "opacity", sons: null}, +{kind: 1, offset: "order", len: 0, typ: NTI1208015, name: "order", sons: null}, +{kind: 1, offset: "orphans", len: 0, typ: NTI1208015, name: "orphans", sons: null}, +{kind: 1, offset: "outline", len: 0, typ: NTI1208015, name: "outline", sons: null}, +{kind: 1, offset: "outlineColor", len: 0, typ: NTI1208015, name: "outlineColor", sons: null}, +{kind: 1, offset: "outlineOffset", len: 0, typ: NTI1208015, name: "outlineOffset", sons: null}, +{kind: 1, offset: "outlineStyle", len: 0, typ: NTI1208015, name: "outlineStyle", sons: null}, +{kind: 1, offset: "outlineWidth", len: 0, typ: NTI1208015, name: "outlineWidth", sons: null}, +{kind: 1, offset: "overflow", len: 0, typ: NTI1208015, name: "overflow", sons: null}, +{kind: 1, offset: "overflowAnchor", len: 0, typ: NTI1208015, name: "overflowAnchor", sons: null}, +{kind: 1, offset: "overflowBlock", len: 0, typ: NTI1208015, name: "overflowBlock", sons: null}, +{kind: 1, offset: "overflowInline", len: 0, typ: NTI1208015, name: "overflowInline", sons: null}, +{kind: 1, offset: "overflowWrap", len: 0, typ: NTI1208015, name: "overflowWrap", sons: null}, +{kind: 1, offset: "overflowX", len: 0, typ: NTI1208015, name: "overflowX", sons: null}, +{kind: 1, offset: "overflowY", len: 0, typ: NTI1208015, name: "overflowY", sons: null}, +{kind: 1, offset: "overscrollBehavior", len: 0, typ: NTI1208015, name: "overscrollBehavior", sons: null}, +{kind: 1, offset: "overscrollBehaviorBlock", len: 0, typ: NTI1208015, name: "overscrollBehaviorBlock", sons: null}, +{kind: 1, offset: "overscrollBehaviorInline", len: 0, typ: NTI1208015, name: "overscrollBehaviorInline", sons: null}, +{kind: 1, offset: "overscrollBehaviorX", len: 0, typ: NTI1208015, name: "overscrollBehaviorX", sons: null}, +{kind: 1, offset: "overscrollBehaviorY", len: 0, typ: NTI1208015, name: "overscrollBehaviorY", sons: null}, +{kind: 1, offset: "padding", len: 0, typ: NTI1208015, name: "padding", sons: null}, +{kind: 1, offset: "paddingBlock", len: 0, typ: NTI1208015, name: "paddingBlock", sons: null}, +{kind: 1, offset: "paddingBlockEnd", len: 0, typ: NTI1208015, name: "paddingBlockEnd", sons: null}, +{kind: 1, offset: "paddingBlockStart", len: 0, typ: NTI1208015, name: "paddingBlockStart", sons: null}, +{kind: 1, offset: "paddingBottom", len: 0, typ: NTI1208015, name: "paddingBottom", sons: null}, +{kind: 1, offset: "paddingInline", len: 0, typ: NTI1208015, name: "paddingInline", sons: null}, +{kind: 1, offset: "paddingInlineEnd", len: 0, typ: NTI1208015, name: "paddingInlineEnd", sons: null}, +{kind: 1, offset: "paddingInlineStart", len: 0, typ: NTI1208015, name: "paddingInlineStart", sons: null}, +{kind: 1, offset: "paddingLeft", len: 0, typ: NTI1208015, name: "paddingLeft", sons: null}, +{kind: 1, offset: "paddingRight", len: 0, typ: NTI1208015, name: "paddingRight", sons: null}, +{kind: 1, offset: "paddingTop", len: 0, typ: NTI1208015, name: "paddingTop", sons: null}, +{kind: 1, offset: "pageBreakAfter", len: 0, typ: NTI1208015, name: "pageBreakAfter", sons: null}, +{kind: 1, offset: "pageBreakBefore", len: 0, typ: NTI1208015, name: "pageBreakBefore", sons: null}, +{kind: 1, offset: "pageBreakInside", len: 0, typ: NTI1208015, name: "pageBreakInside", sons: null}, +{kind: 1, offset: "paintOrder", len: 0, typ: NTI1208015, name: "paintOrder", sons: null}, +{kind: 1, offset: "perspective", len: 0, typ: NTI1208015, name: "perspective", sons: null}, +{kind: 1, offset: "perspectiveOrigin", len: 0, typ: NTI1208015, name: "perspectiveOrigin", sons: null}, +{kind: 1, offset: "placeContent", len: 0, typ: NTI1208015, name: "placeContent", sons: null}, +{kind: 1, offset: "placeItems", len: 0, typ: NTI1208015, name: "placeItems", sons: null}, +{kind: 1, offset: "placeSelf", len: 0, typ: NTI1208015, name: "placeSelf", sons: null}, +{kind: 1, offset: "pointerEvents", len: 0, typ: NTI1208015, name: "pointerEvents", sons: null}, +{kind: 1, offset: "position", len: 0, typ: NTI1208015, name: "position", sons: null}, +{kind: 1, offset: "quotes", len: 0, typ: NTI1208015, name: "quotes", sons: null}, +{kind: 1, offset: "resize", len: 0, typ: NTI1208015, name: "resize", sons: null}, +{kind: 1, offset: "right", len: 0, typ: NTI1208015, name: "right", sons: null}, +{kind: 1, offset: "rotate", len: 0, typ: NTI1208015, name: "rotate", sons: null}, +{kind: 1, offset: "rowGap", len: 0, typ: NTI1208015, name: "rowGap", sons: null}, +{kind: 1, offset: "scale", len: 0, typ: NTI1208015, name: "scale", sons: null}, +{kind: 1, offset: "scrollBehavior", len: 0, typ: NTI1208015, name: "scrollBehavior", sons: null}, +{kind: 1, offset: "scrollMargin", len: 0, typ: NTI1208015, name: "scrollMargin", sons: null}, +{kind: 1, offset: "scrollMarginBlock", len: 0, typ: NTI1208015, name: "scrollMarginBlock", sons: null}, +{kind: 1, offset: "scrollMarginBlockEnd", len: 0, typ: NTI1208015, name: "scrollMarginBlockEnd", sons: null}, +{kind: 1, offset: "scrollMarginBlockStart", len: 0, typ: NTI1208015, name: "scrollMarginBlockStart", sons: null}, +{kind: 1, offset: "scrollMarginBottom", len: 0, typ: NTI1208015, name: "scrollMarginBottom", sons: null}, +{kind: 1, offset: "scrollMarginInline", len: 0, typ: NTI1208015, name: "scrollMarginInline", sons: null}, +{kind: 1, offset: "scrollMarginInlineEnd", len: 0, typ: NTI1208015, name: "scrollMarginInlineEnd", sons: null}, +{kind: 1, offset: "scrollMarginInlineStart", len: 0, typ: NTI1208015, name: "scrollMarginInlineStart", sons: null}, +{kind: 1, offset: "scrollMarginLeft", len: 0, typ: NTI1208015, name: "scrollMarginLeft", sons: null}, +{kind: 1, offset: "scrollMarginRight", len: 0, typ: NTI1208015, name: "scrollMarginRight", sons: null}, +{kind: 1, offset: "scrollMarginTop", len: 0, typ: NTI1208015, name: "scrollMarginTop", sons: null}, +{kind: 1, offset: "scrollPadding", len: 0, typ: NTI1208015, name: "scrollPadding", sons: null}, +{kind: 1, offset: "scrollPaddingBlock", len: 0, typ: NTI1208015, name: "scrollPaddingBlock", sons: null}, +{kind: 1, offset: "scrollPaddingBlockEnd", len: 0, typ: NTI1208015, name: "scrollPaddingBlockEnd", sons: null}, +{kind: 1, offset: "scrollPaddingBlockStart", len: 0, typ: NTI1208015, name: "scrollPaddingBlockStart", sons: null}, +{kind: 1, offset: "scrollPaddingBottom", len: 0, typ: NTI1208015, name: "scrollPaddingBottom", sons: null}, +{kind: 1, offset: "scrollPaddingInline", len: 0, typ: NTI1208015, name: "scrollPaddingInline", sons: null}, +{kind: 1, offset: "scrollPaddingInlineEnd", len: 0, typ: NTI1208015, name: "scrollPaddingInlineEnd", sons: null}, +{kind: 1, offset: "scrollPaddingInlineStart", len: 0, typ: NTI1208015, name: "scrollPaddingInlineStart", sons: null}, +{kind: 1, offset: "scrollPaddingLeft", len: 0, typ: NTI1208015, name: "scrollPaddingLeft", sons: null}, +{kind: 1, offset: "scrollPaddingRight", len: 0, typ: NTI1208015, name: "scrollPaddingRight", sons: null}, +{kind: 1, offset: "scrollPaddingTop", len: 0, typ: NTI1208015, name: "scrollPaddingTop", sons: null}, +{kind: 1, offset: "scrollSnapAlign", len: 0, typ: NTI1208015, name: "scrollSnapAlign", sons: null}, +{kind: 1, offset: "scrollSnapStop", len: 0, typ: NTI1208015, name: "scrollSnapStop", sons: null}, +{kind: 1, offset: "scrollSnapType", len: 0, typ: NTI1208015, name: "scrollSnapType", sons: null}, +{kind: 1, offset: "scrollbar3dLightColor", len: 0, typ: NTI1208015, name: "scrollbar3dLightColor", sons: null}, +{kind: 1, offset: "scrollbarArrowColor", len: 0, typ: NTI1208015, name: "scrollbarArrowColor", sons: null}, +{kind: 1, offset: "scrollbarBaseColor", len: 0, typ: NTI1208015, name: "scrollbarBaseColor", sons: null}, +{kind: 1, offset: "scrollbarColor", len: 0, typ: NTI1208015, name: "scrollbarColor", sons: null}, +{kind: 1, offset: "scrollbarDarkshadowColor", len: 0, typ: NTI1208015, name: "scrollbarDarkshadowColor", sons: null}, +{kind: 1, offset: "scrollbarFaceColor", len: 0, typ: NTI1208015, name: "scrollbarFaceColor", sons: null}, +{kind: 1, offset: "scrollbarHighlightColor", len: 0, typ: NTI1208015, name: "scrollbarHighlightColor", sons: null}, +{kind: 1, offset: "scrollbarShadowColor", len: 0, typ: NTI1208015, name: "scrollbarShadowColor", sons: null}, +{kind: 1, offset: "scrollbarTrackColor", len: 0, typ: NTI1208015, name: "scrollbarTrackColor", sons: null}, +{kind: 1, offset: "scrollbarWidth", len: 0, typ: NTI1208015, name: "scrollbarWidth", sons: null}, +{kind: 1, offset: "shapeImageThreshold", len: 0, typ: NTI1208015, name: "shapeImageThreshold", sons: null}, +{kind: 1, offset: "shapeMargin", len: 0, typ: NTI1208015, name: "shapeMargin", sons: null}, +{kind: 1, offset: "shapeOutside", len: 0, typ: NTI1208015, name: "shapeOutside", sons: null}, +{kind: 1, offset: "tabSize", len: 0, typ: NTI1208015, name: "tabSize", sons: null}, +{kind: 1, offset: "tableLayout", len: 0, typ: NTI1208015, name: "tableLayout", sons: null}, +{kind: 1, offset: "textAlign", len: 0, typ: NTI1208015, name: "textAlign", sons: null}, +{kind: 1, offset: "textAlignLast", len: 0, typ: NTI1208015, name: "textAlignLast", sons: null}, +{kind: 1, offset: "textCombineUpright", len: 0, typ: NTI1208015, name: "textCombineUpright", sons: null}, +{kind: 1, offset: "textDecoration", len: 0, typ: NTI1208015, name: "textDecoration", sons: null}, +{kind: 1, offset: "textDecorationColor", len: 0, typ: NTI1208015, name: "textDecorationColor", sons: null}, +{kind: 1, offset: "textDecorationLine", len: 0, typ: NTI1208015, name: "textDecorationLine", sons: null}, +{kind: 1, offset: "textDecorationSkipInk", len: 0, typ: NTI1208015, name: "textDecorationSkipInk", sons: null}, +{kind: 1, offset: "textDecorationStyle", len: 0, typ: NTI1208015, name: "textDecorationStyle", sons: null}, +{kind: 1, offset: "textDecorationThickness", len: 0, typ: NTI1208015, name: "textDecorationThickness", sons: null}, +{kind: 1, offset: "textEmphasis", len: 0, typ: NTI1208015, name: "textEmphasis", sons: null}, +{kind: 1, offset: "textEmphasisColor", len: 0, typ: NTI1208015, name: "textEmphasisColor", sons: null}, +{kind: 1, offset: "textEmphasisPosition", len: 0, typ: NTI1208015, name: "textEmphasisPosition", sons: null}, +{kind: 1, offset: "textEmphasisStyle", len: 0, typ: NTI1208015, name: "textEmphasisStyle", sons: null}, +{kind: 1, offset: "textIndent", len: 0, typ: NTI1208015, name: "textIndent", sons: null}, +{kind: 1, offset: "textJustify", len: 0, typ: NTI1208015, name: "textJustify", sons: null}, +{kind: 1, offset: "textOrientation", len: 0, typ: NTI1208015, name: "textOrientation", sons: null}, +{kind: 1, offset: "textOverflow", len: 0, typ: NTI1208015, name: "textOverflow", sons: null}, +{kind: 1, offset: "textRendering", len: 0, typ: NTI1208015, name: "textRendering", sons: null}, +{kind: 1, offset: "textShadow", len: 0, typ: NTI1208015, name: "textShadow", sons: null}, +{kind: 1, offset: "textTransform", len: 0, typ: NTI1208015, name: "textTransform", sons: null}, +{kind: 1, offset: "textUnderlineOffset", len: 0, typ: NTI1208015, name: "textUnderlineOffset", sons: null}, +{kind: 1, offset: "textUnderlinePosition", len: 0, typ: NTI1208015, name: "textUnderlinePosition", sons: null}, +{kind: 1, offset: "top", len: 0, typ: NTI1208015, name: "top", sons: null}, +{kind: 1, offset: "touchAction", len: 0, typ: NTI1208015, name: "touchAction", sons: null}, +{kind: 1, offset: "transform", len: 0, typ: NTI1208015, name: "transform", sons: null}, +{kind: 1, offset: "transformBox", len: 0, typ: NTI1208015, name: "transformBox", sons: null}, +{kind: 1, offset: "transformOrigin", len: 0, typ: NTI1208015, name: "transformOrigin", sons: null}, +{kind: 1, offset: "transformStyle", len: 0, typ: NTI1208015, name: "transformStyle", sons: null}, +{kind: 1, offset: "transition", len: 0, typ: NTI1208015, name: "transition", sons: null}, +{kind: 1, offset: "transitionDelay", len: 0, typ: NTI1208015, name: "transitionDelay", sons: null}, +{kind: 1, offset: "transitionDuration", len: 0, typ: NTI1208015, name: "transitionDuration", sons: null}, +{kind: 1, offset: "transitionProperty", len: 0, typ: NTI1208015, name: "transitionProperty", sons: null}, +{kind: 1, offset: "transitionTimingFunction", len: 0, typ: NTI1208015, name: "transitionTimingFunction", sons: null}, +{kind: 1, offset: "translate", len: 0, typ: NTI1208015, name: "translate", sons: null}, +{kind: 1, offset: "unicodeBidi", len: 0, typ: NTI1208015, name: "unicodeBidi", sons: null}, +{kind: 1, offset: "verticalAlign", len: 0, typ: NTI1208015, name: "verticalAlign", sons: null}, +{kind: 1, offset: "visibility", len: 0, typ: NTI1208015, name: "visibility", sons: null}, +{kind: 1, offset: "whiteSpace", len: 0, typ: NTI1208015, name: "whiteSpace", sons: null}, +{kind: 1, offset: "widows", len: 0, typ: NTI1208015, name: "widows", sons: null}, +{kind: 1, offset: "width", len: 0, typ: NTI1208015, name: "width", sons: null}, +{kind: 1, offset: "willChange", len: 0, typ: NTI1208015, name: "willChange", sons: null}, +{kind: 1, offset: "wordBreak", len: 0, typ: NTI1208015, name: "wordBreak", sons: null}, +{kind: 1, offset: "wordSpacing", len: 0, typ: NTI1208015, name: "wordSpacing", sons: null}, +{kind: 1, offset: "writingMode", len: 0, typ: NTI1208015, name: "writingMode", sons: null}, +{kind: 1, offset: "zIndex", len: 0, typ: NTI1208015, name: "zIndex", sons: null}]}; +NTI1872293.node = NNI1872293; +NTI1872293.base = NTI1214408; +NTI1872291.base = NTI1872293; +var NNI1872237 = {kind: 2, len: 22, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "attributes", len: 0, typ: NTI1872610, name: "attributes", sons: null}, +{kind: 1, offset: "childNodes", len: 0, typ: NTI1872612, name: "childNodes", sons: null}, +{kind: 1, offset: "children", len: 0, typ: NTI1872614, name: "children", sons: null}, +{kind: 1, offset: "data", len: 0, typ: NTI1208015, name: "data", sons: null}, +{kind: 1, offset: "firstChild", len: 0, typ: NTI1872235, name: "firstChild", sons: null}, +{kind: 1, offset: "lastChild", len: 0, typ: NTI1872235, name: "lastChild", sons: null}, +{kind: 1, offset: "nextSibling", len: 0, typ: NTI1872235, name: "nextSibling", sons: null}, +{kind: 1, offset: "nodeName", len: 0, typ: NTI1208015, name: "nodeName", sons: null}, +{kind: 1, offset: "nodeType", len: 0, typ: NTI1872233, name: "nodeType", sons: null}, +{kind: 1, offset: "nodeValue", len: 0, typ: NTI1208015, name: "nodeValue", sons: null}, +{kind: 1, offset: "parentNode", len: 0, typ: NTI1872235, name: "parentNode", sons: null}, +{kind: 1, offset: "content", len: 0, typ: NTI1872235, name: "content", sons: null}, +{kind: 1, offset: "previousSibling", len: 0, typ: NTI1872235, name: "previousSibling", sons: null}, +{kind: 1, offset: "ownerDocument", len: 0, typ: NTI1872239, name: "ownerDocument", sons: null}, +{kind: 1, offset: "innerHTML", len: 0, typ: NTI1208015, name: "innerHTML", sons: null}, +{kind: 1, offset: "outerHTML", len: 0, typ: NTI1208015, name: "outerHTML", sons: null}, +{kind: 1, offset: "innerText", len: 0, typ: NTI1208015, name: "innerText", sons: null}, +{kind: 1, offset: "textContent", len: 0, typ: NTI1208015, name: "textContent", sons: null}, +{kind: 1, offset: "style", len: 0, typ: NTI1872291, name: "style", sons: null}, +{kind: 1, offset: "baseURI", len: 0, typ: NTI1208015, name: "baseURI", sons: null}, +{kind: 1, offset: "parentElement", len: 0, typ: NTI1872243, name: "parentElement", sons: null}, +{kind: 1, offset: "isConnected", len: 0, typ: NTI1208064, name: "isConnected", sons: null}]}; +NTI1872237.node = NNI1872237; +var NNI1872205 = {kind: 2, len: 23, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "onabort", len: 0, typ: NTI1872388, name: "onabort", sons: null}, +{kind: 1, offset: "onblur", len: 0, typ: NTI1872392, name: "onblur", sons: null}, +{kind: 1, offset: "onchange", len: 0, typ: NTI1872396, name: "onchange", sons: null}, +{kind: 1, offset: "onclick", len: 0, typ: NTI1872400, name: "onclick", sons: null}, +{kind: 1, offset: "ondblclick", len: 0, typ: NTI1872404, name: "ondblclick", sons: null}, +{kind: 1, offset: "onerror", len: 0, typ: NTI1872408, name: "onerror", sons: null}, +{kind: 1, offset: "onfocus", len: 0, typ: NTI1872412, name: "onfocus", sons: null}, +{kind: 1, offset: "onkeydown", len: 0, typ: NTI1872416, name: "onkeydown", sons: null}, +{kind: 1, offset: "onkeypress", len: 0, typ: NTI1872420, name: "onkeypress", sons: null}, +{kind: 1, offset: "onkeyup", len: 0, typ: NTI1872424, name: "onkeyup", sons: null}, +{kind: 1, offset: "onload", len: 0, typ: NTI1872428, name: "onload", sons: null}, +{kind: 1, offset: "onmousedown", len: 0, typ: NTI1872432, name: "onmousedown", sons: null}, +{kind: 1, offset: "onmousemove", len: 0, typ: NTI1872436, name: "onmousemove", sons: null}, +{kind: 1, offset: "onmouseout", len: 0, typ: NTI1872440, name: "onmouseout", sons: null}, +{kind: 1, offset: "onmouseover", len: 0, typ: NTI1872444, name: "onmouseover", sons: null}, +{kind: 1, offset: "onmouseup", len: 0, typ: NTI1872448, name: "onmouseup", sons: null}, +{kind: 1, offset: "onreset", len: 0, typ: NTI1872452, name: "onreset", sons: null}, +{kind: 1, offset: "onselect", len: 0, typ: NTI1872456, name: "onselect", sons: null}, +{kind: 1, offset: "onsubmit", len: 0, typ: NTI1872460, name: "onsubmit", sons: null}, +{kind: 1, offset: "onunload", len: 0, typ: NTI1872464, name: "onunload", sons: null}, +{kind: 1, offset: "onloadstart", len: 0, typ: NTI1872468, name: "onloadstart", sons: null}, +{kind: 1, offset: "onprogress", len: 0, typ: NTI1872472, name: "onprogress", sons: null}, +{kind: 1, offset: "onloadend", len: 0, typ: NTI1872476, name: "onloadend", sons: null}]}; +NTI1872205.node = NNI1872205; +NTI1872205.base = NTI1214408; +NTI1872237.base = NTI1872205; +NTI1872235.base = NTI1872237; +NTI1900505.base = NTI1872235; +NTI10595580.base = NTI1208015; +var NNI1214653 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1214653.node = NNI1214653; +NTI1214653.base = NTI1214619; +var NNI10436058 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI1208044, name: "Field0", sons: null}, +{kind: 1, offset: "Field1", len: 0, typ: NTI1208064, name: "Field1", sons: null}]}; +NTI10436058.node = NNI10436058; +function makeNimstrLit(c_1475062) { + var ln = c_1475062.length; + var result = new Array(ln); + for (var i = 0; i < ln; ++i) { + result[i] = c_1475062.charCodeAt(i); } return result; } -function toJSStr(s_33556793) { +function toJSStr(s_1475096) { var Tmp5; var Tmp7; - var result_33556794 = null; + var result_1475097 = null; - var res_33556828 = newSeq_33556811((s_33556793).length); - var i_33556829 = 0; - var j_33556830 = 0; + var res_1475170 = newSeq_1475128((s_1475096).length); + var i_1475172 = 0; + var j_1475174 = 0; L1: do { L2: while (true) { - if (!(i_33556829 < (s_33556793).length)) break L2; - var c_33556831 = s_33556793[i_33556829]; - if ((c_33556831 < 128)) { - res_33556828[j_33556830] = String.fromCharCode(c_33556831); - i_33556829 += 1; + if (!(i_1475172 < (s_1475096).length)) break L2; + var c_1475175 = s_1475096[i_1475172]; + if ((c_1475175 < 128)) { + res_1475170[j_1475174] = String.fromCharCode(c_1475175); + i_1475172 += 1; } else { - var helper_33556843 = newSeq_33556811(0); + var helper_1475198 = newSeq_1475128(0); L3: do { L4: while (true) { if (!true) break L4; - var code_33556844 = c_33556831.toString(16); - if (((code_33556844).length == 1)) { - helper_33556843.push("%0");; + var code_1475199 = c_1475175.toString(16); + if ((((code_1475199) == null ? 0 : (code_1475199).length) == 1)) { + helper_1475198.push("%0");; } else { - helper_33556843.push("%");; + helper_1475198.push("%");; } - helper_33556843.push(code_33556844);; - i_33556829 += 1; - if (((s_33556793).length <= i_33556829)) Tmp5 = true; else { Tmp5 = (s_33556793[i_33556829] < 128); } if (Tmp5) { + helper_1475198.push(code_1475199);; + i_1475172 += 1; + if (((s_1475096).length <= i_1475172)) Tmp5 = true; else { Tmp5 = (s_1475096[i_1475172] < 128); } if (Tmp5) { break L3; } - c_33556831 = s_33556793[i_33556829]; + c_1475175 = s_1475096[i_1475172]; } } while(false); ++excHandler; Tmp7 = framePtr; try { - res_33556828[j_33556830] = decodeURIComponent(helper_33556843.join("")); + res_1475170[j_1475174] = decodeURIComponent(helper_1475198.join("")); --excHandler; } catch (EXC) { var prevJSError = lastJSError; lastJSError = EXC; --excHandler; framePtr = Tmp7; - res_33556828[j_33556830] = helper_33556843.join(""); + res_1475170[j_1475174] = helper_1475198.join(""); lastJSError = prevJSError; } finally { framePtr = Tmp7; } } - j_33556830 += 1; + j_1475174 += 1; } } while(false); - if (res_33556828.length < j_33556830) { for (var i=res_33556828.length;i<j_33556830;++i) res_33556828.push(null); } - else { res_33556828.length = j_33556830; }; - result_33556794 = res_33556828.join(""); + if (res_1475170.length < j_1475174) { for (var i=res_1475170.length;i<j_1475174;++i) res_1475170.push(null); } + else { res_1475170.length = j_1475174; }; + result_1475097 = res_1475170.join(""); - return result_33556794; + return result_1475097; } -function raiseException(e_33556654, ename_33556655) { - e_33556654.name = ename_33556655; +function raiseException(e_1440218, ename_1440219) { + e_1440218.name = ename_1440219; if ((excHandler == 0)) { - unhandledException(e_33556654); + unhandledException(e_1440218); } - throw e_33556654; + throw e_1440218; } -function addInt(a_33556926, b_33556927) { - var result = a_33556926 + b_33556927; +function addInt(a_1480419, b_1480420) { + var result = a_1480419 + b_1480420; checkOverflowInt(result); return result; } -function cstrToNimstr(c_33556790) { - var ln = c_33556790.length; +function cstrToNimstr(c_1475079) { + var ln = c_1475079.length; var result = new Array(ln); var r = 0; for (var i = 0; i < ln; ++i) { - var ch = c_33556790.charCodeAt(i); + var ch = c_1475079.charCodeAt(i); if (ch < 128) { result[r] = ch; @@ -788,7 +793,7 @@ function cstrToNimstr(c_33556790) { } else { ++i; - ch = 65536 + (((ch & 1023) << 10) | (c_33556790.charCodeAt(i) & 1023)); + ch = 65536 + (((ch & 1023) << 10) | (c_1475079.charCodeAt(i) & 1023)); result[r] = (ch >> 18) | 240; ++r; result[r] = ((ch >> 12) & 63) | 128; @@ -824,104 +829,104 @@ function setConstr() { } var ConstSet1 = setConstr(17, 16, 4, 18, 27, 19, 23, 22, 21); -function nimCopy(dest_33557120, src_33557121, ti_33557122) { - var result_33557131 = null; +function nimCopy(dest_1490023, src_1490024, ti_1490025) { + var result_1495219 = null; - switch (ti_33557122.kind) { + switch (ti_1490025.kind) { case 21: case 22: case 23: case 5: - if (!(isFatPointer_33557111(ti_33557122))) { - result_33557131 = src_33557121; + if (!(isFatPointer_1485401(ti_1490025))) { + result_1495219 = src_1490024; } else { - result_33557131 = [src_33557121[0], src_33557121[1]]; + result_1495219 = [src_1490024[0], src_1490024[1]]; } break; case 19: - if (dest_33557120 === null || dest_33557120 === undefined) { - dest_33557120 = {}; + if (dest_1490023 === null || dest_1490023 === undefined) { + dest_1490023 = {}; } else { - for (var key in dest_33557120) { delete dest_33557120[key]; } + for (var key in dest_1490023) { delete dest_1490023[key]; } } - for (var key in src_33557121) { dest_33557120[key] = src_33557121[key]; } - result_33557131 = dest_33557120; + for (var key in src_1490024) { dest_1490023[key] = src_1490024[key]; } + result_1495219 = dest_1490023; break; case 18: case 17: - if (!((ti_33557122.base == null))) { - result_33557131 = nimCopy(dest_33557120, src_33557121, ti_33557122.base); + if (!((ti_1490025.base == null))) { + result_1495219 = nimCopy(dest_1490023, src_1490024, ti_1490025.base); } else { - if ((ti_33557122.kind == 17)) { - result_33557131 = (dest_33557120 === null || dest_33557120 === undefined) ? {m_type: ti_33557122} : dest_33557120; + if ((ti_1490025.kind == 17)) { + result_1495219 = (dest_1490023 === null || dest_1490023 === undefined) ? {m_type: ti_1490025} : dest_1490023; } else { - result_33557131 = (dest_33557120 === null || dest_33557120 === undefined) ? {} : dest_33557120; + result_1495219 = (dest_1490023 === null || dest_1490023 === undefined) ? {} : dest_1490023; } } - nimCopyAux(result_33557131, src_33557121, ti_33557122.node); + nimCopyAux(result_1495219, src_1490024, ti_1490025.node); break; case 24: case 4: case 27: case 16: - if (src_33557121 === null) { - result_33557131 = null; + if (src_1490024 === null) { + result_1495219 = null; } else { - if (dest_33557120 === null || dest_33557120 === undefined) { - dest_33557120 = new Array(src_33557121.length); + if (dest_1490023 === null || dest_1490023 === undefined) { + dest_1490023 = new Array(src_1490024.length); } else { - dest_33557120.length = src_33557121.length; + dest_1490023.length = src_1490024.length; } - result_33557131 = dest_33557120; - for (var i = 0; i < src_33557121.length; ++i) { - result_33557131[i] = nimCopy(result_33557131[i], src_33557121[i], ti_33557122.base); + result_1495219 = dest_1490023; + for (var i = 0; i < src_1490024.length; ++i) { + result_1495219[i] = nimCopy(result_1495219[i], src_1490024[i], ti_1490025.base); } } break; case 28: - if (src_33557121 !== null) { - result_33557131 = src_33557121.slice(0); + if (src_1490024 !== null) { + result_1495219 = src_1490024.slice(0); } break; default: - result_33557131 = src_33557121; + result_1495219 = src_1490024; break; } - return result_33557131; + return result_1495219; } -function chckIndx(i_33557164, a_33557165, b_33557166) { +function chckIndx(i_1500086, a_1500087, b_1500088) { var Tmp1; - var result_33557167 = 0; + var result_1500089 = 0; BeforeRet: do { - if (!(a_33557165 <= i_33557164)) Tmp1 = false; else { Tmp1 = (i_33557164 <= b_33557166); } if (Tmp1) { - result_33557167 = i_33557164; + if (!(a_1500087 <= i_1500086)) Tmp1 = false; else { Tmp1 = (i_1500086 <= b_1500088); } if (Tmp1) { + result_1500089 = i_1500086; break BeforeRet; } else { - raiseIndexError(i_33557164, a_33557165, b_33557166); + raiseIndexError(i_1500086, a_1500087, b_1500088); } } while (false); - return result_33557167; + return result_1500089; } -function subInt(a_33556930, b_33556931) { - var result = a_33556930 - b_33556931; +function subInt(a_1480437, b_1480438) { + var result = a_1480437 - b_1480438; checkOverflowInt(result); return result; @@ -929,10 +934,29 @@ function subInt(a_33556930, b_33556931) { } var ConstSet2 = setConstr([65, 90]); +function chckRange(i_1505016, a_1505017, b_1505018) { + var Tmp1; + + var result_1505019 = 0; + + BeforeRet: do { + if (!(a_1505017 <= i_1505016)) Tmp1 = false; else { Tmp1 = (i_1505016 <= b_1505018); } if (Tmp1) { + result_1505019 = i_1505016; + break BeforeRet; + } + else { + raiseRangeError(); + } + + } while (false); + + return result_1505019; + +} var ConstSet3 = setConstr(95, 32, 46); var ConstSet4 = setConstr(95, 32, 46); -function mulInt(a_33556934, b_33556935) { - var result = a_33556934 * b_33556935; +function mulInt(a_1480455, b_1480456) { + var result = a_1480455 * b_1480456; checkOverflowInt(result); return result; @@ -944,48 +968,48 @@ var ConstSet6 = setConstr([65, 90], [97, 122]); var ConstSet7 = setConstr([97, 122]); var ConstSet8 = setConstr([65, 90]); var ConstSet9 = setConstr([65, 90], [97, 122]); -function nimMax(a_33556987, b_33556988) { +function nimMax(a_1480821, b_1480822) { var Tmp1; - var result_33556989 = 0; + var result_1480823 = 0; BeforeRet: do { - if ((b_33556988 <= a_33556987)) { - Tmp1 = a_33556987; + if ((b_1480822 <= a_1480821)) { + Tmp1 = a_1480821; } else { - Tmp1 = b_33556988; + Tmp1 = b_1480822; } - result_33556989 = Tmp1; + result_1480823 = Tmp1; break BeforeRet; } while (false); - return result_33556989; + return result_1480823; } -function nimMin(a_33556983, b_33556984) { +function nimMin(a_1480803, b_1480804) { var Tmp1; - var result_33556985 = 0; + var result_1480805 = 0; BeforeRet: do { - if ((a_33556983 <= b_33556984)) { - Tmp1 = a_33556983; + if ((a_1480803 <= b_1480804)) { + Tmp1 = a_1480803; } else { - Tmp1 = b_33556984; + Tmp1 = b_1480804; } - result_33556985 = Tmp1; + result_1480805 = Tmp1; break BeforeRet; } while (false); - return result_33556985; + return result_1480805; } -function addChar(x_33557235, c_33557236) { - x_33557235.push(c_33557236); +function addChar(x_1525031, c_1525032) { + x_1525031.push(c_1525032); } @@ -997,107 +1021,107 @@ if (!Math.trunc) { }; } -var alternative_385876541 = [null]; -function add_33556409(x_33556410, x_33556410_Idx, y_33556411) { - if (x_33556410[x_33556410_Idx] === null) { x_33556410[x_33556410_Idx] = []; } - var off = x_33556410[x_33556410_Idx].length; - x_33556410[x_33556410_Idx].length += y_33556411.length; - for (var i = 0; i < y_33556411.length; ++i) { - x_33556410[x_33556410_Idx][off+i] = y_33556411.charCodeAt(i); +var alternative_10595322 = [null]; +function add_1377211(x_1377214, x_1377214_Idx, y_1377215) { + if (x_1377214[x_1377214_Idx] === null) { x_1377214[x_1377214_Idx] = []; } + var off = x_1377214[x_1377214_Idx].length; + x_1377214[x_1377214_Idx].length += y_1377215.length; + for (var i = 0; i < y_1377215.length; ++i) { + x_1377214[x_1377214_Idx][off+i] = y_1377215.charCodeAt(i); } } -function newSeq_33556811(len_33556813) { - var result_33556814 = []; +function newSeq_1475128(len_1475131) { + var result_1475133 = []; - result_33556814 = new Array(len_33556813); for (var i=0;i<len_33556813;++i) {result_33556814[i]=null;} - return result_33556814; + result_1475133 = new Array(len_1475131); for (var i=0;i<len_1475131;++i) {result_1475133[i]=null;} + return result_1475133; } -function unhandledException(e_33556650) { - var buf_33556651 = [[]]; - if (!(((e_33556650.message).length == 0))) { - buf_33556651[0].push.apply(buf_33556651[0], makeNimstrLit("Error: unhandled exception: "));; - buf_33556651[0].push.apply(buf_33556651[0], e_33556650.message);; +function unhandledException(e_1435059) { + var buf_1435060 = [[]]; + if (!(((e_1435059.message).length == 0))) { + buf_1435060[0].push.apply(buf_1435060[0], makeNimstrLit("Error: unhandled exception: "));; + buf_1435060[0].push.apply(buf_1435060[0], e_1435059.message);; } else { - buf_33556651[0].push.apply(buf_33556651[0], makeNimstrLit("Error: unhandled exception"));; + buf_1435060[0].push.apply(buf_1435060[0], makeNimstrLit("Error: unhandled exception"));; } - buf_33556651[0].push.apply(buf_33556651[0], makeNimstrLit(" ["));; - add_33556409(buf_33556651, 0, e_33556650.name); - buf_33556651[0].push.apply(buf_33556651[0], makeNimstrLit("]\x0A"));; - var cbuf_33556652 = toJSStr(buf_33556651[0]); + buf_1435060[0].push.apply(buf_1435060[0], makeNimstrLit(" ["));; + add_1377211(buf_1435060, 0, e_1435059.name); + buf_1435060[0].push.apply(buf_1435060[0], makeNimstrLit("]\x0A"));; + var cbuf_1440201 = toJSStr(buf_1435060[0]); framePtr = null; if (typeof(Error) !== "undefined") { - throw new Error(cbuf_33556652); + throw new Error(cbuf_1440201); } else { - throw cbuf_33556652; + throw cbuf_1440201; } } function raiseOverflow() { - raiseException({message: makeNimstrLit("over- or underflow"), parent: null, m_type: NTI33555106, name: null, trace: [], up: null}, "OverflowDefect"); + raiseException({message: makeNimstrLit("over- or underflow"), parent: null, m_type: NTI1214637, name: null, trace: [], up: null}, "OverflowDefect"); } -function checkOverflowInt(a_33556924) { - if (a_33556924 > 2147483647 || a_33556924 < -2147483648) raiseOverflow(); +function checkOverflowInt(a_1480403) { + if (a_1480403 > 2147483647 || a_1480403 < -2147483648) raiseOverflow(); } -function isWhitespace_385876274(text_385876275) { - return !/[^\s]/.test(text_385876275); +function isWhitespace_10570116(text_10570118) { + return !/[^\s]/.test(text_10570118); } -function isWhitespace_385876277(x_385876278) { +function isWhitespace_10570133(x_10570135) { var Tmp1; var Tmp2; - var result_385876279 = false; + var result_10570136 = false; - if (!(x_385876278.nodeName == "#text")) Tmp2 = false; else { Tmp2 = isWhitespace_385876274(x_385876278.textContent); } if (Tmp2) Tmp1 = true; else { Tmp1 = (x_385876278.nodeName == "#comment"); } result_385876279 = Tmp1; + if (!(x_10570135.nodeName == "#text")) Tmp2 = false; else { Tmp2 = isWhitespace_10570116(x_10570135.textContent); } if (Tmp2) Tmp1 = true; else { Tmp1 = (x_10570135.nodeName == "#comment"); } result_10570136 = Tmp1; - return result_385876279; + return result_10570136; } -function isFatPointer_33557111(ti_33557112) { - var result_33557113 = false; +function isFatPointer_1485401(ti_1485403) { + var result_1485404 = false; BeforeRet: do { - result_33557113 = !((ConstSet1[ti_33557112.base.kind] != undefined)); + result_1485404 = !((ConstSet1[ti_1485403.base.kind] != undefined)); break BeforeRet; } while (false); - return result_33557113; + return result_1485404; } -function nimCopyAux(dest_33557124, src_33557125, n_33557126) { - switch (n_33557126.kind) { +function nimCopyAux(dest_1490028, src_1490029, n_1490031) { + switch (n_1490031.kind) { case 0: break; case 1: - dest_33557124[n_33557126.offset] = nimCopy(dest_33557124[n_33557126.offset], src_33557125[n_33557126.offset], n_33557126.typ); + dest_1490028[n_1490031.offset] = nimCopy(dest_1490028[n_1490031.offset], src_1490029[n_1490031.offset], n_1490031.typ); break; case 2: - for (var i = 0; i < n_33557126.sons.length; i++) { - nimCopyAux(dest_33557124, src_33557125, n_33557126.sons[i]); + for (var i = 0; i < n_1490031.sons.length; i++) { + nimCopyAux(dest_1490028, src_1490029, n_1490031.sons[i]); } break; case 3: - dest_33557124[n_33557126.offset] = nimCopy(dest_33557124[n_33557126.offset], src_33557125[n_33557126.offset], n_33557126.typ); - for (var i = 0; i < n_33557126.sons.length; ++i) { - nimCopyAux(dest_33557124, src_33557125, n_33557126.sons[i][1]); + dest_1490028[n_1490031.offset] = nimCopy(dest_1490028[n_1490031.offset], src_1490029[n_1490031.offset], n_1490031.typ); + for (var i = 0; i < n_1490031.sons.length; ++i) { + nimCopyAux(dest_1490028, src_1490029, n_1490031.sons[i][1]); } break; @@ -1105,123 +1129,123 @@ function nimCopyAux(dest_33557124, src_33557125, n_33557126) { } -function raiseIndexError(i_33556741, a_33556742, b_33556743) { +function raiseIndexError(i_1460047, a_1460048, b_1460049) { var Tmp1; - if ((b_33556743 < a_33556742)) { + if ((b_1460049 < a_1460048)) { Tmp1 = makeNimstrLit("index out of bounds, the container is empty"); } else { - Tmp1 = (makeNimstrLit("index ") || []).concat(cstrToNimstr((i_33556741)+"") || [],makeNimstrLit(" not in ") || [],cstrToNimstr((a_33556742)+"") || [],makeNimstrLit(" .. ") || [],cstrToNimstr((b_33556743)+"") || []); + Tmp1 = (makeNimstrLit("index ") || []).concat(cstrToNimstr((i_1460047)+"") || [],makeNimstrLit(" not in ") || [],cstrToNimstr((a_1460048)+"") || [],makeNimstrLit(" .. ") || [],cstrToNimstr((b_1460049)+"") || []); } - raiseException({message: nimCopy(null, Tmp1, NTI33554437), parent: null, m_type: NTI33555112, name: null, trace: [], up: null}, "IndexDefect"); + raiseException({message: nimCopy(null, Tmp1, NTI1208013), parent: null, m_type: NTI1214649, name: null, trace: [], up: null}, "IndexDefect"); } -function toToc_385876280(x_385876281, father_385876282) { +function toToc_10570150(x_10570152, father_10570153) { var Tmp5; var Tmp6; var Tmp7; var Tmp8; var Tmp15; - if ((x_385876281.nodeName == "UL")) { - var f_385876290 = {heading: null, kids: [], sortId: (father_385876282.kids).length, doSort: false}; - var i_385876291 = 0; + if ((x_10570152.nodeName == "UL")) { + var f_10570174 = {heading: null, kids: [], sortId: (father_10570153.kids).length, doSort: false}; + var i_10570176 = 0; L1: do { L2: while (true) { - if (!(i_385876291 < x_385876281.childNodes.length)) break L2; - var nxt_385876292 = addInt(i_385876291, 1); + if (!(i_10570176 < x_10570152.childNodes.length)) break L2; + var nxt_10570177 = addInt(i_10570176, 1); L3: do { L4: while (true) { - if (!(nxt_385876292 < x_385876281.childNodes.length)) Tmp5 = false; else { Tmp5 = isWhitespace_385876277(x_385876281.childNodes[nxt_385876292]); } if (!Tmp5) break L4; - nxt_385876292 = addInt(nxt_385876292, 1); + if (!(nxt_10570177 < x_10570152.childNodes.length)) Tmp5 = false; else { Tmp5 = isWhitespace_10570133(x_10570152.childNodes[nxt_10570177]); } if (!Tmp5) break L4; + nxt_10570177 = addInt(nxt_10570177, 1); } } while(false); - if (!(nxt_385876292 < x_385876281.childNodes.length)) Tmp8 = false; else { Tmp8 = (x_385876281.childNodes[i_385876291].nodeName == "LI"); } if (!Tmp8) Tmp7 = false; else { Tmp7 = (x_385876281.childNodes[i_385876291].childNodes.length == 1); } if (!Tmp7) Tmp6 = false; else { Tmp6 = (x_385876281.childNodes[nxt_385876292].nodeName == "UL"); } if (Tmp6) { - var e_385876304 = {heading: x_385876281.childNodes[i_385876291].childNodes[0], kids: [], sortId: (f_385876290.kids).length, doSort: false}; - var it_385876305 = x_385876281.childNodes[nxt_385876292]; + if (!(nxt_10570177 < x_10570152.childNodes.length)) Tmp8 = false; else { Tmp8 = (x_10570152.childNodes[i_10570176].nodeName == "LI"); } if (!Tmp8) Tmp7 = false; else { Tmp7 = (x_10570152.childNodes[i_10570176].childNodes.length == 1); } if (!Tmp7) Tmp6 = false; else { Tmp6 = (x_10570152.childNodes[nxt_10570177].nodeName == "UL"); } if (Tmp6) { + var e_10570204 = {heading: x_10570152.childNodes[i_10570176].childNodes[0], kids: [], sortId: (f_10570174.kids).length, doSort: false}; + var it_10570205 = x_10570152.childNodes[nxt_10570177]; L9: do { - var j_385876310 = 0; - var colontmp__385876570 = 0; - colontmp__385876570 = it_385876305.childNodes.length; - var i_385876571 = 0; + var j_10570213 = 0; + var colontmp__10595445 = 0; + colontmp__10595445 = it_10570205.childNodes.length; + var i_10595446 = 0; L10: do { L11: while (true) { - if (!(i_385876571 < colontmp__385876570)) break L11; - j_385876310 = i_385876571; - toToc_385876280(it_385876305.childNodes[j_385876310], e_385876304); - i_385876571 = addInt(i_385876571, 1); + if (!(i_10595446 < colontmp__10595445)) break L11; + j_10570213 = i_10595446; + toToc_10570150(it_10570205.childNodes[j_10570213], e_10570204); + i_10595446 = addInt(i_10595446, 1); } } while(false); } while(false); - f_385876290.kids.push(e_385876304);; - i_385876291 = addInt(nxt_385876292, 1); + f_10570174.kids.push(e_10570204);; + i_10570176 = addInt(nxt_10570177, 1); } else { - toToc_385876280(x_385876281.childNodes[i_385876291], f_385876290); - i_385876291 = addInt(i_385876291, 1); + toToc_10570150(x_10570152.childNodes[i_10570176], f_10570174); + i_10570176 = addInt(i_10570176, 1); } } } while(false); - father_385876282.kids.push(f_385876290);; + father_10570153.kids.push(f_10570174);; } else { - if (isWhitespace_385876277(x_385876281)) { + if (isWhitespace_10570133(x_10570152)) { } else { - if ((x_385876281.nodeName == "LI")) { - var idx_385876327 = []; + if ((x_10570152.nodeName == "LI")) { + var idx_10570252 = []; L12: do { - var i_385876332 = 0; - var colontmp__385876574 = 0; - colontmp__385876574 = x_385876281.childNodes.length; - var i_385876575 = 0; + var i_10570260 = 0; + var colontmp__10595449 = 0; + colontmp__10595449 = x_10570152.childNodes.length; + var i_10595450 = 0; L13: do { L14: while (true) { - if (!(i_385876575 < colontmp__385876574)) break L14; - i_385876332 = i_385876575; - if (!(isWhitespace_385876277(x_385876281.childNodes[i_385876332]))) { - idx_385876327.push(i_385876332);; + if (!(i_10595450 < colontmp__10595449)) break L14; + i_10570260 = i_10595450; + if (!(isWhitespace_10570133(x_10570152.childNodes[i_10570260]))) { + idx_10570252.push(i_10570260);; } - i_385876575 = addInt(i_385876575, 1); + i_10595450 = addInt(i_10595450, 1); } } while(false); } while(false); - if (!((idx_385876327).length == 2)) Tmp15 = false; else { Tmp15 = (x_385876281.childNodes[idx_385876327[chckIndx(1, 0, (idx_385876327).length-1)]].nodeName == "UL"); } if (Tmp15) { - var e_385876347 = {heading: x_385876281.childNodes[idx_385876327[chckIndx(0, 0, (idx_385876327).length-1)]], kids: [], sortId: (father_385876282.kids).length, doSort: false}; - var it_385876348 = x_385876281.childNodes[idx_385876327[chckIndx(1, 0, (idx_385876327).length-1)]]; + if (!((idx_10570252).length == 2)) Tmp15 = false; else { Tmp15 = (x_10570152.childNodes[idx_10570252[chckIndx(1, 0, (idx_10570252).length-1)]].nodeName == "UL"); } if (Tmp15) { + var e_10570294 = {heading: x_10570152.childNodes[idx_10570252[chckIndx(0, 0, (idx_10570252).length-1)]], kids: [], sortId: (father_10570153.kids).length, doSort: false}; + var it_10570295 = x_10570152.childNodes[idx_10570252[chckIndx(1, 0, (idx_10570252).length-1)]]; L16: do { - var j_385876353 = 0; - var colontmp__385876578 = 0; - colontmp__385876578 = it_385876348.childNodes.length; - var i_385876579 = 0; + var j_10570303 = 0; + var colontmp__10595454 = 0; + colontmp__10595454 = it_10570295.childNodes.length; + var i_10595455 = 0; L17: do { L18: while (true) { - if (!(i_385876579 < colontmp__385876578)) break L18; - j_385876353 = i_385876579; - toToc_385876280(it_385876348.childNodes[j_385876353], e_385876347); - i_385876579 = addInt(i_385876579, 1); + if (!(i_10595455 < colontmp__10595454)) break L18; + j_10570303 = i_10595455; + toToc_10570150(it_10570295.childNodes[j_10570303], e_10570294); + i_10595455 = addInt(i_10595455, 1); } } while(false); } while(false); - father_385876282.kids.push(e_385876347);; + father_10570153.kids.push(e_10570294);; } else { L19: do { - var i_385876362 = 0; - var colontmp__385876582 = 0; - colontmp__385876582 = x_385876281.childNodes.length; - var i_385876583 = 0; + var i_10570319 = 0; + var colontmp__10595458 = 0; + colontmp__10595458 = x_10570152.childNodes.length; + var i_10595459 = 0; L20: do { L21: while (true) { - if (!(i_385876583 < colontmp__385876582)) break L21; - i_385876362 = i_385876583; - toToc_385876280(x_385876281.childNodes[i_385876362], father_385876282); - i_385876583 = addInt(i_385876583, 1); + if (!(i_10595459 < colontmp__10595458)) break L21; + i_10570319 = i_10595459; + toToc_10570150(x_10570152.childNodes[i_10570319], father_10570153); + i_10595459 = addInt(i_10595459, 1); } } while(false); } while(false); @@ -1229,49 +1253,49 @@ function toToc_385876280(x_385876281, father_385876282) { } else { - father_385876282.kids.push({heading: x_385876281, kids: [], sortId: (father_385876282.kids).length, doSort: false});; + father_10570153.kids.push({heading: x_10570152, kids: [], sortId: (father_10570153.kids).length, doSort: false});; } }} } -function extractItems_385876099(x_385876100, heading_385876101, items_385876102, items_385876102_Idx) { +function extractItems_10525075(x_10525077, heading_10525078, items_10525081, items_10525081_Idx) { var Tmp1; BeforeRet: do { - if ((x_385876100 == null)) { + if ((x_10525077 == null)) { break BeforeRet; } - if (!!((x_385876100.heading == null))) Tmp1 = false; else { Tmp1 = (x_385876100.heading.textContent == heading_385876101); } if (Tmp1) { + if (!!((x_10525077.heading == null))) Tmp1 = false; else { Tmp1 = (x_10525077.heading.textContent == heading_10525078); } if (Tmp1) { L2: do { - var i_385876118 = 0; - var colontmp__385876588 = 0; - colontmp__385876588 = (x_385876100.kids).length; - var i_385876589 = 0; + var i_10530021 = 0; + var colontmp__10595475 = 0; + colontmp__10595475 = (x_10525077.kids).length; + var i_10595476 = 0; L3: do { L4: while (true) { - if (!(i_385876589 < colontmp__385876588)) break L4; - i_385876118 = i_385876589; - items_385876102[items_385876102_Idx].push(x_385876100.kids[chckIndx(i_385876118, 0, (x_385876100.kids).length-1)].heading);; - i_385876589 = addInt(i_385876589, 1); + if (!(i_10595476 < colontmp__10595475)) break L4; + i_10530021 = i_10595476; + items_10525081[items_10525081_Idx].push(x_10525077.kids[chckIndx(i_10530021, 0, (x_10525077.kids).length-1)].heading);; + i_10595476 = addInt(i_10595476, 1); } } while(false); } while(false); } else { L5: do { - var i_385876130 = 0; - var colontmp__385876592 = 0; - colontmp__385876592 = (x_385876100.kids).length; - var i_385876593 = 0; + var i_10530042 = 0; + var colontmp__10595479 = 0; + colontmp__10595479 = (x_10525077.kids).length; + var i_10595480 = 0; L6: do { L7: while (true) { - if (!(i_385876593 < colontmp__385876592)) break L7; - i_385876130 = i_385876593; - var it_385876131 = x_385876100.kids[chckIndx(i_385876130, 0, (x_385876100.kids).length-1)]; - extractItems_385876099(it_385876131, heading_385876101, items_385876102, items_385876102_Idx); - i_385876593 = addInt(i_385876593, 1); + if (!(i_10595480 < colontmp__10595479)) break L7; + i_10530042 = i_10595480; + var it_10530043 = x_10525077.kids[chckIndx(i_10530042, 0, (x_10525077.kids).length-1)]; + extractItems_10525075(it_10530043, heading_10525078, items_10525081, items_10525081_Idx); + i_10595480 = addInt(i_10595480, 1); } } while(false); } while(false); @@ -1281,555 +1305,560 @@ function extractItems_385876099(x_385876100, heading_385876101, items_385876102, } -function tree_385875973(tag_385875974, kids_385875975) { - var result_385875976 = null; +function tree_10516020(tag_10516022, kids_10516024) { + var result_10516025 = null; - result_385875976 = document.createElement(toJSStr(tag_385875974)); + result_10516025 = document.createElement(toJSStr(tag_10516022)); L1: do { - var k_385875988 = null; - var k_385875988_Idx = 0; - var i_385876606 = 0; + var k_10516058 = null; + var k_10516058_Idx = 0; + var i_10595496 = 0; L2: do { L3: while (true) { - if (!(i_385876606 < (kids_385875975).length)) break L3; - k_385875988 = kids_385875975; k_385875988_Idx = chckIndx(i_385876606, 0, (kids_385875975).length-1); - result_385875976.appendChild(k_385875988[k_385875988_Idx]); - i_385876606 = addInt(i_385876606, 1); + if (!(i_10595496 < (kids_10516024).length)) break L3; + k_10516058 = kids_10516024; k_10516058_Idx = chckIndx(i_10595496, 0, (kids_10516024).length-1); + result_10516025.appendChild(k_10516058[k_10516058_Idx]); + i_10595496 = addInt(i_10595496, 1); } } while(false); } while(false); - return result_385875976; + return result_10516025; } -function text_385876026(s_385876027) { - var result_385876028 = null; +function text_10516169(s_10516171) { + var result_10516172 = null; - result_385876028 = document.createTextNode(s_385876027); + result_10516172 = document.createTextNode(s_10516171); - return result_385876028; + return result_10516172; } -function sysFatal_218103843(message_218103846) { - raiseException({message: nimCopy(null, message_218103846, NTI33554437), m_type: NTI33555108, parent: null, name: null, trace: [], up: null}, "AssertionDefect"); +function sysFatal_1325418(message_1325422) { + raiseException({message: nimCopy(null, message_1325422, NTI1208013), m_type: NTI1214641, parent: null, name: null, trace: [], up: null}, "AssertionDefect"); } -function raiseAssert_218103841(msg_218103842) { - sysFatal_218103843(msg_218103842); +function raiseAssert_1325414(msg_1325416) { + sysFatal_1325418(msg_1325416); } -function failedAssertImpl_218103865(msg_218103866) { - raiseAssert_218103841(msg_218103866); +function failedAssertImpl_1325480(msg_1325482) { + raiseAssert_1325414(msg_1325482); } -function uncovered_385876410(x_385876411) { +function uncovered_10575022(x_10575024) { var Tmp1; var Tmp2; - var result_385876412 = null; + var result_10575025 = null; BeforeRet: do { - if (!((x_385876411.kids).length == 0)) Tmp1 = false; else { Tmp1 = !((x_385876411.heading == null)); } if (Tmp1) { - if (!(x_385876411.heading.hasOwnProperty('__karaxMarker__'))) { - Tmp2 = x_385876411; + if (!((x_10575024.kids).length == 0)) Tmp1 = false; else { Tmp1 = !((x_10575024.heading == null)); } if (Tmp1) { + if (!(x_10575024.heading.hasOwnProperty('__karaxMarker__'))) { + Tmp2 = x_10575024; } else { Tmp2 = null; } - result_385876412 = Tmp2; + result_10575025 = Tmp2; break BeforeRet; } - result_385876412 = {heading: x_385876411.heading, kids: [], sortId: x_385876411.sortId, doSort: x_385876411.doSort}; + result_10575025 = {heading: x_10575024.heading, kids: [], sortId: x_10575024.sortId, doSort: x_10575024.doSort}; L3: do { - var i_385876431 = 0; - var colontmp__385876613 = 0; - colontmp__385876613 = (x_385876411.kids).length; - var i_385876614 = 0; + var i_10580036 = 0; + var colontmp__10595507 = 0; + colontmp__10595507 = (x_10575024.kids).length; + var i_10595508 = 0; L4: do { L5: while (true) { - if (!(i_385876614 < colontmp__385876613)) break L5; - i_385876431 = i_385876614; - var y_385876432 = uncovered_385876410(x_385876411.kids[chckIndx(i_385876431, 0, (x_385876411.kids).length-1)]); - if (!((y_385876432 == null))) { - result_385876412.kids.push(y_385876432);; + if (!(i_10595508 < colontmp__10595507)) break L5; + i_10580036 = i_10595508; + var y_10580037 = uncovered_10575022(x_10575024.kids[chckIndx(i_10580036, 0, (x_10575024.kids).length-1)]); + if (!((y_10580037 == null))) { + result_10575025.kids.push(y_10580037);; } - i_385876614 = addInt(i_385876614, 1); + i_10595508 = addInt(i_10595508, 1); } } while(false); } while(false); - if (((result_385876412.kids).length == 0)) { - result_385876412 = null; + if (((result_10575025.kids).length == 0)) { + result_10575025 = null; } } while (false); - return result_385876412; + return result_10575025; } -function mergeTocs_385876444(orig_385876445, news_385876446) { - var result_385876447 = null; +function mergeTocs_10585035(orig_10585037, news_10585038) { + var result_10585039 = null; - result_385876447 = uncovered_385876410(orig_385876445); - if ((result_385876447 == null)) { - result_385876447 = news_385876446; + result_10585039 = uncovered_10575022(orig_10585037); + if ((result_10585039 == null)) { + result_10585039 = news_10585038; } else { L1: do { - var i_385876459 = 0; - var colontmp__385876609 = 0; - colontmp__385876609 = (news_385876446.kids).length; - var i_385876610 = 0; + var i_10585060 = 0; + var colontmp__10595502 = 0; + colontmp__10595502 = (news_10585038.kids).length; + var i_10595503 = 0; L2: do { L3: while (true) { - if (!(i_385876610 < colontmp__385876609)) break L3; - i_385876459 = i_385876610; - result_385876447.kids.push(news_385876446.kids[chckIndx(i_385876459, 0, (news_385876446.kids).length-1)]);; - i_385876610 = addInt(i_385876610, 1); + if (!(i_10595503 < colontmp__10595502)) break L3; + i_10585060 = i_10595503; + result_10585039.kids.push(news_10585038.kids[chckIndx(i_10585060, 0, (news_10585038.kids).length-1)]);; + i_10595503 = addInt(i_10595503, 1); } } while(false); } while(false); } - return result_385876447; + return result_10585039; } -function buildToc_385876464(orig_385876465, types_385876466, procs_385876467) { +function buildToc_10585082(orig_10585084, types_10585086, procs_10585087) { var Tmp7; - var result_385876468 = null; + var result_10585088 = null; - var newStuff_385876473 = {heading: null, kids: [], doSort: true, sortId: 0}; + var newStuff_10585104 = {heading: null, kids: [], doSort: true, sortId: 0}; L1: do { - var t_385876496 = null; - var t_385876496_Idx = 0; - var i_385876601 = 0; - var L_385876602 = (types_385876466).length; + var t_10595214 = null; + var t_10595214_Idx = 0; + var i_10595491 = 0; + var L_10595492 = (types_10585086).length; L2: do { L3: while (true) { - if (!(i_385876601 < L_385876602)) break L3; - t_385876496 = types_385876466; t_385876496_Idx = chckIndx(i_385876601, 0, (types_385876466).length-1); - var c_385876501 = {heading: t_385876496[t_385876496_Idx].cloneNode(true), kids: [], doSort: true, sortId: 0}; - t_385876496[t_385876496_Idx].__karaxMarker__ = true; + if (!(i_10595491 < L_10595492)) break L3; + t_10595214 = types_10585086; t_10595214_Idx = chckIndx(i_10595491, 0, (types_10585086).length-1); + var c_10595230 = {heading: t_10595214[t_10595214_Idx].cloneNode(true), kids: [], doSort: true, sortId: 0}; + t_10595214[t_10595214_Idx].__karaxMarker__ = true; L4: do { - var p_385876505 = null; - var p_385876505_Idx = 0; - var i_385876598 = 0; - var L_385876599 = (procs_385876467).length; + var p_10595238 = null; + var p_10595238_Idx = 0; + var i_10595488 = 0; + var L_10595489 = (procs_10585087).length; L5: do { L6: while (true) { - if (!(i_385876598 < L_385876599)) break L6; - p_385876505 = procs_385876467; p_385876505_Idx = chckIndx(i_385876598, 0, (procs_385876467).length-1); - if (!(p_385876505[p_385876505_Idx].hasOwnProperty('__karaxMarker__'))) { - var xx_385876506 = p_385876505[p_385876505_Idx].parentNode.getElementsByClassName("attachedType"); - if (!((xx_385876506).length == 1)) Tmp7 = false; else { Tmp7 = (xx_385876506[chckIndx(0, 0, (xx_385876506).length-1)].textContent == t_385876496[t_385876496_Idx].textContent); } if (Tmp7) { - var q_385876510 = tree_385875973(makeNimstrLit("A"), [text_385876026(p_385876505[p_385876505_Idx].title)]); - q_385876510.setAttribute("href", p_385876505[p_385876505_Idx].getAttribute("href")); - c_385876501.kids.push({heading: q_385876510, kids: [], sortId: 0, doSort: false});; - p_385876505[p_385876505_Idx].__karaxMarker__ = true; + if (!(i_10595488 < L_10595489)) break L6; + p_10595238 = procs_10585087; p_10595238_Idx = chckIndx(i_10595488, 0, (procs_10585087).length-1); + if (!(p_10595238[p_10595238_Idx].hasOwnProperty('__karaxMarker__'))) { + var xx_10595239 = p_10595238[p_10595238_Idx].parentNode.getElementsByClassName("attachedType"); + if (!((xx_10595239).length == 1)) Tmp7 = false; else { Tmp7 = (xx_10595239[chckIndx(0, 0, (xx_10595239).length-1)].textContent == t_10595214[t_10595214_Idx].textContent); } if (Tmp7) { + var q_10595247 = tree_10516020(makeNimstrLit("A"), [text_10516169(p_10595238[p_10595238_Idx].title)]); + q_10595247.setAttribute("href", p_10595238[p_10595238_Idx].getAttribute("href")); + c_10595230.kids.push({heading: q_10595247, kids: [], sortId: 0, doSort: false});; + p_10595238[p_10595238_Idx].__karaxMarker__ = true; } } - i_385876598 = addInt(i_385876598, 1); - if (!(((procs_385876467).length == L_385876599))) { - failedAssertImpl_218103865(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); + i_10595488 = addInt(i_10595488, 1); + if (!(((procs_10585087).length == L_10595489))) { + failedAssertImpl_1325480(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); } } } while(false); } while(false); - newStuff_385876473.kids.push(c_385876501);; - i_385876601 = addInt(i_385876601, 1); - if (!(((types_385876466).length == L_385876602))) { - failedAssertImpl_218103865(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); + newStuff_10585104.kids.push(c_10595230);; + i_10595491 = addInt(i_10595491, 1); + if (!(((types_10585086).length == L_10595492))) { + failedAssertImpl_1325480(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); } } } while(false); } while(false); - result_385876468 = mergeTocs_385876444(orig_385876465, newStuff_385876473); + result_10585088 = mergeTocs_10585035(orig_10585084, newStuff_10585104); - return result_385876468; + return result_10585088; } -function add_385876016(parent_385876017, kid_385876018) { +function add_10516117(parent_10516119, kid_10516120) { var Tmp1; var Tmp2; - if (!(parent_385876017.nodeName == "TR")) Tmp1 = false; else { if ((kid_385876018.nodeName == "TD")) Tmp2 = true; else { Tmp2 = (kid_385876018.nodeName == "TH"); } Tmp1 = Tmp2; } if (Tmp1) { - var k_385876019 = document.createElement("TD"); - k_385876019.appendChild(kid_385876018); - parent_385876017.appendChild(k_385876019); + if (!(parent_10516119.nodeName == "TR")) Tmp1 = false; else { if ((kid_10516120.nodeName == "TD")) Tmp2 = true; else { Tmp2 = (kid_10516120.nodeName == "TH"); } Tmp1 = Tmp2; } if (Tmp1) { + var k_10516121 = document.createElement("TD"); + k_10516121.appendChild(kid_10516120); + parent_10516119.appendChild(k_10516121); } else { - parent_385876017.appendChild(kid_385876018); + parent_10516119.appendChild(kid_10516120); } } -function setClass_385876020(e_385876021, value_385876022) { - e_385876021.setAttribute("class", toJSStr(value_385876022)); +function setClass_10516135(e_10516137, value_10516138) { + e_10516137.setAttribute("class", toJSStr(value_10516138)); } -function toHtml_385876141(x_385876142, isRoot_385876143) { +function toHtml_10530072(x_10530074, isRoot_10530075) { var Tmp1; - function HEX3Aanonymous_385876161(a_385876162, b_385876163) { + function HEX3Aanonymous_10535015(a_10535017, b_10535018) { var Tmp1; - var result_385876164 = 0; + var result_10535019 = 0; BeforeRet: do { - if (!!((a_385876162.heading == null))) Tmp1 = false; else { Tmp1 = !((b_385876163.heading == null)); } if (Tmp1) { - var x_385876173 = a_385876162.heading.textContent; - var y_385876174 = b_385876163.heading.textContent; - if ((x_385876173 < y_385876174)) { - result_385876164 = -1; + if (!!((a_10535017.heading == null))) Tmp1 = false; else { Tmp1 = !((b_10535018.heading == null)); } if (Tmp1) { + var x_10545009 = a_10535017.heading.textContent; + var y_10545010 = b_10535018.heading.textContent; + if ((x_10545009 < y_10545010)) { + result_10535019 = -1; break BeforeRet; } - if ((y_385876174 < x_385876173)) { - result_385876164 = 1; + if ((y_10545010 < x_10545009)) { + result_10535019 = 1; break BeforeRet; } - result_385876164 = 0; + result_10535019 = 0; break BeforeRet; } else { - result_385876164 = subInt(a_385876162.sortId, b_385876163.sortId); + result_10535019 = subInt(a_10535017.sortId, b_10535018.sortId); break BeforeRet; } } while (false); - return result_385876164; + return result_10535019; } - var result_385876144 = null; + var result_10530076 = null; BeforeRet: do { - if ((x_385876142 == null)) { - result_385876144 = null; + if ((x_10530074 == null)) { + result_10530076 = null; break BeforeRet; } - if (((x_385876142.kids).length == 0)) { - if ((x_385876142.heading == null)) { - result_385876144 = null; + if (((x_10530074.kids).length == 0)) { + if ((x_10530074.heading == null)) { + result_10530076 = null; break BeforeRet; } - result_385876144 = x_385876142.heading.cloneNode(true); + result_10530076 = x_10530074.heading.cloneNode(true); break BeforeRet; } - result_385876144 = tree_385875973(makeNimstrLit("DIV"), []); - if (!!((x_385876142.heading == null))) Tmp1 = false; else { Tmp1 = !(x_385876142.heading.hasOwnProperty('__karaxMarker__')); } if (Tmp1) { - add_385876016(result_385876144, x_385876142.heading.cloneNode(true)); + result_10530076 = tree_10516020(makeNimstrLit("DIV"), []); + if (!!((x_10530074.heading == null))) Tmp1 = false; else { Tmp1 = !(x_10530074.heading.hasOwnProperty('__karaxMarker__')); } if (Tmp1) { + add_10516117(result_10530076, x_10530074.heading.cloneNode(true)); } - var ul_385876160 = tree_385875973(makeNimstrLit("UL"), []); - if (isRoot_385876143) { - setClass_385876020(ul_385876160, makeNimstrLit("simple simple-toc")); + var ul_10535012 = tree_10516020(makeNimstrLit("UL"), []); + if (isRoot_10530075) { + setClass_10516135(ul_10535012, makeNimstrLit("simple simple-toc")); } else { - setClass_385876020(ul_385876160, makeNimstrLit("simple")); + setClass_10516135(ul_10535012, makeNimstrLit("simple")); } - if (x_385876142.doSort) { - x_385876142.kids.sort(HEX3Aanonymous_385876161); + if (x_10530074.doSort) { + x_10530074.kids.sort(HEX3Aanonymous_10535015); } L2: do { - var k_385876205 = null; - var k_385876205_Idx = 0; - var i_385876618 = 0; - var L_385876619 = (x_385876142.kids).length; + var k_10560214 = null; + var k_10560214_Idx = 0; + var i_10595514 = 0; + var L_10595515 = (x_10530074.kids).length; L3: do { L4: while (true) { - if (!(i_385876618 < L_385876619)) break L4; - k_385876205 = x_385876142.kids; k_385876205_Idx = chckIndx(i_385876618, 0, (x_385876142.kids).length-1); - var y_385876206 = toHtml_385876141(k_385876205[k_385876205_Idx], false); - if (!((y_385876206 == null))) { - add_385876016(ul_385876160, tree_385875973(makeNimstrLit("LI"), [y_385876206])); + if (!(i_10595514 < L_10595515)) break L4; + k_10560214 = x_10530074.kids; k_10560214_Idx = chckIndx(i_10595514, 0, (x_10530074.kids).length-1); + var y_10560215 = toHtml_10530072(k_10560214[k_10560214_Idx], false); + if (!((y_10560215 == null))) { + add_10516117(ul_10535012, tree_10516020(makeNimstrLit("LI"), [y_10560215])); } - i_385876618 = addInt(i_385876618, 1); - if (!(((x_385876142.kids).length == L_385876619))) { - failedAssertImpl_218103865(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); + i_10595514 = addInt(i_10595514, 1); + if (!(((x_10530074.kids).length == L_10595515))) { + failedAssertImpl_1325480(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); } } } while(false); } while(false); - if (!((ul_385876160.childNodes.length == 0))) { - add_385876016(result_385876144, ul_385876160); + if (!((ul_10535012.childNodes.length == 0))) { + add_10516117(result_10530076, ul_10535012); } - if ((result_385876144.childNodes.length == 0)) { - result_385876144 = null; + if ((result_10530076.childNodes.length == 0)) { + result_10530076 = null; } } while (false); - return result_385876144; + return result_10530076; } -function replaceById_385876031(id_385876032, newTree_385876033) { - var x_385876034 = document.getElementById(id_385876032); - x_385876034.parentNode.replaceChild(newTree_385876033, x_385876034); - newTree_385876033.id = id_385876032; +function replaceById_10516189(id_10516191, newTree_10516192) { + var x_10516193 = document.getElementById(id_10516191); + x_10516193.parentNode.replaceChild(newTree_10516192, x_10516193); + newTree_10516192.id = id_10516191; } -function togglevis_385876542(d_385876543) { - if (d_385876543.style.display == 'none') - d_385876543.style.display = 'inline'; +function togglevis_10595336(d_10595338) { + if (d_10595338.style.display == 'none') + d_10595338.style.display = 'inline'; else - d_385876543.style.display = 'none'; + d_10595338.style.display = 'none'; } -function groupBy(value_385876545) { - var toc_385876546 = document.getElementById("toc-list"); - if ((alternative_385876541[0] == null)) { - var tt_385876554 = {heading: null, kids: [], sortId: 0, doSort: false}; - toToc_385876280(toc_385876546, tt_385876554); - tt_385876554 = tt_385876554.kids[chckIndx(0, 0, (tt_385876554.kids).length-1)]; - var types_385876559 = [[]]; - var procs_385876564 = [[]]; - extractItems_385876099(tt_385876554, "Types", types_385876559, 0); - extractItems_385876099(tt_385876554, "Procs", procs_385876564, 0); - extractItems_385876099(tt_385876554, "Converters", procs_385876564, 0); - extractItems_385876099(tt_385876554, "Methods", procs_385876564, 0); - extractItems_385876099(tt_385876554, "Templates", procs_385876564, 0); - extractItems_385876099(tt_385876554, "Macros", procs_385876564, 0); - extractItems_385876099(tt_385876554, "Iterators", procs_385876564, 0); - var ntoc_385876565 = buildToc_385876464(tt_385876554, types_385876559[0], procs_385876564[0]); - var x_385876566 = toHtml_385876141(ntoc_385876565, true); - alternative_385876541[0] = tree_385875973(makeNimstrLit("DIV"), [x_385876566]); +function groupBy(value_10595354) { + var toc_10595355 = document.getElementById("toc-list"); + if ((alternative_10595322[0] == null)) { + var tt_10595376 = {heading: null, kids: [], sortId: 0, doSort: false}; + toToc_10570150(toc_10595355, tt_10595376); + tt_10595376 = tt_10595376.kids[chckIndx(0, 0, (tt_10595376.kids).length-1)]; + var types_10595393 = [[]]; + var procs_10595410 = [[]]; + extractItems_10525075(tt_10595376, "Types", types_10595393, 0); + extractItems_10525075(tt_10595376, "Procs", procs_10595410, 0); + extractItems_10525075(tt_10595376, "Converters", procs_10595410, 0); + extractItems_10525075(tt_10595376, "Methods", procs_10595410, 0); + extractItems_10525075(tt_10595376, "Templates", procs_10595410, 0); + extractItems_10525075(tt_10595376, "Macros", procs_10595410, 0); + extractItems_10525075(tt_10595376, "Iterators", procs_10595410, 0); + var ntoc_10595418 = buildToc_10585082(tt_10595376, types_10595393[0], procs_10595410[0]); + var x_10595419 = toHtml_10530072(ntoc_10595418, true); + alternative_10595322[0] = tree_10516020(makeNimstrLit("DIV"), [x_10595419]); } - if ((value_385876545 == "type")) { - replaceById_385876031("tocRoot", alternative_385876541[0]); + if ((value_10595354 == "type")) { + replaceById_10516189("tocRoot", alternative_10595322[0]); } else { - replaceById_385876031("tocRoot", tree_385875973(makeNimstrLit("DIV"), [])); + replaceById_10516189("tocRoot", tree_10516020(makeNimstrLit("DIV"), [])); } - togglevis_385876542(document.getElementById("toc-list")); + togglevis_10595336(document.getElementById("toc-list")); } -var db_385876621 = [[]]; -var contents_385876622 = [[]]; -var oldtoc_385876770 = [null]; -var timer_385876771 = [null]; -function nsuToLowerAsciiChar(c_536870973) { - var result_536870974 = 0; +var db_10595518 = [[]]; +var contents_10595520 = [[]]; +var oldtoc_10605439 = [null]; +var timer_10605440 = [null]; +function raiseRangeError() { + raiseException({message: makeNimstrLit("value out of range"), parent: null, m_type: NTI1214653, name: null, trace: [], up: null}, "RangeDefect"); - if ((ConstSet2[c_536870973] != undefined)) { - result_536870974 = (c_536870973 ^ 32); + +} +function nsuToLowerAsciiChar(c_9430023) { + var result_9430024 = 0; + + if ((ConstSet2[c_9430023] != undefined)) { + result_9430024 = chckRange(addInt(c_9430023, 32), 0, 255); } else { - result_536870974 = c_536870973; + result_9430024 = c_9430023; } - return result_536870974; + return result_9430024; } -function fuzzyMatch_520093707(pattern_520093708, str_520093709) { +function fuzzyMatch_10436054(pattern_10436056, str_10436057) { var Tmp4; var Tmp5; var Tmp6; var Tmp7; var Tmp8; - var result_520093712 = {Field0: 0, Field1: false}; + var result_10436061 = {Field0: 0, Field1: false}; - var scoreState_520093713 = -100; - var headerMatched_520093714 = false; - var unmatchedLeadingCharCount_520093715 = 0; - var consecutiveMatchCount_520093716 = 0; - var strIndex_520093717 = 0; - var patIndex_520093718 = 0; - var score_520093719 = 0; + var scoreState_10436062 = -100; + var headerMatched_10436063 = false; + var unmatchedLeadingCharCount_10436065 = 0; + var consecutiveMatchCount_10436067 = 0; + var strIndex_10436069 = 0; + var patIndex_10436071 = 0; + var score_10436073 = 0; L1: do { L2: while (true) { - if (!((strIndex_520093717 < (str_520093709).length) && (patIndex_520093718 < (pattern_520093708).length))) break L2; + if (!((strIndex_10436069 < ((str_10436057) == null ? 0 : (str_10436057).length)) && (patIndex_10436071 < ((pattern_10436056) == null ? 0 : (pattern_10436056).length)))) break L2; L3: do { - var patternChar_520093722 = nsuToLowerAsciiChar(pattern_520093708.charCodeAt(chckIndx(patIndex_520093718, 0, (pattern_520093708).length-1))); - var strChar_520093723 = nsuToLowerAsciiChar(str_520093709.charCodeAt(chckIndx(strIndex_520093717, 0, (str_520093709).length-1))); - if ((ConstSet3[patternChar_520093722] != undefined)) { - patIndex_520093718 = addInt(patIndex_520093718, 1); + var patternChar_10436079 = nsuToLowerAsciiChar(pattern_10436056.charCodeAt(chckIndx(patIndex_10436071, 0, (pattern_10436056).length-1))); + var strChar_10436080 = nsuToLowerAsciiChar(str_10436057.charCodeAt(chckIndx(strIndex_10436069, 0, (str_10436057).length-1))); + if ((ConstSet3[patternChar_10436079] != undefined)) { + patIndex_10436071 = addInt(patIndex_10436071, 1); break L3; } - if ((ConstSet4[strChar_520093723] != undefined)) { - strIndex_520093717 = addInt(strIndex_520093717, 1); + if ((ConstSet4[strChar_10436080] != undefined)) { + strIndex_10436069 = addInt(strIndex_10436069, 1); break L3; } - if ((!(headerMatched_520093714) && (strChar_520093723 == 58))) { - headerMatched_520093714 = true; - scoreState_520093713 = -100; - score_520093719 = ((Math.floor((5.0000000000000000e-001 * score_520093719)))|0); - patIndex_520093718 = 0; - strIndex_520093717 = addInt(strIndex_520093717, 1); + if ((!(headerMatched_10436063) && (strChar_10436080 == 58))) { + headerMatched_10436063 = true; + scoreState_10436062 = -100; + score_10436073 = ((Math.floor((5.0000000000000000e-001 * score_10436073)))|0); + patIndex_10436071 = 0; + strIndex_10436069 = addInt(strIndex_10436069, 1); break L3; } - if ((strChar_520093723 == patternChar_520093722)) { - switch (scoreState_520093713) { + if ((strChar_10436080 == patternChar_10436079)) { + switch (scoreState_10436062) { case -100: case 20: - scoreState_520093713 = 10; + scoreState_10436062 = 10; break; case 0: - scoreState_520093713 = 5; - score_520093719 = addInt(score_520093719, scoreState_520093713); + scoreState_10436062 = 5; + score_10436073 = addInt(score_10436073, scoreState_10436062); break; case 10: case 5: - consecutiveMatchCount_520093716 = addInt(consecutiveMatchCount_520093716, 1); - scoreState_520093713 = 5; - score_520093719 = addInt(score_520093719, mulInt(5, consecutiveMatchCount_520093716)); - if ((scoreState_520093713 == 10)) { - score_520093719 = addInt(score_520093719, 10); + consecutiveMatchCount_10436067 = addInt(consecutiveMatchCount_10436067, 1); + scoreState_10436062 = 5; + score_10436073 = addInt(score_10436073, mulInt(5, consecutiveMatchCount_10436067)); + if ((scoreState_10436062 == 10)) { + score_10436073 = addInt(score_10436073, 10); } - var onBoundary_520093774 = (patIndex_520093718 == ((pattern_520093708).length-1)); - if ((!(onBoundary_520093774) && (strIndex_520093717 < ((str_520093709).length-1)))) { - var nextPatternChar_520093775 = nsuToLowerAsciiChar(pattern_520093708.charCodeAt(chckIndx(addInt(patIndex_520093718, 1), 0, (pattern_520093708).length-1))); - var nextStrChar_520093776 = nsuToLowerAsciiChar(str_520093709.charCodeAt(chckIndx(addInt(strIndex_520093717, 1), 0, (str_520093709).length-1))); - if (!!((ConstSet5[nextStrChar_520093776] != undefined))) Tmp4 = false; else { Tmp4 = !((nextStrChar_520093776 == nextPatternChar_520093775)); } onBoundary_520093774 = Tmp4; + var onBoundary_10450042 = (patIndex_10436071 == ((pattern_10436056) == null ? -1 : (pattern_10436056).length - 1)); + if ((!(onBoundary_10450042) && (strIndex_10436069 < ((str_10436057) == null ? -1 : (str_10436057).length - 1)))) { + var nextPatternChar_10450043 = nsuToLowerAsciiChar(pattern_10436056.charCodeAt(chckIndx(addInt(patIndex_10436071, 1), 0, (pattern_10436056).length-1))); + var nextStrChar_10450044 = nsuToLowerAsciiChar(str_10436057.charCodeAt(chckIndx(addInt(strIndex_10436069, 1), 0, (str_10436057).length-1))); + if (!!((ConstSet5[nextStrChar_10450044] != undefined))) Tmp4 = false; else { Tmp4 = !((nextStrChar_10450044 == nextPatternChar_10450043)); } onBoundary_10450042 = Tmp4; } - if (onBoundary_520093774) { - scoreState_520093713 = 20; - score_520093719 = addInt(score_520093719, scoreState_520093713); + if (onBoundary_10450042) { + scoreState_10436062 = 20; + score_10436073 = addInt(score_10436073, scoreState_10436062); } break; case -1: case -3: - if (!((ConstSet6[str_520093709.charCodeAt(chckIndx(subInt(strIndex_520093717, 1), 0, (str_520093709).length-1))] != undefined))) Tmp5 = true; else { if (!(ConstSet7[str_520093709.charCodeAt(chckIndx(subInt(strIndex_520093717, 1), 0, (str_520093709).length-1))] != undefined)) Tmp6 = false; else { Tmp6 = (ConstSet8[str_520093709.charCodeAt(chckIndx(strIndex_520093717, 0, (str_520093709).length-1))] != undefined); } Tmp5 = Tmp6; } var isLeadingChar_520093800 = Tmp5; - if (isLeadingChar_520093800) { - scoreState_520093713 = 10; + if (!((ConstSet6[str_10436057.charCodeAt(chckIndx(subInt(strIndex_10436069, 1), 0, (str_10436057).length-1))] != undefined))) Tmp5 = true; else { if (!(ConstSet7[str_10436057.charCodeAt(chckIndx(subInt(strIndex_10436069, 1), 0, (str_10436057).length-1))] != undefined)) Tmp6 = false; else { Tmp6 = (ConstSet8[str_10436057.charCodeAt(chckIndx(strIndex_10436069, 0, (str_10436057).length-1))] != undefined); } Tmp5 = Tmp6; } var isLeadingChar_10480008 = Tmp5; + if (isLeadingChar_10480008) { + scoreState_10436062 = 10; } else { - scoreState_520093713 = 0; - score_520093719 = addInt(score_520093719, scoreState_520093713); + scoreState_10436062 = 0; + score_10436073 = addInt(score_10436073, scoreState_10436062); } break; } - patIndex_520093718 = addInt(patIndex_520093718, 1); + patIndex_10436071 = addInt(patIndex_10436071, 1); } else { - switch (scoreState_520093713) { + switch (scoreState_10436062) { case -100: - scoreState_520093713 = -3; - score_520093719 = addInt(score_520093719, scoreState_520093713); + scoreState_10436062 = -3; + score_10436073 = addInt(score_10436073, scoreState_10436062); break; case 5: - scoreState_520093713 = -1; - score_520093719 = addInt(score_520093719, scoreState_520093713); - consecutiveMatchCount_520093716 = 0; + scoreState_10436062 = -1; + score_10436073 = addInt(score_10436073, scoreState_10436062); + consecutiveMatchCount_10436067 = 0; break; case -3: - if ((unmatchedLeadingCharCount_520093715 < 3)) { - scoreState_520093713 = -3; - score_520093719 = addInt(score_520093719, scoreState_520093713); + if ((unmatchedLeadingCharCount_10436065 < 3)) { + scoreState_10436062 = -3; + score_10436073 = addInt(score_10436073, scoreState_10436062); } - unmatchedLeadingCharCount_520093715 = addInt(unmatchedLeadingCharCount_520093715, 1); + unmatchedLeadingCharCount_10436065 = addInt(unmatchedLeadingCharCount_10436065, 1); break; default: - scoreState_520093713 = -1; - score_520093719 = addInt(score_520093719, scoreState_520093713); + scoreState_10436062 = -1; + score_10436073 = addInt(score_10436073, scoreState_10436062); break; } } - strIndex_520093717 = addInt(strIndex_520093717, 1); + strIndex_10436069 = addInt(strIndex_10436069, 1); } while(false); } } while(false); - if (!(patIndex_520093718 == (pattern_520093708).length)) Tmp7 = false; else { if ((strIndex_520093717 == (str_520093709).length)) Tmp8 = true; else { Tmp8 = !((ConstSet9[str_520093709.charCodeAt(chckIndx(strIndex_520093717, 0, (str_520093709).length-1))] != undefined)); } Tmp7 = Tmp8; } if (Tmp7) { - score_520093719 = addInt(score_520093719, 10); + if (!(patIndex_10436071 == ((pattern_10436056) == null ? 0 : (pattern_10436056).length))) Tmp7 = false; else { if ((strIndex_10436069 == ((str_10436057) == null ? 0 : (str_10436057).length))) Tmp8 = true; else { Tmp8 = !((ConstSet9[str_10436057.charCodeAt(chckIndx(strIndex_10436069, 0, (str_10436057).length-1))] != undefined)); } Tmp7 = Tmp8; } if (Tmp7) { + score_10436073 = addInt(score_10436073, 10); } - var colontmp__385876831 = nimMax(0, score_520093719); - var colontmp__385876832 = (0 < score_520093719); - result_520093712 = nimCopy(result_520093712, {Field0: colontmp__385876831, Field1: colontmp__385876832}, NTI520093699); + var colontmp__10615075 = nimMax(0, score_10436073); + var colontmp__10615076 = (0 < score_10436073); + nimCopy(result_10436061, {Field0: colontmp__10615075, Field1: colontmp__10615076}, NTI10436058); - return result_520093712; + return result_10436061; } -function escapeCString_385876625(x_385876626, x_385876626_Idx) { - var s_385876627 = []; +function escapeCString_10595537(x_10595540, x_10595540_Idx) { + var s_10595541 = []; L1: do { - var c_385876628 = 0; - var i_385876835 = 0; - var L_385876836 = (x_385876626[x_385876626_Idx]).length; + var c_10595542 = 0; + var i_10615080 = 0; + var L_10615081 = ((x_10595540[x_10595540_Idx]) == null ? 0 : (x_10595540[x_10595540_Idx]).length); L2: do { L3: while (true) { - if (!(i_385876835 < L_385876836)) break L3; - c_385876628 = x_385876626[x_385876626_Idx].charCodeAt(chckIndx(i_385876835, 0, (x_385876626[x_385876626_Idx]).length-1)); - switch (c_385876628) { + if (!(i_10615080 < L_10615081)) break L3; + c_10595542 = x_10595540[x_10595540_Idx].charCodeAt(chckIndx(i_10615080, 0, (x_10595540[x_10595540_Idx]).length-1)); + switch (c_10595542) { case 60: - s_385876627.push.apply(s_385876627, makeNimstrLit("<"));; + s_10595541.push.apply(s_10595541, makeNimstrLit("<"));; break; case 62: - s_385876627.push.apply(s_385876627, makeNimstrLit(">"));; + s_10595541.push.apply(s_10595541, makeNimstrLit(">"));; break; default: - addChar(s_385876627, c_385876628);; + addChar(s_10595541, c_10595542);; break; } - i_385876835 = addInt(i_385876835, 1); + i_10615080 = addInt(i_10615080, 1); } } while(false); } while(false); - x_385876626[x_385876626_Idx] = toJSStr(s_385876627); + x_10595540[x_10595540_Idx] = toJSStr(s_10595541); } -function text_385876023(s_385876024) { - var result_385876025 = null; +function text_10516152(s_10516154) { + var result_10516155 = null; - result_385876025 = document.createTextNode(toJSStr(s_385876024)); + result_10516155 = document.createTextNode(toJSStr(s_10516154)); - return result_385876025; + return result_10516155; } -function dosearch_385876629(value_385876630) { - function HEX3Aanonymous_385876688(a_385876693, b_385876694) { - var result_385876699 = 0; +function dosearch_10595556(value_10595558) { + function HEX3Aanonymous_10605276(a_10605285, b_10605286) { + var result_10605292 = 0; - result_385876699 = subInt(b_385876694["Field1"], a_385876693["Field1"]); + result_10605292 = subInt(b_10605286["Field1"], a_10605285["Field1"]); - return result_385876699; + return result_10605292; } - var result_385876631 = null; + var result_10595559 = null; - if (((db_385876621[0]).length == 0)) { - var stuff_385876635 = null; + if (((db_10595518[0]).length == 0)) { + var stuff_10595565 = null; var request = new XMLHttpRequest(); request.open("GET", "theindex.html", false); request.send(null); @@ -1840,23 +1869,23 @@ function dosearch_385876629(value_385876630) { //parser=new DOMParser(); //doc=parser.parseFromString("<html></html>", "text/html"); - stuff_385876635 = doc.documentElement; + stuff_10595565 = doc.documentElement; - db_385876621[0] = nimCopy(null, stuff_385876635.getElementsByClassName("reference"), NTI503316899); - contents_385876622[0] = nimCopy(null, [], NTI385876518); + db_10595518[0] = nimCopy(null, stuff_10595565.getElementsByClassName("reference"), NTI1900505); + contents_10595520[0] = nimCopy(null, [], NTI10595580); L1: do { - var ahref_385876662 = null; - var ahref_385876662_Idx = 0; - var i_385876816 = 0; - var L_385876817 = (db_385876621[0]).length; + var ahref_10605214 = null; + var ahref_10605214_Idx = 0; + var i_10615055 = 0; + var L_10615056 = (db_10595518[0]).length; L2: do { L3: while (true) { - if (!(i_385876816 < L_385876817)) break L3; - ahref_385876662 = db_385876621[0]; ahref_385876662_Idx = chckIndx(i_385876816, 0, (db_385876621[0]).length-1); - contents_385876622[0].push(ahref_385876662[ahref_385876662_Idx].getAttribute("data-doc-search-tag"));; - i_385876816 = addInt(i_385876816, 1); - if (!(((db_385876621[0]).length == L_385876817))) { - failedAssertImpl_218103865(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); + if (!(i_10615055 < L_10615056)) break L3; + ahref_10605214 = db_10595518[0]; ahref_10605214_Idx = chckIndx(i_10615055, 0, (db_10595518[0]).length-1); + contents_10595520[0].push(ahref_10605214[ahref_10605214_Idx].getAttribute("data-doc-search-tag"));; + i_10615055 = addInt(i_10615055, 1); + if (!(((db_10595518[0]).length == L_10615056))) { + failedAssertImpl_1325480(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); } } @@ -1864,92 +1893,92 @@ function dosearch_385876629(value_385876630) { } while(false); } - var ul_385876667 = tree_385875973(makeNimstrLit("UL"), []); - result_385876631 = tree_385875973(makeNimstrLit("DIV"), []); - setClass_385876020(result_385876631, makeNimstrLit("search_results")); - var matches_385876672 = []; + var ul_10605226 = tree_10516020(makeNimstrLit("UL"), []); + result_10595559 = tree_10516020(makeNimstrLit("DIV"), []); + setClass_10516135(result_10595559, makeNimstrLit("search_results")); + var matches_10605247 = []; L4: do { - var i_385876680 = 0; - var colontmp__385876821 = 0; - colontmp__385876821 = (db_385876621[0]).length; - var i_385876822 = 0; + var i_10605260 = 0; + var colontmp__10615062 = 0; + colontmp__10615062 = (db_10595518[0]).length; + var i_10615063 = 0; L5: do { L6: while (true) { - if (!(i_385876822 < colontmp__385876821)) break L6; - i_385876680 = i_385876822; + if (!(i_10615063 < colontmp__10615062)) break L6; + i_10605260 = i_10615063; L7: do { - var c_385876681 = contents_385876622[0][chckIndx(i_385876680, 0, (contents_385876622[0]).length-1)]; - if (((c_385876681 == "Examples") || (c_385876681 == "PEG construction"))) { + var c_10605261 = contents_10595520[0][chckIndx(i_10605260, 0, (contents_10595520[0]).length-1)]; + if (((c_10605261 == "Examples") || (c_10605261 == "PEG construction"))) { break L7; } - var colontmp__385876828 = fuzzyMatch_520093707(value_385876630, c_385876681); - var score_385876682 = colontmp__385876828["Field0"]; - var matched_385876683 = colontmp__385876828["Field1"]; - if (matched_385876683) { - matches_385876672.push({Field0: db_385876621[0][chckIndx(i_385876680, 0, (db_385876621[0]).length-1)], Field1: score_385876682});; + var colontmp__10615070 = fuzzyMatch_10436054(value_10595558, c_10605261); + var score_10605262 = colontmp__10615070["Field0"]; + var matched_10605263 = colontmp__10615070["Field1"]; + if (matched_10605263) { + matches_10605247.push({Field0: db_10595518[0][chckIndx(i_10605260, 0, (db_10595518[0]).length-1)], Field1: score_10605262});; } } while(false); - i_385876822 = addInt(i_385876822, 1); + i_10615063 = addInt(i_10615063, 1); } } while(false); } while(false); - matches_385876672.sort(HEX3Aanonymous_385876688); + matches_10605247.sort(HEX3Aanonymous_10605276); L8: do { - var i_385876715 = 0; - var colontmp__385876825 = 0; - colontmp__385876825 = nimMin((matches_385876672).length, 29); - var i_385876826 = 0; + var i_10605331 = 0; + var colontmp__10615067 = 0; + colontmp__10615067 = nimMin((matches_10605247).length, 29); + var i_10615068 = 0; L9: do { L10: while (true) { - if (!(i_385876826 < colontmp__385876825)) break L10; - i_385876715 = i_385876826; - matches_385876672[chckIndx(i_385876715, 0, (matches_385876672).length-1)]["Field0"].innerHTML = matches_385876672[chckIndx(i_385876715, 0, (matches_385876672).length-1)]["Field0"].getAttribute("data-doc-search-tag"); - escapeCString_385876625(matches_385876672[chckIndx(i_385876715, 0, (matches_385876672).length-1)]["Field0"], "innerHTML"); - add_385876016(ul_385876667, tree_385875973(makeNimstrLit("LI"), [matches_385876672[chckIndx(i_385876715, 0, (matches_385876672).length-1)]["Field0"]])); - i_385876826 = addInt(i_385876826, 1); + if (!(i_10615068 < colontmp__10615067)) break L10; + i_10605331 = i_10615068; + matches_10605247[chckIndx(i_10605331, 0, (matches_10605247).length-1)]["Field0"].innerHTML = matches_10605247[chckIndx(i_10605331, 0, (matches_10605247).length-1)]["Field0"].getAttribute("data-doc-search-tag"); + escapeCString_10595537(matches_10605247[chckIndx(i_10605331, 0, (matches_10605247).length-1)]["Field0"], "innerHTML"); + add_10516117(ul_10605226, tree_10516020(makeNimstrLit("LI"), [matches_10605247[chckIndx(i_10605331, 0, (matches_10605247).length-1)]["Field0"]])); + i_10615068 = addInt(i_10615068, 1); } } while(false); } while(false); - if ((ul_385876667.childNodes.length == 0)) { - add_385876016(result_385876631, tree_385875973(makeNimstrLit("B"), [text_385876023(makeNimstrLit("no search results"))])); + if ((ul_10605226.childNodes.length == 0)) { + add_10516117(result_10595559, tree_10516020(makeNimstrLit("B"), [text_10516152(makeNimstrLit("no search results"))])); } else { - add_385876016(result_385876631, tree_385875973(makeNimstrLit("B"), [text_385876023(makeNimstrLit("search results"))])); - add_385876016(result_385876631, ul_385876667); + add_10516117(result_10595559, tree_10516020(makeNimstrLit("B"), [text_10516152(makeNimstrLit("search results"))])); + add_10516117(result_10595559, ul_10605226); } - return result_385876631; + return result_10595559; } function search() { - function wrapper_385876782() { - var elem_385876783 = document.getElementById("searchInput"); - var value_385876784 = elem_385876783.value; - if (!(((value_385876784).length == 0))) { - if ((oldtoc_385876770[0] == null)) { - oldtoc_385876770[0] = document.getElementById("tocRoot"); + function wrapper_10605471() { + var elem_10605473 = document.getElementById("searchInput"); + var value_10605474 = elem_10605473.value; + if (!((((value_10605474) == null ? 0 : (value_10605474).length) == 0))) { + if ((oldtoc_10605439[0] == null)) { + oldtoc_10605439[0] = document.getElementById("tocRoot"); } - var results_385876788 = dosearch_385876629(value_385876784); - replaceById_385876031("tocRoot", results_385876788); + var results_10610006 = dosearch_10595556(value_10605474); + replaceById_10516189("tocRoot", results_10610006); } else { - if (!((oldtoc_385876770[0] == null))) { - replaceById_385876031("tocRoot", oldtoc_385876770[0]); + if (!((oldtoc_10605439[0] == null))) { + replaceById_10516189("tocRoot", oldtoc_10605439[0]); } } } - if (!((timer_385876771[0] == null))) { - clearTimeout(timer_385876771[0]); + if (!((timer_10605440[0] == null))) { + clearTimeout(timer_10605440[0]); } - timer_385876771[0] = setTimeout(wrapper_385876782, 400); + timer_10605440[0] = setTimeout(wrapper_10605471, 400); } diff --git a/docs/nimdoc.out.css b/docs/nimdoc.out.css index 7d4a399..2d9533c 100644 --- a/docs/nimdoc.out.css +++ b/docs/nimdoc.out.css @@ -14,9 +14,6 @@ Modified by Boyd Greenfield and narimiran --primary-background: #fff; --secondary-background: ghostwhite; --third-background: #e8e8e8; - --info-background: #50c050; - --warning-background: #c0a000; - --error-background: #e04040; --border: #dde; --text: #222; --anchor: #07b; @@ -42,9 +39,6 @@ Modified by Boyd Greenfield and narimiran --primary-background: #171921; --secondary-background: #1e202a; --third-background: #2b2e3b; - --info-background: #008000; - --warning-background: #807000; - --error-background: #c03000; --border: #0e1014; --text: #fff; --anchor: #8be9fd; @@ -615,34 +609,6 @@ table.borderless td, table.borderless th { The right padding separates the table cells. */ padding: 0 0.5em 0 0 !important; } -.admonition { - padding: 0.3em; - background-color: var(--secondary-background); - border-left: 0.4em solid #7f7f84; - margin-bottom: 0.5em; - -webkit-box-shadow: 0 5px 8px -6px rgba(0,0,0,.2); - -moz-box-shadow: 0 5px 8px -6px rgba(0,0,0,.2); - box-shadow: 0 5px 8px -6px rgba(0,0,0,.2); -} -.admonition-info { - border-color: var(--info-background); -} -.admonition-info-text { - color: var(--info-background); -} -.admonition-warning { - border-color: var(--warning-background); -} -.admonition-warning-text { - color: var(--warning-background); -} -.admonition-error { - border-color: var(--error-background); -} -.admonition-error-text { - color: var(--error-background); -} - .first { /* Override more specific margin styles with "! important". */ margin-top: 0 !important; } diff --git a/docs/pixie.html b/docs/pixie.html index 7c727a0..11511a2 100644 --- a/docs/pixie.html +++ b/docs/pixie.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">pixie</h1> @@ -241,7 +239,6 @@ window.addEventListener('DOMContentLoaded', main); </ul> </div> - <div class="nine columns" id="content"> <div id="tocRoot"></div> @@ -249,7 +246,7 @@ window.addEventListener('DOMContentLoaded', main); <div class="section" id="6"> <h1><a class="toc-backref" href="#6">Imports</a></h1> <dl class="item"> -<a class="reference external" href="pixie/blends.html">pixie/blends</a>, <a class="reference external" href="pixie/common.html">pixie/common</a>, <a class="reference external" href="pixie/fileformats/bmp.html">pixie/fileformats/bmp</a>, <a class="reference external" href="pixie/fileformats/jpg.html">pixie/fileformats/jpg</a>, <a class="reference external" href="pixie/fileformats/png.html">pixie/fileformats/png</a>, <a class="reference external" href="pixie/fileformats/svg.html">pixie/fileformats/svg</a>, <a class="reference external" href="pixie/paints.html">pixie/paints</a>, <a class="reference external" href="pixie/images.html">pixie/images</a>, <a class="reference external" href="pixie/masks.html">pixie/masks</a>, <a class="reference external" href="pixie/paths.html">pixie/paths</a> +<a class="reference external" href="pixie/blends.html">pixie/blends</a>, <a class="reference external" href="pixie/common.html">pixie/common</a>, <a class="reference external" href="pixie/fileformats/bmp.html">pixie/fileformats/bmp</a>, <a class="reference external" href="pixie/fileformats/jpg.html">pixie/fileformats/jpg</a>, <a class="reference external" href="pixie/fileformats/png.html">pixie/fileformats/png</a>, <a class="reference external" href="pixie/fileformats/svg.html">pixie/fileformats/svg</a>, <a class="reference external" href="pixie/images.html">pixie/images</a>, <a class="reference external" href="pixie/masks.html">pixie/masks</a>, <a class="reference external" href="pixie/paints.html">pixie/paints</a>, <a class="reference external" href="pixie/paths.html">pixie/paths</a> </dl></div> <div class="section" id="7"> <h1><a class="toc-backref" href="#7">Types</a></h1> @@ -276,7 +273,7 @@ Loads an image from a memory. </dd> <a id="readImage,string"></a> <dt><pre><span class="Keyword">proc</span> <a href="#readImage%2Cstring"><span class="Identifier">readImage</span></a><span class="Other">(</span><span class="Identifier">filePath</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> - <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> Loads an image from a file. @@ -307,10 +304,11 @@ Writes an image to a file. </dd> <a id="fillRect,Image,Rect,ColorRGBA"></a> -<dt><pre><span class="Keyword">proc</span> <a href="#fillRect%2CImage%2CRect%2CColorRGBA"><span class="Identifier">fillRect</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Identifier">Rect</span><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> +<dt><pre><span class="Keyword">proc</span> <a href="#fillRect%2CImage%2CRect%2CColorRGBA"><span class="Identifier">fillRect</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Identifier">Rect</span><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Fill a rectangle. +Fills a rectangle. </dd> <a id="fillRect,Mask,Rect"></a> @@ -318,15 +316,15 @@ Fill a rectangle. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Fill a rectangle. +Fills a rectangle. </dd> <a id="strokeRect,Image,Rect,ColorRGBA,float"></a> <dt><pre><span class="Keyword">proc</span> <a href="#strokeRect%2CImage%2CRect%2CColorRGBA%2Cfloat"><span class="Identifier">strokeRect</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Identifier">Rect</span><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> - <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Stroke a rounded rectangle. +Strokes a rectangle. </dd> <a id="strokeRect,Mask,Rect,float"></a> @@ -334,23 +332,24 @@ Stroke a rounded rectangle. <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Stroke a rounded rectangle. +Strokes a rectangle. </dd> <a id="fillRoundedRect,Image,Rect,float32,float32,float32,float32,ColorRGBA"></a> <dt><pre><span class="Keyword">proc</span> <a href="#fillRoundedRect%2CImage%2CRect%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2CColorRGBA"><span class="Identifier">fillRoundedRect</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Identifier">Rect</span><span class="Other">;</span> <span class="Identifier">nw</span><span class="Other">,</span> <span class="Identifier">ne</span><span class="Other">,</span> <span class="Identifier">se</span><span class="Other">,</span> <span class="Identifier">sw</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> - <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> + <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Fill a rounded rectangle. +Fills a rounded rectangle. </dd> <a id="fillRoundedRect,Image,Rect,float32,ColorRGBA"></a> <dt><pre><span class="Keyword">proc</span> <a href="#fillRoundedRect%2CImage%2CRect%2Cfloat32%2CColorRGBA"><span class="Identifier">fillRoundedRect</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Identifier">Rect</span><span class="Other">;</span> <span class="Identifier">radius</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> - <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Fill a rounded rectangle. +Fills a rounded rectangle. </dd> <a id="fillRoundedRect,Mask,Rect,float32,float32,float32,float32"></a> @@ -358,7 +357,7 @@ Fill a rounded rectangle. <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Fill a rounded rectangle. +Fills a rounded rectangle. </dd> <a id="fillRoundedRect,Mask,Rect,float32"></a> @@ -366,25 +365,25 @@ Fill a rounded rectangle. <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Fill a rounded rectangle. +Fills a rounded rectangle. </dd> <a id="strokeRoundedRect,Image,Rect,float32,float32,float32,float32,ColorRGBA,float"></a> <dt><pre><span class="Keyword">proc</span> <a href="#strokeRoundedRect%2CImage%2CRect%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2CColorRGBA%2Cfloat"><span class="Identifier">strokeRoundedRect</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Identifier">Rect</span><span class="Other">;</span> <span class="Identifier">nw</span><span class="Other">,</span> <span class="Identifier">ne</span><span class="Other">,</span> <span class="Identifier">se</span><span class="Other">,</span> <span class="Identifier">sw</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> - <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> - <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Stroke a rounded rectangle. +Strokes a rounded rectangle. </dd> <a id="strokeRoundedRect,Image,Rect,float32,ColorRGBA,float"></a> <dt><pre><span class="Keyword">proc</span> <a href="#strokeRoundedRect%2CImage%2CRect%2Cfloat32%2CColorRGBA%2Cfloat"><span class="Identifier">strokeRoundedRect</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Identifier">Rect</span><span class="Other">;</span> <span class="Identifier">radius</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> - <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> - <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Stroke a rounded rectangle. +Strokes a rounded rectangle. </dd> <a id="strokeRoundedRect,Mask,Rect,float32,float32,float32,float32,float"></a> @@ -393,7 +392,7 @@ Stroke a rounded rectangle. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Stroke a rounded rectangle. +Strokes a rounded rectangle. </dd> <a id="strokeRoundedRect,Mask,Rect,float32,float"></a> @@ -402,15 +401,16 @@ Stroke a rounded rectangle. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Stroke a rounded rectangle. +Strokes a rounded rectangle. </dd> <a id="strokeSegment,Image,Segment,ColorRGBA,float"></a> <dt><pre><span class="Keyword">proc</span> <a href="#strokeSegment%2CImage%2CSegment%2CColorRGBA%2Cfloat"><span class="Identifier">strokeSegment</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">segment</span><span class="Other">:</span> <span class="Identifier">Segment</span><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> - <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> + <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Stroke a segment (draws a line from segment.at to segment.to). +Strokes a segment (draws a line from segment.at to segment.to). </dd> <a id="strokeSegment,Mask,Segment,float32"></a> @@ -418,15 +418,16 @@ Stroke a segment (draws a line from segment.at to segment.to). <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Stroke a segment (draws a line from segment.at to segment.to). +Strokes a segment (draws a line from segment.at to segment.to). </dd> <a id="fillEllipse,Image,Vec2,float32,float32,ColorRGBA"></a> <dt><pre><span class="Keyword">proc</span> <a href="#fillEllipse%2CImage%2CVec2%2Cfloat32%2Cfloat32%2CColorRGBA"><span class="Identifier">fillEllipse</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">center</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">rx</span><span class="Other">,</span> <span class="Identifier">ry</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> - <span class="Identifier">blendMode</span> <span class="Other">=</span> <span class="Identifier">bmNormal</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">blendMode</span> <span class="Other">=</span> <span class="Identifier">bmNormal</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> + <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Fill an ellipse. +Fills an ellipse. </dd> <a id="fillEllipse,Mask,Vec2,float32,float32"></a> @@ -434,15 +435,16 @@ Fill an ellipse. <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Fill an ellipse. +Fills an ellipse. </dd> <a id="strokeEllipse,Image,Vec2,float32,float32,ColorRGBA,float"></a> <dt><pre><span class="Keyword">proc</span> <a href="#strokeEllipse%2CImage%2CVec2%2Cfloat32%2Cfloat32%2CColorRGBA%2Cfloat"><span class="Identifier">strokeEllipse</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">center</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">rx</span><span class="Other">,</span> <span class="Identifier">ry</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> - <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Stroke an ellipse. +Strokes an ellipse. </dd> <a id="strokeEllipse,Mask,Vec2,float32,float32,float"></a> @@ -450,12 +452,12 @@ Stroke an ellipse. <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Stroke an ellipse. +Strokes an ellipse. </dd> <a id="fillCircle,Image,Vec2,float32,ColorRGBA"></a> <dt><pre><span class="Keyword">proc</span> <a href="#fillCircle%2CImage%2CVec2%2Cfloat32%2CColorRGBA"><span class="Identifier">fillCircle</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">center</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">radius</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> - <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> Fills a circle. @@ -471,7 +473,8 @@ Fills a circle. </dd> <a id="strokeCircle,Image,Vec2,float32,ColorRGBA,float"></a> <dt><pre><span class="Keyword">proc</span> <a href="#strokeCircle%2CImage%2CVec2%2Cfloat32%2CColorRGBA%2Cfloat"><span class="Identifier">strokeCircle</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">center</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">radius</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> - <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> + <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> Strokes a circle. @@ -487,7 +490,8 @@ Strokes a circle. </dd> <a id="fillPolygon,Image,Vec2,float32,int,ColorRGBA"></a> <dt><pre><span class="Keyword">proc</span> <a href="#fillPolygon%2CImage%2CVec2%2Cfloat32%2Cint%2CColorRGBA"><span class="Identifier">fillPolygon</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">pos</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">sides</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">;</span> - <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> + <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> Fills a polygon. @@ -503,7 +507,8 @@ Fills a polygon. </dd> <a id="strokePolygon,Image,Vec2,float32,int,ColorRGBA,float"></a> <dt><pre><span class="Keyword">proc</span> <a href="#strokePolygon%2CImage%2CVec2%2Cfloat32%2Cint%2CColorRGBA%2Cfloat"><span class="Identifier">strokePolygon</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">pos</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">sides</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">;</span> - <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span> <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> Strokes a polygon. @@ -523,7 +528,7 @@ Strokes a polygon. <div class="section" id="19"> <h1><a class="toc-backref" href="#19">Exports</a></h1> <dl class="item"> -<a href="pixie/blends.html#unpackAlphaValues,M128i"><span class="Identifier">unpackAlphaValues</span></a>, <a href="pixie/blends.html#Masker"><span class="Identifier">Masker</span></a>, <a href="pixie/blends.html#maskerSimd,BlendMode"><span class="Identifier">maskerSimd</span></a>, <a href="pixie/blends.html#blender,BlendMode"><span class="Identifier">blender</span></a>, <a href="pixie/blends.html#hasSimdBlender,BlendMode"><span class="Identifier">hasSimdBlender</span></a>, <a href="pixie/blends.html#Blender"><span class="Identifier">Blender</span></a>, <a href="pixie/blends.html#BlenderSimd"><span class="Identifier">BlenderSimd</span></a>, <a href="pixie/blends.html#MaskerSimd"><span class="Identifier">MaskerSimd</span></a>, <a href="pixie/blends.html#packAlphaValues,M128i"><span class="Identifier">packAlphaValues</span></a>, <a href="pixie/blends.html#blenderSimd,BlendMode"><span class="Identifier">blenderSimd</span></a>, <a href="pixie/blends.html#hasSimdMasker,BlendMode"><span class="Identifier">hasSimdMasker</span></a>, <a href="pixie/blends.html#masker,BlendMode"><span class="Identifier">masker</span></a>, <a href="pixie/blends.html#BlendMode"><span class="Identifier">BlendMode</span></a>, <a href="pixie/blends.html#blendAlpha,uint8,uint8"><span class="Identifier">blendAlpha</span></a>, <a href="pixie/common.html#toPremultipliedAlpha,ColorRGBA"><span class="Identifier">toPremultipliedAlpha</span></a>, <a href="pixie/common.html#toPremultipliedAlpha,Color"><span class="Identifier">toPremultipliedAlpha</span></a>, <a href="pixie/common.html#toStraightAlpha,Color"><span class="Identifier">toStraightAlpha</span></a>, <a href="pixie/common.html#lerp,ColorRGBA,ColorRGBA,float32"><span class="Identifier">lerp</span></a>, <a href="pixie/common.html#PixieError"><span class="Identifier">PixieError</span></a>, <a href="pixie/common.html#lerp,uint8,uint8,float32"><span class="Identifier">lerp</span></a>, <a href="pixie/common.html#fractional,float32"><span class="Identifier">fractional</span></a>, <a href="pixie/common.html#toStraightAlpha,ColorRGBA"><span class="Identifier">toStraightAlpha</span></a>, <a href="pixie/common.html#lerp,Color,Color,float32"><span class="Identifier">lerp</span></a>, <a href="pixie/paints.html#ColorStop"><span class="Identifier">ColorStop</span></a>, <a href="pixie/paints.html#PaintKind"><span class="Identifier">PaintKind</span></a>, <a href="pixie/paints.html#fillLinearGradient,Image,Vec2,Vec2,seq[ColorStop]"><span class="Identifier">fillLinearGradient</span></a>, <a href="pixie/paints.html#fillImageTiled,Image,Image,Mat3"><span class="Identifier">fillImageTiled</span></a>, <a href="pixie/paints.html#fillRadialGradient,Image,Vec2,Vec2,Vec2,seq[ColorStop]"><span class="Identifier">fillRadialGradient</span></a>, <a href="pixie/paints.html#fillAngularGradient,Image,Vec2,Vec2,Vec2,seq[ColorStop]"><span class="Identifier">fillAngularGradient</span></a>, <a href="pixie/paints.html#Paint"><span class="Identifier">Paint</span></a>, <a href="pixie/paints.html#fillImage,Image,Image,Mat3"><span class="Identifier">fillImage</span></a>, <a href="pixie/images.html#getRgbaUnsafe,Image,int,int"><span class="Identifier">getRgbaUnsafe</span></a>, <a href="pixie/images.html#draw,Image,Mask,Mat3"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#[]=,Image,int,int,ColorRGBA"><span class="Identifier">[]=</span></a>, <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a>, <a href="pixie/images.html#copy,Image"><span class="Identifier">copy</span></a>, <a href="pixie/images.html#wh,Image"><span class="Identifier">wh</span></a>, <a href="pixie/images.html#setRgbaUnsafe,Image,int,int,ColorRGBA"><span class="Identifier">setRgbaUnsafe</span></a>, <a href="pixie/images.html#getRgbaSmooth,Image,float32,float32"><span class="Identifier">getRgbaSmooth</span></a>, <a href="pixie/images.html#invert"><span class="Identifier">invert</span></a>, <a href="pixie/images.html#flipVertical,Image"><span class="Identifier">flipVertical</span></a>, <a href="pixie/images.html#magnifyBy2,Image,int"><span class="Identifier">magnifyBy2</span></a>, <a href="pixie/images.html#draw,Mask,Mask"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#draw,Image,Mask"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#flipHorizontal,Image"><span class="Identifier">flipHorizontal</span></a>, <a href="pixie/images.html#shadow,Image,Vec2,float32,float32,ColorRGBA"><span class="Identifier">shadow</span></a>, <a href="pixie/images.html#subImage,Image,int,int,int,int"><span class="Identifier">subImage</span></a>, <a href="pixie/images.html#inside,Image,int,int"><span class="Identifier">inside</span></a>, <a href="pixie/images.html#$,Image"><span class="Identifier">$</span></a>, <a href="pixie/images.html#draw,Mask,Image,Mat3"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#shift,,Vec2"><span class="Identifier">shift</span></a>, <a href="pixie/images.html#getRgbaSmoothWrapped,Image,float32,float32"><span class="Identifier">getRgbaSmoothWrapped</span></a>, <a href="pixie/images.html#dataIndex,Image,int,int"><span class="Identifier">dataIndex</span></a>, <a href="pixie/images.html#minifyBy2,Image,int"><span class="Identifier">minifyBy2</span></a>, <a href="pixie/images.html#draw,Image,Image"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#draw,Image,Image,Mat3"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#fill,Image,ColorRGBA"><span class="Identifier">fill</span></a>, <a href="pixie/images.html#draw,Mask,Mask,Mat3"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#newMask,Image"><span class="Identifier">newMask</span></a>, <a href="pixie/images.html#blur,,float32,uint32"><span class="Identifier">blur</span></a>, <a href="pixie/images.html#newImage,int,int"><span class="Identifier">newImage</span></a>, <a href="pixie/images.html#toPremultipliedAlpha,Image"><span class="Identifier">toPremultipliedAlpha</span></a>, <a href="pixie/images.html#applyOpacity,,float32"><span class="Identifier">applyOpacity</span></a>, <a href="pixie/images.html#resize,Image,int,int"><span class="Identifier">resize</span></a>, <a href="pixie/images.html#superImage,Image,int,int,int,int"><span class="Identifier">superImage</span></a>, <a href="pixie/images.html#fillUnsafe,seq[ColorRGBA],ColorRGBA,int,int"><span class="Identifier">fillUnsafe</span></a>, <a href="pixie/images.html#draw,Mask,Image"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#toStraightAlpha,Image"><span class="Identifier">toStraightAlpha</span></a>, <a href="pixie/images.html#[],Image,int,int"><span class="Identifier">[]</span></a>, <a href="pixie/masks.html#$,Mask"><span class="Identifier">$</span></a>, <a href="pixie/masks.html#setValueUnsafe,Mask,int,int,uint8"><span class="Identifier">setValueUnsafe</span></a>, <a href="pixie/masks.html#ceil,Mask"><span class="Identifier">ceil</span></a>, <a href="pixie/masks.html#dataIndex,Mask,int,int"><span class="Identifier">dataIndex</span></a>, <a href="pixie/masks.html#[]=,Mask,int,int,uint8"><span class="Identifier">[]=</span></a>, <a href="pixie/masks.html#spread,Mask,float32"><span class="Identifier">spread</span></a>, <a href="pixie/masks.html#copy,Mask"><span class="Identifier">copy</span></a>, <a href="pixie/masks.html#wh,Mask"><span class="Identifier">wh</span></a>, <a href="pixie/masks.html#newMask,int,int"><span class="Identifier">newMask</span></a>, <a href="pixie/masks.html#minifyBy2,Mask,int"><span class="Identifier">minifyBy2</span></a>, <a href="pixie/masks.html#fill,Mask,uint8"><span class="Identifier">fill</span></a>, <a href="pixie/masks.html#Mask"><span class="Identifier">Mask</span></a>, <a href="pixie/masks.html#getValueUnsafe,Mask,int,int"><span class="Identifier">getValueUnsafe</span></a>, <a href="pixie/masks.html#getValueSmooth,Mask,float32,float32"><span class="Identifier">getValueSmooth</span></a>, <a href="pixie/masks.html#fillUnsafe,seq[uint8],uint8,int,int"><span class="Identifier">fillUnsafe</span></a>, <a href="pixie/masks.html#inside,Mask,int,int"><span class="Identifier">inside</span></a>, <a href="pixie/masks.html#[],Mask,int,int"><span class="Identifier">[]</span></a>, <a href="pixie/paths.html#bezierCurveTo,Path,float32,float32,float32,float32,float32,float32"><span class="Identifier">bezierCurveTo</span></a>, <a href="pixie/paths.html#LineCap"><span class="Identifier">LineCap</span></a>, <a href="pixie/paths.html#arcTo,Path,Vec2,Vec2,float32"><span class="Identifier">arcTo</span></a>, <a href="pixie/paths.html#LineJoin"><span class="Identifier">LineJoin</span></a>, <a href="pixie/paths.html#rect,Path,Vec2,Vec2"><span class="Identifier">rect</span></a>, <a href="pixie/paths.html#bezierCurveTo,Path,Vec2,Vec2,Vec2"><span class="Identifier">bezierCurveTo</span></a>, <a href="pixie/paths.html#SomePath"><span class="Identifier">SomePath</span></a>, <a href="pixie/paths.html#strokePath,Mask,SomePath,,float"><span class="Identifier">strokePath</span></a>, <a href="pixie/paths.html#$,Path"><span class="Identifier">$</span></a>, <a href="pixie/paths.html#parsePath,string"><span class="Identifier">parsePath</span></a>, <a href="pixie/paths.html#fillPath,Image,SomePath,Paint"><span class="Identifier">fillPath</span></a>, <a href="pixie/paths.html#lineTo,Path,Vec2"><span class="Identifier">lineTo</span></a>, <a href="pixie/paths.html#polygon,Path,Vec2,float32,int"><span class="Identifier">polygon</span></a>, <a href="pixie/paths.html#roundedRect,Path,float32,float32,float32,float32,float32,float32,float32,float32"><span class="Identifier">roundedRect</span></a>, <a href="pixie/paths.html#quadraticCurveTo,Path,Vec2,Vec2"><span class="Identifier">quadraticCurveTo</span></a>, <a href="pixie/paths.html#fillPath,Image,SomePath,ColorRGBA"><span class="Identifier">fillPath</span></a>, <a href="pixie/paths.html#strokePath,Image,SomePath,ColorRGBA,,float"><span class="Identifier">strokePath</span></a>, <a href="pixie/paths.html#ellipticalArcTo,Path,float32,float32,float32,bool,bool,float32,float32"><span class="Identifier">ellipticalArcTo</span></a>, <a href="pixie/paths.html#Path"><span class="Identifier">Path</span></a>, <a href="pixie/paths.html#lineTo,Path,float32,float32"><span class="Identifier">lineTo</span></a>, <a href="pixie/paths.html#ellipse,Path,Vec2,float32,float32"><span class="Identifier">ellipse</span></a>, <a href="pixie/paths.html#quadraticCurveTo,Path,float32,float32,float32,float32"><span class="Identifier">quadraticCurveTo</span></a>, <a href="pixie/paths.html#arcTo,Path,float32,float32,float32,float32,float32"><span class="Identifier">arcTo</span></a>, <a href="pixie/paths.html#moveTo,Path,float32,float32"><span class="Identifier">moveTo</span></a>, <a href="pixie/paths.html#roundedRect,Path,Rect,float32,float32,float32,float32"><span class="Identifier">roundedRect</span></a>, <a href="pixie/paths.html#PathCommandKind"><span class="Identifier">PathCommandKind</span></a>, <a href="pixie/paths.html#polygon,Path,float32,float32,float32,int"><span class="Identifier">polygon</span></a>, <a href="pixie/paths.html#strokePath,Image,SomePath,ColorRGBA,float"><span class="Identifier">strokePath</span></a>, <a href="pixie/paths.html#transform,Path,Mat3"><span class="Identifier">transform</span></a>, <a href="pixie/paths.html#PathCommand"><span class="Identifier">PathCommand</span></a>, <a href="pixie/paths.html#roundedRect,Path,Vec2,Vec2,float32,float32,float32,float32"><span class="Identifier">roundedRect</span></a>, <a href="pixie/paths.html#rect,Path,Rect"><span class="Identifier">rect</span></a>, <a href="pixie/paths.html#fillPath,Image,SomePath,ColorRGBA,"><span class="Identifier">fillPath</span></a>, <a href="pixie/paths.html#segments.i,seq[Vec2]"><span class="Identifier">segments</span></a>, <a href="pixie/paths.html#closePath,Path"><span class="Identifier">closePath</span></a>, <a href="pixie/paths.html#addPath,Path,Path"><span class="Identifier">addPath</span></a>, <a href="pixie/paths.html#rect,Path,float32,float32,float32,float32"><span class="Identifier">rect</span></a>, <a href="pixie/paths.html#strokePath,Mask,SomePath,float"><span class="Identifier">strokePath</span></a>, <a href="pixie/paths.html#commandsToShapes,Path,float32"><span class="Identifier">commandsToShapes</span></a>, <a href="pixie/paths.html#ellipse,Path,float32,float32,float32,float32"><span class="Identifier">ellipse</span></a>, <a href="pixie/paths.html#WindingRule"><span class="Identifier">WindingRule</span></a>, <a href="pixie/paths.html#fillPath,Mask,SomePath,"><span class="Identifier">fillPath</span></a>, <a href="pixie/paths.html#moveTo,Path,Vec2"><span class="Identifier">moveTo</span></a>, <a href="pixie/paths.html#fillPath,Mask,SomePath"><span class="Identifier">fillPath</span></a> +<a href="pixie/blends.html#unpackAlphaValues,M128i"><span class="Identifier">unpackAlphaValues</span></a>, <a href="pixie/blends.html#Masker"><span class="Identifier">Masker</span></a>, <a href="pixie/blends.html#maskerSimd,BlendMode"><span class="Identifier">maskerSimd</span></a>, <a href="pixie/blends.html#blender,BlendMode"><span class="Identifier">blender</span></a>, <a href="pixie/blends.html#hasSimdBlender,BlendMode"><span class="Identifier">hasSimdBlender</span></a>, <a href="pixie/blends.html#Blender"><span class="Identifier">Blender</span></a>, <a href="pixie/blends.html#BlenderSimd"><span class="Identifier">BlenderSimd</span></a>, <a href="pixie/blends.html#MaskerSimd"><span class="Identifier">MaskerSimd</span></a>, <a href="pixie/blends.html#packAlphaValues,M128i"><span class="Identifier">packAlphaValues</span></a>, <a href="pixie/blends.html#blenderSimd,BlendMode"><span class="Identifier">blenderSimd</span></a>, <a href="pixie/blends.html#hasSimdMasker,BlendMode"><span class="Identifier">hasSimdMasker</span></a>, <a href="pixie/blends.html#masker,BlendMode"><span class="Identifier">masker</span></a>, <a href="pixie/blends.html#BlendMode"><span class="Identifier">BlendMode</span></a>, <a href="pixie/blends.html#blendAlpha,uint8,uint8"><span class="Identifier">blendAlpha</span></a>, <a href="pixie/common.html#toPremultipliedAlpha,ColorRGBA"><span class="Identifier">toPremultipliedAlpha</span></a>, <a href="pixie/common.html#toPremultipliedAlpha,Color"><span class="Identifier">toPremultipliedAlpha</span></a>, <a href="pixie/common.html#toStraightAlpha,Color"><span class="Identifier">toStraightAlpha</span></a>, <a href="pixie/common.html#PixieError"><span class="Identifier">PixieError</span></a>, <a href="pixie/common.html#lerp,Color,Color,float32"><span class="Identifier">lerp</span></a>, <a href="pixie/common.html#lerp,uint8,uint8,float32"><span class="Identifier">lerp</span></a>, <a href="pixie/common.html#fractional,float32"><span class="Identifier">fractional</span></a>, <a href="pixie/common.html#toStraightAlpha,ColorRGBA"><span class="Identifier">toStraightAlpha</span></a>, <a href="pixie/common.html#lerp,ColorRGBA,ColorRGBA,float32"><span class="Identifier">lerp</span></a>, <a href="pixie/images.html#getRgbaUnsafe,Image,int,int"><span class="Identifier">getRgbaUnsafe</span></a>, <a href="pixie/images.html#draw,Image,Mask,Mat3"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#[]=,Image,int,int,ColorRGBA"><span class="Identifier">[]=</span></a>, <a href="pixie/images.html#Image"><span class="Identifier">Image</span></a>, <a href="pixie/images.html#copy,Image"><span class="Identifier">copy</span></a>, <a href="pixie/images.html#wh,Image"><span class="Identifier">wh</span></a>, <a href="pixie/images.html#setRgbaUnsafe,Image,int,int,ColorRGBA"><span class="Identifier">setRgbaUnsafe</span></a>, <a href="pixie/images.html#getRgbaSmooth,Image,float32,float32"><span class="Identifier">getRgbaSmooth</span></a>, <a href="pixie/images.html#invert"><span class="Identifier">invert</span></a>, <a href="pixie/images.html#flipVertical,Image"><span class="Identifier">flipVertical</span></a>, <a href="pixie/images.html#magnifyBy2,Image,int"><span class="Identifier">magnifyBy2</span></a>, <a href="pixie/images.html#draw,Mask,Mask"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#draw,Image,Mask"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#flipHorizontal,Image"><span class="Identifier">flipHorizontal</span></a>, <a href="pixie/images.html#shadow,Image,Vec2,float32,float32,ColorRGBA"><span class="Identifier">shadow</span></a>, <a href="pixie/images.html#subImage,Image,int,int,int,int"><span class="Identifier">subImage</span></a>, <a href="pixie/images.html#inside,Image,int,int"><span class="Identifier">inside</span></a>, <a href="pixie/images.html#$,Image"><span class="Identifier">$</span></a>, <a href="pixie/images.html#draw,Mask,Image,Mat3"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#shift,,Vec2"><span class="Identifier">shift</span></a>, <a href="pixie/images.html#dataIndex,Image,int,int"><span class="Identifier">dataIndex</span></a>, <a href="pixie/images.html#minifyBy2,Image,int"><span class="Identifier">minifyBy2</span></a>, <a href="pixie/images.html#draw,Image,Image"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#draw,Image,Image,Mat3"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#fill,Image,ColorRGBA"><span class="Identifier">fill</span></a>, <a href="pixie/images.html#draw,Mask,Mask,Mat3"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#newMask,Image"><span class="Identifier">newMask</span></a>, <a href="pixie/images.html#blur,,float32,uint32"><span class="Identifier">blur</span></a>, <a href="pixie/images.html#newImage,int,int"><span class="Identifier">newImage</span></a>, <a href="pixie/images.html#toPremultipliedAlpha,Image"><span class="Identifier">toPremultipliedAlpha</span></a>, <a href="pixie/images.html#drawTiled,Image,Image,Mat3"><span class="Identifier">drawTiled</span></a>, <a href="pixie/images.html#applyOpacity,,float32"><span class="Identifier">applyOpacity</span></a>, <a href="pixie/images.html#resize,Image,int,int"><span class="Identifier">resize</span></a>, <a href="pixie/images.html#superImage,Image,int,int,int,int"><span class="Identifier">superImage</span></a>, <a href="pixie/images.html#fillUnsafe,seq[ColorRGBA],ColorRGBA,int,int"><span class="Identifier">fillUnsafe</span></a>, <a href="pixie/images.html#draw,Mask,Image"><span class="Identifier">draw</span></a>, <a href="pixie/images.html#toStraightAlpha,Image"><span class="Identifier">toStraightAlpha</span></a>, <a href="pixie/images.html#[],Image,int,int"><span class="Identifier">[]</span></a>, <a href="pixie/masks.html#$,Mask"><span class="Identifier">$</span></a>, <a href="pixie/masks.html#setValueUnsafe,Mask,int,int,uint8"><span class="Identifier">setValueUnsafe</span></a>, <a href="pixie/masks.html#ceil,Mask"><span class="Identifier">ceil</span></a>, <a href="pixie/masks.html#dataIndex,Mask,int,int"><span class="Identifier">dataIndex</span></a>, <a href="pixie/masks.html#[]=,Mask,int,int,uint8"><span class="Identifier">[]=</span></a>, <a href="pixie/masks.html#spread,Mask,float32"><span class="Identifier">spread</span></a>, <a href="pixie/masks.html#copy,Mask"><span class="Identifier">copy</span></a>, <a href="pixie/masks.html#wh,Mask"><span class="Identifier">wh</span></a>, <a href="pixie/masks.html#newMask,int,int"><span class="Identifier">newMask</span></a>, <a href="pixie/masks.html#minifyBy2,Mask,int"><span class="Identifier">minifyBy2</span></a>, <a href="pixie/masks.html#fill,Mask,uint8"><span class="Identifier">fill</span></a>, <a href="pixie/masks.html#Mask"><span class="Identifier">Mask</span></a>, <a href="pixie/masks.html#getValueUnsafe,Mask,int,int"><span class="Identifier">getValueUnsafe</span></a>, <a href="pixie/masks.html#getValueSmooth,Mask,float32,float32"><span class="Identifier">getValueSmooth</span></a>, <a href="pixie/masks.html#fillUnsafe,seq[uint8],uint8,int,int"><span class="Identifier">fillUnsafe</span></a>, <a href="pixie/masks.html#inside,Mask,int,int"><span class="Identifier">inside</span></a>, <a href="pixie/masks.html#[],Mask,int,int"><span class="Identifier">[]</span></a>, <a href="pixie/paints.html#ColorStop"><span class="Identifier">ColorStop</span></a>, <a href="pixie/paints.html#PaintKind"><span class="Identifier">PaintKind</span></a>, <a href="pixie/paints.html#fillLinearGradient,Image,Vec2,Vec2,seq[ColorStop]"><span class="Identifier">fillLinearGradient</span></a>, <a href="pixie/paints.html#fillRadialGradient,Image,Vec2,Vec2,Vec2,seq[ColorStop]"><span class="Identifier">fillRadialGradient</span></a>, <a href="pixie/paints.html#fillAngularGradient,Image,Vec2,Vec2,Vec2,seq[ColorStop]"><span class="Identifier">fillAngularGradient</span></a>, <a href="pixie/paints.html#Paint"><span class="Identifier">Paint</span></a>, <a href="pixie/paths.html#bezierCurveTo,Path,float32,float32,float32,float32,float32,float32"><span class="Identifier">bezierCurveTo</span></a>, <a href="pixie/paths.html#LineCap"><span class="Identifier">LineCap</span></a>, <a href="pixie/paths.html#arcTo,Path,Vec2,Vec2,float32"><span class="Identifier">arcTo</span></a>, <a href="pixie/paths.html#LineJoin"><span class="Identifier">LineJoin</span></a>, <a href="pixie/paths.html#rect,Path,Vec2,Vec2"><span class="Identifier">rect</span></a>, <a href="pixie/paths.html#bezierCurveTo,Path,Vec2,Vec2,Vec2"><span class="Identifier">bezierCurveTo</span></a>, <a href="pixie/paths.html#SomePath"><span class="Identifier">SomePath</span></a>, <a href="pixie/paths.html#strokePath,Mask,SomePath,,float"><span class="Identifier">strokePath</span></a>, <a href="pixie/paths.html#$,Path"><span class="Identifier">$</span></a>, <a href="pixie/paths.html#parsePath,string"><span class="Identifier">parsePath</span></a>, <a href="pixie/paths.html#fillPath,Image,SomePath,Paint"><span class="Identifier">fillPath</span></a>, <a href="pixie/paths.html#lineTo,Path,float32,float32"><span class="Identifier">lineTo</span></a>, <a href="pixie/paths.html#polygon,Path,Vec2,float32,int"><span class="Identifier">polygon</span></a>, <a href="pixie/paths.html#roundedRect,Path,float32,float32,float32,float32,float32,float32,float32,float32"><span class="Identifier">roundedRect</span></a>, <a href="pixie/paths.html#quadraticCurveTo,Path,Vec2,Vec2"><span class="Identifier">quadraticCurveTo</span></a>, <a href="pixie/paths.html#fillPath,Image,SomePath,ColorRGBA"><span class="Identifier">fillPath</span></a>, <a href="pixie/paths.html#strokePath,Image,SomePath,ColorRGBA,,float"><span class="Identifier">strokePath</span></a>, <a href="pixie/paths.html#ellipticalArcTo,Path,float32,float32,float32,bool,bool,float32,float32"><span class="Identifier">ellipticalArcTo</span></a>, <a href="pixie/paths.html#Path"><span class="Identifier">Path</span></a>, <a href="pixie/paths.html#lineTo,Path,Vec2"><span class="Identifier">lineTo</span></a>, <a href="pixie/paths.html#ellipse,Path,Vec2,float32,float32"><span class="Identifier">ellipse</span></a>, <a href="pixie/paths.html#quadraticCurveTo,Path,float32,float32,float32,float32"><span class="Identifier">quadraticCurveTo</span></a>, <a href="pixie/paths.html#arcTo,Path,float32,float32,float32,float32,float32"><span class="Identifier">arcTo</span></a>, <a href="pixie/paths.html#moveTo,Path,float32,float32"><span class="Identifier">moveTo</span></a>, <a href="pixie/paths.html#roundedRect,Path,Rect,float32,float32,float32,float32"><span class="Identifier">roundedRect</span></a>, <a href="pixie/paths.html#PathCommandKind"><span class="Identifier">PathCommandKind</span></a>, <a href="pixie/paths.html#polygon,Path,float32,float32,float32,int"><span class="Identifier">polygon</span></a>, <a href="pixie/paths.html#strokePath,Image,SomePath,ColorRGBA,float"><span class="Identifier">strokePath</span></a>, <a href="pixie/paths.html#transform,Path,Mat3"><span class="Identifier">transform</span></a>, <a href="pixie/paths.html#PathCommand"><span class="Identifier">PathCommand</span></a>, <a href="pixie/paths.html#roundedRect,Path,Vec2,Vec2,float32,float32,float32,float32"><span class="Identifier">roundedRect</span></a>, <a href="pixie/paths.html#rect,Path,Rect"><span class="Identifier">rect</span></a>, <a href="pixie/paths.html#fillPath,Image,SomePath,ColorRGBA,"><span class="Identifier">fillPath</span></a>, <a href="pixie/paths.html#segments.i,seq[Vec2]"><span class="Identifier">segments</span></a>, <a href="pixie/paths.html#closePath,Path"><span class="Identifier">closePath</span></a>, <a href="pixie/paths.html#addPath,Path,Path"><span class="Identifier">addPath</span></a>, <a href="pixie/paths.html#rect,Path,float32,float32,float32,float32"><span class="Identifier">rect</span></a>, <a href="pixie/paths.html#strokePath,Mask,SomePath,float"><span class="Identifier">strokePath</span></a>, <a href="pixie/paths.html#commandsToShapes,Path,float32"><span class="Identifier">commandsToShapes</span></a>, <a href="pixie/paths.html#ellipse,Path,float32,float32,float32,float32"><span class="Identifier">ellipse</span></a>, <a href="pixie/paths.html#WindingRule"><span class="Identifier">WindingRule</span></a>, <a href="pixie/paths.html#fillPath,Mask,SomePath,"><span class="Identifier">fillPath</span></a>, <a href="pixie/paths.html#moveTo,Path,Vec2"><span class="Identifier">moveTo</span></a>, <a href="pixie/paths.html#fillPath,Mask,SomePath"><span class="Identifier">fillPath</span></a> </dl></div> </div> @@ -533,7 +538,7 @@ Strokes a polygon. <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:22 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:09 UTC</small> </div> </div> </div> diff --git a/docs/pixie/blends.html b/docs/pixie/blends.html index 7bdba09..df6f9f5 100644 --- a/docs/pixie/blends.html +++ b/docs/pixie/blends.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">pixie/blends</h1> @@ -176,7 +174,6 @@ window.addEventListener('DOMContentLoaded', main); </ul> </div> - <div class="nine columns" id="content"> <div id="tocRoot"></div> @@ -310,7 +307,7 @@ Is there a blend masking function with SIMD support? <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:20 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:08 UTC</small> </div> </div> </div> diff --git a/docs/pixie/common.html b/docs/pixie/common.html index 4bc716b..eca7409 100644 --- a/docs/pixie/common.html +++ b/docs/pixie/common.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">pixie/common</h1> @@ -109,8 +107,6 @@ window.addEventListener('DOMContentLoaded', main); title="lerp(a, b: uint8; t: float32): uint8">lerp,<wbr>uint8,<wbr>uint8,<wbr>float32</a></li> <li><a class="reference" href="#lerp%2CColorRGBA%2CColorRGBA%2Cfloat32" title="lerp(a, b: ColorRGBA; t: float32): ColorRGBA">lerp,<wbr>ColorRGBA,<wbr>ColorRGBA,<wbr>float32</a></li> - <li><a class="reference" href="#lerp%2CColor%2CColor%2Cfloat32" - title="lerp(a, b: Color; v: float32): Color">lerp,<wbr>Color,<wbr>Color,<wbr>float32</a></li> </ul> <ul class="simple nested-toc-section">toPremultipliedAlpha @@ -135,11 +131,21 @@ window.addEventListener('DOMContentLoaded', main); </ul> </li> +<li> + <a class="reference reference-toplevel" href="#13" id="63">Funcs</a> + <ul class="simple simple-toc-section"> + <ul class="simple nested-toc-section">lerp + <li><a class="reference" href="#lerp%2CColor%2CColor%2Cfloat32" + title="lerp(a, b: Color; v: float32): Color">lerp,<wbr>Color,<wbr>Color,<wbr>float32</a></li> + + </ul> + + </ul> +</li> </ul> </div> - <div class="nine columns" id="content"> <div id="tocRoot"></div> @@ -181,13 +187,6 @@ Linearly interpolate between a and b using t. Linearly interpolate between a and b using t. -</dd> -<a id="lerp,Color,Color,float32"></a> -<dt><pre><span class="Keyword">func</span> <a href="#lerp%2CColor%2CColor%2Cfloat32"><span class="Identifier">lerp</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <span class="Identifier">Color</span><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Color</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> -<dd> - -Linearly interpolate between a and b using t. - </dd> <a id="toPremultipliedAlpha,ColorRGBA"></a> <dt><pre><span class="Keyword">proc</span> <a href="#toPremultipliedAlpha%2CColorRGBA"><span class="Identifier">toPremultipliedAlpha</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> @@ -219,6 +218,18 @@ Converts a color from premultiplied alpha to straight alpha. </dd> +</dl></div> +<div class="section" id="13"> +<h1><a class="toc-backref" href="#13">Funcs</a></h1> +<dl class="item"> +<a id="lerp,Color,Color,float32"></a> +<dt><pre><span class="Keyword">func</span> <a href="#lerp%2CColor%2CColor%2Cfloat32"><span class="Identifier">lerp</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <span class="Identifier">Color</span><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Color</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> +<dd> + +Linearly interpolate between a and b using t. + +</dd> + </dl></div> </div> @@ -228,7 +239,7 @@ Converts a color from premultiplied alpha to straight alpha. <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:20 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:08 UTC</small> </div> </div> </div> diff --git a/docs/pixie/fileformats/bmp.html b/docs/pixie/fileformats/bmp.html index 173d801..2e1862b 100644 --- a/docs/pixie/fileformats/bmp.html +++ b/docs/pixie/fileformats/bmp.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">pixie/fileformats/bmp</h1> @@ -129,7 +127,6 @@ window.addEventListener('DOMContentLoaded', main); </ul> </div> - <div class="nine columns" id="content"> <div id="tocRoot"></div> @@ -185,7 +182,7 @@ Encodes an image into the BMP file format. <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:21 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:08 UTC</small> </div> </div> </div> diff --git a/docs/pixie/fileformats/jpg.html b/docs/pixie/fileformats/jpg.html index f701f58..963880a 100644 --- a/docs/pixie/fileformats/jpg.html +++ b/docs/pixie/fileformats/jpg.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">pixie/fileformats/jpg</h1> @@ -129,7 +127,6 @@ window.addEventListener('DOMContentLoaded', main); </ul> </div> - <div class="nine columns" id="content"> <div id="tocRoot"></div> @@ -185,7 +182,7 @@ Encodes Image into a JPEG data string. <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:21 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:08 UTC</small> </div> </div> </div> diff --git a/docs/pixie/fileformats/png.html b/docs/pixie/fileformats/png.html index 70001c9..82165e6 100644 --- a/docs/pixie/fileformats/png.html +++ b/docs/pixie/fileformats/png.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">pixie/fileformats/png</h1> @@ -133,7 +131,6 @@ window.addEventListener('DOMContentLoaded', main); </ul> </div> - <div class="nine columns" id="content"> <div id="tocRoot"></div> @@ -204,7 +201,7 @@ Encodes the mask data into the PNG file format. <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:21 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:08 UTC</small> </div> </div> </div> diff --git a/docs/pixie/fileformats/svg.html b/docs/pixie/fileformats/svg.html index dda48fd..9cdb4df 100644 --- a/docs/pixie/fileformats/svg.html +++ b/docs/pixie/fileformats/svg.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">pixie/fileformats/svg</h1> @@ -124,7 +122,6 @@ window.addEventListener('DOMContentLoaded', main); </ul> </div> - <div class="nine columns" id="content"> <div id="tocRoot"></div> @@ -158,10 +155,10 @@ window.addEventListener('DOMContentLoaded', main); <dl class="item"> <a id="decodeSvg,string,int,int"></a> <dt><pre><span class="Keyword">proc</span> <a href="#decodeSvg%2Cstring%2Cint%2Cint"><span class="Identifier">decodeSvg</span></a><span class="Other">(</span><span class="Identifier">data</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">width</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">;</span> <span class="Identifier">height</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">)</span><span class="Other">:</span> <a href="../images.html#Image"><span class="Identifier">Image</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> - <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">WriteIOEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Render SVG file and return the image. +Render SVG file and return the image. Defaults to the SVG's view box size. </dd> @@ -174,7 +171,7 @@ Render SVG file and return the image. <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:22 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:09 UTC</small> </div> </div> </div> diff --git a/docs/pixie/images.html b/docs/pixie/images.html index 4cf08d4..50efb5f 100644 --- a/docs/pixie/images.html +++ b/docs/pixie/images.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">pixie/images</h1> @@ -155,11 +153,6 @@ window.addEventListener('DOMContentLoaded', main); <li><a class="reference" href="#shift%2C%2CVec2" title="shift(target: Image | Mask; offset: Vec2)">shift,<wbr>,<wbr>Vec2</a></li> - </ul> - <ul class="simple nested-toc-section">getRgbaSmoothWrapped - <li><a class="reference" href="#getRgbaSmoothWrapped%2CImage%2Cfloat32%2Cfloat32" - title="getRgbaSmoothWrapped(image: Image; x, y: float32): ColorRGBA">getRgbaSmoothWrapped,<wbr>Image,<wbr>float32,<wbr>float32</a></li> - </ul> <ul class="simple nested-toc-section">[]= <li><a class="reference" href="#%5B%5D%3D%2CImage%2Cint%2Cint%2CColorRGBA" @@ -205,6 +198,11 @@ window.addEventListener('DOMContentLoaded', main); <li><a class="reference" href="#magnifyBy2%2CImage%2Cint" title="magnifyBy2(image: Image; power = 1): Image">magnifyBy2,<wbr>Image,<wbr>int</a></li> + </ul> + <ul class="simple nested-toc-section">shadow + <li><a class="reference" href="#shadow%2CImage%2CVec2%2Cfloat32%2Cfloat32%2CColorRGBA" + title="shadow(image: Image; offset: Vec2; spread, blur: float32; color: ColorRGBA): Image">shadow,<wbr>Image,<wbr>Vec2,<wbr>float32,<wbr>float32,<wbr>ColorRGBA</a></li> + </ul> <ul class="simple nested-toc-section">newMask <li><a class="reference" href="#newMask%2CImage" @@ -225,6 +223,11 @@ window.addEventListener('DOMContentLoaded', main); <li><a class="reference" href="#minifyBy2%2CImage%2Cint" title="minifyBy2(image: Image; power = 1): Image">minifyBy2,<wbr>Image,<wbr>int</a></li> + </ul> + <ul class="simple nested-toc-section">drawTiled + <li><a class="reference" href="#drawTiled%2CImage%2CImage%2CMat3" + title="drawTiled(dest, src: Image; mat: Mat3; blendMode = bmNormal)">drawTiled,<wbr>Image,<wbr>Image,<wbr>Mat3</a></li> + </ul> <ul class="simple nested-toc-section">subImage <li><a class="reference" href="#subImage%2CImage%2Cint%2Cint%2Cint%2Cint" @@ -235,6 +238,11 @@ window.addEventListener('DOMContentLoaded', main); <li><a class="reference" href="#blur%2C%2Cfloat32%2Cuint32" title="blur(target: Image | Mask; radius: float32; offBounds: uint32 = 0)">blur,<wbr>,<wbr>float32,<wbr>uint32</a></li> + </ul> + <ul class="simple nested-toc-section">toStraightAlpha + <li><a class="reference" href="#toStraightAlpha%2CImage" + title="toStraightAlpha(image: Image)">toStraightAlpha,<wbr>Image</a></li> + </ul> <ul class="simple nested-toc-section">dataIndex <li><a class="reference" href="#dataIndex%2CImage%2Cint%2Cint" @@ -243,7 +251,7 @@ window.addEventListener('DOMContentLoaded', main); </ul> <ul class="simple nested-toc-section">getRgbaSmooth <li><a class="reference" href="#getRgbaSmooth%2CImage%2Cfloat32%2Cfloat32" - title="getRgbaSmooth(image: Image; x, y: float32): ColorRGBA">getRgbaSmooth,<wbr>Image,<wbr>float32,<wbr>float32</a></li> + title="getRgbaSmooth(image: Image; x, y: float32; wrapped = false): ColorRGBA">getRgbaSmooth,<wbr>Image,<wbr>float32,<wbr>float32</a></li> </ul> <ul class="simple nested-toc-section">inside @@ -273,7 +281,6 @@ window.addEventListener('DOMContentLoaded', main); </ul> </div> - <div class="nine columns" id="content"> <div id="tocRoot"></div> @@ -436,7 +443,7 @@ Scales the image down by an integer scale. <dt><pre><span class="Keyword">proc</span> <a href="#magnifyBy2%2CImage%2Cint"><span class="Identifier">magnifyBy2</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">power</span> <span class="Other">=</span> <span class="DecNumber">1</span><span class="Other">)</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Scales image image up by 2 ^ power. +Scales image up by 2 ^ power. </dd> <a id="toPremultipliedAlpha,Image"></a> @@ -445,6 +452,13 @@ Scales image image up by 2 ^ power. Converts an image to premultiplied alpha from straight alpha. +</dd> +<a id="toStraightAlpha,Image"></a> +<dt><pre><span class="Keyword">proc</span> <a href="#toStraightAlpha%2CImage"><span class="Identifier">toStraightAlpha</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> +<dd> + +Converts an image from premultiplied alpha to straight alpha. This is expensive for large images. + </dd> <a id="applyOpacity,,float32"></a> <dt><pre><span class="Keyword">proc</span> <a href="#applyOpacity%2C%2Cfloat32"><span class="Identifier">applyOpacity</span></a><span class="Other">(</span><span class="Identifier">target</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a> <span class="Operator">|</span> <a href="masks.html#Mask"><span class="Identifier">Mask</span></a><span class="Other">;</span> <span class="Identifier">opacity</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span></pre></dt> @@ -475,20 +489,12 @@ Returns a new mask using the alpha values of the parameter image. </dd> <a id="getRgbaSmooth,Image,float32,float32"></a> -<dt><pre><span class="Keyword">proc</span> <a href="#getRgbaSmooth%2CImage%2Cfloat32%2Cfloat32"><span class="Identifier">getRgbaSmooth</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> - <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> +<dt><pre><span class="Keyword">proc</span> <a href="#getRgbaSmooth%2CImage%2Cfloat32%2Cfloat32"><span class="Identifier">getRgbaSmooth</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">wrapped</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> Gets a interpolated color with float point coordinates. Pixes outside the image are transparent. -</dd> -<a id="getRgbaSmoothWrapped,Image,float32,float32"></a> -<dt><pre><span class="Keyword">proc</span> <a href="#getRgbaSmoothWrapped%2CImage%2Cfloat32%2Cfloat32"><span class="Identifier">getRgbaSmoothWrapped</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> - <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> -<dd> - -Gets a interpolated color with float point coordinates. Pixes outside the image are repeated. - </dd> <a id="draw,Image,Image,Mat3"></a> <dt><pre><span class="Keyword">proc</span> <a href="#draw%2CImage%2CImage%2CMat3"><span class="Identifier">draw</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">mat</span><span class="Other">:</span> <span class="Identifier">Mat3</span><span class="Other">;</span> <span class="Identifier">blendMode</span> <span class="Other">=</span> <span class="Identifier">bmNormal</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> @@ -553,6 +559,14 @@ Draws a image onto a mask using a matrix with color blending. Draws a image onto a mask using a position offset with color blending. +</dd> +<a id="drawTiled,Image,Image,Mat3"></a> +<dt><pre><span class="Keyword">proc</span> <a href="#drawTiled%2CImage%2CImage%2CMat3"><span class="Identifier">drawTiled</span></a><span class="Other">(</span><span class="Identifier">dest</span><span class="Other">,</span> <span class="Identifier">src</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">mat</span><span class="Other">:</span> <span class="Identifier">Mat3</span><span class="Other">;</span> <span class="Identifier">blendMode</span> <span class="Other">=</span> <span class="Identifier">bmNormal</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> +<dd> + + + </dd> <a id="resize,Image,int,int"></a> <dt><pre><span class="Keyword">proc</span> <a href="#resize%2CImage%2Cint%2Cint"><span class="Identifier">resize</span></a><span class="Other">(</span><span class="Identifier">srcImage</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">width</span><span class="Other">,</span> <span class="Identifier">height</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> @@ -568,6 +582,14 @@ Resize an image to a given hight and width. Shifts the target by offset. +</dd> +<a id="shadow,Image,Vec2,float32,float32,ColorRGBA"></a> +<dt><pre><span class="Keyword">proc</span> <a href="#shadow%2CImage%2CVec2%2Cfloat32%2Cfloat32%2CColorRGBA"><span class="Identifier">shadow</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">offset</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">spread</span><span class="Other">,</span> <span class="Identifier">blur</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">)</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> +<dd> + +Create a shadow of the image with the offset, spread and blur. + </dd> </dl></div> @@ -579,7 +601,7 @@ Shifts the target by offset. <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:21 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:08 UTC</small> </div> </div> </div> diff --git a/docs/pixie/images.idx b/docs/pixie/images.idx index b89e90d..bfa9e82 100644 --- a/docs/pixie/images.idx +++ b/docs/pixie/images.idx @@ -18,12 +18,12 @@ superImage pixie/images.html#superImage,Image,int,int,int,int images: superImage minifyBy2 pixie/images.html#minifyBy2,Image,int images: minifyBy2(image: Image; power = 1): Image magnifyBy2 pixie/images.html#magnifyBy2,Image,int images: magnifyBy2(image: Image; power = 1): Image toPremultipliedAlpha pixie/images.html#toPremultipliedAlpha,Image images: toPremultipliedAlpha(image: Image) +toStraightAlpha pixie/images.html#toStraightAlpha,Image images: toStraightAlpha(image: Image) applyOpacity pixie/images.html#applyOpacity,,float32 images: applyOpacity(target: Image | Mask; opacity: float32) invert pixie/images.html#invert images: invert(target: Image | Mask) blur pixie/images.html#blur,,float32,uint32 images: blur(target: Image | Mask; radius: float32; offBounds: uint32 = 0) newMask pixie/images.html#newMask,Image images: newMask(image: Image): Mask -getRgbaSmooth pixie/images.html#getRgbaSmooth,Image,float32,float32 images: getRgbaSmooth(image: Image; x, y: float32): ColorRGBA -getRgbaSmoothWrapped pixie/images.html#getRgbaSmoothWrapped,Image,float32,float32 images: getRgbaSmoothWrapped(image: Image; x, y: float32): ColorRGBA +getRgbaSmooth pixie/images.html#getRgbaSmooth,Image,float32,float32 images: getRgbaSmooth(image: Image; x, y: float32; wrapped = false): ColorRGBA draw pixie/images.html#draw,Image,Image,Mat3 images: draw(a, b: Image; mat: Mat3; blendMode = bmNormal) draw pixie/images.html#draw,Image,Image images: draw(a, b: Image; pos = vec2(0, 0); blendMode = bmNormal) draw pixie/images.html#draw,Image,Mask,Mat3 images: draw(image: Image; mask: Mask; mat: Mat3; blendMode = bmMask) @@ -32,5 +32,7 @@ draw pixie/images.html#draw,Mask,Mask,Mat3 images: draw(a, b: Mask; mat: Mat3; b draw pixie/images.html#draw,Mask,Mask images: draw(a, b: Mask; pos = vec2(0, 0); blendMode = bmMask) draw pixie/images.html#draw,Mask,Image,Mat3 images: draw(mask: Mask; image: Image; mat: Mat3; blendMode = bmMask) draw pixie/images.html#draw,Mask,Image images: draw(mask: Mask; image: Image; pos = vec2(0, 0); blendMode = bmMask) +drawTiled pixie/images.html#drawTiled,Image,Image,Mat3 images: drawTiled(dest, src: Image; mat: Mat3; blendMode = bmNormal) resize pixie/images.html#resize,Image,int,int images: resize(srcImage: Image; width, height: int): Image shift pixie/images.html#shift,,Vec2 images: shift(target: Image | Mask; offset: Vec2) +shadow pixie/images.html#shadow,Image,Vec2,float32,float32,ColorRGBA images: shadow(image: Image; offset: Vec2; spread, blur: float32; color: ColorRGBA): Image diff --git a/docs/pixie/masks.html b/docs/pixie/masks.html index 13ef1a4..8a2546f 100644 --- a/docs/pixie/masks.html +++ b/docs/pixie/masks.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">pixie/masks</h1> @@ -199,7 +197,6 @@ window.addEventListener('DOMContentLoaded', main); </ul> </div> - <div class="nine columns" id="content"> <div id="tocRoot"></div> @@ -357,7 +354,7 @@ A value of 0 stays 0. Anything else turns into 255. <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:20 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:08 UTC</small> </div> </div> </div> diff --git a/docs/pixie/paints.html b/docs/pixie/paints.html index b5156f2..dca9d0b 100644 --- a/docs/pixie/paints.html +++ b/docs/pixie/paints.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">pixie/paints</h1> @@ -131,12 +129,7 @@ window.addEventListener('DOMContentLoaded', main); <li> <a class="reference reference-toplevel" href="#12" id="62">Procs</a> <ul class="simple simple-toc-section"> - <ul class="simple nested-toc-section">fillImage - <li><a class="reference" href="#fillImage%2CImage%2CImage%2CMat3" - title="fillImage(dest: Image; src: Image; mat: Mat3)">fillImage,<wbr>Image,<wbr>Image,<wbr>Mat3</a></li> - - </ul> - <ul class="simple nested-toc-section">fillAngularGradient + <ul class="simple nested-toc-section">fillAngularGradient <li><a class="reference" href="#fillAngularGradient%2CImage%2CVec2%2CVec2%2CVec2%2Cseq%5BColorStop%5D" title="fillAngularGradient(image: Image; center, edge, skew: Vec2; stops: seq[ColorStop])">fillAngularGradient,<wbr>Image,<wbr>Vec2,<wbr>Vec2,<wbr>Vec2,<wbr>seq[ColorStop]</a></li> @@ -151,11 +144,6 @@ window.addEventListener('DOMContentLoaded', main); <li><a class="reference" href="#fillRadialGradient%2CImage%2CVec2%2CVec2%2CVec2%2Cseq%5BColorStop%5D" title="fillRadialGradient(image: Image; center, edge, skew: Vec2; stops: seq[ColorStop])">fillRadialGradient,<wbr>Image,<wbr>Vec2,<wbr>Vec2,<wbr>Vec2,<wbr>seq[ColorStop]</a></li> - </ul> - <ul class="simple nested-toc-section">fillImageTiled - <li><a class="reference" href="#fillImageTiled%2CImage%2CImage%2CMat3" - title="fillImageTiled(dest: Image; src: Image; mat: Mat3)">fillImageTiled,<wbr>Image,<wbr>Image,<wbr>Mat3</a></li> - </ul> </ul> @@ -164,7 +152,6 @@ window.addEventListener('DOMContentLoaded', main); </ul> </div> - <div class="nine columns" id="content"> <div id="tocRoot"></div> @@ -172,7 +159,7 @@ window.addEventListener('DOMContentLoaded', main); <div class="section" id="6"> <h1><a class="toc-backref" href="#6">Imports</a></h1> <dl class="item"> -<a class="reference external" href="common.html">common</a>, <a class="reference external" href="images.html">images</a>, <a class="reference external" href="blends.html">blends</a> +<a class="reference external" href="blends.html">blends</a>, <a class="reference external" href="common.html">common</a>, <a class="reference external" href="images.html">images</a> </dl></div> <div class="section" id="7"> <h1><a class="toc-backref" href="#7">Types</a></h1> @@ -222,22 +209,6 @@ Color stop on a gradient curve. <div class="section" id="12"> <h1><a class="toc-backref" href="#12">Procs</a></h1> <dl class="item"> -<a id="fillImage,Image,Image,Mat3"></a> -<dt><pre><span class="Keyword">proc</span> <a href="#fillImage%2CImage%2CImage%2CMat3"><span class="Identifier">fillImage</span></a><span class="Other">(</span><span class="Identifier">dest</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">mat</span><span class="Other">:</span> <span class="Identifier">Mat3</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> - <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> -<dd> - -Draws and basic image fill. - -</dd> -<a id="fillImageTiled,Image,Image,Mat3"></a> -<dt><pre><span class="Keyword">proc</span> <a href="#fillImageTiled%2CImage%2CImage%2CMat3"><span class="Identifier">fillImageTiled</span></a><span class="Other">(</span><span class="Identifier">dest</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">mat</span><span class="Other">:</span> <span class="Identifier">Mat3</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">]</span><span class="Other">,</span> - <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> -<dd> - -Draws a tiled image fill. - -</dd> <a id="fillLinearGradient,Image,Vec2,Vec2,seq[ColorStop]"></a> <dt><pre><span class="Keyword">proc</span> <a href="#fillLinearGradient%2CImage%2CVec2%2CVec2%2Cseq%5BColorStop%5D"><span class="Identifier">fillLinearGradient</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">at</span><span class="Other">,</span> <span class="Identifier">to</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">stops</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="paints.html#ColorStop"><span class="Identifier">ColorStop</span></a><span class="Other">]</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> @@ -272,7 +243,7 @@ Angular gradient. <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:21 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:09 UTC</small> </div> </div> </div> diff --git a/docs/pixie/paints.idx b/docs/pixie/paints.idx index cf70437..22c8c6f 100644 --- a/docs/pixie/paints.idx +++ b/docs/pixie/paints.idx @@ -7,8 +7,6 @@ pkGradientAngular pixie/paints.html#pkGradientAngular PaintKind.pkGradientAngula PaintKind pixie/paints.html#PaintKind paints: PaintKind Paint pixie/paints.html#Paint paints: Paint ColorStop pixie/paints.html#ColorStop paints: ColorStop -fillImage pixie/paints.html#fillImage,Image,Image,Mat3 paints: fillImage(dest: Image; src: Image; mat: Mat3) -fillImageTiled pixie/paints.html#fillImageTiled,Image,Image,Mat3 paints: fillImageTiled(dest: Image; src: Image; mat: Mat3) fillLinearGradient pixie/paints.html#fillLinearGradient,Image,Vec2,Vec2,seq[ColorStop] paints: fillLinearGradient(image: Image; at, to: Vec2; stops: seq[ColorStop]) fillRadialGradient pixie/paints.html#fillRadialGradient,Image,Vec2,Vec2,Vec2,seq[ColorStop] paints: fillRadialGradient(image: Image; center, edge, skew: Vec2; stops: seq[ColorStop]) fillAngularGradient pixie/paints.html#fillAngularGradient,Image,Vec2,Vec2,Vec2,seq[ColorStop] paints: fillAngularGradient(image: Image; center, edge, skew: Vec2;\n stops: seq[ColorStop]) diff --git a/docs/pixie/paths.html b/docs/pixie/paths.html index 34613d4..b1685f3 100644 --- a/docs/pixie/paths.html +++ b/docs/pixie/paths.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">pixie/paths</h1> @@ -137,11 +135,21 @@ window.addEventListener('DOMContentLoaded', main); <li><a class="reference" href="#bezierCurveTo%2CPath%2CVec2%2CVec2%2CVec2" title="bezierCurveTo(path: var Path; ctrl1, ctrl2, to: Vec2)">bezierCurveTo,<wbr>Path,<wbr>Vec2,<wbr>Vec2,<wbr>Vec2</a></li> + </ul> + <ul class="simple nested-toc-section">transform + <li><a class="reference" href="#transform%2CPath%2CMat3" + title="transform(path: var Path; mat: Mat3)">transform,<wbr>Path,<wbr>Mat3</a></li> + </ul> <ul class="simple nested-toc-section">addPath <li><a class="reference" href="#addPath%2CPath%2CPath" title="addPath(path: var Path; other: Path)">addPath,<wbr>Path,<wbr>Path</a></li> + </ul> + <ul class="simple nested-toc-section">$ + <li><a class="reference" href="#%24%2CPath" + title="`$`(path: Path): string">$,<wbr>Path</a></li> + </ul> <ul class="simple nested-toc-section">strokePath <li><a class="reference" href="#strokePath%2CImage%2CSomePath%2CColorRGBA%2Cfloat" @@ -214,6 +222,11 @@ window.addEventListener('DOMContentLoaded', main); <li><a class="reference" href="#arcTo%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32" title="arcTo(path: var Path; x1, y1, x2, y2, radius: float32)">arcTo,<wbr>Path,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32</a></li> + </ul> + <ul class="simple nested-toc-section">commandsToShapes + <li><a class="reference" href="#commandsToShapes%2CPath%2Cfloat32" + title="commandsToShapes(path: Path; pixelScale: float32 = 1.0): seq[seq[Vec2]]">commandsToShapes,<wbr>Path,<wbr>float32</a></li> + </ul> <ul class="simple nested-toc-section">rect <li><a class="reference" href="#rect%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32" @@ -269,7 +282,6 @@ window.addEventListener('DOMContentLoaded', main); </ul> </div> - <div class="nine columns" id="content"> <div id="tocRoot"></div> @@ -347,11 +359,25 @@ Used to hold paths and create paths. <div class="section" id="12"> <h1><a class="toc-backref" href="#12">Procs</a></h1> <dl class="item"> +<a id="$,Path"></a> +<dt><pre><span class="Keyword">proc</span> <a href="#%24%2CPath"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> +<dd> + +Turn path int into a string. + +</dd> <a id="parsePath,string"></a> <dt><pre><span class="Keyword">proc</span> <a href="#parsePath%2Cstring"><span class="Identifier">parsePath</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Converts a SVG style path into seq of commands. +Converts a SVG style path string into seq of commands. + +</dd> +<a id="transform,Path,Mat3"></a> +<dt><pre><span class="Keyword">proc</span> <a href="#transform%2CPath%2CMat3"><span class="Identifier">transform</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">mat</span><span class="Other">:</span> <span class="Identifier">Mat3</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> +<dd> + +Apply a matrix transform to a path. </dd> <a id="addPath,Path,Path"></a> @@ -437,11 +463,11 @@ Adds a circular arc to the current sub-path, using the given control points and </dd> <a id="arcTo,Path,float32,float32,float32,float32,float32"></a> -<dt><pre><span class="Keyword">proc</span> <a href="#arcTo%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"><span class="Identifier">arcTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">x1</span><span class="Other">,</span> <span class="Identifier">y1</span><span class="Other">,</span> <span class="Identifier">x2</span><span class="Other">,</span> <span class="Identifier">y2</span><span class="Other">,</span> <span class="Identifier">radius</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> - <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> +<dt><pre><span class="Keyword">proc</span> <a href="#arcTo%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"><span class="Identifier">arcTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">x1</span><span class="Other">,</span> <span class="Identifier">y1</span><span class="Other">,</span> <span class="Identifier">x2</span><span class="Other">,</span> <span class="Identifier">y2</span><span class="Other">,</span> <span class="Identifier">radius</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> - +Adds a circular arc to the current sub-path, using the given control points and radius. </dd> <a id="ellipticalArcTo,Path,float32,float32,float32,bool,bool,float32,float32"></a> @@ -458,7 +484,7 @@ Adds an elliptical arc to the current sub-path, using the given radius ratios, s <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> - +Adds a rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule. </dd> <a id="rect,Path,Vec2,Vec2"></a> @@ -466,7 +492,7 @@ Adds an elliptical arc to the current sub-path, using the given radius ratios, s <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Adds a rectangle. Clockwise param can be used to subtract a rect from a path using even-odd. +Adds a rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule. </dd> <a id="rect,Path,Rect"></a> @@ -474,7 +500,7 @@ Adds a rectangle. Clockwise param can be used to subtract a rect from a path usi <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Adds a rectangle. Clockwise param can be used to subtract a rect from a path using even-odd. +Adds a rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule. </dd> <a id="roundedRect,Path,float32,float32,float32,float32,float32,float32,float32,float32"></a> @@ -482,7 +508,7 @@ Adds a rectangle. Clockwise param can be used to subtract a rect from a path usi <span class="Identifier">clockwise</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Adds a rounded rectangle. Clockwise param can be used to subtract a rect from a path using even-odd. +Adds a rounded rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule. </dd> <a id="roundedRect,Path,Vec2,Vec2,float32,float32,float32,float32"></a> @@ -490,7 +516,7 @@ Adds a rounded rectangle. Clockwise param can be used to subtract a rect from a <span class="Identifier">clockwise</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Adds a rounded rectangle. Clockwise param can be used to subtract a rect from a path using even-odd. +Adds a rounded rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule. </dd> <a id="roundedRect,Path,Rect,float32,float32,float32,float32"></a> @@ -498,7 +524,7 @@ Adds a rounded rectangle. Clockwise param can be used to subtract a rect from a <span class="Identifier">clockwise</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Adds a rounded rectangle. Clockwise param can be used to subtract a rect from a path using even-odd. +Adds a rounded rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule. </dd> <a id="ellipse,Path,float32,float32,float32,float32"></a> @@ -521,7 +547,7 @@ Adds a ellipse. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Draws a n-sided regular polygon at (x, y) with a size. +Draws an n-sided regular polygon at (x, y) with the parameter size. </dd> <a id="polygon,Path,Vec2,float32,int"></a> @@ -529,7 +555,15 @@ Draws a n-sided regular polygon at (x, y) with a size. <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> -Draws a n-sided regular polygon at (x, y) with a size. +Draws a n-sided regular polygon at (x, y) with the parameter size. + +</dd> +<a id="commandsToShapes,Path,float32"></a> +<dt><pre><span class="Keyword">proc</span> <a href="#commandsToShapes%2CPath%2Cfloat32"><span class="Identifier">commandsToShapes</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">pixelScale</span><span class="Other">:</span> <span class="Identifier">float32</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">Vec2</span><span class="Other">]</span><span class="Other">]</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> +<dd> + +Converts SVG-like commands to line segments. </dd> <a id="fillPath,Image,SomePath,ColorRGBA"></a> @@ -628,7 +662,7 @@ Return elements in pairs: (1st, 2nd), (2nd, 3rd) ... (n - 1, last). <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:22 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:09 UTC</small> </div> </div> </div> diff --git a/docs/pixie/paths.idx b/docs/pixie/paths.idx index d06e2e9..355372a 100644 --- a/docs/pixie/paths.idx +++ b/docs/pixie/paths.idx @@ -32,7 +32,9 @@ PathCommandKind pixie/paths.html#PathCommandKind paths: PathCommandKind PathCommand pixie/paths.html#PathCommand paths: PathCommand Path pixie/paths.html#Path paths: Path SomePath pixie/paths.html#SomePath paths: SomePath +`$` pixie/paths.html#$,Path paths: `$`(path: Path): string parsePath pixie/paths.html#parsePath,string paths: parsePath(path: string): Path +transform pixie/paths.html#transform,Path,Mat3 paths: transform(path: var Path; mat: Mat3) addPath pixie/paths.html#addPath,Path,Path paths: addPath(path: var Path; other: Path) closePath pixie/paths.html#closePath,Path paths: closePath(path: var Path) moveTo pixie/paths.html#moveTo,Path,float32,float32 paths: moveTo(path: var Path; x, y: float32) @@ -56,6 +58,7 @@ ellipse pixie/paths.html#ellipse,Path,float32,float32,float32,float32 paths: ell ellipse pixie/paths.html#ellipse,Path,Vec2,float32,float32 paths: ellipse(path: var Path; center: Vec2; rx, ry: float32) polygon pixie/paths.html#polygon,Path,float32,float32,float32,int paths: polygon(path: var Path; x, y, size: float32; sides: int) polygon pixie/paths.html#polygon,Path,Vec2,float32,int paths: polygon(path: var Path; pos: Vec2; size: float32; sides: int) +commandsToShapes pixie/paths.html#commandsToShapes,Path,float32 paths: commandsToShapes(path: Path; pixelScale: float32 = 1.0): seq[seq[Vec2]] segments pixie/paths.html#segments.i,seq[Vec2] paths: segments(s: seq[Vec2]): Segment fillPath pixie/paths.html#fillPath,Image,SomePath,ColorRGBA paths: fillPath(image: Image; path: SomePath; color: ColorRGBA;\n windingRule = wrNonZero; blendMode = bmNormal) fillPath pixie/paths.html#fillPath,Image,SomePath,ColorRGBA, paths: fillPath(image: Image; path: SomePath; color: ColorRGBA; transform: Vec2 | Mat3;\n windingRule = wrNonZero; blendMode = bmNormal) diff --git a/docs/theindex.html b/docs/theindex.html index 94898ad..2bfc9bf 100644 --- a/docs/theindex.html +++ b/docs/theindex.html @@ -56,12 +56,10 @@ function main() { } } } - -window.addEventListener('DOMContentLoaded', main); </script> </head> -<body> +<body onload="main()"> <div class="document" id="documentId"> <div class="container"> <h1 class="title">Index</h1> @@ -71,6 +69,8 @@ window.addEventListener('DOMContentLoaded', main); data-doc-search-tag="images: `$`(image: Image): string" href="pixie/images.html#%24%2CImage">images: `$`(image: Image): string</a></li> <li><a class="reference external" data-doc-search-tag="masks: `$`(mask: Mask): string" href="pixie/masks.html#%24%2CMask">masks: `$`(mask: Mask): string</a></li> + <li><a class="reference external" + data-doc-search-tag="paths: `$`(path: Path): string" href="pixie/paths.html#%24%2CPath">paths: `$`(path: Path): string</a></li> </ul></dd> <dt><a name="%60%5B%5D%3D%60" href="#%60%5B%5D%3D%60"><span>`[]=`:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" @@ -240,6 +240,10 @@ window.addEventListener('DOMContentLoaded', main); <li><a class="reference external" data-doc-search-tag="paints: ColorStop" href="pixie/paints.html#ColorStop">paints: ColorStop</a></li> </ul></dd> +<dt><a name="commandsToShapes" href="#commandsToShapes"><span>commandsToShapes:</span></a></dt><dd><ul class="simple"> +<li><a class="reference external" + data-doc-search-tag="paths: commandsToShapes(path: Path; pixelScale: float32 = 1.0): seq[seq[Vec2]]" href="pixie/paths.html#commandsToShapes%2CPath%2Cfloat32">paths: commandsToShapes(path: Path; pixelScale: float32 = 1.0): seq[seq[Vec2]]</a></li> + </ul></dd> <dt><a name="copy" href="#copy"><span>copy:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" data-doc-search-tag="images: copy(image: Image): Image" href="pixie/images.html#copy%2CImage">images: copy(image: Image): Image</a></li> @@ -300,6 +304,10 @@ window.addEventListener('DOMContentLoaded', main); <li><a class="reference external" data-doc-search-tag="images: draw(a, b: Mask; mat: Mat3; blendMode = bmMask)" href="pixie/images.html#draw%2CMask%2CMask%2CMat3">images: draw(a, b: Mask; mat: Mat3; blendMode = bmMask)</a></li> </ul></dd> +<dt><a name="drawTiled" href="#drawTiled"><span>drawTiled:</span></a></dt><dd><ul class="simple"> +<li><a class="reference external" + data-doc-search-tag="images: drawTiled(dest, src: Image; mat: Mat3; blendMode = bmNormal)" href="pixie/images.html#drawTiled%2CImage%2CImage%2CMat3">images: drawTiled(dest, src: Image; mat: Mat3; blendMode = bmNormal)</a></li> + </ul></dd> <dt><a name="ellipse" href="#ellipse"><span>ellipse:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" data-doc-search-tag="paths: ellipse(path: var Path; cx, cy, rx, ry: float32)" href="pixie/paths.html#ellipse%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32">paths: ellipse(path: var Path; cx, cy, rx, ry: float32)</a></li> @@ -374,14 +382,6 @@ window.addEventListener('DOMContentLoaded', main); <li><a class="reference external" data-doc-search-tag="pixie: fillEllipse(mask: Mask; center: Vec2; rx, ry: float32)" href="pixie.html#fillEllipse%2CMask%2CVec2%2Cfloat32%2Cfloat32">pixie: fillEllipse(mask: Mask; center: Vec2; rx, ry: float32)</a></li> </ul></dd> -<dt><a name="fillImage" href="#fillImage"><span>fillImage:</span></a></dt><dd><ul class="simple"> -<li><a class="reference external" - data-doc-search-tag="paints: fillImage(dest: Image; src: Image; mat: Mat3)" href="pixie/paints.html#fillImage%2CImage%2CImage%2CMat3">paints: fillImage(dest: Image; src: Image; mat: Mat3)</a></li> - </ul></dd> -<dt><a name="fillImageTiled" href="#fillImageTiled"><span>fillImageTiled:</span></a></dt><dd><ul class="simple"> -<li><a class="reference external" - data-doc-search-tag="paints: fillImageTiled(dest: Image; src: Image; mat: Mat3)" href="pixie/paints.html#fillImageTiled%2CImage%2CImage%2CMat3">paints: fillImageTiled(dest: Image; src: Image; mat: Mat3)</a></li> - </ul></dd> <dt><a name="fillLinearGradient" href="#fillLinearGradient"><span>fillLinearGradient:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" data-doc-search-tag="paints: fillLinearGradient(image: Image; at, to: Vec2; stops: seq[ColorStop])" href="pixie/paints.html#fillLinearGradient%2CImage%2CVec2%2CVec2%2Cseq%5BColorStop%5D">paints: fillLinearGradient(image: Image; at, to: Vec2; stops: seq[ColorStop])</a></li> @@ -452,11 +452,7 @@ window.addEventListener('DOMContentLoaded', main); </ul></dd> <dt><a name="getRgbaSmooth" href="#getRgbaSmooth"><span>getRgbaSmooth:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" - data-doc-search-tag="images: getRgbaSmooth(image: Image; x, y: float32): ColorRGBA" href="pixie/images.html#getRgbaSmooth%2CImage%2Cfloat32%2Cfloat32">images: getRgbaSmooth(image: Image; x, y: float32): ColorRGBA</a></li> - </ul></dd> -<dt><a name="getRgbaSmoothWrapped" href="#getRgbaSmoothWrapped"><span>getRgbaSmoothWrapped:</span></a></dt><dd><ul class="simple"> -<li><a class="reference external" - data-doc-search-tag="images: getRgbaSmoothWrapped(image: Image; x, y: float32): ColorRGBA" href="pixie/images.html#getRgbaSmoothWrapped%2CImage%2Cfloat32%2Cfloat32">images: getRgbaSmoothWrapped(image: Image; x, y: float32): ColorRGBA</a></li> + data-doc-search-tag="images: getRgbaSmooth(image: Image; x, y: float32; wrapped = false): ColorRGBA" href="pixie/images.html#getRgbaSmooth%2CImage%2Cfloat32%2Cfloat32">images: getRgbaSmooth(image: Image; x, y: float32; wrapped = false): ColorRGBA</a></li> </ul></dd> <dt><a name="getRgbaUnsafe" href="#getRgbaUnsafe"><span>getRgbaUnsafe:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" @@ -758,6 +754,10 @@ window.addEventListener('DOMContentLoaded', main); <li><a class="reference external" data-doc-search-tag="masks: setValueUnsafe(mask: Mask; x, y: int; value: uint8)" href="pixie/masks.html#setValueUnsafe%2CMask%2Cint%2Cint%2Cuint8">masks: setValueUnsafe(mask: Mask; x, y: int; value: uint8)</a></li> </ul></dd> +<dt><a name="shadow" href="#shadow"><span>shadow:</span></a></dt><dd><ul class="simple"> +<li><a class="reference external" + data-doc-search-tag="images: shadow(image: Image; offset: Vec2; spread, blur: float32; color: ColorRGBA): Image" href="pixie/images.html#shadow%2CImage%2CVec2%2Cfloat32%2Cfloat32%2CColorRGBA">images: shadow(image: Image; offset: Vec2; spread, blur: float32; color: ColorRGBA): Image</a></li> + </ul></dd> <dt><a name="shift" href="#shift"><span>shift:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" data-doc-search-tag="images: shift(target: Image | Mask; offset: Vec2)" href="pixie/images.html#shift%2C%2CVec2">images: shift(target: Image | Mask; offset: Vec2)</a></li> @@ -871,11 +871,17 @@ window.addEventListener('DOMContentLoaded', main); data-doc-search-tag="common: toStraightAlpha(c: Color): Color" href="pixie/common.html#toStraightAlpha%2CColor">common: toStraightAlpha(c: Color): Color</a></li> <li><a class="reference external" data-doc-search-tag="common: toStraightAlpha(c: ColorRGBA): ColorRGBA" href="pixie/common.html#toStraightAlpha%2CColorRGBA">common: toStraightAlpha(c: ColorRGBA): ColorRGBA</a></li> + <li><a class="reference external" + data-doc-search-tag="images: toStraightAlpha(image: Image)" href="pixie/images.html#toStraightAlpha%2CImage">images: toStraightAlpha(image: Image)</a></li> </ul></dd> <dt><a name="TQuad" href="#TQuad"><span>TQuad:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" data-doc-search-tag="PathCommandKind.TQuad" href="pixie/paths.html#TQuad">PathCommandKind.TQuad</a></li> </ul></dd> +<dt><a name="transform" href="#transform"><span>transform:</span></a></dt><dd><ul class="simple"> +<li><a class="reference external" + data-doc-search-tag="paths: transform(path: var Path; mat: Mat3)" href="pixie/paths.html#transform%2CPath%2CMat3">paths: transform(path: var Path; mat: Mat3)</a></li> + </ul></dd> <dt><a name="unpackAlphaValues" href="#unpackAlphaValues"><span>unpackAlphaValues:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" data-doc-search-tag="blends: unpackAlphaValues(v: M128i): M128i" href="pixie/blends.html#unpackAlphaValues%2CM128i">blends: unpackAlphaValues(v: M128i): M128i</a></li> @@ -917,7 +923,7 @@ window.addEventListener('DOMContentLoaded', main); <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 15:26:22 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:09 UTC</small> </div> </div> </div> From 29479a7c6afe38fa882a164c0c85b4072b7a30a6 Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg <guzba8@gmail.com> Date: Thu, 25 Feb 2021 12:05:46 -0600 Subject: [PATCH 4/4] nimpretty bandaid --- README.md | 30 ++++++++++++++++-------------- examples/gradient.nim | 31 ++++++++++++++++--------------- examples/heart.nim | 4 +--- examples/image_tiled.nim | 4 +--- examples/image_tiled.png | Bin 40653 -> 40628 bytes 5 files changed, 34 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 1379491..0fd8c29 100644 --- a/README.md +++ b/README.md @@ -168,6 +168,19 @@ image.draw(lines) ### Gradient [examples/gradient.nim](examples/gradient.nim) ```nim +let paint = Paint( + kind: pkGradientRadial, + gradientHandlePositions: @[ + vec2(100, 100), + vec2(200, 100), + vec2(100, 200) + ], + gradientStops: @[ + ColorStop(color: rgba(255, 0, 0, 255).color, position: 0), + ColorStop(color: rgba(255, 0, 0, 40).color, position: 1.0), + ] +) + image.fillPath( """ M 20 60 @@ -177,18 +190,7 @@ image.fillPath( Q 20 120 20 60 z """, - Paint( - kind:pkGradientRadial, - gradientHandlePositions: @[ - vec2(100, 100), - vec2(200, 100), - vec2(100, 200) - ], - gradientStops: @[ - ColorStop(color:rgba(255, 0, 0, 255).color, position: 0), - ColorStop(color:rgba(255, 0, 0, 40).color, position: 1.0), - ] - ) + paint ) ```  @@ -205,9 +207,9 @@ path.polygon( image.fillPath( path, Paint( - kind:pkImageTiled, + kind: pkImageTiled, image: readImage("tests/images/png/baboon.png"), - imageMat:scale(vec2(0.08, 0.08)) + imageMat: scale(vec2(0.08, 0.08)) ) ) ``` diff --git a/examples/gradient.nim b/examples/gradient.nim index 3c0fc0c..9a93ef2 100644 --- a/examples/gradient.nim +++ b/examples/gradient.nim @@ -1,9 +1,21 @@ import pixie -let - image = newImage(200, 200) - +let image = newImage(200, 200) image.fill(rgba(255, 255, 255, 255)) + +let paint = Paint( + kind: pkGradientRadial, + gradientHandlePositions: @[ + vec2(100, 100), + vec2(200, 100), + vec2(100, 200) + ], + gradientStops: @[ + ColorStop(color: rgba(255, 0, 0, 255).color, position: 0), + ColorStop(color: rgba(255, 0, 0, 40).color, position: 1.0), + ] +) + image.fillPath( """ M 20 60 @@ -13,18 +25,7 @@ image.fillPath( Q 20 120 20 60 z """, - Paint( - kind: pkGradientRadial, - gradientHandlePositions: @[ - vec2(100, 100), - vec2(200, 100), - vec2(100, 200) - ], - gradientStops: @[ - ColorStop(color: rgba(255, 0, 0, 255).color, position: 0), - ColorStop(color: rgba(255, 0, 0, 40).color, position: 1.0), - ] -) + paint ) image.writeFile("examples/paint.png") diff --git a/examples/heart.nim b/examples/heart.nim index 690e364..ebff8d8 100644 --- a/examples/heart.nim +++ b/examples/heart.nim @@ -1,8 +1,6 @@ import pixie -let - image = newImage(200, 200) - +let image = newImage(200, 200) image.fill(rgba(255, 255, 255, 255)) image.fillPath( diff --git a/examples/image_tiled.nim b/examples/image_tiled.nim index cac5af5..c7e8ade 100644 --- a/examples/image_tiled.nim +++ b/examples/image_tiled.nim @@ -1,8 +1,6 @@ import pixie -let - image = newImage(200, 200) - +let image = newImage(200, 200) image.fill(rgba(255, 255, 255, 255)) var path: Path diff --git a/examples/image_tiled.png b/examples/image_tiled.png index 75363de154fa115b12a250cc5d8bf93fbd10cbca..a892e15b72b7170f11b8006c5d0ac18e8cc7ade0 100644 GIT binary patch literal 40628 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 S*6aW9n>tiSrB=x*;(q|0ZDeTx literal 40653 zcmd3t<y%x=*zbRI*HA;lFu>3ZB_PcZgMbVr-Ccr|QVNp8&|LyUcZVR|A<~T~AuWv{ z0*B{3=Z`oq_S!GjwXg5B;@az8-}`e%Yip^J5YiL=_uqdca5b3D(|hE99(>%Vw%V}f z(|`YcN`b=^^xk3|=h{`dI#5UC9SaK#AGgn^wov)``K4oH68y!&e1H1m_wV2C{G?Z_ zhyMR^&X#LzPfSF$b6PyUk7{rhehX||<Z`Kg?Z&M+duhk8G8OTFE;>SpHx-cFE4u+l zBE-GfSA-Hs-1bzOtXQA=V;%eDpL!XlBSKsqm7bwVu$HGH++hs34Fx3YQR2k5N(}83 z|KEMMMx26;f!BSn|L<im@!_jT1rcr43j8E*k^H;Ig@}-~Fl0KdNB5~R?#Z3RU$So1 z*FXI)AEeLp(?$M$U&K#)HC19y9y6GoaQ<k*fcu7WFUzHN%Ovj>@XN$P!SjTA<o;a> zctGA-dsV9<zJNauCR?w5p874>{0{?6S0&?nAm!A<dzXIshZpB&F+q#wUt7B_D78r2 z8FMY<ec6W;8P?6^HDprqBgu_2I+ZW$@XGO`BkR1QZUQVU9|dcyx(y1TD=^*pN5Ji4 zt2pttT-AIr*1vP!*H$Nj-9!G*Sn&Y~)I%kubOx1REF$jI=|CbjxMQWRqvr=^KDKa~ z0U;1yT!TPH;8(_-B3jQuvAffN!@YKea?@XO|0o}7o2^(MF_a62&wF2=$DDNM<^}!P zs^Vvo=Zz~o<b+Bo4J*v*5$<44&VegKL-bc+wV!cT`6!DB>J9p5d6xV?Qht@JS^Gk1 zx9ZDDFUAQo+`qg%U+n4)tc-+2&$&<+#VX%-n=#;?zn-(4+B~T29`un5z>B$i-!s(! zF9ISG2nq>9xbn+DYWe95hSeNn#f1L#irum*tuy&@t>Fs`xm9kfUk{dO(o{?KUruOe zX5<@H0>~n(mIZ29XRpm%1ud<9vU1VZ4Aa->2#o_(&Ngl;AG-f%ROlq|&x+1~+xgeQ zeXnc&lE(1HK&-O0^stn;JOKYjIHHE}16+WqQuc5qZ6vHbbe2U&El7R%rO>-eV<cAk zLB5iaPWc22+SO6-nAxedzk+PM+D9sFd~`>Q$Hs<gE=)&~BbJHg<v*mw!)EqT$8UNV z+`-!wpg{gGXmRt%@3aN}^q7PDky-A`k!s*xGRrP)_xBjfs2c?&qX{c_+lpwMAUnnE z!BShCvPLNPpJ`rd(L${PZJ2@BTEUAM3k9YY$fcIfQEkY&Qk0CTk-d*k2!~NWx7gnG zT~s*8c|G4Wfnr@h$%AQ8O3N=O^`{Ve-h5}V`vFJpe%UT8dSY(`KdYoy?vL){|6S#L zQpUE3m+z0T0(T-eHpeXP30L3j2@2|bmySHaQ9~kYW36s^tm$n!gbT>GBn5)We@c?3 zB30_k*Z}NA0RQqRQ@%uJVXYv>*WNh>M-*{iH(fYKZy@zXAOIl6IlSC$78OesU5y3I zQmyTb+PT4wT4Kh=c>58*8ahVZeZ#Tw@bE|S%@1-LFOfNQyBoas7mtlk8~P-{jqLWj zUw2Q(_j~oO^Hjlxx;7Z7h&Vtgr#C^!1L49xKp_!4(US^?rCPPd97eR&gzt9T)F>U{ zNCd^GPmfwq#?Zr$5~DB?1?qa`TWlcIWJ1~t{1T+004t5yC8i!PxB3??M&i1FS9KEI z8t;WHgUglt+&<94B(&61kVWX8{AUA9#1g?r_;)5|HS66hAz}8N(V+47!?oSY$oJ_* z>77S*f_HvFOOIJJ1`9WnFM~&RyRPVH7Sg#Fd0kg!zD}UjtLdhJ&m`PhqiOw|%r0!C zh!$rd0#-bD(Ri;E+fnIF)8kU=pXF^1wa^Em7X@Qo27P`0*@N!sA1mEzB;SM`{z|{O zie^7L_WNAYI-&6L*IT~R>|1KmDj&&)g`ZisG>f118eiAPxaGXaKb9~5s>76L<?a4_ z)=R{7RqX3TlX^47G*D!@S(i&KpsD5-N)#Ea)Zruf>iAwd_Zn0@11Z+QdRTn;@;>=# z%D+)5Lth=q_3U;(+H_r1TGapP(Z}xBR}@sxaP#KpfZM<juoUc^pa01bIOUpJ`M>&D zPmqkC`0Fi+AdL_qH91H7F-D^4Ab}_v79oW0Sm{4lHk65k&=ANFwQdZPxne#8aVQID zYO}ol6^|DjX2eh^F05R<Ca)uEYgV#o0%}-+nWLgU)^H3sp}_Dc#ZVU#uc664p4pBp zR9rT;Cn~+==B&1BDDf663awZu9s*W>zW{pNcsh+3n!Y<-EY}7mE_VIA3cOpj_;H$8 z>BzDX+1!F$cTr-bcpId+fnH%8giveSCG3D+#JJpUr6S|X=;yNaSD3P`%aL|?ITCFe zd#X)~5ldJ^7$H4>&RiLk=j)^n9i2ZWF6V0emP!|@qsv|Hzd2%_gZvn&?S2t(hVNVe zdw&IXQ6-%<U;FlVj7@6zkBF&B|Gp1v^qGjtw-Rw-BtmFf4?{uJ(Ab#*hi2!TduT{4 z)?gK_Q{LFtFwxp|Cf4<*uy%^!uLepJAw=}7Y2vZ<;e=$Hw!01G_hr}Z%bi*6u+#&| z*aIeSC-C(YSF{Y~B3rDy2;m%O>GV~Ge<!|GC`-xZkpMg?zgQrvfHhib#~8yX$-~T1 zaP`s{`kQsY+-1ve<?>g&NQPYW;^EKQYKo<xsw?HS2cF!)LTumk=B-x^!8gVR*N>R3 zjYvoZe!q|XcA=<|Lw!0q>D_>2;R`^BJ5BjZEp!E2vp)eEdpMp>B4|cb0nRuPiURL< zKmFkx`HgH*_i2OFa-BKf-v2H<S`QE#RE*xw{QT%bblWYO&|CM7w)=tZ`@fZRFOLVQ z;OmRZw?Eu$?RQ8`2$|-pcc+`FRGw*45DBNAd8+U5ByWl7X@ZCqtpjbR3mX}g4w42i zvYfPQGqJlO(Wwb~$zZDest5^R^$fM5_K?E}*F0X2;d4xV?jnRhBhLbU4)gtv9rm(n zWeNd%B(kjTzRHYIZhEtzm6|Ty{|Mqk-eMZI<0NW749CtqxWO*g$viuw&tjvzV}r_8 zFisi8sZrw1;OjptTO@p2^AVkzD4Hxm?pTZ4rllUHfj(fA^2oSlmqTB5`dNRb__}{w zmPPvL@az1&9qXc*7tTrWH<z~;s}^HB=|S1`>WRty%nRo{F1};O&jbO499^D4(aZcI zsMpJJyBvBh?7$L@YG?8xB_s}pGVQ)M+a(@Y9kpkqmPCjSb2s3oBC%cmpr<M*N*<$( ztz^GT7vP~pWQ2U%a|88_Q^`4{Hw|!1{VbDRZ$P7lO@_m=L0|XIIq6m*^5;3dncU8G zcDlz5;YQnn?f9gm%CDB60R*YWl<NuQ3*P7@v>}zYceKHCPQnPVdf2v66k3IckV@T$ zSXWh_SdF;J8mmBCUR2CCw>h$4RrQtbZ$uZs>L=cpKe`(~hhH&T`nyM{bl$$V;e5Qn z-Fzn?*YyuC@MiX8SLq}WYkcuO$-mdOL{{+?FNhG7dPZlgbo20lix+x4@q0<7&|r7( zK?#BkLn~Gr4+&B8=;y*jr%66a)J5A6Y&0W6G0-*IQ+n70RAy{-ir7%jDC`NvTs83o zBF+j%j~iIJMRkVhe7WZidf>Xz*D`H<phl^eVTO-7(<yG+K+_gpA}uxOZ1Lj`FN=|| zwej5_--=>k)juq-S$$iM;^{KW48nP&3Lh0zBUi#B%9>)M9?{2^B%nLzqr;{=Zx{Gn zg<LVzu#ayp$_{H(RJ-_t(y)|iz3~sEZ)_!v!jw(0|IWAD@9A=}jCdNazen)#{u4AA zf2<1OtL48)JqZer5BfW6+FduGzi1J;XzpN~zAP&|W@r^Qx#znOU^Yabe3Y>|@H=-^ z^7W#7PH=qTxSO}8{4;Mov;G81)Ef*yUa0xN86URMhmrnh%D>gjx*}qL0{PG8AZpPs zLTCg2nZs2zbR3Y&P)i;Zg?dF)wl(XxB{Jc@qUGrtQOLC$eP=dA6_Q(6h@u{HjCCzu zKY>Dp2PZ#k9<9{pdinkCJ7|*ZT2Nh-pA~Cj0AA^Yh@L@!%B~Lh0Q~xRra|IWtP+Pq z7*(0LdJ#H~GHlLeFb6?J5+*UpM6|3XVJ--Y*DQEBA>8^7@9zj$H9oIM?tO}l+&vA~ z`zsktK}Ck#B0b2zmn)->DIs8ZUu{iS=(EnN*uZmLi_JZ2vS<81hdBIQUK}koQLi6( z{JP}Sz-0uM7#buduFBy0{Kmvxp$dqfXcX%HU@pK)iB`wN2krP1D9{M$(JfE0!V@_# zT=q62p}$w?i*+clDdfmMkQ?dM{{vQAZc1U)kQ8w*Oxf(;2&?Pie%1mnc!H99SA?HG zb5mw+k_fP;j1aPYWF7RaM6Lav9%<Yand1EXdy0UDHeHAZrwA;cs;q-R>j<)qf!aZZ zd-P68tS>MZdIrgC{w+uiT4N|sovl&L;2SN}eF4skdQ|`SjhZ|u<!6uG*^RKV4$fy4 z$bzTh$De<NJDvphYCMMq!1t7|&eC3+O}?(N$d_!5oo)zW#s61pIR1zV`FD=AI6ZjQ zl_eN-G0rHprm}kf-<Y32Rbhu<{%5D>W22Rl)wblHmcH2rg(12J>sirlw}Aqk+n^cI zVqSdg9qvtcvhLQ11piy(0(0JiG60f_l^X<SEOa8M{+%#&7KNWc84orn*CUy89aBO< zAmGFgdt70%O$}J{4f`bROKB0FLm#;}_NP%tQt{K8t3OT!B|D9K<ht^fRX+MpZPo4S ztOi5V*AAp-u-ilB4YN28nh5;)v3r%0tly|8!)UN<^+C~!-b@S6u|SJlfWYk~t~h;X zF-oJ<#Hd7$RLFna|82Z*G-3Ykp;o&wSWi6R#jJHpO2%cwn7yjr@c3r3D!o4b#Kxsi zg}-U(H3>W`KwH(J?VlP0f+mBH;gM4OT+WJhdE~66wKFG3HI6)r#MwbM>fn~viuhM% z^`4$y$h1rMWM*{ak$~qX^C3n7-SW8JK{8cQO+a%f7mZr3z|bBaw=i-q>E?dz1;-en za|`n{cAtduqFoNFq99m83)S)4W>45UD<O;xz^y=)#3}sg*oFiXv-F#Khbly@Jnvq6 zY&R!nS#H!+zZArQGQaSd<b-*oOKw1{h+lEPQl$_KhM*Cw(-m#j7;DT!H=Ie>dZS!t zfAPz+MeHN0oG}$JO9ZU$C@Ls+CvpA0_KVtviE<LK+p-OkDa}aO5CgA+0xO4&{p2C> zGZH5hDc>YWyxQc43^{EtvufX@C4A`a3s)hScScl+B?|Z({&E;f=RG<OTeB~@k%K1v zdkGv7d-aI2FuiwC{2bA+!>sXp4XFnaLDXswIKaX`A9jt?Sa1H8)-N1&48$x##GQ2U z4!)ttOlh&BOtGf`;}pCHLaDh^UZ|-=E7pgZ^K1nOs1)=~X(j9=SpJw{A%)|b^=X4r zu_w@QMuMWGxLpGLfhLonlui5sJ*8Do3(giTHrh&!xr&rir!fMP>)>ojz~%$Mr?A&? zQetRy-LF(zfVBi_wmL~iVHftD4U8zz=J|yx)}gC5?DJcf4&7*_gpG35N&9zV?ANK1 z!&zTsD1YpsCD*4MW+O72alS&lD8$yGw)uudm&c^Q{|s20!cBxh!fk!nykV`S78Ow` z8Y^XUMnFECv5^d=p-4(d?fU9iJpfba8jJ@$QsSQ9=LN<N#%Wrrj(l}P9WQ;PlE`Qe z)lyT6b2NWs&-&<tTIv(!-MgkoOZFF3r)zUFECp+n&7T%x&ohAHTsfTc^7Z&Evv`nY z){Yb<HE06v#M!<^#w5KV&%1&C3|BpF8a)_Xg-S=G5SBCWHc{QqoBr7}!O?$qu3THI zzU&bK%4Q0hO7!S&dslKLvaU8m;w1=`)&+_fFG-u`A{#qhv1%>yh`lbHuhrmV8>$%P ziBKenXHOkAt&PBm%JB&tXV+9_e6429;g|*M)uT|RQwT#Ffl%zBuu^H^@azNZw0J2` z`YjVbP#Cka<|N%=dH+%u3&Q7biZ$LWAKJuiV1|?Qbw`*n+-6UyXwk_8gH|i^$-vO9 zTsPX`wRjZu%$SPdoNhG>LkQ?5f~XY06tFo7%fsG0Yf^(LwFG5Ks3XMzrRn=$_vINN zQe)X_q$1hpxt?fiM<y7Rt_r;mmA(ok$ADhXRiHd8XYZBLTF;Q#AGOUWa1_D61R-)y zzHG&EbyVoCN|*vnFjHy67b9FJI*B}A{Y{Ip0+CD$(?9ON9wbWS+QRWVOPo_&%TH2} zY>>N_U}6}C&Lr@A&j`1QvPv>o4O?39KNuQ3bj7~b(`)7jPtK4~8~GG3tg>2SSVK`P z{E3pnpDm~b{aPko@v|EAYT7mvpMt$^DfpDOY=Nf)%tl0Sy)?8~D)IJL5H~$0vlJ9` zs1)DGNkm0O;ePOO+hU4882fhlTlbhxz@Nr0VKBtC)N|-|*;By?lRNtSyL7CL@9z#` zn>vjob!|rFdK$QOv<<B^PyyqaepLT|N{RI_EI}0h7PF@V%co-<o^)<1y}!BodeYK@ zgY<???JnMtOzMe>_4!+oQeGxQYKc>qm?h<ugUq?UYA*92zLS!!T|O8*ADnAV1*T&o zUiy5(<=9URP{3&nkv0XJ=&^L4h7=*A@_1kc@iimF%2;wpf-M2~32VWYHO-4#$Hmuz zg(b2I37dwbF1gfy4bnHDxb?jy)iwjsVeV8@B(acdr`8~27aGK|M#b|#tlR(&sIvNI z4&vO*_vn#3t6335Z#k!3#ep{59SA35O@oD^pr=#RIIrfG^t<g|Ho8ya0wOT-{;qYf zQSX!Sqt9MAxvszx6yX$8(L%P-5?aeaKk$GqcWQH-2v5MEWCYi<jP9$CX8;N%jp$8$ z#PmKF2>yd|KnZ=NG^fgAXh5s`f;>S%hhP@}*=a&kLddZdE}=pW`CC#%Qo;~4wOxyR zoH&9FSuuM^1}{C4ck@U7mzad<PhT(!a01rf^~6sZ<3-OS(0xFp7nLg0?)D&A&r6sn zlw(pwT>l&0tPpF|-+{x(a#3{&Ul!eX3hYchz33VIXC4&I9}1qtcob5|-wGgd<mnOR zbfrK%wk-FVeNwB7^)f9KIiWBIhw?WaJzF~H>5|Xsa9J+<zzVQlGIW!%ccvtxd+z~T ztxQo7Fqluz*zmJOmoN!(D(JoWto&)3-rRRtcx+DzdP=AF<E=sherG<`FIzX+JMO(v zRMzqc4V$gG#V|g>4|aO~Fejk5E0M_RvA2fzv*>9_`e<Pw1-m^%$M%r<<(O^{91zdf zH<Blv#iDlAc5H)6?e_v9<m^vI$0`ogYN=J*Ct6X#!P8BxSVxJ5-F5iqNFv6V)1M-7 zV|KdBGFnkl?oqlRLEAq*a`J~P{k$h&;0AIthZR6YntSn|G#IG}V^x>j>S6wc>R%AU zj(L@==|`UmK#1R~>n@mJ6%CXuo=}jptAVV>74!hO>ul|8Ry5vPHN@ox&T2YgcFT;< zf98Mk6g-F(p3YZo%tynac9LvOX1>Rr#6BLFwe67}uD@|razE~_vB;$gMdNcw?z)rx zMWv9Gyl7oRY}2^0vfS>i)&-@97cvPEs)?ivNv*IRH<cTB6TU%m4_tmp5g{{;Sdl^M z%QBV9Dm(2QNUL}bN|F_plnfvg`N}UbLk3zBzhdSV%CWoV$}7X5B(`*+5EwZYZrTfA zB)0np$cQUHRWvp}8W@uBUAx3Q{lY0Gzl@LhFw{sPtBcyE&}VZ&>IxacT}l;}Q9$YW zw|5-j&jmD??5jj+n|4Nk4cazyBB%6p`yd>nz@U*C4-R&lFQ_t^c+kj5dmJe5%{rlu z+WWojFCh%SzSr=FgRBUH#dQF)bZRIRq-jMqitq(jdyzfUyT6!2sukESm7*><#N5T; zfhB{UPfBtMzrTr;<tk}cJ&C1B%zr*V!V^K;If*$<E?wzh58JcutvTy-!&O7xE4LbA zNxt3lm%R&*uYYTuDs<{pi#O+Mnlmgs<V+ZPqANz-a2dxJWW77T0b}C(k^1LH{G_(| z0|}edoxocNwd94U0)m>ZjZIUxBt44n{)p0c7P%ZPT*D&IID6uICWGfN#R<0t7>)l4 zTjFPciy4|9iR?+><MQztN1+F1M#a#mdg|$=Ac8JOAp=ALI-!A^eUL!$N8{GY37VMp zjHi@Rd<ar&3TMqYl6&m6m1$!srqWC7q7*XL-UHWpFGnUOXY8NNa1Vh?R-KYHuX2K) zZ+NGQsN)>9#FRN#@ssUUnW*7}P;$M53J6wF-pb}`jg2^^ZxYdOQ4?@Sa~}ZIlUOCi zP5wOm_pS|PBAHxgT>8bIy3260=a#GpJ#bV1ArrbHOGzDTqt(Z0m1<x8P|H~QEYrOn z_q;y7GxZ*ibSK7S<HFFyi%#Z|8K3*zN$C)VCVy`<b`s=g)A;vzpg-~9E=B5i3T?15 z#GvgV6fYl)(ayv6-ysu2xnbXRkU`BYZn!nZ>M@#uJL~D10CoTMJ(e<XI0S4rbs&t; zqp<xbT0gB03c)LqeYXPt@$*i$(uFjcc0(|J;ANa%V&MmbOm7_aDVFc!B~}z-r0yMt z=XCy;Qy0w7lUKVNWZa}sQEoYHDVa#V=Sy!G4QlRr!r$Nw9~bPyC(G0cu6rU<0(A}O zxrkTII0@;|MHIuNDn@<Z{NDuz$}#*k4V1I=S-1N&gGUj;Hd|;nAXHSqag+GLa`ou% zG9KIAm+2TapTwCN>YFiqJb^Yr7)A+aV#ySfgk>6VMJerRY^|~<2HU5tLhB%sfrh_d zu9yTlPAR1-v0(a>>(x#+WG24ussQXU9gQc~6rre~o_RN4ide%qWT)NKa7RNQMWj2& zzBm4k;VIcml7GKf;6%t&4(nL8fBS<WN(Why3G3>wTkqYM3{&`Ez4taabhjPfy6>|I zQ3|gzatG5B^y{->a2lK;+WWO-6BCQoCgU&huledA9JYx+*<dRT1pbqtLxN29{B(@x zaH->`HpX$rt)9$3FaVA>fm9Ify0%laveddy#9dcJnHr=*VSAO>gz2bDi4l7wB7_B8 z3JeePYRO9B<#>`q@coLpL_y;?+7FcmCO$s%PS_Q&cDBaWOq@>spqFsY?FjYEy!+}v z5fq<V|Ke<D7$|vd6R|@_`pMG|rqGj6Fz+culG}``?;Lwz=}HgS*pYRt@Ffx<bI-(m zvqNpMi?py9`WKC151;hy-+U{ZC^0sXNxS`f9m>Ip5enoHM*Y5{Yd;opJYp*sFRNk6 zfAz`g=jEz3J^>Qjj0<ff<}@r-Ib36Bck(9z26=Wcl6fdbNKQhxc$WBr12jBH1_B9g zE|g|RfgI7Q)g`(D@TOH7BCZG^M>Kdc)Q34ydUE1ZV}cr8q7p!1#E;WpC*`a&z3?x_ z{m{O4xsKWD%gWEGgEHwk)>OKGwKO`NXTAc-EJhEySlC9NZr@CjtA`YkQ4uL3>cxP9 z;~#fyiSLmJa(UVyXR+8fMz%pgBYmT6DhePt%yp5&pfqDNv>Gk1dpR1M!BC=CoHE)e zr$_+sXLkUlsLw6bIM^L|8~B<hFnC;d{9R_wLc#^74JA*B(*8U~B_<-ST{jw^QZ`P- zPJODff2C?xTh*xcqp;h4mxo)CJBj*Pgz*$lq+v%W#Z%~li2+$ITo8d14lRu&aB+(V z9arl{uH`WE7s%*E5;1fzT_dfXbp6&sL?Rf+xLkev7QZ0(YbJi@e-sqo&Jw{mP?Mw% z=3On$jED&1DgZX=aJpICrz1*LdJx;EYyc4<!d0l@&OlAE&lPSf;X%hA6=pRya?Uo< z{1N6v!A4ppU_N;!^M`%uORiAkwP-<6XznreWT`3sp3&teeUlEqg<MpD(sfo2l={q+ zjQa%~jssfU{ZdZVuZ<v_58Re$+1o}rRk0Vbb)^Fcgb~)l!7DfkLlddkeB(9)<k8l^ z?2X9pvg#>m<XDj_GcP6l7nDvNS`vz!WP_^cteH!V+)bL|P2)Ph#Mc~p<~?7>Vr!f- zNpSbntqQk!bsEDG99pbTwm61j2c2&Ivm`0Z7@8z1-zSVH5k7i861AkD=+-tg@-y!T zy-0>aq~asCs#Z5y^_Zb}!i*1=sPa#bd=S9vCf&lmtsx2_3LV#<3xzM8Bpu&f%h1ZK zqHH_x%j5Yt*3O7Y^cOsth`tecMqtsTOG`iR^HJ(!<%oF+b4p_H)Te*|={r9u(VVri zmtCcov)prhg2wFET3ypVh2i)6X<4^JH8qrI7amn<I=GtTWsIO@Z8e&fm~hAVQv?gi zU!V%bhTjE$Pjo8OKH~hj3dwNGX)gI4uF6KVM=lDgFjAr`@AYj^Z!oN(eEPUuvXD}# zQ|9IIKx*4BMrA(=o3@FrMiyAD_Ba#3jH_o#jPyAO3HCU3$m@4&CJ2ubxy~6K7+K;U zk#-N!t+IH3;+A7-%xV(*$BiHWn4hXXvO}oASU|%?xABGJj|xYw_*Z*6!Lah=?gHWW zObSl8(|QTV%;URj$(45m&GxDNi!30z%;NRmHt%E)?}DQXkZR>03J&op!pzC6r@X0+ zQsBucJy#bJ!|xiU;N)y77%eutHFmJQRm>J@bm}-{hcGzfY*MJ+hgXS<)xFs<POm{s zN<{U&!n^(dg5QxE(I(`ujqh$`ANoU^RZ<J_;>ktr_nQ2P|9x0^u&}HU*5R?-lTySF zS^cOduWM(EVDsYKM(GT^Ys8IaVOPdTbDRA$8>poJ4RbMWikEs@J=~SH#9)2kGOe0; zJ%O(|xX5UTOy?KrW7y^x#lJC5Dt;Aj*EGR4vO8SpyniO8YTTAV>3*~S<;M@#4;I#C z0G$?Q@Xi9Q=>R{xwTxn5zxMQ_;1|M1J<CT#yzjGO!}6I7Mvku~QgC@H73~cb=_3SR z<}Jjg0@I}SALrF~PxKgZ1(0=sl-H(XnN|(Iee~}pDEM7YQL|R*EW4*cRQoV|Hbdfy z+&c43aRe*&fP2cHrX)UA+g10%u+?KIg-xcyVu{Og#tvwa<;}hcX84=bU)vCP7ND5T zlNjzpgy??p*|@I}Q-j<7aDJmiDub(H0==oQ*&ymkj~A3^IPX+l^@Cb9+JxUfm$bZ5 zBSS=GpgcZ<CxusE4GSQMtDrb$?H!^?Un*Icpmr%m6Er*oq5kaK9kYX^;wc4gfjPAL zr8&52+&TArxKoKS1q%}1x_170u2;p;H^$jC7cpmJb)XS<11f;b8o&OTNz!*M)#)2K zV9a@t%c{wqwm{Q%;r81*hKJibMmQmyR~Ejup8hhoW@&>95i?K_Q^k<NYZnS*omVXr zFC9H9nsFp2@jtTcso|B2ryne`ryM-_MRaTBEF`_9BUSB_av&Pw26g4P@i9QyW<nY+ zV6yPJgyat+`{WXA4TzCL+tDK1(TMgM&qFr>cm``JH;!h>VsqR15Ar#Hr(+>K=b)=q zo=6<RN#mDG;mV$xd6$Dj(_~y_H!7(JJcM7dp`rouPpQ-D$hexfn_Cg>60==0?{yYr z=Oy%X)#VdA52esKqLgCl+YpI>;6sv7HFhXcctV2RUwihKl``80{WPJ*AVSwU#gI^^ zUkHz0V5ttv_~ASKY!bk*efslnEiT=0NhL)_S<&gxp{8)2$=^hVMyB$W-!|>Sg``}b z*npIr=>o%=-NAigqaUc*$+kgaP%97%zWHGu>oqJ!$shtZ&4HD=67_ncFYW7W8B*na zhE9bz90$khf!rpf|MMB3wd>zUN3C>2fe+tdtcn0kWQdYfYa|Cz4(q^vjinDBgb;t4 z98P@dKb}%Sf*b_Ew-awDkRWz2w-Z&q3r`ZrvzIx61EaA3&Ay9LdZ}7I2i#~$<<BlX z_nGMlwJs)2LN<9sP51nie*Y;Z_}ogg^<@<m{7OoZo{d0uaEkrY_t7^)dw6Y~K2_gO zfc#X@zT;Z$8nJUJ1NdGN?lkvMinMrvi*OR?B4DTlnKo8sZ1nt~tXYb3wYA}$dlDZ> za6+tqG0zD7SRdPvV){j=jp=FQ%Y6SJ>t>A#F>?GwoIIU9O08qdK^hNfvf7Q_gDZqS z2AXZz<x4O9j&ZVk_i*lOujgQRyE1T;e@H%pS8m|=k$m)pWW)CKC`$hIn|-&}N`*$_ zv}3Aqe5^DKdktfSE8Rcc9|%`zY7`p{qU~b!c$1M*ItQ%bq{faS!RPe8O@A5%^bJ!F z-%$fL_IG+k;jc1*xr(X%fkkDaSx=c{;9GD#(MSqI>{_zVgD;-)3vCU$={U*uqiJfY z?LJ_-ssCXP^m%?9v&oq5ybodvT5aJ;`#!Z=a*N)R#!+vawPGatBh`vy!Ql32<??sQ zo-7>)%^DCs^wT;Q+!TBq4^$3+QwYzn14X{K<eNYI-0}C{@oy3oVG{Kl+rd)yioG4U zK>N1!K`aj#Lp5HIJ^c`vG_<w&elYioow%TBtbOfn?gY0Aj-+n_h=KoxX^YJug<@ex zr;DzqF`y_k9=(r>*V;Z-%Mq589ooJbhzR-jyxD*KIXRlTZ{frIr-4y(MX#bU4R#eO zP3z{~l|Dd{`A<|c``Y5livtn~Zb(@2E{N(`B9a;~$SQsSR*AieuJ(pI6)^|2ziNbt z?T_L%U}n`6;$v8)pi?WObYQMzLRZ3}U`j56_VR*C98t3$RR}zI5~3)oZr-7o*9)C3 zBy4U~LBp=D3@RRa5^ONvI-18?8}ItG{Rg$nMr9A*A%xQ$i!(@Wt=t&+XYTS|EzN(9 zz_CMhRTV;<nBVG#eSlO}7}l_kP(;fVS?XOVQbIFL7UdTS9kY6t3(Y@0)JC!O`sbx~ zjh$&tEWHgMbw(AX5EKi$5RF6ZKVGC=zwvWmNtD|zDx+{XcGOB9(+42f1Vk@dOqn(& zST%ug(-yzloiOom4hL=tg7yklii82h-x{O9yTeM;H$OQZC;PYLN=yduH?QJnWiKg; z@;~Oo87)wCNmPZ}Xq_5uzIX~1axftGij-E8X_9o|T+WC>v+Lc>qAQP!b`BeG9SIH~ z#>M;mcYr?oQVORvoX&XZ`omT%cU4vC<?09=S%RN2&tq()G<NMz_6nX1MATRUIV*S& zW%NgM1c^maC<@J=H`Z!2lH4ggDKF@@APBx6T%b;aNRw5!N&E!_Av**;=@)O_TY}Wm z$>MN!S4cDS@4P=Ua}=r6hqSv9_Oe=-=DBJJF;*q1$P__T^n0rGr^i*qz4}@BcAZ2* z^%NF;=J-0=oa+L>@=1L;h$*T#0qi!ke7R|XX_XG-*#&+FEs?Dq%H5%LiK!XUaD~ew zCml@fMV;IxtU9-b;#>9(xRa<`vQy#LJzb%?mt|VCD~D=zx1thA6AOVx?IHEnLUqq` zTAUbm-t5TvT0VAo#|R}9D_MYnN6M#IAl`AERKtTIl(_z-r~=XqP~SU6>hTv#MLJ!k zAUr>|0JxP?uxHp$O+2dTN2``YW4&nivH-Shp?c+t&lh(<c{I!WE_Xe}70O#sLSbK? zQJTh(6jgqBla?$fai!R@@?U?-k}#k!O6e3+kvIQ2xzRosO3bc_Z(7hdD*P|^Q11um zqRlH?wmnM7FNpv!&bV<eIlrjirzLaMqq`$0QOXw@<m<!;(#Ti>Qb%R)20{*stRgf4 zoeg*GM(XjUh$z;^SQ5DyDk(0-9wls|+Mq~+CEV@jh}RSVs=QCBZ}+ZXV$Y6JG4B{Z zCIkL4^|i&&3BsHQIz&ROO)4`s|NCmj+On8{OVOe6F=<idihpxtCqZ_QO?jAHu>q{9 zsdHY9r!rLLl(GDf4zb;B$$hNZx{)i%?hJX`HC%rvi=`DmfklO*C>wtqfg?JooDLe} zphT9kjVgaph@2{`n`hA>iGWP1oBtkyS!*xDDq_*CX+l@_pMVe?0iBgW<zHN}W_&~3 zPC3U8f}j<eE#1PD3c{--Bw|4uoGU?bx-O7qgf<jp<)!z!qUvqDK!8Xa2c6WP@u0^A zvZ%DnQwr)B;5<JrpAUr7n{+;qpvFf$KZHc-FKZ-0TV6dyf}hTKzxOys)2A=`)d9F9 zZR!m}%;W1vDR`Q7QT}ixisqbtujhN=fWfMa7Ib}inm)Vd#qK8g47tB2otf_xN1l4K zg7H!~ICH6!)TzAJw^enJCBKaq0uTE{XgFUDHl{3Wd{9M^>daWNQh)x^mD&smSt{14 z?zfb;sZwYz`E{HDy_O1^T=9`=$hj?e-POL#Fp_##(_?avQx2lwl`5ARXtbd+V@**{ z5yk1_so?+&0%ikzEyFR&8KBJVz=cshC^pBDlC6!g3($%dfXBv*1^e~sO44|BP>^0^ zpaNBqp5ZdL^x5Y5@NT@2uuMz=Y!6N(X=KwT^>U8`Qi9CE=@m`o?o{O&A9ypgG~5hm z3RPoGgX|NQzZz=fK*Oy4|B(Lu6tg{yiX{EZ0xhYJS+?lI4@hWx$Du0e6IGbd-)#1; zLRP6t4QL;pX`E`-;kSeOx}TXdt!At?%F{oO1Cmpo1X2?`1*GEb;LJPY8Hy_AmQ-u| z%wfqwl_RP%rf8wGjOE7M8k<5~0-KOn_iv9~OtS<1M*^0xb!k$?qaCeqiMS<;jlt9_ zCy>zqpI&B--cm~tFBeUm$hj&i>;<@BU}9n+yVhq70NT&H`~C{ZEfuDiDtZX-l!dp% zrcu2tv-~EgT^5T@;ezW%14E|woxb?TPBkO~=)N{m%%sFgMbmTb{S?+&QbGYjXCx{^ zN1rixjm$RcRf@GNh+=<p2>v1b*(RXN!Gv`6mWuz(_-%B=p}q2U1J*Y%jhKBlH)3dS zRqgu+*eK08cZlBbDBW=4_*TLg7(KFdN$gv#F4{yfi<%y-6!2{-UrVhH=lvJrnWA4m z(wgm6CL%KD;v=4J2avO@KM}6C3HbDrH=Li?Q-0I$LY;@MuxhNdVq%<LM3c>7fCcnd zNk<>F`i?=3Bqv;%FxIoE4;WhZt2jhhrBbIW1fh7fu8TUL@;CS@YpP7x;EN(a+VH_S zx)yVk@-mB;9UICafB+0$gPxl>x4q?kwosag6zH{~;jw4$yVh@U{n^#-3+y9_l*2b? z-`<be&Vu7+z8E&KxV$S`Qh)Kz_$guLI0zS2;)07Y$|+9jjK1LfehKD%6CG?rv_53- z+K9{>3Uj7@`P$M+OiSGUv-7ytoZD)q>s&?x+v<0JkDuV3L`2vC*EtROM?17tq{6pe z9~*!ImOfrFjB%h8*bgRav*Yld85pJ+GYpC`jG9(|f`%1P5y!V>6*;wTU&`SI;A90a zk<P^GC6#E_=;$V?Pv-qI^o%T-I|uyFr(4}@&<Gn-Y}#lgBCc{R)Q-&CBmNJqYOYuN zK9Oy~idlB7mAK`m|72{^j9DT`6|9qB%yD`gF_i;~q2~0e^CU?yyS=x2?O6`k61tRC zNY0N#_Wm}j^;ZCeU%wZ!Z~RjWzW>-8F`aaDT_3Y8oXkkDWcR$m9dd2b`l5VF6U86n z-tnUJwTMV#jDP3nCszj5b=`l`Fn6FWOaz8rVqw4~nolp-!wt0(U^sFRz*|5A2&6_} zT;5yPtT7F-q!~Bd!M#_HeK@k0GVyEZa-%)8$u@G*f@b8PrNvbm&AAT94E@Zi4D%Uo zi;|)^@kE_*X23mvu)fIWzg8|%G|0#&UJjI__8M|^n;{GT^3UN%WLUihh$AYqP=t^2 z2887Kb^Edum=4KQMp<WC6~nvr3Z7Wu$py2fmJ@3?Z%W?6Sz@k|a#ZY0**yLomVq1I ztAxEUW^Pc{k!~gM-L+fGy9pvNu7Mg4xadu$s24*iXopYzQ;xH${`J`xiCR}c3|*lb zxqfsYTb{Um_~$E~Tq~Do>q$c^L#6@?$m~W__;t&ADNyy7AzgNVRt{Q9O0m<J<LJtW z-WVIH^6Xp<2Sfj|OrNB|wuNtToQyicAd2NS$7d*f&D5unN#XBD*}VIiR|KIM>h&6m zQQ5b5$!xiGgc0x`;IR6SEU`cQ7KM1IQArU+uSWdeF1``6j-RQgM6q<Hy%|QYxF8I? zE4WB?7Q`xi^NKnrD+KG-j0?p)3=LoFGP9KCgHw2N=#|%~rN3D%)t?4&uLi{=#Daif z4<|sZFKY7fciw2J&~i!%?%<TGr7i4Sy9sp}2dd^bvV@XY3?gUTOfr+((=L!JS7*Ay zGHsc62@NGW_3Z<lq~ij7t&4kx%v|Y<WvG|hdX&i26xTo2+k9L8?vubUVb6?TC~n*k zS_F40ym9VMO+NN-(-tned~224e2*L&y=Y!!_!^zA2P>90_&!WW%w5D>TsWK|6(~0N z$qPvlz4EUhkjap)DGC=WEjJ@oE9Mh}$K^I4HJU)(S+PE6oBjRJo^7u7Dk#d<AU(Zp zZ}T~NL*wP7SEE=0i`jz>DdU<dU^FFLKa}qqcf&<PevNo6C1k{D!hd{>Y%Kv>>BvTJ zyiA2@R`lZH@v~C;+qMYTW@rExH>t^w%TZ~*8otIaEj>x-trXQg5`I|Y2T7eGTeYZO zp88hg>%9ENmI)7X00(y$3%eS9s418bD~T_$-iQrfH)RPE{(Nxng>5DJswMW2I9g3; zhuKK`rI>Rm(1+>uUIOvLOXxK%gxI)9D=qbK3qm-47{fOz<vz5;vYp+0Y0oCe$@P|Z z;DO$JsI6<v1Gs~td%;r?^-jPrf%ZK_Z0vSRJtvn&p?|itzA-U9!(g$O`TD~8ElzQ~ zdHK`n&sw>{J@k`a$Kckp?j~SJFG>sALSvNT{qGz<*PX0bNBQ-EUgLS;B%x<rghOso zV@s%=U5AWrA31;uWu5D0;{GY-D!Vvjz;hyC<IWei6XSkIxni|t(?0vXXsR}YL&kCB z6FvpAhW9kPq9MI4e9q0FK}Cbl(h2|=>J83kJryCnoFVY{C2)0BD`Vc^B2iQ_C3sLh zn8vUgVdsBGT*!{I`BT<=-e$_IAWvV20>;PEpsDOGS0XJo&bqq$Bl0qxrp$F6mB+uP zPh!E)fBurXp~WmyP2<cpoi*xoZQ`n2m&ZQ4695kT0w~hq2`R9AR&qMbX%sJwK9j`! z3L60uaVUbC{KNN;XHh$-JE(V_c|df*F(s>20Jp+_-&x1#?kW#&y=z;W<b4iH0{yIh zO`kUt@V!(}XXkr0`N!o(OZ@o!Tz4Y%g>dm3Xyw*hEE}B9PmLGud)Ft}ol?`a@0Cwj zG#t<<4=HhM7M@)#0kZH?T$3e0eHV7?*AnDMfXNI%N*)m}#_s_#e(ken7b18YYu=5b z3B0urBpWwFi|6?kDXEzJi_svA#hAV4n9*g>qbm<Lmf=yFBGMYSUGrS4j+dW*{Ne~~ zU<&k1!P(PMY=r4mY}ye77K#+@05S*_N9Bd|pMZ9C3Y{jEZJ+w~R}D`<d+mlpaDk>n zbNmy~?yGKKEb_vP<vPMvp&NzZe&(ebnk<4GK#$ce4*Fm+I(#_ncpH~2veL<BH#=sL z+$lh6W)0;K9fJ+>xM%$jIiG@*Waq%D&qq`1@D#hs4f7-}4j-6~{u{OP|A=uB!z5KH z^F^qyr7^|l>?N>&M73P>!YO@A<&rTPmO|$p(Cu)ENxR__b<g+186n<?csbe_(D<Ka zORS72FKm#|Jt?W#X3`O&JwriAACb9z3{iEtH43TzP0g2Mihc%cIDJ0EI@H3ZjswtH zc(st3`N_)PJ}o=@e-ZqS&kFaKuUM4$SB}2x_q_D4vbeB`;JtICN)y^q0x#&}^HFdz zT{gs-&N#WR!cDX7*rt~^;D)9yA{+aj9?f6pRpUI?M>&Fn{;>w!$<!QH*L_o$py{KI zIXtpBeq-DDRgB23CY!~>^4*8(JSE2?m6{3d?41AM?2|>FID46|M<|sb(E_Nu$I2&6 z^R+^sV>@Dl>*@c?`NOL!S<N`rp6^K(!o5}n`VK^i>W3bD|CjQQ$KvI$kq!KRlz;!x zvCrp{jsb;N+lJV$_^RsPH}@yblP+$flt}qVJSHyiuX0D`8Gz4@EuDR{+&W4!GN;Sp z2j+$~d{1TwX5_5-_z~Kqp<ev(2ABs{p|QZ!QcHH7@aU+vjRo(oZR6}g^E@oxLsOp{ z{D9r`o3Eqnri+IjJ^|7FA$|3buXJQp-V#j<KUcy@7uS3C(gna%ErtK$JTJ6Lc1xDq zy|Oat!i_~r#O<veX*&GO{k@)3y$;5m*{?a>%6m_$OjG|i2$RkJen6OV)mcM>Itu5h zFn~!A04218!3$QI$<_2tE!dG9_>}D~K@rCoS{oeHdV!05$7BTT={+$DR0tOllt%0p z=~IFpRxhg+<cfUrISx`8RWXv^ttjD2;SWvvVYx?MN`VPVBKCd%Aupmyt48Q^=j4)Y z2ryA)5|U5LgO7%_im+1gN`wSs*=RUa57&td(7i2!U`uX&V0{zy4~R|BEUx7B2K!mS z+DnKyrxrBr06!_TX#6r@Jj~!JiSWdqM9+{bkW&;>1qiXSq8sbRw&QRMDLJ8_t7&?7 zKI;rSY&d$BKF4{u2OI~(XK$|z!ac_LEySv6hxx6KiTDgF8=^K6oUM~v0{uR)e-*6= z5#uV0)zT4|mruCxJ^GUtRYjUe%T6eOBg2VO0>f3vtqo}6>s@vSsR&cEQxn&YR1z%A zuiPTciQrV)wz;XP2EiVS2U2Kf?Q;FSYqJT(#NMghr3Vf)Ye}<k&u=n#GWLd-CqI$0 zKArDE!XSWM<ax%LkAUa4F2hFO-lf)D&(4%!x3a^TP=nKqne602qEgkjlfuq7QP*dO zbT!r1e>!e^0XJCao`Mxe>nG6MNIs1?E!`ySA;Ebbrsv}v%adE9S*|xq7tdnId1+%@ z`B6@&U7*XY(2>W$fkc@{M7ZPQXs!b#j=<IEF-r49{@RuF{(RM&CZ3gnbA89Aidhoo z63kM)^Rej(@N8>A&YrNr*t#8D<MOj{D?qGBdfss+bPrkwdhY8g>e3`7KJOg+(6hDO zOC9*Es6%$(fJ|)`Th7Lt(blMMzgas)nBA)bxDm{0WjUL%GJ12V1@;^HX<>&_O(f3! zJ%cbHWhv@x%UhViSmC<1X<irsMzbr{z646lslK*M!6Da^%4IG+?(%plzRL>j*=n!| z%z{Lz0rm`olEA%GrndSj0KKth5c<DQyfbEA`^~yX!5=!mKl%B4f;pCLZBZL1KdY-L zC6$h@3EllNCpQtMF0ogX|64ync2D2hjAV7hH;DXtfEY5eDNp}Fh6|2<`J=ta3Te(a zosp%WtN4V*4A?U9$vDUZRQEz7(eS8HtzvU|0L=AyamT^bVUa}Ve*vAEQ^!*l61^T) z6x|!cCMN9OxJ$=&Ip2kI!`a{Z#ylz32cOa#kUbFAcEqtdMj2%D|3#=6+7zS%NFxWL zhfjd9*5N~QqE8mCquvNmMy}w*s0fZqYj=!@0^2ibV!#3Q5!|_U*}+_F4yG=7&clP0 z#JjX-e`P|iXhLLqoNIr0r;VWITc6vaT<~f+Z7u_t<dy3em#rBcz(%_;TI*pD(iHUV z>*_S$tI-t%z}2~#M-j7y0ZQzeMicLOXtGXZWbm-Uc5bow)fxM<?}p$~z`Y;=<ujIu zyGp3jCV3=={pdtMH<$p?1ZXf|jRQ-$VALc7hCo2hPb~F53qNY+aVm5MY^w(XbvUA# zq+(*C-h419Cm&|EgIg`WEA{$!BSrS5dZKE^TDKswVMqFJ+}KSToi!EDR&vTX_0X_$ zSp;kkFD&{a_?>sUb<!M1tkPwuLbWqMSr%!oVn8%d0CN!Q@nl1B2$4t&TJNS|`tb>B zCo2v)Q>V@FAS|a%%vDm9n$$BT&da!^OunrQp4qraUtR;YtkaK+nO(c^pUnZ6Md2t7 zA8Vv_`M`}M&boF~V4jfYbV|acj#|=Ef{J5=LbWj~zNubkXi?@sfttho@D-~fXxhh= zYxB}f+1*B9CPj(9nVvU=;3>jNrN-ufRi;F-r$^We`~4-=Vl>*J@FOo1vGgleZM)S$ z!%AgkR6r2D;Zg|A3shVhR3jCFk57rG8M`N-dJ`OPTs$;!S@YP=_D^iRig=rM<DNX! zwt&`F$_!)UII)62f(Bj2%0r0MDbg0zw#8zb7gE>UR;1I&%yl?o>){{_WEKxX$!y6E zA4$FXZDHsB$9}Du!&+LDyQdY;^%LXn+uDyEEt8w9KjTc&&$us|U5H#)WXJc`!~+Ej zj9t*#faWYMa#Bbt_GPGIM=k(2NJs4H?*4W6yu!S9qU2cvDNwRdkB^Ot$~W(wl$Hco zlbu=ECq-rp1Fsr)k;&L@_V?E%ULtU4BoFq@^#{$_<ea^hx<%tEN%*8AhkloD^JI%z zw&R2=hfUR7)?Ngxxq?!Kt}x2JqN-YTp!dHyU~fG+HVGJ`P+MuyM|AMR98B;T1rg3b z=%kZF-ek`{8<LwWS88H%Iw9yI?p=I!qthRnh;bs;+vN&whn(z8`>xK2<^?n@c+KgM zFt==Uu{LF?*@0+&R5MILz4`luYMr_=JBnZ34r5)<$ebwpqt)b+iR{o|y7Xx+Q|+VA zx+}4*lg}qCu3$JQ<MxX*sacZV$RcIKhLW%zv9fZC!ZR^bUil;&Q#ob9xo9wxH<MC~ z<mb8FVIt+=&hI}e^kdC-j|;T9DcecyHqb_V!mGf-Vk&K_)Rk?{_L>PYQgKPD-<B6O z$9m(`alhrFD%929C|2wA@|De1NJVSQ&+BcDa6~IhFREPQjg*8IRN(6%?aSU8L_r4M z1|t)pWAu*n?et!O1;a0CU;L}k-(Arca}ZVM04)}5lR424O~h%`aXL9>Y1vuFr4^oj z{8-2s+tPU4#6<NKQ}qwiQ{fDlyX1SBb%ygKP*;AII%$MG4o7-eg){<EqM<Mg5652D z_Nc~3AWyM`Cg>6Nb6Ln57-R0qSz|G%+pyB>zP<0$g>NB^`fXGBksV4|JXW(F1Ocjq z%q$VRD21~y((f2H<eEABmS6OaW0Huna*ndr@G1(%Dpb*cI!FxS*Vt?|zpS(Q#-Ybk z_~>JE^P+tjII{EV;e){)7^g7msUQX^&-nK(T;1Vw|A0oSo+$S`4>(kvd@$t&=Y2s; z$`ulUIt<4qK&5ySCeQ9|=}t_z_qu9%26|$2&)TcgE<=TfqNekow|{Kb%C-+ex;1(o zt+j`Xw7A+W9eM;d$JE5^wa1mXWT=Ol&#+y4sjN1V+a`*hd!oa>8>f%%8@vD5@t1VC z?2me?>wNzM6iwf4L;U2B^<-pB)`~QmOdoDBK9_tcya(m%ubGCbOyC|*A6NNxpu{<s zWuFhnRhvlIT+rYi({Pz!T~7S+CedFM+QF_aOXg(8DGb{orT}AX{`VXSZ2GJ5buLP% zT>Qz3i(m-LvGyicW<ui+6Tr!V+zjs+XgKXNGS?$?n11d>zXJ!TDXA@qNsXylr7VmX z7_T#LvFp0#tq#QTn@9xBGOjm^(FBOM6IN6d(9uUw6;g|-1))&W%-hV$Y}a(y6uy4) zo#l-|s~qq5-`>|A+FP-<xLkbA3ue+x)%NCpjSa`Fe7)uHerbh1RUPUVfQu2O2>X@k zS%}@~xM?U`!!Dn+xg`5y_!ap-Q1lwBfeQWr?)pyh(f0-{yQyEOOiijVj5~j5oUYwJ zt$5Y!j{n9p>>fw;(|*xTkK^jl=fg3}A&Bzy1U))4L;?v31_nIrCke{jC0D0Bqr+Q9 zP?=RR%_oOdg`ZwRNzRY22p;No`+wNF>%XS{H*Vk`2?@zjBP9lm5E<RV7-K`iF+fHM zqf;6|^dr5&=<e>2kPd@R=?<kOL?lEo?tSj>{p0-?ydOJ{v-3XZeO=GjC7wS7d|2Wg z_K2syT<2f=JXP}+f%ADqR|h)uo3<X#t!ur3lPlBNr89O8=_BQyvG1G29>hNFae{gh zu{#(Moh0pW3|9ZTt2!44(dg7_FjZ%;=aQEWq11vjgaP|!ec&5R$SpG0{hed5R%#cw z&%hg9A_OgWUxH6t?c}uUWhC`ptl@Yw?T#+vHFDL`L)6B5Y-4I9YOT}s`WCg(WG@FZ z6fI;hTJy$zNBsRXH*^|6#ve*oR_Q(;JB6c@^iWUD*2HPHA20kO{Omtu*hvA!q2|K< z2l>ATLxW2e1!84&>}h+A5+i^BDn3T!QHBD*iPoa4P;cYFMp<xd=BvR49lfpFM{*g* z)`Hxw=ryg_t8I<4L)t8>>|~U#*CDw@aP=87IXsS+fq4+u$=$Wi5&B8M5uNVBC@5_O zQ8&C&wJlc$eJ3rFQIA$hf|XiK1o_B1G8^J$SdqEmU}h)!95kVqCk|caIZs--{^v8{ zSS@~PX&k5ha`+2N*thMMa&w2XU220Q`PXqV?caViAvaUvzzi${c%{RuZdT%INJz5_ zBZf6m>n?@`QN*BUaOO|w7N_16&{p#*F|6ePR}sYR;QWcOOmj(dgVHxq5=1~WupeYh zy{8gBa?Fz?9XIX~`a9jrp*H+E_U_7|v1mxY&4PpPM|Xw4IWzdplsaApmO(1>>Z`D? zCo2tRVuc72qBhtkp23hV-xGT}sBrVT_?2V=klkHMvHh^DnXc^%EeHuv`<Y6gT%r~& z#3V?SCA1aJSjDrY0QqC~s&04)tHTwJbJj`e>q~@glb=(lCC)gO&h@f!%zo^;n|ep$ zJ#a$$@q9%EfAPZ0uqLLv!<O4z-B7PK-BKmE_o+aFZZfR)6O~fs+CawQ?V{*V&CMSS zo{7vXT8WQj@sj$Je(b`y$uZy{{&b#{#uCoYhvzSm;Tr*JW=_%r&x1)iKe}`p@WxIm z9EKQ8bpK;3`O!kFn7@=Ll4K`@NS<c;TuAMDMtJ+BoNq?)aR}i}-uM4g9;VhDCc}af zj9)zDD_a*4jub6);n&#ZS+Ey>0F^BYHu6~r*45NN*iI7?K~GP>Dm$5+zN$o!<nkX# zno;?|XEdS0<kR-9tSawkJ+OPXI!CatWL=64Xn+1$so#w0b5WFl(`~#-zm}$FClK9< zD8iu$FJN84;b>!aEjFsn6g1&hBkRr~?^B|EvcKJ}HPQKLJ+S_)Y*tS#^hnkFRW-d; z6sitz8}m>7$Rr+>3Viy>dWrS4Ah{DEZQ!xXt%Jq8{W*$)e%(0nqZo>C;2}3@T~Dse zT}h-##+#+`-zpXzv-)8vR|-Ks&8wQS1F30<#(D=YSc21HhCsgJ6mL~x5=eTBaa7DB z_I6Fs22<$$RH|V5CR2N-!68G0<oP~51t^Ti29%^j;_#j~8kRt-V(<!7w9=dyqes#Z z+H=^W>yfP?^-y<SA0oFCuJ`=yxJ6dNIa?(sEqpVXH`WXLV-1{g2j{H2;7>Kulu#zA zKnRBw8jY|&ECrY~=zeO?a7gXR<&9P=Jf1qdKt}!U;znaWi0@zZAa-{zxDd&_jz*)! zS6K41a|$Un`AEYWDU=8rK$2zHm*)DmKPQ2Ke!&SS3*SmE*;F`t{uN$m0YgB8;tU>T zjz^m9--WZXP?z$17eXs7;L<U64V=Y~N*@sZi65ff_w4}9zmiP)#vebP9e{dmu%2@1 zHN!b1|MHqNNRvYI4#bFE4~IXJTYtx|Z^!jieKFqqsrK;DY6VAhO3{~yn!mkN##OfH z#l*aF$WUx8!F?l)ODQ9Z$fqphfbD;@Wv*TK8*=|bBAX-aCOn@V_8X1dPP@zG?Dq={ zzr)p+=nl)>N}(1itK^MwnaFrirlY(4#xqJk@8#!bnwvJ^bx7tr#O7swq)3MqNFUn; zE0>bOGabS_!j&4s8frTeq3NM@1!a7GQ;tX1chOB|84bzh|L)H#8G1=L)}+!zzVwcU z&_MX<IhM>m0sFCxO$7zGrE7r_>xv=8Ev25FBoH9ZG0_x~C2A-+w;`Pc$4kahLcp>@ zo`Bp*I@Dl*bc;O&bRRWomm*V=r$jipfv}Woi}+985u~Y(HO<-@YKf^#^^H`6nbB^X zNhT+h^sp!miZDOSz$jBwX8|6GIw6p-qdF#2HKh3FZMj8}D$z%hvPBA?-pqLP>N)et zf1#W{xM(|Cc1>WRvP@z$g#3W<;Xot`FL7H-SMK>>^LG(ch54muMEi==*^V&ynLZ+| zbC$MzGQfh!u}~}m%o<}pttkrDEB|q<$5V{~l;nK{S_SbwzcKU$*l4?%P%^y2d4djY z4jAOl4P#(}bH)Zw<Ut&)^X@u~ZX8L(-TidMY9*Gvp$*c2CXfSOP%X4T9?EVSO|Wa; zFJk*x=-w%Lf*OUs619(N#Bl_<J-9-je-@48Eug#&C0Z#VMbFFMBJ7(d?8%bq;tmA0 zH*~x>k>U$@&y}nldm|<*|6&Z_m9>4mzy2<x4`Ts(|APejq|c9wx|G9)|FaTb50jL& z*mcX9ND4JG`mSEu+3LNu)<v&<Hm7-xNDyB+2X=N~rd+{y{x^7^geU0F@)#$4KCb7^ zaTpG()3mN`Ea;07ihW1_LFKVnwu$3kzk&U_o1a6;;Ud+eXF1RR<U+<a^&AA`D?@^J z1~+yO4qq3WRAO0WBD-a2xVVIE7Vl1fsh#5X1xJXM7RBwkx-H9vfQN^wkd-A&!aT?N zx~_f*(^dU5!kGp_WRwKU#WzgtoKo+zVGj&rNiqtZ1|N7r@~gPte&Z{kY^&4(Tm!2< zJd*lWgadOkwEoyMqf7NBZz_=5uPOMv8Hk)%{8~5N+>ye6!E9U66u9#2s~7qWNknLx z_VLOwZaz!PXi3xdBc}bPIY&AY*BHuh`)D;laoO`;03+Is=qC_>h%GiXa6aqL$|TNj zC&1reKHVVD8Yx*^wgD+Ex_HA1uBRHx`<`R5CLrz0it32G<n6@wyT@CB<`qG=dX3KZ z|E)frv1-L1I-*wEDNu|e4|#=96T~(I<;&m9b7q2!wBXsHWk{T?{^~(UUlJ@q6c!Sd zxAPvaWRt}ZesB7-4gW%~xSarA=XEnK$ASCFE~E+LdSBY}I>j~?t09b_c3V=@0aCdw zc@O-}4<Yj!TY2!CQFNR-%!UH3JhxSfDHdY1+81!)OWU#`qqa#4-(L)0`XEm!vd{=O z0@7&OVTxDo0%D)&*v@ciP-~I<^7|tB<Cy%pulNR*FF-EI6$<zxuHIB_g}~vkZ-85x zy0}eB4I&&P!Jja~NQ;_DXSEMa{n^klj0p(ASa9sA6#TaVJL#Yh0y`~fJ4?wF@rM_N z@>5#7^<|8^Qr`f;YnXyQ7yqr9^nKw(>6^ft`CC}O@G-QYvbNW(m%i2cKfhq=OiY{L zNKW9)J7LP_ebrGFGSv$D4;(>fx_Ay0$LHHTp{&+RFW2MP%?E&RDrYX#1p7`7YDRDQ z_?BA_XDXf%s!;|awq3|g<9h}t!XChnx%lP>aN{Vu8_6`e@nQ3|2Y>ad5)xpLFSLYk zzMc(!%mbZDs}J2FD8x=MH#^hkYl%<}YsFh|-YsFT2_OuzHqXyy>3tuD>Oc~<g*Y`{ z`upbH{q?OWVTdp*+Na?^R8rG=ug?k5x-pD?LyiJ{u|r)@t~4eZGd5Y*FE@y=hz&u* zj}^F7r?r+|7`QMAl!WofqBYZ*M7=|qKso;7Kc<4Tzdcm`CLB<tG>9h)3ENYnyq^k= zX6)ewP>X6l$JJ$<9v^;VtAnW*VkDBuCHhkyV2}RfLB6(?Ky!X9R{6UycC9voQ(cCz z;qEJ34?GHU{Nq)|RlfZA|Clp=;6~{G%vs*qtFc=;8aPTA{?Q|L)36+`wwJQ+r{@Cs z9lH%j&gL66E9ZE4h2*+lvOS1p03}u&^CFh^-HN~P!!;aj+%w8cA7aC0-zYSED$IFl zz!57&?C_O#B#4Ys6&^Rbp4eA}F+H184KHqzmptH7*!vS+Npz>+;c)1D;KdYyq&HQJ z(&VxT$I<Mas6aCecxGO!W_Yko(2#>LkrnyxLUh^B@A+Et`(W6_Y<2ZK{`{3n`0;Y@ zriQDN&N$_fpKAR5a2p)&Z5r-$$!N+|2FA?eQmI5RLpYx^V5(KH${4S|qBZ5W8}I)P z%s*~1w(k`7W~Rsl@||ay85?9Zl1U+<dCb#al@o`~E_)N~_x0~vA}vEbMi+tk(u{(7 z)DM(~96}}<@)=w9P~=qolZp0}jX&Q4w;6v)(owBaA`_NO!~y&X_X;9pij-3-7VMV~ zd6LQ+pVd$}kUJlk5aQ<XE3UI*Lgb32ynQsexEXq@xM}70^+Bvw_9>g+WkL8cmOYh} zvMc~x1Ya_JfhPN?Aw%sOX91tJgfZFKS!$-eizfj=O5{B$ixMVd5*{s@i87Uair^z5 zR=PQ;5AVt6L+|D8C$b(4q1hyr%mghgi!t}DbwsrI23klixvr_a|IK^(+u|2Ab#tV- zuW}&O@j(XTJ)yRchOJUuUW|2yZ``kpw$9Kry;#|MPqpt;CX^&teS9Aeg+3VJ<};7h z`X$qU7OKL#%HvSjcWW>I-}JxtNq=4k^ys+$1o<ShtiIF6X%h3adR(_ImHWJ4qK63Y zThGU#k7&{wEqyiVXH#}$ImseQnOxfso4a?>8-A`9@2!jKLQc>S793N!g2RIG6K!ts z&D6_J@w#ZM_E3i0-)t%=ja*xUkBqdg^${~EXU_AR1`pyG+Qta!o=prdxu!k_*)6<3 zZpCk*(NstoFEhE&nuZQ3>q(#Cvi+EctVJdD&%ARde>l}@%lxp27CX?LmFbf#a2vsS zh3?-Rb?vSU_1brRcMiXRj8s1cP?FQ-{QcBLLBDy<OjM6%llwyT=Uemw{fx=B{l5wX zV)y-4uJXc^_Y>?O^h@eVx~plVjU(4tTCeQ|SjhAxXc9pYrOB@0JqDe*l0gIR-wb1i zvve<)v@D@W0BFTwW&MQDy!u(HG)~lS#P#v#7<=M+>Y_Tj36vSph>c6&{lhoK;iaQ$ zp*aJ(1m;uHyGb~Y@{8vKGNYr9bwQ}X!yvnE`%e2kSGnel{)f@47ZX2z68{R~%9~le zHw`s%SyUZq{8W&<<DIjkcjJItO}`3xY_(X7#gc^NszeyBM4XSd+C;F-pKjD#tLcjO zHb@ym8WKfaxFm}N6%y3}f=543Zx{vQZMK4obTYsHx_`#~^7;K||9ArmsttMmI{DS8 zoXvk%A=)>gQXTeDk3GgGmU^f@;NXZw`4^D^u<enQ)$GvpN^&1mEc(iW8kq)_P~T^| zttM7Yly+<K2J)G}$^zIe+n`Wxs?3K`YY%?@gJqWDYENjZKwDk0gjnodpPfVjqcW;s zNzm3kUgj7Y?x?xL9yl@4&R=OC9$f}<l3IMh$w0{!r9jQz5=3D0W1a)Wi4z*1MMEyU zEN_wAzx)32yoH0r3kDQWQq>SnqnTwE%1K2TH(r<jujGmEZCkeF1OC!dv2Ur2bQYdZ zrX>pskeGbf(@#lRTDQ~sm)D;fR?T_l&}HQ%^|#58=k%nOcVD&SQoN$TD5vRy6h{#) zU?V95>#<^<Q#-k*>!*M1d1q|5g14fckYa}AXJ}U3bLuod{Tzyn+Z(*fqlbQoP}Ysk z9BnY<Wwc|!{sP}@kt?~9f{cePUwge^Gxz^G6#JULpUgQ;H)9)J+y3Om?f&B#7mHW2 z-I)WwK6+h<F60N^HG*iRhyOB=rHO4ZDp_;4;l2v`3N?-;N!*ik3#h-L!x)GizO_B~ z9yn`dPZ1@OJ?K|%K%=bQegZj7=V3XJdob#>DPu(?MikE+A^C)IP(v3*lX-LDnD8RI zdAHWH+`)<GFO`W6fz)x82?LlE+`r_e(R8#FC)O5ij&GET#CO*#avJ8|^C-Y<a3#)x z%0YSYyr7)7s<z@g1TTJQOBt1Ak!i^S$8O>?S0{mSi+8iz;H(<!l3RFQ#t5p?S=+Dj z`C2r=^YHucvoq|r7vq5`j*7n5YYbYqG$TzG24rYW`uW!;sOSGY<rM`)I{*UZOsZp4 zJ@LgrB>G#I_|{M6t-uwUkvXY|BqTGH-QS<d`R7H!u3z;Ev)vLUkbv4tj)!ZqFpcr& zn5hJ>rlVEw%ptGSFx+BH+xEHJ5A$fDw%KZ>okm2ft<R=uK2*_1tW2TD02C+XGf$2{ zj#U7X|FNOTtoHW(`*F%W>ZPr`b0xgl59eVYSvvDHOacT3oabaX%oT7S)^K-6?sRWx z1JEO}N{to2L#8ehn*65nAr2IU5^b|Cw^JKo)w0{$r?(t16TKvHdyJz@V@Hadi7AYV zAQrM;;8M|Y!pU!{Dz-`29J+qM+(lT8d}~wJ-X@xW)!9H+Jl5-Im>4PCsBb*cMkEo# zhP2aUrorkmAe9wuiN`oDiVb@FZ}c%GRpdVEHD{o5T^$`p0rE~<=jW|2Z9EN1{bLg| z-${E!t^-?YvmrVn$<O~K06@Ol6EI0Vm%|$j&x5eJ+`YZq;)&Bg097nuFN+$w{_fTA zbgBHUA)pd{llE`J2el=PDUUZG0~SH>M44EKV7}SfCt~u8ym@QxN4?VQF?A_Dg8ui2 z*Z(q-h|$wUybK2;uIi$A!MLScUxRX#8ErXkM`QX=x#R9Fay<b8qLe}zHWjHVYZzgo zv6ijSWa}1jNnjfx6VQ`CX{xN@{L^f65u}Gch)MUt4ysZH9KDYPG(MP5KywY-wcE~Q z{*~=zdR&y|0>Y?^#e5e!6@fR37!8009Hha6TV2Cs(&j_iEEXSkhiD1N90>fGhmLqv zc;fq^uXoPu2HKMlZ%-sm62A4OB<}QPR8!yp()otQZ1?vTorzxXO|Indv<6^=!?ftV z_e#-=Bge&<=TkZt!O=+&YW8BbU5y3wF?a{ljiK56RY}|*P{Yy{^!aZT+U;_&pso;< z5aABtSn)0&K0_>qhJx601(R&4r+@LA5@o1P&0Y2I!OqYUy<o<=Zc^FLjv5;rO*p{| zaX4hJFiJ5s;+N$1`?S;Fw^wC9YaBqP0YjjnANN9?C4IS<z&q>1%BvTc3<nWq3lG3r z$!$YXX2sy|WbOfomdEDuF;_h?Wrv`aJNPK^^3~72ELzjw$-5jWp3Nteval`Cc^)V5 zA`)SOKZ0dj^7A{NHH&{*2uL7j6w|GsU2x+0Lsh33#_kKb7FP6Let{8-<)xHzU(rMx z$6aOG3~>GFPiL>Yw-Z56z_QQDP~KSj7JEidO(MAHiMML&13k?|BbC9C;;A}SJFnsQ zO#+R~zrc4mk_BxCWCAP^da07WvOhNM82?ocH~SZV-SA{H%O~Rx$AEQ6n4`)o|H3$s zj<4HYy*Y(V9UOF|@JTS^^B1(^vyg`@cAA1*=V#*&H4=^=EFj(QKOGdm*a;xSxhHZL z)VVj*?|)Kew@rxm#+dgx>-hZ8`dMKjW7J{!gV~ns;!>qK`SB*J9LhI+GHUeb!C{Cm z!9|VM#oVd~eOjN)@`ge2s_Elrf2E&a;Y}6-*@jy4l1~SD?|`%5f1cc_3?MCz;}=oT zj5!^aRy_Old;=7Ds!Y7@NtFfJzs~pGg1$d5K}OeA4mIke-3Quf)-!vr6Ervm5U7kF z!Nh~`v3Z&noNYt}F$c6XG{1C&tsJ=0C`+$Igo?2a5#rKz*L|-m$4&&ndIGFQcAXzb z6n}g=cnN(`GVr;Z0tw&yj}EHl&xbtOTL)4>PW&PeL+r>#y%6fglHIO<C%_JbxLgBi z5T?YHs?9&#Or;+fe#^``^0aoPKKE5c^TZHB)-gx%yYxs51(j&i5XOt#acJb{kIjyk z&|1{a{(FJ&aZE=o&x;2IKHnbO-3bt3IkS39fI(kVR3-#4G?pavQ59yF9&6|1H`_Ao z96Kq>kv`Bc1a)Y7!)uL3R;JD@&kuykT0DBaH8=fZ9GajEWn<hOgw2Eh;Y1BzZj+C1 z<%u}48UBB9;;h5|>mU0+)z&oM4j6$-j6Tfzg(E<oos_tWs!)EBJ{0T|Ihe>Hr8%4# z1O{%ETYe`#AlQfKQnC^9?IDC%!nfSJ!FQ4K4E?yp*zbIglgPp+`Qp$X|7PJc5H!!_ zR7VHEtZjdA+N~53hMCu}WSO(0a#UWE;A{)P`~`JC$&y7^L9|=<ch1>sVcdvx1$NiO z-;{l={}1B!TtRbJ_!F-2*s7T?Ngb}?-CHHdmQIORh!Ug9L_IC+1GRqe9m@B2Ap?N0 zIK2n9;w<f#1*7j+A&t>sCV{}xGz1QBixA7k-BuNy1LScVCSY5LjU!d_Dkyt87B)UF z497-q;UoSuS+nZuXAaU2te+p#Rd(tus%m7xLE)4Quu8*QP{4zU8Oz3HOENlV=z1Jf zeEP)noSUN7bUW*}T$-3o+Nd4DD@oC^cy)>)eUI|mGFnjjzPS;?qQ&wz_sFG`jXjfD zmR_vtuJFfCPT);}X{)DOhq52^W2`#$u&)7^`gvGg(mtayqq=RL9yH;*2>ijrUn>2G zl>X%CoaYOUd&j}(10i_^6vNs6N$T65kdR{mcCBy)s6LYs2D%_4vE;Bf>?$QfZpoLe zWa(94P{fMlzdJ6Dsx>wsuRKRp2}s)oBATZdKUk$(o-g|CustdYpLHs-d%ik@v#GJo z_fuYWJ*<eu1P@~CTX1Wm2S#{UqF&{+Iy3Y3*i{Z)2siJS2sEL@i5Ou?3^HSul+E;5 z*c>6n@P!hlwC<;gJQfZ2(y59^yX!OFhFsviKD>-yn-W#7`y-{3lmyf>dK;TDaGp#u zk(u7u(nXlh=xvRpF&kaXwci%UOSXWGvv8p~C$DIZ=?Z<K6T#{l>Zy(XMrZ!IVKN&b zPF3DK?r#qgA_`IwQUiv9A8F#IYpzEW<_5@m?k3K?)^W>Loj|r&{-E6^GxQ<rcNHk3 z;vQ*xE`bfSx%I-1X}x~1zB_u(42H7X?BdQ2?7*dv$xFf!a6SXAVfH3}BV&p6gYBJ= z7OQWRRmqO)DJ_YILh=c^=;WE;J?#y??<BKhxhbF$uUBb$t<3m4my~u|%Y=@|xS{EH z@91c^v9Xnw%8QMGO0P?2IYBAadWNu+{$5>W)rm6$&nbfkp}Uv39e&`rTa5;P0rMgy zlewwCeGO4f)?hDggT2!V9Qk7SJf3EH*CH!TM>3Omp^5h4;=GLHP94#pzmVe4G#znz znw&}XN|}t+Oo%=oUh21vPNkWE2HaBRL(0ld@DDKCpCj9f^;f1MNe8jP=;Uw%5nrUX ze8cAO;>%Yn=A+e$f8rqVqvs|Svz*L#mO{QJlR+AD`u)OJ5sjO)N&G(Vc|4p3(FCzx zG{L1dv2|;=y|QcYt9d3<t&S*oAEO-fLZY7DYyIPch)sIj9CfA1M{P8Fyx}K6{6xd1 z*kWGP!c*HHH+Ig4P`5(LTVJhHbzX#H`3@ze2E?Nzd;;vA?`q2E4YS`L1G1!!r+58> zT3__e7BlBsu^Ia{&2RH5u}{KI)2lWPM49t;O#=l;2@T&a<+Aj4cKjW;{%O9oJ;kh> zATGqEs1pCk&3Z^F9&@7@KyB`3wf-<Ik9$<9(nN^GxMWs~+I@D&-tAP$|Fu<rhpCO0 zJAX7)-ik1dJ50|$D4132dx93;#U~sbeOB-!3&M}CllOUQK2aeQILGiGtMraW$!WK5 z&$I0jNcgnlBz7wg%CO(sn)7|4>c`7=x+~_D8n8)KJHhhBIg8~$&2)Uf>tb`zJy*k6 z<I*_Zl4tt)3jU0;5tXOx-)mcnbW4{&(fl7K|Ek(n&Z`3qCpNzB9^URZN~lQ?5aV&z z(7I2&LHb*Z%*2v~)QHRNi2Nn*|Acpau+{Qjsp;W!)G?s}QDsMv@^%x@qI21nZ1<$? zoUgOTI5(CVF(5sUd8pJHt01y!vEtW5?6$=kK!+Kde9-Bi{kQt<)}7ifE?bPszNXye zlyCN66+o1Q*7?jCFYphGqLPwI-Ce8jg)up@n@OdbU_;m<NBweY#!0yhTvS&c3u{m> zk~Ot7g-%!JH2dS8uiPNI)U=sGJU6-eMoa(=I#n642-GGtY;Fo;hJ;z-mS*0@u{6LR z%QY<ucGMN(`D_vjQpIrIx^6!t-x%h3+%3oCD&2FO_4~|REWYt>(YC!>a^oR8d$pu- zEMqBugN3cT4b@VG_t%k^Uq2rST;5i+mGP3mI!og%1X6vAJ}in1B(f`c>1q-d=T=6G zR!i=44(TKrJdhsX)t%H~w}rXUN}hYG0YIS%&p-Rl!4}9SIL0quKLleD_3O6n<=&0? zl5!>vjQ{}=d;ZF?<quL-n7z=_!?x<C{7Fu4P%2*dqn7wY;*j68xOrO!M2?6qW@2r# zuzhjseq+^JG%VbhxG7_DV;Ud&OfykF2f`%-`n9@fC}=n2<I&rBZ+JXjIzIwSu#4)~ ztILiJnXUG#TfULL{>@rs)Gs+6?4ws`V*SzS6*v;1!HIgT(7<dXi0rwlO%r1lBNk2r z(_9^!`?d7bn?n6&KTv9wjy<OTlXOpzy--0<vV~iVOLG6~&H<Bq3)`TG!o9J{4=og2 zoS6fS^SIw~hABnWBo4JNtD?Ik80jAKjniG}OjI}nBC>|_{v+9pVRE5`URX$<P^oFv zqlw+iR7jBmrzUfdtGk4sQV#2zM={0BJNz38zg$~VSf;1NKkv`yG%WO_b;qc-IK1t3 zM^WCUaf?Y7NT#8vE<w>laKqDb)E7$de%Lfw=x1-WDn1i^?%)pHLYM91D`oi9q(Teu z6E#VxPO5i<PJ>jE_S_4*>qASAr>#reeyA8*X2Gx%p5L_QBOFNkI8VDf(UZk19g(CD zHCr<DsJ|*{y)_v0!?@^Ap4<~CVKoHqg)HVYxbRmp(4;YFG4^@qbr*0_M?_C3nhOKh zE{3vKC0~{kuehDm7+}Hb1xsi}K_)y;Dk+xN9L{g|9{P>sgH0MztYJ2mof9=xL@DBr z=)0{c_KusbqEq7e2fk3b$clLHG8ZhSdOs=bYYuOVG9v7iY6L(lfW5!<yY&vEZPE)f z_Iu-1wdEC|8GFtwBU+7{?m<2OESyGRmfNBoTmoI%Z4mO3bnov_QQXQ68S=hwQ^Qwm z&)Lc!gK)B5;+wEW%=j&FV+vvgIEr(GTo-$deTU&b`hb;tB{pL`GbO}I$d#P)zUNSe z-CHyDLE(pKW78T&&@pc+tvN|8M$MU1@hG>$*H*KMjZ+f|i&@PAq@KlH+$*YysV_%N zEujyweVz!IK)`WF*sbEa-nhvLcEJ}ZmPx@?+*)_W)im5{i%siCXGIjMD|+;}+PP%P z6v2l;Xv^~{?PO+O5w-pbaK=)_>2o-(fTQk|UZ(jI@26uUWk;TEn0*I(UV&J~y0$+` zT-C8Itl)WFJ7dQ>x==^PQf!NaQ1-@oF-i2M4T3LK2R}>XkZh;5YK2w~G4ds>=cpW( z?ZsZ0ooSxX99(i)3}~hrk3ob)rTBY2YU^r`>392@(gqB=)$hli%~fiIsz@~&`(9~n z-Qp<X`Mmu{&Hs4k9NGI;eA1X01x)038?NlxzBi)OOhDFuducdtPC!b`?c%n)q=dkr zni7e>bDEJm)_2}}poS(6=s@6(ESj*7<*tDtd47pG+}K2t!iC`A$1DeeEX5@|T7V+T z;MVLD&ilktwMSJSLtD6_tq#WrUXfxEiO3^#U2M|9ih=zfx}d%YrIl44<F`>se#F%E zJZgnhML=`Nl>2YS;+T{-UmgldxVqWjBQOHuy_@6gFtgg6MpXxQff3^M*@D6TQ_+Id zb0p+VeaBC4B>QTDcgJD!Vx+_0n~o;D;<(ia*eXOcuBJ*i^92ASl;~^dh;!|)h*T#^ zOcznS`8%If6^LihN4g_0?<IBsde`Tf%6<9baMkId{;^ARlqEtuyiZ%dTSb1~$yWYt zg<i4?b+nn?nQ55&N~_O#A0OON&PJ5atT8UBPTC?@_}es^P?d7>L!rNdVbmo}C&pHA zpZxSTJa$p;RC>VFF6g6vWRJGVZEuxx$w*-j>!ZCnt+78+@WqhXNRavj^)qcq6i4Sz zJ-=vJ>QpRsHiw`8(RzR4RunKdw>LrH+>ZM{VcG)wRJwiVI{~$jA$QZqUR=Uws_G`z z4~`*&;)}|dXnjN7emH<2FP7<omMZB#q%^#Px9Ss1B}nMlI!U1NruxwyQGV*T^)zHx zyP!eQ;Wj3j)y7L*FT@7*d2HPLSvBJ(ll`{sVm~iWSNh8^OAVZT?8!LJ_P91P{kJAN zHN>t;exU7F`NrrEx6v%*rQ?Kb)8u0oD8(>mf~cV!?vvsBy!>*beDzA*guv8L1sk`Z z$O2SvD>pF-^~{otZ217B!%9W}n4$L;bUrL~0Fy)=+^HBPC97F$;^=y8R5cp>5$m$2 z->BHd<tGV?S#<p@tc1x#BU#V7PuaKJn2HFH`ou223IIm?B*ysYXL4XaL#av}Z^h5c z&!?G~9C3eJWy({L0ddvtV*R2rh*?`SFc*9N&{llJ{y(spomq%^-PF#{q$F{NeXEYU z0<%_M5z9w|?4q+O+9fn*<-QvjYi*s7i^xHJi^46vF-$$1nq)gvh`I9<|8#p3TvTGO zECbBX?XOFra%1C5Ly?{^7t7)EU=^R2X^%5Lr4MALi~aJnOM?z95@jd|u*fs2nLajG z>q?}s9~db5tk~|Gc&#yDMyZoISO0p@7g=X4*?2ZhjZdiSHVxr_3i!HnrT{RaS41d^ zH!ONL5Ywze?OIx@a-ouneKSo~Rh9@+vP#*O&}(u6jOjMiq<tagYtJl(qKBqYP?F}z z*YfqVN`u)=7ESiT*Dc4ovWJ8_RQjS`o}bAshViS$9PMY6e*jYjdT;kWDKI*l(3{Ti zo&CD{EHWTDY#^S@{>bF+0;}laix?x_spzeWEd3nrHk+2``tQWqzLl4onoyr>w@h)b zMcSt5ACt^xKQrTg_}a(UPQp=!2t^xFwgfV<M1?n=p^2H!o8nm~L@BCnck#tPD$p6# zR|Bro5KaH?Q)hRa5y_|V=~MYq4+EQa)s9yxY-}P#Dzb<Jh7a9}2-F>^Vg6Pogh{(| zE;Z0_tPq6fJ*Og|RJzlod3e_Pn$7(US36RN;khXONO?)Q@^Yj=_Tm#>KLY@Ub<Lk% zzDXWQ+HZZ9Hq$=-la1IKyA{x}#EuZsGHwgn=;>N`XqecD;f=FqpdP}i1Ifr5pyKue zyqiC@pa$@H5E%r1PxcJgR>_e<EtrF4sWvTp(3JTf=WIPGk?p{zPC4h`k)q>57d7%H zKQMk4HNb0R3q2I}n1rJls&+vY`j0#V`ywOK<d2a=vO~8!u|MR@@IsSO>->z;H)RNf zO^Ubbc_MT!m_k62)Xo;XZ9$-<zyFhOS!I){b=_pX@3x}%{6@k|z^8^Vu^DGzI1a34 z>9Wda86D6nx=Ue~Unim#tCLpB#dxLW!3*(}8VJupjlsjw1TS$(N@8ih_aX@`BFJuQ zf_zW`Am0>$E85oV%@l+>7>cJfjAp*iI^UBTP<_+r?>5mWB^M>HhOC_`FcaDGyAii9 zcTSeQ##HH3cWk4oGXm%R(-ICMbS5$!j5&6sess)q16|iuEINsggVGQg&aGeH*&g(t zHR*<@csD>r!!ysw@9|9I8_8eePx{Cj9x}v#_Dh3|rUoa9eqk|ef92S@-=O_vA2JYc zrB|w2Fpnt(xf;cvloyE@)kt_b=Gq%rw>QI|e`>5>FH(XaHR8Yym3nxCqgrCXzscZ- zAA(5=VjHO}%W{;z!@V1HMaiBezGD6H1$H6+lyd|5jXyns>enT|LusCLv>E$0iGEsZ z>Qzb{m;LwsxfEs1gEixkB`Qb#qw=ER6bkO5m+4x<_NCqW3v>z%Z=mkpNkssZxMqvA zr2k{jr`9x3MS~Z^6BJ3*L_~^~uqW_Yk?Aa!a}&Q~xj*WAHg(B+QMbw(G_1q!yWm_* zEIJb$=d&u)rS-Xcq74^{(jaAk=46VB3aOnxK`#fYwUn{VGesxbT#5|{cbDiS4is20 z;db9wsklR|pIazGh|W-Shmps3gF=9sWOYnpdi+$pHS=GUl{f!>o4l3usB9LTT>56T zFt(uL*)@$v!VZsM&1>_vyyS%^)BQXSf)Djxqa|sW*WPg|f&4kACJa~iAjjgvPZP8W z_b?8X%|l7pPsZBANi<DNYs`ZqDZaO+o(TGyQ0652&Zn`TYc{@M?;%=JrBEZ#NYLq{ zvek<1pHI9~^k|!NrcO(`O1=cG3^d<_mt+{S6<cV?R+nG4*%3%@eh?h~z14e=pzy+w z?}H&TtNAFAl4|&+tXt!VsVP7)lpGmZK<1?7`&NT#t0y)JxW*1IGNR-au$!5c<i*?T zTzKatRuea~xYq`@#IKkGg~eV8R2Fu`^4yzcuEN^kxrJ2v(aG}E0hT6>xN#;Th-J4+ zshA@8BhKQL!(tOx<^gIWJ;s-VPUHDlE_h~gyd*+nw(U3fN&jW-iibm)myY~H(%}^2 z&o|c#Z*`sq<}J6>w$-ISk0J3R6bkR)gIfd`9%7W*^_T}2HDh#|)f;#nQwtdwB^#GJ z`T?PZTLj(Dv3k>SMBK?9S_2r_CQA{$%DmHru@5=~3Fw76JyXp(g6!9Bm!e2vZu!65 z^w)XIWE95>=J>xsgGTQdwRj8!Xo8G;(S!BDR1kbUH=amIxzc%QPPyW}wTe?NCZVAj z4g|pzEENr{qaDY;Zb>EphS-mQeIe|CsW=nBRz_6UJ=gAyGk~^E8~q|ESMWMb+r)qH zawhm=kNg<Walf{X@#<E0DS4H-{0{mpny_WsLr4iXje}*lA9x3M)$nB8MM)r2Mzl&c zAZa7S$1jKI#J>2SMTKJ-{=5u<N3?yzNHFu+M%BWot~<M<Z;ATiMtWz5axMAoI0Ibx zvE!UDy2}RY=fFhY`B!tQN$NyibIpww<XZpx`RlE#hF-*uk{2i;Fzz}|o&SL5xvIs= z;P7fsPps=wiN;XDT)E*JJb5Z2fvWfDCDe(TDu!iMAtX^G$&j(JN|>CRhP*c6kwiG| zGj-w0`vZ&q&0kV$?_Wjq(;cVsyaaA7E{UY|ca`kbJAOXD2@D}^UmaUOE^W4)-~#>n za;B*2b8lIF+J4_jm^z>nVH4*!;z#ij(Fc36l~R93-((KI2&;$nEQ2n~+!&Cw&r@~- z4LP#t|1d1rK^lW5SpEVJv=FakpozbX?HGV!3#?uzgYRV?q$RQ~pzn<xVS<*>v$aj| z|5${*#5d~TiIu=Utd3I()g8fA1tIQCArV$$0B1pHWl=U{Cp4b94xsQNGFJ?f@uWz; z-qhk?(&{U5Tto{kirO*HPa@qaSoza#V4~G!BXN?`F8;Ppc9zBSZ-;N{+G#rdUcqgs z&}w88b3{FQ$MOwPkIu3$^~AKvjbdFq3$h#Q=N)=x_9k^=s_D3GPJT(fRr62i?v_~a zOJ8#A=c4^omC8zCqQqr&=sAu}?>>{Gc<jz~rc(5QXM05EVi+^9>o2J&-G8|@Gd6J` zGgttz@x0FCe>q+J;yAv+jKYaIT{2aZ@~dpg7b!l=|Lm#^aH)r=ImfZs`nS1KZ`U0v z<v+cfR(gC_ElK*%ZeL-}Y1RaQf-A(<=7aG=ce<K4ie1+f1DaxTR-c25K1igDFkcY7 zX7tM(h<m+jG@2lC0ZCTvqz!#zaMLkbKmTI}Y)_zI>^?+n3i21mSj|6*CeK>=!C+LD z5$}81%A{Y{j5(rLsP7svj*9pE{Y&a`j>?!{H{Ih_R>h-HE?PjHnTwZo`*<M{tV&!i zc3S&*&hdkvAWBZui59)hUU<f5#%)D${HSK&#n+#nqC1J%hkVb@<Py9C!(HhuCQe`6 zu&)@}V>@63gl$bE8`Zu8JJN8!g@V`$D?Ewkrz#4cFw57dj!~vzuxHv}-@Lf@VNsY` zJ;9!^%L*?a^tu=GF1Aue*qLB}mY8FJv1>5y)0<FH9FkcP_&b2NVMsC&MB}^q6=4Rf zneb!ahM|3MBSIWEt6lw!ai6^yJatS%6;AC@!PE~3hvd$w^_tKxP^(K(uJV0-$B$Df zVt`@ZJ9*gHdD8?a@SdYb1d?S23?OAi;T1aP&&9%fSwq<PVtC3DUj*Y`;lQOd&q<+> zBGtDeSMy4?OypRNg87=w0g?_BJOQM1Y_lF`<pj{iUh*k!70mTE*^;3IJnyZB=rOeS zCB7<g+8-a65r%tSzu2S{6_}YFECaJugDP<a)aM;Ur<y$(lL(6sO*9mrYg-ef?_T22 zF3Y~4OcJ57t?N3Vm^~Cqa(Gmk`h`|y42yrcv9*8k@TaTUsOphbJ}B;+8|OyjBO~(a zrpSza8ApG~hBLP$g@WlE8#@=}B;p-?zej^;MUx7rtQ5u$K8Mxhcje80*H99^w5hH8 zL~~7P^Xh~iubJ*r9D<rn1TkvOn_4<E1!=nYF`=X@=EQuT)0KJ)I;ylh#e;FqwU_ll zFQ&mCeB6Qu;i$PBln!lHlk$If(`y^Wooj37tsFYH^X>jyq~j@NQr+*ohE!>u0-xXq zz0EAE8h48l-rWUINX$8qb{7;6krY)lc1#OUN6xwk6&0bM&N~HgSIvob=Z)gS#K=5S z0>n*TYiBhV+cGK8C5dAL77}5}iA$CQ57k((Z)NOL8(*v#%?j7`oCq9+_8Cakq;R@t zVc_cg?}Sq`@sx{?nzH-W(#=WGp0=c%RQm66dGoa+T01x2$m*A8<P2CcqpDZ{iAdbN z=_fyczV8pN6l&=-UO#;5#p4>t{+dWMT^ZY1^&M%;n-I@GQxXq~=YP%B-0jG^5P1Bl z#oSJ{*vW6vgU1$XYF|k4#}kosn=J1kpbxksI{rnGd8v4+1}Y916tP_3!$Wnav`w_g zWU6BM`6ap3pN^Mqkar$#)dWyJw+v$6ng&?C&X<n-%Fx*q6zz3Nx$c>J`AfEjyDhr8 z_wD=R7Dh7KC6A_JPXfe5af%5i9;0xo*q>pY<|<R}m`IilZ%UKC*3jJuKyEQ`(;Krf zlKo~b22Y*{o|{-+ubtBq!Z?9!>EHd&&2u?{3-!upM9I5pes5X$wZp}`RK?<r!`-)* zUJFYol?kVgfzvv~rV^~-;r4S7yKS?Ej|;0FUHjkeyhw2odGoCy-zIqmEt4;o^ZPWr zBI&e-Q08tz4GZ2De_0iOSQ@^RQt)Vq9><-n`_&}3oWFlePKPUAl=s?~EuCS9q1J+5 zU(+ReBJNCo>uSoF=b3UUCNNjg=T+B^%I&&=?Mpov*hpANBz1%kZ!)PDF?n`c%-6U- zV;+rTijtv%P~V=@2?0?(l7@F@7#J^$spZ{g7~oedzU#Am$sYh7N29T22P~|c)X0Nr zb2GRRbk-ZMK;^Vg-jdTDv!!kFZ0Oits6@^@hIBEQ(W*qc$3BuWVtJdn6r0#EB?Z?I zI9K^K1VsxdJ-p@RCcsdXd7Isq*?z!KW1dJ$)rqw9j1S5$tE(cvTeBu8A<ODi#aDcx z^w2p|!FT`uYhF=Cmv%%B86iW<!C+(Jv{y`JGmih_&EUlMSDt63eU<NrR>>fub9fP* z2oeDSdkK{jxuaEox+RTgKJ(-2>QZwq#lL=)Khc<G22~;otqVkzuvO@aIN}TzO0Cp2 z$K1I5j%RhF0*>)M^Cg2JHeuD5uj`52vFkz*8|*76R8QfSmGjB8Gh*YbXBVf>-f{Ia zXvF;|?u~v6LRn4bR9zV^wRo$9iaDBJ1={W6DDYuTvtdy|R6%LUB?IaaBMTMgo^6(r zqJYB$m}L|v7&|ke#-z+eY<-N+Q5?x+Qd_v-v<PsLb@Vl1Ly+CIjHW!|%PuQdSU2l+ z4>08zSPi_P4tq24xbD$X;4-VrOg2^5HgmBEs@9pzCf|F)slJPYF^ZH-_0|fB3>ijU z+GW2ZvW^4CELmNQivSo7ZxehzmhAcBXTr6|c|N~6eO0YQOUGkwdzN?4RP0WP;VaQd z#jVvb8sUY<Ud!(Dx#68(ElOEpzo$Owb#`<sR#DStE-^aPlhG_OGj3lw=0P+(8ve7M z-R!|gY;%xT@IFev@~21M>Yerc-XB2N8gPQAJ~BcYk)sVTrtIH-CkwvpSl(Xt%bk%> zxzl7cwl_2Pt_TB`T;X!mlbVtVyFO>VT{u8bAMdHK`o2X~8O)}`wf65nTB!{E8N}ke zP1XOvrind~P$J*?xP$(EW%x+ajzvS~Y(dEc2eKznbp(<Yi`zJfoQ=MC>DxGFFrQ_y zF|BZH;#kBI6CS76e|K7(HG?zP4)aKoKr&Z3?n|0`my2i1v@4gWdEZUa#C=u9m5Cs* zy4|RLNh25ITpUT2Xks4^lBUj8fLt>rR99mP8BW&wpV-uh_UvX}Q|JedVke$q8$QPG zJ+x?9-nQ1>IluE!UG5I-GNDS|uEf-C=1L|84=Xe+lWM@XRG)?QZsj0a8upGX!Hpjp zep8(N)#WWxG_*ZiWtC96xm*SO7d@!kVN?J28%xR|3zj()Txco@T;@rt&|u!WVSJfk zC~qu^o?#vk&dgg6H)G$rng(dJ_LfLA`q&W|yWs(D!eYm)vDY%@j=PI3&P<(UjzHh# z9Jh-pKPt<GNncttax$6&q*jLN^S%c%=8q-Gkt}Row)d`rivx`~Qgf#01){Z*3sWIg zc6nkS<0&^&Ix10FIb{lv{@HVf6vO1LvzU_JTg6gGJe=h=v-^Z&>)JJ&63B%%0ex<E zkF`UtL!!W$qpEI);Gz-MS4?~vUDkwQMi%b+1Enoaq!ld%1`3wNlPN_#fGE*Snkb&6 zlH^FnIyU=pWN`s1C!<UT(tm!=+GiMRdloYkr$wZgs&epNw`rcWfuPRO{UI51hdts? zlU5cM-mj@^RPmgWy=9D=(xugmYu|GJ`X1p<IQqA{{gBm`_hOm(vDMFe;-gy3{Gg?G z@#r^2A!`ArDv2On&zx5~Okyzo5Cjk3v=DC2OX-fbqWg`0-&ZBaF^?j!*^&FrGpppv zPBli`uPQYkxT4ZJYQ!aqSY%52v{T8X0$fTHYo8nW8WTmL9f|}S+0FNoi|NgRNNNl& zDRc{@SS+6X%q!I8z?Ag9BcT^KNNq|SYP`*gPet+j<vjA3wp1ASvJ#NwZ=xV(o8ngI z`txdv3>^@tay=Gk8iAp^_XdNpfZun<HAIQxd54V-?4>lPi0JL{@apJN6?U=tTX9DH zN|C8}LVLWs7?c-2N8M&az`B^K#=lF)6#-YiW0V@8o9XyeMt=9CM>R9%Djzae{2A)* z`&^dkF$+c=&cEQdi5yl|rE}l45ci1;J3FkoS6jg5*SDyJh8ZFqur4{zS1(`UiYVm+ z4nH~YQ2eyT7r_`7-zaM*^rwJG81WT%6U+FId%~38u$#WfDbOc==b$=|!!i_(gW(Qx zg&&{vd!Pj^6^7iJHP$R0AraG;=3bxM9T|nGGVc!DColx8JnNPv<5LG{Hfq%pO-NCE z38>G@-@4y7h!shUiBdC^TZ=Z*5oFPOjOt5~(PsoC4n-rG5=}PVbDEvks(C0tztr5I z|66j^N1|BTXNX8Codt8B{oyrtkrlN{PxeB*Sg2JzshPoT{YM)!iu-b9e_7o@(fACQ zHNO&%3FLyApf|zL8N+4E7!ZN-lu<LE&|oq3NQPb3R#!@y4S94FK=p=#?yEK8-^Ib0 z0g?P4ye_Tn512YX+5`u&p1#}3u@d?8@x;-w87czwo(*7EKK9RfF`)lJp)>|zEr(wg zyZSAMosTnwH5+axok`dq9>qQQ<N9>Iqo2T=DVhp-c`<Weor_eY=U<oW$>V1*kNh2f z`X^4)3R~+&5?!>B&F|chr8SfU%NxH5eHB<hNK-6z|7Y(%fm8kQ>M}Hd+R*%}l6j7S za~?9JHu4_!ZG3n#MIW=)2z?DWZc3JFCH_$?_(xIT;jKssd$j_U2|gjl%71!<cOelT zD}ug3HNMwZo0Q{CUp05SVk9Ha#?p*Oupbs>pX|BufiBV%2Ek}x-J?1J<C9;Wpkno^ zR4*p-Bi8GqFT99~P|c%@gi{8V3+7@8ramg-yf*vynyO>nPU~4w&Y}qC90O#(3_m09 z5PSn%GUH8k#8bU?t58MbEawKTcxXZR%%3gFp~XK?_mg@L2f@D`3xu=Vw&^#_gWC5$ zQ+6P$j6Ds>r`&DF@{m~|aM8n~3sm1L?bW|XU<cLG-Jm;@_eRuxyNAAyK;{=7BL#CM znZM_GOZq0<(F-1NS~=;Ttvg0k4cOJ{guFuOS^J*^ET#07bdy)X!{EM2Mm$@Kamwf# z=ERwdxGg55U0xc7$U$Cxu!-nU1P77CbsGs$2aiEhL%0PV@=Z+^%kL-CJclL1_^C3= z;0!vH(MSf$KGcx)J|A1Q9bw?>jdZ&^9a28C=CKH1(#TNG@`wBGbjF*vu(gUA+%B@z zOaG|rPJ}m~d`I3PQ_3DflitRYnU6)pWMrtHqu-FK+m!!Yl{$jsw+#V&1#2;Qy&%wh z9au)34v|65@-aQ3nIw<Gi+P)%;|zK__<@}si#;QYM%i_lm4U8gN;2*(yo_PTCVl46 zD~6xl9!Tyy(J3@~rBHAZakYc_W(njO*S^NKk6|3wqs{YurtZBH|5IR|5@I*~hChnl zGOj8E1bfz?@8=t8Q;|r<yC5&!;ZCo!jdh|{;`0;1+MUE#{CGUYL@{22U35k4(nPgb z={CDr|AZu(^xhFTS5OBo=}#-_S6X9%fW`_Nr(2Oi#8OXUXQZ+x4o$wm37~HjiG@{W zw4-R51+~z3`jEN_94Xmbi;4P2!eD_F;93W#qA$dcT$Z*nM$LBNZ${PJ2VD!9CW1|^ z0Lz~DK+v!?umont{eVVNTGPct*!`|x%)dam9J$dHbAD(YuP|}3=%?+(X<dgHkO`rR zn)!}sksI%*NTdmfAb@>evIy)&(qQG`+#CIiyWEtC+8W8IX<X2OWW&i|O0Gm{pQh|X zpb2NC!r*6jHuU{3G$h2=de!t$O0O4U&^=%T7EiJEMPH`+;^=8t|30fD@7w|KLFX@u zb0t?NhgfEE`NN-U3Hk~VJ!eU)rRI!8f5^)U+6MpU4|mb5v1FMf*u@VE14{vyq!k(b z5=vD3Ui$)R2a6i&9WVc(WOtTHlx3GbgA9I(SYkF1V$pJwe|LKO>X`TLIR68_bJF0) zeLuJe*jP|1QPWfH3uaHYZit?^KZN3hqG332$lztzgI-{rH81ZShlzb>CN71WKPfbf z^ts~sytJCc0h=W0AX{cE{9ruz+EG*#nF0u3+Jp*qHg~@o!*#dhzs}#}75w%h`0)t) zxM40>nqT-`Q}Fc%x$|STN8*{xGyfPTedkgbC;G#0Y)+S=Wnh6)4(ROr86idA%iof+ zw+ti^#F41@!bgLrZb_FK@G3zb-za51N|M!3iB<(tMzUKdfT^jH&U+&~Q@XxzVYde( zYrv$+mI{EcG-rpmpD(F~*wENn_ZM<)t@yxnW}339Sv?8CMZ|+8jjystK!x#zRWxMW z527h&ZXs`iR0a!;z`G5x8c%8O`FV9`XuLLPZPjsHEas|Y{$80nv6_Zr5H#w3RVZdx z$(rl0+iA~aayhx^BZMFkWbXrwb?ZQZ^@rD^kD{tUPLG@l==ShTsZ9UR59)F~v&(x! zfS5amBjeu$yn5#a87IMT*-ct%Aypb>l0RD`Iy<2suSsozU&h?I1+}2k#L#bDR?O2@ zQl)#ugi+RJ?oLML#H1AdwRhl~{{SJ`oY}B8*BD1uvwF&YPTL$QUP@c%|1@{jZ&AGO z-<A*wS-L@XVd?IaTsou?31wM85Ku}arDIuOSr(*Wmqv0CkQ5~a>28!#!lK?1@{FJF zKk>}(Gxt5m+%t0=*Zn%LQ<(0Ytz<xBB5{gQ-OG1eW_LlY=?^o4y&@o425o$Dt~l>- z#HEEG>!sD1{1y<>m(f}#rJ#onu3(%<nkW;!pVhG6lO{EHmR`vV+x9?Q2-c~7xa6bx zU_yFZYLsO?8b5sxM!znAx)nQe@fao7P@q<x>-q~>3O^kjeBm5f8FxQ5;k(G<Mzp(q ztbrE24tAJ5sd9=twlY`q^=v|$ig`gURHGDH@zo=i-*vGI(gAXcpHtJXNuy^HKp*lh z?2!scgxrV_E_O$mUjhKkPYV2<$zh^uUO9)L#H#*MI~sA1zP=Yx3B_c8^eb+$x#SA? z#~bXpQVC@SPI0gXcJ(ZUaC_{pR-qIqZsuU}iz}q6p}b^wRA?OImz1<>(im8D{dJA< zcD8E2zxwlWA}$u13VEtW^Z^Y$_&KAplKbf@%xGE+2q;=_4mI)~UvMF$+#WA-s?X^G z<lf$<2}bi(ZWV5Xf=TH;1-)s<&c)*{-v7!DUofbc6>J6%pGEoKfknd1Q9o~{14P{e zl7Qa62k)4lein|kDz_8brCJm{Z(M7n#Y6rfbrf{a^f&t$bUzKJl?hBC(58bqPK(K4 zh&3TUJIL&Gr2y~-zg;hLnwThsx*vC;SLd&8)V{o3-<kX<Kn58aeIE@F!6fAAl5vUP z{j!^x?;DC_K=XAU9=0=6#DxH@Z{6OJJvfADc}@NZ`bD4v?+Y%0^eN_gG^YWdSF;$h zUl<OwyL{%Sq@i?pN0wt-wUJ==3FtpA^-magCAGIf>a;EUA)Sr!OfkK<@%rF`fp@#W zLhvJL^oK_i+A>u6PJ6!lT&<k*-?{ghJ-|7hvt;X+11yuqF@Qaev?Nk7oNjcI%%j4j z7H)>MG=`M#mgNU;NY8vXuNh`rNbwj>woQi-+vZ<LdU_f%@&VxgJWG#%`lo;PIKI8H z5=v=g9podiro3k&QB0I}HVhVl0`ze}+W?|@8Zh-Yd-{{yPv^NY_}8Lb`<l3D*+2*{ zppQFMPC*)InhKFiX#;JZVqTRTn@ZLcrr2|py$O&r5cThGqbb9c$C?}FN`(mFe?Zu8 zD(giUuh?rbFd<BIvU+I3p+cqWtrTC-qO(p~ZlP^jXaq`4i+z&A5G9M4oAW|gyM2Qd zy)n}(R4$sFWdFP*%zHu{kF{Wgdx<<6#}$FkcE8P!_e)p{ia#{U_jCvzi(#9DM+@?0 zS}FTPGrlO!Q$@IEhE%~$->pssB+H=<%ifQ_yplO}>QX<;eq&3r*C9U2LSUfg3M)cZ zZPh)1q%H<-&zmI}y(n8H9TftgHClMXb##J7mdhopVYU7^=y5LP73|S30d75V&hkOS z7tV>aIu#*^!2zy-M0}!^6dJ}=;ks*?dD0B&?M^7}{X&R?z7{QX;Qe`b=?P?X+9x?- z0O6=dPBL7MViid29v^%CF3GDFaMsbz=?T?48h{y<p8bsx95E=wTbKb{UXQ+JSzf8= z-~W0MPij9-YK>*<m|b+47IN=^I{tBhc}gYo&-Gz^52;R6Ko|-EmIS5EsgHrg<0Y#| zw!8b!UnG4%IO?Eyk?pbhQ2mzCmi_J+uiDSnrUKP7LiG>hBy1F){UxbF7!)T(RwW*b z75yR<hTizm9D14M#`11nY)(Vk_3oy`%X5+s6Yj44ZU>zmz?Pv4uk{<nM^?$cJW)`? z1^>khTHZ9xP2w+xNdVPG(NFn5s*UqeCA|k_ZC%`bQRm=0BJ<%He$B%ZKF+K{?ODb8 z6m{F_P$AqtCYI>xMBIgsYgUk6kNJUlk3T`FJ8ct@+7Kyu`@U0SPW#vHwgh*)on{j8 zzzM6$Fb|Tb<K;O~pCDY)Pvi^UH2AYEsb9hV_&aWR%PuS<(emplXDmD&ci7N=wvXL6 z5v@q^LDX%Nnh=Mg!y7d=+S}ZH0A-zxtpA`Uqa7<B-Mqn&--xNyd93-+@9N%zG8!Hv zak<`bqH}iIZ67FDQNAPM^nK?v8_H3unhKj$*JGQ@`F5i_*q%`?Nib?{f=@2lLAgZA zakA;%K691*n<!(GaX`BlhE}wH;U>gA%jLD&Eb~wRTgIxM`TMd4gOR@2AIB+%KS()h zbZeQ)zE-Mp+CG>05hGmo7^CrY1D?z7-3a`r#(wrF(8iLE3epFIdY|9w*rg@YEKJ+} zBUQM|OD@#9gtHW863V24R>fwQz19;qhfdgYZ>bzQ%nNWS#hBR3<B-HUkYSb&Ik;E- ziER&GGB38;Jzb*=3Q65b8fm25<W$@&9KuA3YgX(&Vh)(=<0%+p@4b4chwZn#6)~`| zw>3Z)2f>sBnU<KajK!O5E@k?S`Tg#tszyrgD4p{|2)-Il<K0(vlwHWKoxy~X1=B<E zk~q}h0aKCo|46ifyj-_`B$}1mKN1ZM`$wV;mYd143i93Q?1&Xzlm1=z7Xz3>c}AqQ zJ4WPeo#Hkx`lbYB+*c`ul2|Qenm)EvP+37)SFfo8mT~JVByrN2r_Sw}c3I<Z8MTeg zU|-uQc&#%`@l7FHo>}!5YM5*@5BYSRyW=aFx7h~$(nqY}^ZjSqaP==38AEb-w0JwP zbC5~sTUv@_7$jp9Htgp9@JkgQ9Gx>gt_gLuqA+N3Qj14or6aEHnRi7x9R-j!X#kMg zNjg`}K^r+RWGuG()l_BfF?~vA%sc0kb8d)%P^KG$-PFhDAU9OqHpI5NFE#nc%|6Y( z+HpZ*fFPTE%!(BOd=w-*X*7aZ1U@of%Df_bF;ICiwU<t4{|2nntG*2@-F7C81>;ow znDKSy-du>_OXIoc1qqO-?DE@}SkHdM;Qb^=lgxJk8><!p$?|Ap7Z=O0FD~4CnR3zk zCEZ8SVMr-U`mbk>1IBdY_a4`9Rba&gc?-P6t?l2U7*xJ%HiRqqWN+Q75#syDU=8AB zu0`Sn>b1mXhcH(b>(NmD;}12A#NGQ4a(ejA#{ku_JY&h*T#J>D7UdI65qBVY(6Mrs zf0j5SVP}LSVLuE3ac+T5?W>@eV4ae#h;NcR!x8ue4SnD(dF6lb=Hm0yC0$nSTqsuV zH|x+p=<Bj#!DzlDa}Vka(4?v4UEq6~zZ?}LR=^0ZxP8AhE2J~)kZw+ttMAW+$T;g= zvVj}pMoBt3lH!sr7pk$cZgry4Lraa|FA4vLeo2}mz&fDW{-S69)g;gxKjksCAi&1j z#V2|<OqVGc34hka?zg@msj{lR+_8P<?BNk7iL898lBR2}mzB9vkVE~$25mOtmjJqE zoX>wx-p+azoSGl;&?cE0W?p_b;3%9)?=D+ZY_IyY^xV1O_qy3+SF2v|LD1weF_3sa zq%+{;hD+RAe0$}=jx7D6q8+Bt=g-Of%1c#+$A~M<1(KY`zz0d;VlkU%BBYpJ6~^T1 zY>`yDD%~H9h<h^Te7?^bqXR1ZbK`+7lL5xV{!Vqd@65;3%nHuGe_lOX+TXemHOvfK zVgX$sexXEvR<J933}nC6r>|h`7d?8E%@H#2wjrA-E%Dg_*d2yGItEmC_U5)XDRT|$ zckw_~ab{Vds-Tmy^=%Hm1EuEhxo454wALEUmoqn^BNITXy*nl5>hm6eC77Rra|o(M z+*iL@5Es%jUl>dBTH$R(2CsFxfEM4*=l@AmeR`;8ma8dRIb>Qi+w^0=`U-olpVAvj zL!0J}pWc%W2v<&c8G}n4O3ZGLVx@|Wpn(usTbsFN%8oSonU?hxsXx)6-M%BU-103{ zioi47Na~=XB}Mf(6A-^0CKWk*?aO-&3OGG1k+K+NbEmn+{+=R=9u~zwc$Bnl#yf7! zpE7uk3J;!g4{+y{bgY&A2nnFMCbLZci=8~wv{~aBQO#;zNoHz?5Ey;`qD<Kb+7!l~ zdyz%N)(8hAY$($i;$k1vehCo|31rByZ*>WUm_I4dT}u_p1N}|>vS$uB-w<N|uquhS z0`oL*&lE}l5cgo!xL<+^*(Q_NMX1l@d66V~anY{(>gtE&vv`;@>Fg-<G*WA_uQ{AD zcc?|=ovF9vJ*yneUhPCq8{MF1U>gIbl(}Kb?nUt7^REHQr4f0RK^Q27K`gD7V3r8E z7Hm%-G7(Be9+fe=0IVP~Em5h*G;E5X2aP?=x4g(&5}gFMh(3i;@*qOxz(V76)aTgO ze5wM)f;wIu=k|bU4ZkNE0)#9HvMmX{=~~zn@DnlB65T29=_f%w_5z>SNa(d<^@p0= znppJ)vfYB;NYg5!DOY^bl4z4|FOkF-#&|Nf?S*hGXGkJ-2;e820;TX=74|PvvYPdJ zEt`_J>5)kzEl;{l7M=KNd_L$CJSqk+``9?CTsy6br}v6&IaH4?8&$==X4PF&kkIL* zf2$HY{l1(ghOJ5+!&rknP-%3>?FR-b2c5r@1$~J_NR+-p%IIuLKNp7HnzOZ?)Ky@3 zE5EuOoWG__5TuRM9-d7P8^x7Uq)$T{!hwpFO^l(brY$1CdK2T#Y=<f4PtMNOs(<3! zA4OEjN04=CawxHRO@~NI-65S#7a~?KSCUKTj;)9j@p^YIGGs@YxTf(-#cmJU)z^3T zqNPSu%o*hkX&^hEXZBSd(YM%fWH+lz-9|~%;igB~n!r5HXaO%zzk$jflt*^42z@+$ z!jt;#|4~buky_2BWe&shD%lxUdi+Q5fRrRD{AcuZ!KPQ+Y2Ke7rYFGmQ2K;H@_+6Q zAEqu<UGjqb>Sgwf<tSSNmWNK%oxwS7<>kR&uef^(YnuX=y~*Ys`}v;~P!;q760<a1 z2noDQzdB{BpQKc_nDu^QijWOYfitah>nq<|B#cTrhFl1t_lIJZRdPa1Bc&et^e{m} zBD$0|;c+gqRNtW?FKixXZaHa@-X9gk!cjTPFVhj!=z1g@4W8mIXB3gcSoJul4f8)q zp{gaxKRdct{6ZUEW?ZfC^wF`<E%_P#`&5DPPLb1&y&qYb&<q?p2G2r9tT;@NY%cP- zm#I?Q_t?&!Asg$8%jk__yp{<`54fG5pNY$R=YC>23#USEdpa>Sz6r=4eV$BpaiO^T zsz{SU6y9uDJx@pQdOK6Xsc2=Yo^0<JB2V)+VEP*6i#RWmLK{beC1s?BxyIJ}9mki4 zbG{32&I8J8N1iNdi)O4|N7;-H(raeO#cMmn^x=Pe``G()x^y}}^EJD>Y$q7q1QZ|? zAOhITJC)Wow1cEb)|V*9&n5O#bMRkN7CQqpl{B8oKdj&Nt~EM^PQ3d>$Lh6Ctn9|b z=bN!w1$dh+3Xxa-9xLu{CpW5Bd2A?^crmDa#dq%c_uEsavm!=wtz30R^C>r$!aoe@ zm@&CU3?^b_;@`QT9QA=185suc_ZP%sH_FP?=RDMCohApsKq>yOlf^%^GFLPX;(C)4 z`<3}>hcax$cQFkk$4i=49pTj(=7xyHVI<jk!FSC+Y~wC_(M@a~j7QfSFAc6O$$k%7 zjJTp?#xy#XyL<tdA3a0Cl?f99I{PIV@z%%!Pf6R8(BrcoG8ZfDU4{-VGuG}!<5gW9 z#In+{*oi&-h}|SfCMi+LqhcYlc8H(bv^K_-5d!u+v)daI1>uw)!0{OHFdrPyrd`q# z%r`r?yH-Y(G!Cd2xcT}R+<9$U=tNBDKY~R~=wIpHuS;pX6F1`;<=7iuqaWCgOcL$S zZbym_l4|D5AU(AZCz4nmJMYh4?~u-GJ(bD%v&S#TSzAIx1DTj_Nh;gGJM+OJOgwFU zdjPAmxM7oQ>+im+;bar|5{oe|Ofg$SzTFn3q=_Jpb5~>8j$Q_1U%y;AzP3Csl0&Z> zU|msdcF5K?^21N7v2pw!`+`@^PZnAyT=YCRr#+m>wBuX)CwCaLx=at6X-gO#iJENm zB)$#B8++Af3_$SrbrnWCPpxpC4eqiU7~;}mlHB2>vP5Uh7S#pd9l@z;F*kzH-)fuN z`VI*KUL}kJm6fjDL0gnNNW1NR3j7Yg70&4CAv>t{zLyBf?AbEoC6VLuXP7_nlefB@ zr?fGwa_%*_S0)G(D8UwDq9M53$Y!14Kd{PcM_-b*6{KOS)WQnSun>P$#VC@!t=r8v zuZMrP_PND0!O{5)pxa%Y_n|6<zoEi3oiuypcBDch-hbEUt~;YH8@IgD&I@a^SstS5 zY!{~v%^cJ*<F6^aQ&}?{>R(L~zGd7%f_Vnj$~@UjrYChIWtrB0({3F&u(D&oTNJ_e zy1a~{779>Kvg3H3k*?TZ@zL}NL+LtDS>I09aYCgMD3pgvvq(c$cY$|*VU9BQONoj= z(jlmtS|zXm-xbZdREisM_D7O<5^)vDrcCnP<f9O@5vi<3LZWe=|FtB8Jy><9*@#xr z3(D-gGT;*)z<xH(V)v~AC5M<%)S^s)X)(+v`zDa&){PYEvTZuwD>*&bZTK^GrctM` zk;ZZI(&5^c?6*o%b$rW3z?;xj7T;x`*!PrkzbRj(9k>Y@(pqpkiaa7!<K5(C6cKL5 zXyIyjj64h3xnEp`-Fx2X#sdh$G8M-!M_cOn?bbrE(#A+ZLK@_j)e~Omk`1g)W8*eC zAWZ8bYA#NIOF#tFbcHt<1q?EkLt5kNY|`<xQoqp{agvW4gdLDgi6tsdi*2^i!&Fwt z)_RZcW>YB-g|yvw?2pq4N<K;jNgv?^+7}9v<w_NqS>~=Z+P|u11`K9UlZgFKq(LDo zo7urjP3F%JVP>=Ia_iTbe<i55()dhGc~?KH=?8_=k~G0O)WMpr%YEebE#A97e_f$Q zeFn_5-XN&uyrmrMq0bnwHL<C}5D#I?ok$oUnY?+RmYP}21S7`5%%>@CQEH+KIAD)L z#>H!TcquFfc)49(pu7g#=uZtW<Sq?Jx)w;94Czpk5p$8^#7gf|;f&JU=<-*K%2S^* zWN5fn#}^Lxjg>yJW#;?-xyKfm;?Z<3|0WIJ&G&oG_CmULeHB0)yr;e)aQDy3H&E;5 z9LqX#;Bkh!&+BWwt96c{AK2Oa)fN|y){bMI=c6W%T9+JN!qdMwc9=I^(VBB;2PCe_ zM^tZyEJg%T*vTdFrR0=rz-|(Ad~DLVn|XR@`Tl{Tfd_)JRuzOdq$NX*kA0qf{i5zx zWAqMSmxSpRz#uwQbF?KyTBJ_F`N3r$XmocZ%PWAQ`htV?&v^NxL!xOwN!GzyhB9wR zTmePkzqrXYTCqvJzHy|7idKgmdlO2V1&y%zZ_(4^-83xg7edCPK4X?X@&Se%WWU{q zqf<}ZGN#9rGNw(J4YpKj#2k(G#u!fRk3+><xG+d%L|5Gd{@>dCdHe>f45YvS8GUzJ z%=+)#)+DP{Os)3pONwWy&@as{<N18dnCzMKeF4;7vfMaIznI!H!TNqS_x6dho}Rq# z>RbV1tB-57or`P|TOUsXv#DgaD}y<+`mY^`3+M6I=VF`!WacEZQ0rt^L?5CFZ43KF z@=Cv2s(o8NKVp!@Z%&7%RI2T6y;B=beKtO7B@uZu!#hvG_mqvrOmNO4$o`lNq^-hF z2S*!~25*DX3FctrO)^{}Pe?FU^<i3~ke2X9FdtrH*yxDd4{75yVP7yla%}a9r_S#E z9Cf^m{a2r56Zb*!2csTy1Ma^D2dm~i|11{go2G5!;zSZ}PYK?8ILTBL(hoJzjt2Ko zLE}vavLhY3aYL|y$M9@w`NM9JU59hnK<gTFiCITF^TGrm1LeZ-DXCA-+PSY6e*7q= z*fKu+TROU!m<(5BCT^`CC%LYG>nB+<CwVXX^N>`+FR9;PWiG66%$ZRR+7+FhN#E>n z+*cCtpP;2)UFpglv!@c4y5-Nq)UB<{XP(lXhKeduygm#J@fk|$XW9eu6Pai@-^d1y zey6p=`rzJuQfHe1!O?N!xJM14BcSho9ih+Gf`bqUguHs|X8hk4`P*CER<&xwi@Phx zWQlHGB)s7bA<|s{yXP7W)=c%b&>5U}f2JxWvD&iM@~lS9ITvoob?kQ&h=P9&Db)P| z@`Be>J(sxWJD-0iNd-*jLRLMj6&lC42(C$)YVyJw#!bO;FrerT<40nfDgqw$^^#u` zV0ICBZcE`bzl-Jd3_bNNh(p*~FxIH`^7!cb-;9c|<=?!P+f$a;&s%1Ul<S}kb9-Q6 z_CjUkp%J-n;vo_SNAA9jU2Id}l&HT^lqtv*=T(xGXfBRp95Iu8Mu3ep8Z2qSumw2= z3hCtnbcU`xkO42N>?PGP{a!HpfsVQA`6^$Cc3REjyu-3jqxnD>^-A#0$=8a8@a5AK zowIkv)Fgjc_z-|4UM9cGg{7nAd(U$hP{9E$lqbfCW**dVs8;vm%LDmXx|lIEMhUFN z_d1A)Og<gGvCogQ`;e+VH30Q}50*k$XcK9F6#2*!$O5_lKB(jNlC9KBc#h9He)gBr zE=uKhtUzaE$LdMcpNK2e;Xq&f-}3*H*<9q+FHNkM;XMdX_T_#2zq8Gp1jb*9d}|w= z7*Y1qbVm%{`7kVNl+F3I=h8E;>@WJt=!rx4Psw=+@uR%WgoR~qf0NLt80P;)au1&Y zk=)P!BDp7R5g)gI<|aSvjBFfj{e0&vjPYLh)KS|{o7M`4y5B+XeZKyf0v7Epr~zdL zgG$@a&Wna87r~_-pVCVbo=x%iJf=<HiKRH4Rf}ns@6H2z=!AtPsx(k!L@Hv?vIQUh zGu5pa_!+N_zai{0jWQYY{noa7)T6Q*6}omx@5axc&d2tb<lXkQBk<+nwkexIjGt1y zJ-Hdg=c@{Gcu751oCYMvl;x4tkD7tPa@@ct&_GLpDg7<%K7;IFEBe?*>G<gBgq^CE ze*jjc(4Q==>#R%Z`gpoB)9BjyoZ6dp=%qn!c~j`%x0N%WGgpFz^T|)m)PpY2(=L;( zCB@ai{8QC`;*1#UrQ~@+`?cW%y}B<buFx0f8AZJ^+}DhzKzmHb`D>#YjwMNSo<@^@ zUfcfN?;|naLnYisDB@ek=<Ic9wcCwG5)EPD@aT(`&8W_;{`xOOG+|J{iKjsHEgo3F z{8*<N!qv*M-><uO#va$k7gJ)H(gp5r+jVX%N^Ih(#LMoBuExgxZ;U9Yf!pr)yDPs= zgErNGt1Pz`WvRE|@|-xx2srB1METnYZH{(2;MU^h19*X1QG0*Yed7$~Sei(A+^Zq~ v2FEcOALaE}TLDi^vN#d%1N;B-#ILP4<Ur|^5&7S50EdB&DXdQGQS|=<!Nw6T