diff --git a/src/components/react/ChessStudy.tsx b/src/components/react/ChessStudy.tsx index 6afc78d..929290a 100644 --- a/src/components/react/ChessStudy.tsx +++ b/src/components/react/ChessStudy.tsx @@ -245,7 +245,7 @@ export const ChessStudy = ({ }, [chessStudyId, dataAdapter, gameState.study]); return ( -
+
-
+
diff --git a/src/components/react/PgnViewer/index.tsx b/src/components/react/PgnViewer/index.tsx index 604e59c..b09a351 100644 --- a/src/components/react/PgnViewer/index.tsx +++ b/src/components/react/PgnViewer/index.tsx @@ -1,6 +1,6 @@ import { ArrowLeft, ArrowRight, Save } from 'lucide-react'; import * as React from 'react'; -import { useEffect, useMemo, useRef } from 'react'; +import { ReactNode, useEffect, useMemo, useRef } from 'react'; import { ChessStudyMove } from 'src/lib/storage'; const chunkArray = (array: T[], chunkSize: number) => { @@ -54,6 +54,56 @@ const MoveItem = ({ ); }; +const VariantMoveItem = ({ + isCurrentMove, + san, + onMoveItemClick, + moveIndicator = null, +}: { + isCurrentMove: boolean; + san: string; + onMoveItemClick: () => void; + moveIndicator?: string | null; +}) => { + const ref = useRef(null); + + useEffect(() => { + if (ref.current && isCurrentMove) { + ref.current?.scrollIntoView({ + behavior: 'smooth', + block: 'nearest', + inline: 'end', + }); + } + }, [isCurrentMove]); + + return ( +
{ + e.stopPropagation(); + onMoveItemClick(); + }} + ref={ref} + > + {moveIndicator} + {san} +
+ ); +}; + +const VariantMoveItemContainer = ({ children }: { children: ReactNode }) => { + return
{children}
; +}; + +const VariantContainer = ({ children }: { children: ReactNode }) => { + return
{children}
; +}; + +const VariantsContainer = ({ children }: { children: ReactNode }) => { + return
{children}
; +}; + export const PgnViewer = React.memo( ({ history, @@ -76,12 +126,14 @@ export const PgnViewer = React.memo(
- {movePairs.map((pair, i) => { + {movePairs.map((pair, currentMoveIndex) => { const [wMove, bMove] = pair; - const variants = wMove.variants.concat(bMove?.variants || []); + return ( -

{i + 1}

+

+ {currentMoveIndex + 1} +

onMoveItemClick(bMove.moveId)} /> )} + {!!wMove.variants.concat(bMove?.variants || []).length && ( + + {!!wMove.variants.length && ( + + {wMove.variants.map((variant, i) => { + return ( + + {chunkArray(variant.moves, 2).map((pair, i) => { + const [bMove, wMove] = pair; - {/* Add Variants */} - {!!variants.length && ( -
- {variants.map((variant, i) => { - return ( -
- {variant.moves.map((move) => ( - onMoveItemClick(move.moveId)} - key={move.before} - > - {move.san} - - ))} -
- ); - })} -
+ return ( + <> + + onMoveItemClick(bMove.moveId) + } + moveIndicator={ + (i === 0 && + `${ + currentMoveIndex + 1 + i + }... `) || + null + } + /> + {wMove && ( + + onMoveItemClick(wMove.moveId) + } + moveIndicator={ + (i % 2 === 0 && null) || + `${currentMoveIndex + 2 + i}. ` + } + /> + )} + + ); + })} +
+ ); + })} +
+ )} + {!!bMove?.variants.length && ( + + {bMove.variants.map((variant, i) => { + return ( + + {chunkArray(variant.moves, 2).map((pair, i) => { + const [wMove, bMove] = pair; + return ( + <> + + onMoveItemClick(wMove.moveId) + } + moveIndicator={`${ + currentMoveIndex + 2 + i + }. `} + /> + {bMove && ( + + onMoveItemClick(bMove.moveId) + } + /> + )} + + ); + })} + + ); + })} + + )} +
)}
); diff --git a/src/lib/storage/index.ts b/src/lib/storage/index.ts index 1c1b3b2..1abe140 100644 --- a/src/lib/storage/index.ts +++ b/src/lib/storage/index.ts @@ -4,6 +4,8 @@ import { DrawShape } from 'chessground/draw'; import { nanoid } from 'nanoid'; import { DataAdapter, normalizePath } from 'obsidian'; +export const CURRENT_STORAGE_VERSION = '0.0.1'; + export interface VariantMove extends Move { moveId: string; shapes: DrawShape[]; @@ -24,6 +26,7 @@ export interface ChessStudyMove extends Move { } export interface ChessStudyFileData { + version: string; header: { title: string | null }; moves: ChessStudyMove[]; } diff --git a/src/main.css b/src/main.css index 47b49ab..322cb71 100644 --- a/src/main.css +++ b/src/main.css @@ -3,15 +3,6 @@ transform: translateY(1px); } -.chess-study .border { - border: 1px var(--color-base-10) solid; - border-radius: 5px; -} - -.chess-study .border-top { - border: 1px var(--color-base-10) solid; -} - .chess-study .vertical-align { display: flex; align-items: center; @@ -33,12 +24,13 @@ } .chess-study { + height: 100%; + max-width: 750px; line-height: 1.5; -webkit-font-smoothing: antialiased; -} - -.chess-study { - height: 100%; + background-color: var(--background-secondary); + border: 1px solid var(--background-secondary-alt); + border-radius: 5px; } .chess-study *, @@ -84,6 +76,7 @@ } /* PGN Viewer */ + .chess-study .move-item-section { height: 415px; } @@ -97,6 +90,8 @@ height: 35px; } +/* Move Items */ + .chess-study .move-item-container { display: grid; grid-template-columns: 0.15fr 0.425fr 0.425fr; @@ -131,6 +126,21 @@ font-weight: bold; } +/* Variant Move Items */ + +.chess-study .variants-container { + grid-column: span 3 / auto; + display: flex; + flex-direction: column; + border-bottom: 1px solid var(--color-base-50); +} + +.chess-study .variant-container { + grid-column: span 3 / auto; + display: flex; + flex-direction: column; +} + .chess-study .move-indicator { color: var(--color-base-60); text-align: center; @@ -139,6 +149,28 @@ cursor: default; } +.chess-study .variant-move-item { + padding-left: 6px; + user-select: none; + cursor: pointer; +} + +.chess-study .variant-move-item-container { + display: flex; + flex-wrap: wrap; + padding: 4px 0; + border-top: 1px solid var(--color-base-50); +} + +.chess-study .variant-move-item.active, +.chess-study .variant-move-item:hover { + color: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 10%)); +} + +.chess-study .variant-move-indicator { + font-weight: bold; +} + /* Comment Section */ .chess-study .editor-input { @@ -157,6 +189,7 @@ height: 250px; padding-top: 5px; overflow: scroll; + border-top: 1px solid var(--background-secondary-alt); } .chess-study .ProseMirror, diff --git a/src/main.tsx b/src/main.tsx index 88d88ed..c4a4a18 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,6 +1,10 @@ import { Chess } from 'chess.js'; import { Editor, Notice, Plugin, normalizePath } from 'obsidian'; -import { ChessStudyDataAdapter, ChessStudyFileData } from 'src/lib/storage'; +import { + CURRENT_STORAGE_VERSION, + ChessStudyDataAdapter, + ChessStudyFileData, +} from 'src/lib/storage'; import { ReactView } from './components/ReactView'; import { PgnModal } from './components/obsidian/PgnModal'; import { @@ -59,6 +63,7 @@ export default class ChessStudyPlugin extends Plugin { } const chessStudyFileData: ChessStudyFileData = { + version: CURRENT_STORAGE_VERSION, header: { title: chess.header()['opening'] || null, }, diff --git a/storage/Qb3_uGSoPFPK8-nMPPvGx.json b/storage/Qb3_uGSoPFPK8-nMPPvGx.json new file mode 100644 index 0000000..211171b --- /dev/null +++ b/storage/Qb3_uGSoPFPK8-nMPPvGx.json @@ -0,0 +1,1023 @@ +{ + "version": "0.0.1", + "header": { + "title": null + }, + "moves": [ + { + "color": "w", + "piece": "p", + "from": "d2", + "to": "d4", + "san": "d4", + "flags": "b", + "lan": "d2d4", + "before": "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1", + "after": "rnbqkbnr/pppppppp/8/8/3P4/8/PPP1PPPP/RNBQKBNR b KQkq - 0 1", + "moveId": "_PmcOR-U3jqADHckkADHH", + "variants": [], + "shapes": [ + { + "orig": "d4", + "dest": "a1", + "brush": "green" + }, + { + "orig": "e4", + "dest": "h1", + "brush": "green" + }, + { + "orig": "e5", + "dest": "h8", + "brush": "green" + }, + { + "orig": "d5", + "dest": "a8", + "brush": "green" + }, + { + "orig": "d5", + "brush": "green" + }, + { + "orig": "e5", + "brush": "green" + }, + { + "orig": "e4", + "brush": "green" + }, + { + "orig": "d4", + "brush": "green" + }, + { + "orig": "a8", + "dest": "a1", + "brush": "green" + }, + { + "orig": "h8", + "dest": "b8", + "brush": "green" + }, + { + "orig": "h1", + "dest": "a1", + "brush": "green" + }, + { + "orig": "a1", + "dest": "h1", + "brush": "green" + }, + { + "orig": "h8", + "dest": "h1", + "brush": "green" + }, + { + "orig": "h1", + "dest": "h8", + "brush": "green" + }, + { + "orig": "d4", + "dest": "a4", + "brush": "green" + }, + { + "orig": "d5", + "dest": "a5", + "brush": "green" + }, + { + "orig": "e5", + "dest": "h5", + "brush": "green" + }, + { + "orig": "e4", + "dest": "h4", + "brush": "green" + }, + { + "orig": "d4", + "dest": "d2", + "brush": "green" + }, + { + "orig": "e4", + "dest": "e2", + "brush": "green" + }, + { + "orig": "d5", + "dest": "d7", + "brush": "green" + }, + { + "orig": "e5", + "dest": "e7", + "brush": "green" + } + ], + "comment": null + }, + { + "color": "b", + "piece": "n", + "from": "b8", + "to": "c6", + "san": "Nc6", + "flags": "n", + "lan": "b8c6", + "before": "rnbqkbnr/pppppppp/8/8/3P4/8/PPP1PPPP/RNBQKBNR b KQkq - 0 1", + "after": "r1bqkbnr/pppppppp/2n5/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 1 2", + "moveId": "5EwKtA7zYbVR2R9iy3cuw", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "g1", + "to": "f3", + "san": "Nf3", + "flags": "n", + "lan": "g1f3", + "before": "r1bqkbnr/pppppppp/2n5/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 1 2", + "after": "r1bqkbnr/pppppppp/2n5/8/3P4/5N2/PPP1PPPP/RNBQKB1R b KQkq - 2 2", + "moveId": "8vId2T6xrv9NCBvR1rxsm", + "variants": [ + { + "parentMoveId": "8vId2T6xrv9NCBvR1rxsm", + "variantId": "PDqOdwGHDlu16ij7CUisI", + "moves": [ + { + "color": "b", + "piece": "n", + "from": "g8", + "to": "f6", + "san": "Nf6", + "flags": "n", + "lan": "g8f6", + "before": "r1bqkbnr/pppppppp/2n5/8/3P4/5N2/PPP1PPPP/RNBQKB1R b KQkq - 2 2", + "after": "r1bqkb1r/pppppppp/2n2n2/8/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq - 3 3", + "moveId": "OT3Pf6hSjFbAxiacVX3Th", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "b1", + "to": "c3", + "san": "Nc3", + "flags": "n", + "lan": "b1c3", + "before": "r1bqkb1r/pppppppp/2n2n2/8/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq - 3 3", + "after": "r1bqkb1r/pppppppp/2n2n2/8/3P4/2N2N2/PPP1PPPP/R1BQKB1R b KQkq - 4 3", + "moveId": "gHHhZXtl8Anz9WIcCI2UD", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "n", + "from": "c6", + "to": "d4", + "san": "Nxd4", + "flags": "c", + "lan": "c6d4", + "before": "r1bqkb1r/pppppppp/2n2n2/8/3P4/2N2N2/PPP1PPPP/R1BQKB1R b KQkq - 4 3", + "after": "r1bqkb1r/pppppppp/5n2/8/3n4/2N2N2/PPP1PPPP/R1BQKB1R w KQkq - 0 4", + "captured": "p", + "moveId": "oRbiW4OBb6rD9vQI6ZBZl", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "f3", + "to": "d4", + "san": "Nxd4", + "flags": "c", + "lan": "f3d4", + "before": "r1bqkb1r/pppppppp/5n2/8/3n4/2N2N2/PPP1PPPP/R1BQKB1R w KQkq - 0 4", + "after": "r1bqkb1r/pppppppp/5n2/8/3N4/2N5/PPP1PPPP/R1BQKB1R b KQkq - 0 4", + "captured": "n", + "moveId": "nWIL-2qSo6A2KsWw-uxNU", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "n", + "from": "f6", + "to": "e4", + "san": "Ne4", + "flags": "n", + "lan": "f6e4", + "before": "r1bqkb1r/pppppppp/5n2/8/3N4/2N5/PPP1PPPP/R1BQKB1R b KQkq - 0 4", + "after": "r1bqkb1r/pppppppp/8/8/3Nn3/2N5/PPP1PPPP/R1BQKB1R w KQkq - 1 5", + "moveId": "MHQfAX-GKljO5DsDyNeN8", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "c1", + "to": "g5", + "san": "Bg5", + "flags": "n", + "lan": "c1g5", + "before": "r1bqkb1r/pppppppp/8/8/3Nn3/2N5/PPP1PPPP/R1BQKB1R w KQkq - 1 5", + "after": "r1bqkb1r/pppppppp/8/6B1/3Nn3/2N5/PPP1PPPP/R2QKB1R b KQkq - 2 5", + "moveId": "xuU44YrJEOlsbJM3QVi_8", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "n", + "from": "e4", + "to": "f2", + "san": "Nxf2", + "flags": "c", + "lan": "e4f2", + "before": "r1bqkb1r/pppppppp/8/6B1/3Nn3/2N5/PPP1PPPP/R2QKB1R b KQkq - 2 5", + "after": "r1bqkb1r/pppppppp/8/6B1/3N4/2N5/PPP1PnPP/R2QKB1R w KQkq - 0 6", + "captured": "p", + "moveId": "sG4QBbZS2Bsfu95CVYvJy", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "k", + "from": "e1", + "to": "f2", + "san": "Kxf2", + "flags": "c", + "lan": "e1f2", + "before": "r1bqkb1r/pppppppp/8/6B1/3N4/2N5/PPP1PnPP/R2QKB1R w KQkq - 0 6", + "after": "r1bqkb1r/pppppppp/8/6B1/3N4/2N5/PPP1PKPP/R2Q1B1R b kq - 0 6", + "captured": "n", + "moveId": "O1hzjPsxnBdN7Aq79x1TS", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "p", + "from": "d7", + "to": "d5", + "san": "d5", + "flags": "b", + "lan": "d7d5", + "before": "r1bqkb1r/pppppppp/8/6B1/3N4/2N5/PPP1PKPP/R2Q1B1R b kq - 0 6", + "after": "r1bqkb1r/ppp1pppp/8/3p2B1/3N4/2N5/PPP1PKPP/R2Q1B1R w kq - 0 7", + "moveId": "9TKPARlPwgkIY1KIKRikU", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "c3", + "to": "d5", + "san": "Nxd5", + "flags": "c", + "lan": "c3d5", + "before": "r1bqkb1r/ppp1pppp/8/3p2B1/3N4/2N5/PPP1PKPP/R2Q1B1R w kq - 0 7", + "after": "r1bqkb1r/ppp1pppp/8/3N2B1/3N4/8/PPP1PKPP/R2Q1B1R b kq - 0 7", + "captured": "p", + "moveId": "Ib9cfsyhlrq6yVJV49iUS", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "b", + "from": "c8", + "to": "f5", + "san": "Bf5", + "flags": "n", + "lan": "c8f5", + "before": "r1bqkb1r/ppp1pppp/8/3N2B1/3N4/8/PPP1PKPP/R2Q1B1R b kq - 0 7", + "after": "r2qkb1r/ppp1pppp/8/3N1bB1/3N4/8/PPP1PKPP/R2Q1B1R w kq - 1 8", + "moveId": "77qkwAKpD3tqEfTnyDmB_", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "g5", + "to": "f4", + "san": "Bf4", + "flags": "n", + "lan": "g5f4", + "before": "r2qkb1r/ppp1pppp/8/3N1bB1/3N4/8/PPP1PKPP/R2Q1B1R w kq - 1 8", + "after": "r2qkb1r/ppp1pppp/8/3N1b2/3N1B2/8/PPP1PKPP/R2Q1B1R b kq - 2 8", + "moveId": "gY3BboMGEwWZoUyGneA55", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "b", + "from": "f5", + "to": "g4", + "san": "Bg4", + "flags": "n", + "lan": "f5g4", + "before": "r2qkb1r/ppp1pppp/8/3N1b2/3N1B2/8/PPP1PKPP/R2Q1B1R b kq - 2 8", + "after": "r2qkb1r/ppp1pppp/8/3N4/3N1Bb1/8/PPP1PKPP/R2Q1B1R w kq - 3 9", + "moveId": "IF0eDJKDlxPQXX9PxM_DQ", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "f4", + "to": "g5", + "san": "Bg5", + "flags": "n", + "lan": "f4g5", + "before": "r2qkb1r/ppp1pppp/8/3N4/3N1Bb1/8/PPP1PKPP/R2Q1B1R w kq - 3 9", + "after": "r2qkb1r/ppp1pppp/8/3N2B1/3N2b1/8/PPP1PKPP/R2Q1B1R b kq - 4 9", + "moveId": "cidWB8VtgWh838Ul3NEkv", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "b", + "from": "g4", + "to": "h5", + "san": "Bh5", + "flags": "n", + "lan": "g4h5", + "before": "r2qkb1r/ppp1pppp/8/3N2B1/3N2b1/8/PPP1PKPP/R2Q1B1R b kq - 4 9", + "after": "r2qkb1r/ppp1pppp/8/3N2Bb/3N4/8/PPP1PKPP/R2Q1B1R w kq - 5 10", + "moveId": "aecZ18wQst0OLRHmcyyPE", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "g5", + "to": "f4", + "san": "Bf4", + "flags": "n", + "lan": "g5f4", + "before": "r2qkb1r/ppp1pppp/8/3N2Bb/3N4/8/PPP1PKPP/R2Q1B1R w kq - 5 10", + "after": "r2qkb1r/ppp1pppp/8/3N3b/3N1B2/8/PPP1PKPP/R2Q1B1R b kq - 6 10", + "moveId": "O481jjx2mvAcvwTZPJkSL", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "p", + "from": "g7", + "to": "g6", + "san": "g6", + "flags": "n", + "lan": "g7g6", + "before": "r2qkb1r/ppp1pppp/8/3N3b/3N1B2/8/PPP1PKPP/R2Q1B1R b kq - 6 10", + "after": "r2qkb1r/ppp1pp1p/6p1/3N3b/3N1B2/8/PPP1PKPP/R2Q1B1R w kq - 0 11", + "moveId": "vXW-xFfepQK1L7ulcuA8e", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "d5", + "to": "c7", + "san": "Nxc7+", + "flags": "c", + "lan": "d5c7", + "before": "r2qkb1r/ppp1pp1p/6p1/3N3b/3N1B2/8/PPP1PKPP/R2Q1B1R w kq - 0 11", + "after": "r2qkb1r/ppN1pp1p/6p1/7b/3N1B2/8/PPP1PKPP/R2Q1B1R b kq - 0 11", + "captured": "p", + "moveId": "6zzqX5feAeHue7b-GAvsK", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "k", + "from": "e8", + "to": "d7", + "san": "Kd7", + "flags": "n", + "lan": "e8d7", + "before": "r2qkb1r/ppN1pp1p/6p1/7b/3N1B2/8/PPP1PKPP/R2Q1B1R b kq - 0 11", + "after": "r2q1b1r/ppNkpp1p/6p1/7b/3N1B2/8/PPP1PKPP/R2Q1B1R w - - 1 12", + "moveId": "DDB0ce0ClyxatHkDlYoXv", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "c7", + "to": "a8", + "san": "Nxa8", + "flags": "c", + "lan": "c7a8", + "before": "r2q1b1r/ppNkpp1p/6p1/7b/3N1B2/8/PPP1PKPP/R2Q1B1R w - - 1 12", + "after": "N2q1b1r/pp1kpp1p/6p1/7b/3N1B2/8/PPP1PKPP/R2Q1B1R b - - 0 12", + "captured": "r", + "moveId": "iicYsKpVarubEKfSbz-FH", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "q", + "from": "d8", + "to": "a8", + "san": "Qxa8", + "flags": "c", + "lan": "d8a8", + "before": "N2q1b1r/pp1kpp1p/6p1/7b/3N1B2/8/PPP1PKPP/R2Q1B1R b - - 0 12", + "after": "q4b1r/pp1kpp1p/6p1/7b/3N1B2/8/PPP1PKPP/R2Q1B1R w - - 0 13", + "captured": "n", + "moveId": "uGfVzn34nK695ca1ccup-", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "d4", + "to": "b5", + "san": "Nb5+", + "flags": "n", + "lan": "d4b5", + "before": "q4b1r/pp1kpp1p/6p1/7b/3N1B2/8/PPP1PKPP/R2Q1B1R w - - 0 13", + "after": "q4b1r/pp1kpp1p/6p1/1N5b/5B2/8/PPP1PKPP/R2Q1B1R b - - 1 13", + "moveId": "v_qOH7j_wR-X88YfFrVvi", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "k", + "from": "d7", + "to": "e8", + "san": "Ke8", + "flags": "n", + "lan": "d7e8", + "before": "q4b1r/pp1kpp1p/6p1/1N5b/5B2/8/PPP1PKPP/R2Q1B1R b - - 1 13", + "after": "q3kb1r/pp2pp1p/6p1/1N5b/5B2/8/PPP1PKPP/R2Q1B1R w - - 2 14", + "moveId": "KqLS6dOPu99nNMMW_raeV", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "b5", + "to": "c7", + "san": "Nc7#", + "flags": "n", + "lan": "b5c7", + "before": "q3kb1r/pp2pp1p/6p1/1N5b/5B2/8/PPP1PKPP/R2Q1B1R w - - 2 14", + "after": "q3kb1r/ppN1pp1p/6p1/7b/5B2/8/PPP1PKPP/R2Q1B1R b - - 3 14", + "moveId": "iyfgFpDi1LJObMw8P9ZJr", + "shapes": [], + "comment": null + } + ] + } + ], + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "p", + "from": "e7", + "to": "e5", + "san": "e5", + "flags": "b", + "lan": "e7e5", + "before": "r1bqkbnr/pppppppp/2n5/8/3P4/5N2/PPP1PPPP/RNBQKB1R b KQkq - 2 2", + "after": "r1bqkbnr/pppp1ppp/2n5/4p3/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 3", + "moveId": "X73jA-LqPEESi0gcN9F05", + "variants": [ + { + "parentMoveId": "X73jA-LqPEESi0gcN9F05", + "variantId": "WnKX4adop7_tr2i_S9V_0", + "moves": [ + { + "color": "w", + "piece": "n", + "from": "b1", + "to": "c3", + "san": "Nc3", + "flags": "n", + "lan": "b1c3", + "before": "r1bqkbnr/pppp1ppp/2n5/4p3/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 3", + "after": "r1bqkbnr/pppp1ppp/2n5/4p3/3P4/2N2N2/PPP1PPPP/R1BQKB1R b KQkq - 1 3", + "moveId": "r5M8P8xn8TRWG3UCtDsFz", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "n", + "from": "g8", + "to": "f6", + "san": "Nf6", + "flags": "n", + "lan": "g8f6", + "before": "r1bqkbnr/pppp1ppp/2n5/4p3/3P4/2N2N2/PPP1PPPP/R1BQKB1R b KQkq - 1 3", + "after": "r1bqkb1r/pppp1ppp/2n2n2/4p3/3P4/2N2N2/PPP1PPPP/R1BQKB1R w KQkq - 2 4", + "moveId": "0uZSaXb93UmMFYdzNdoQi", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "c3", + "to": "d5", + "san": "Nd5", + "flags": "n", + "lan": "c3d5", + "before": "r1bqkb1r/pppp1ppp/2n2n2/4p3/3P4/2N2N2/PPP1PPPP/R1BQKB1R w KQkq - 2 4", + "after": "r1bqkb1r/pppp1ppp/2n2n2/3Np3/3P4/5N2/PPP1PPPP/R1BQKB1R b KQkq - 3 4", + "moveId": "R58okBHJCNhNqWKAtZSY2", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "n", + "from": "f6", + "to": "e4", + "san": "Ne4", + "flags": "n", + "lan": "f6e4", + "before": "r1bqkb1r/pppp1ppp/2n2n2/3Np3/3P4/5N2/PPP1PPPP/R1BQKB1R b KQkq - 3 4", + "after": "r1bqkb1r/pppp1ppp/2n5/3Np3/3Pn3/5N2/PPP1PPPP/R1BQKB1R w KQkq - 4 5", + "moveId": "rIi5r3qybwg7tLJ7l8zfB", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "d5", + "to": "f6", + "san": "Nf6+", + "flags": "n", + "lan": "d5f6", + "before": "r1bqkb1r/pppp1ppp/2n5/3Np3/3Pn3/5N2/PPP1PPPP/R1BQKB1R w KQkq - 4 5", + "after": "r1bqkb1r/pppp1ppp/2n2N2/4p3/3Pn3/5N2/PPP1PPPP/R1BQKB1R b KQkq - 5 5", + "moveId": "Cny3fGlgHg6XjD6rGw2WY", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "k", + "from": "e8", + "to": "e7", + "san": "Ke7", + "flags": "n", + "lan": "e8e7", + "before": "r1bqkb1r/pppp1ppp/2n2N2/4p3/3Pn3/5N2/PPP1PPPP/R1BQKB1R b KQkq - 5 5", + "after": "r1bq1b1r/ppppkppp/2n2N2/4p3/3Pn3/5N2/PPP1PPPP/R1BQKB1R w KQ - 6 6", + "moveId": "yR2JFODkN5v_-6sgBNrXh", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "f6", + "to": "e4", + "san": "Nxe4", + "flags": "c", + "lan": "f6e4", + "before": "r1bq1b1r/ppppkppp/2n2N2/4p3/3Pn3/5N2/PPP1PPPP/R1BQKB1R w KQ - 6 6", + "after": "r1bq1b1r/ppppkppp/2n5/4p3/3PN3/5N2/PPP1PPPP/R1BQKB1R b KQ - 0 6", + "captured": "n", + "moveId": "uwtZN5bNEwDns997nauru", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "p", + "from": "e5", + "to": "d4", + "san": "exd4", + "flags": "c", + "lan": "e5d4", + "before": "r1bq1b1r/ppppkppp/2n5/4p3/3PN3/5N2/PPP1PPPP/R1BQKB1R b KQ - 0 6", + "after": "r1bq1b1r/ppppkppp/2n5/8/3pN3/5N2/PPP1PPPP/R1BQKB1R w KQ - 0 7", + "captured": "p", + "moveId": "jO3uS1MOC665ZF43CKUU-", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "f3", + "to": "d4", + "san": "Nxd4", + "flags": "c", + "lan": "f3d4", + "before": "r1bq1b1r/ppppkppp/2n5/8/3pN3/5N2/PPP1PPPP/R1BQKB1R w KQ - 0 7", + "after": "r1bq1b1r/ppppkppp/2n5/8/3NN3/8/PPP1PPPP/R1BQKB1R b KQ - 0 7", + "captured": "p", + "moveId": "ulF9CbQmp4xVZTxecg4k3", + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "n", + "from": "c6", + "to": "d4", + "san": "Nxd4", + "flags": "c", + "lan": "c6d4", + "before": "r1bq1b1r/ppppkppp/2n5/8/3NN3/8/PPP1PPPP/R1BQKB1R b KQ - 0 7", + "after": "r1bq1b1r/ppppkppp/8/8/3nN3/8/PPP1PPPP/R1BQKB1R w KQ - 0 8", + "captured": "n", + "moveId": "bJnl_rX23EnhTRndMPaDZ", + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "q", + "from": "d1", + "to": "d4", + "san": "Qxd4", + "flags": "c", + "lan": "d1d4", + "before": "r1bq1b1r/ppppkppp/8/8/3nN3/8/PPP1PPPP/R1BQKB1R w KQ - 0 8", + "after": "r1bq1b1r/ppppkppp/8/8/3QN3/8/PPP1PPPP/R1B1KB1R b KQ - 0 8", + "captured": "n", + "moveId": "rx_MQqO0DzLM-_tXcD6St", + "shapes": [], + "comment": null + } + ] + }, + { + "parentMoveId": "X73jA-LqPEESi0gcN9F05", + "variantId": "iI4pRAFztaKx1uZASPbVJ", + "moves": [ + { + "color": "w", + "piece": "n", + "from": "f3", + "to": "e5", + "san": "Nxe5", + "flags": "c", + "lan": "f3e5", + "before": "r1bqkbnr/pppp1ppp/2n5/4p3/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 3", + "after": "r1bqkbnr/pppp1ppp/2n5/4N3/3P4/8/PPP1PPPP/RNBQKB1R b KQkq - 0 3", + "captured": "p", + "moveId": "z-V9u1434_giGXUMdUyxs", + "shapes": [], + "comment": null + } + ] + } + ], + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "p", + "from": "d4", + "to": "e5", + "san": "dxe5", + "flags": "c", + "lan": "d4e5", + "before": "r1bqkbnr/pppp1ppp/2n5/4p3/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 3", + "after": "r1bqkbnr/pppp1ppp/2n5/4P3/8/5N2/PPP1PPPP/RNBQKB1R b KQkq - 0 3", + "captured": "p", + "moveId": "i9WN3mosb-m1DbCQI7jB1", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "n", + "from": "c6", + "to": "e5", + "san": "Nxe5", + "flags": "c", + "lan": "c6e5", + "before": "r1bqkbnr/pppp1ppp/2n5/4P3/8/5N2/PPP1PPPP/RNBQKB1R b KQkq - 0 3", + "after": "r1bqkbnr/pppp1ppp/8/4n3/8/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 4", + "captured": "p", + "moveId": "06-i0Y0G9rBYr_JY9hsMZ", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "n", + "from": "f3", + "to": "e5", + "san": "Nxe5", + "flags": "c", + "lan": "f3e5", + "before": "r1bqkbnr/pppp1ppp/8/4n3/8/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 4", + "after": "r1bqkbnr/pppp1ppp/8/4N3/8/8/PPP1PPPP/RNBQKB1R b KQkq - 0 4", + "captured": "n", + "moveId": "6z7b5A8O_yETmkoXom1bc", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "p", + "from": "d7", + "to": "d5", + "san": "d5", + "flags": "b", + "lan": "d7d5", + "before": "r1bqkbnr/pppp1ppp/8/4N3/8/8/PPP1PPPP/RNBQKB1R b KQkq - 0 4", + "after": "r1bqkbnr/ppp2ppp/8/3pN3/8/8/PPP1PPPP/RNBQKB1R w KQkq - 0 5", + "moveId": "QB7ULXQ211jlpSR303NWl", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "c1", + "to": "g5", + "san": "Bg5", + "flags": "n", + "lan": "c1g5", + "before": "r1bqkbnr/ppp2ppp/8/3pN3/8/8/PPP1PPPP/RNBQKB1R w KQkq - 0 5", + "after": "r1bqkbnr/ppp2ppp/8/3pN1B1/8/8/PPP1PPPP/RN1QKB1R b KQkq - 1 5", + "moveId": "KavyBKd_ADzxBlC2j1nTP", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "b", + "from": "c8", + "to": "g4", + "san": "Bg4", + "flags": "n", + "lan": "c8g4", + "before": "r1bqkbnr/ppp2ppp/8/3pN1B1/8/8/PPP1PPPP/RN1QKB1R b KQkq - 1 5", + "after": "r2qkbnr/ppp2ppp/8/3pN1B1/6b1/8/PPP1PPPP/RN1QKB1R w KQkq - 2 6", + "moveId": "MKU1wis0E-5pGajAKw9Xj", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "g5", + "to": "f4", + "san": "Bf4", + "flags": "n", + "lan": "g5f4", + "before": "r2qkbnr/ppp2ppp/8/3pN1B1/6b1/8/PPP1PPPP/RN1QKB1R w KQkq - 2 6", + "after": "r2qkbnr/ppp2ppp/8/3pN3/5Bb1/8/PPP1PPPP/RN1QKB1R b KQkq - 3 6", + "moveId": "1KyyFeP-6HhDIhWPg9JFA", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "b", + "from": "g4", + "to": "f5", + "san": "Bf5", + "flags": "n", + "lan": "g4f5", + "before": "r2qkbnr/ppp2ppp/8/3pN3/5Bb1/8/PPP1PPPP/RN1QKB1R b KQkq - 3 6", + "after": "r2qkbnr/ppp2ppp/8/3pNb2/5B2/8/PPP1PPPP/RN1QKB1R w KQkq - 4 7", + "moveId": "FOnLhWFwHxgnXPU6szBnf", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "f4", + "to": "g5", + "san": "Bg5", + "flags": "n", + "lan": "f4g5", + "before": "r2qkbnr/ppp2ppp/8/3pNb2/5B2/8/PPP1PPPP/RN1QKB1R w KQkq - 4 7", + "after": "r2qkbnr/ppp2ppp/8/3pNbB1/8/8/PPP1PPPP/RN1QKB1R b KQkq - 5 7", + "moveId": "82JWpe7i-eN1O1OVv6QpX", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "b", + "from": "f5", + "to": "g4", + "san": "Bg4", + "flags": "n", + "lan": "f5g4", + "before": "r2qkbnr/ppp2ppp/8/3pNbB1/8/8/PPP1PPPP/RN1QKB1R b KQkq - 5 7", + "after": "r2qkbnr/ppp2ppp/8/3pN1B1/6b1/8/PPP1PPPP/RN1QKB1R w KQkq - 6 8", + "moveId": "CSOAT-DS8jld5LBwRZiQT", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "g5", + "to": "f4", + "san": "Bf4", + "flags": "n", + "lan": "g5f4", + "before": "r2qkbnr/ppp2ppp/8/3pN1B1/6b1/8/PPP1PPPP/RN1QKB1R w KQkq - 6 8", + "after": "r2qkbnr/ppp2ppp/8/3pN3/5Bb1/8/PPP1PPPP/RN1QKB1R b KQkq - 7 8", + "moveId": "sje0FTVOHk_5q6vQT-KWe", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "b", + "from": "g4", + "to": "f5", + "san": "Bf5", + "flags": "n", + "lan": "g4f5", + "before": "r2qkbnr/ppp2ppp/8/3pN3/5Bb1/8/PPP1PPPP/RN1QKB1R b KQkq - 7 8", + "after": "r2qkbnr/ppp2ppp/8/3pNb2/5B2/8/PPP1PPPP/RN1QKB1R w KQkq - 8 9", + "moveId": "2kU7RtMazslKRX-u4bEWF", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "f4", + "to": "g5", + "san": "Bg5", + "flags": "n", + "lan": "f4g5", + "before": "r2qkbnr/ppp2ppp/8/3pNb2/5B2/8/PPP1PPPP/RN1QKB1R w KQkq - 8 9", + "after": "r2qkbnr/ppp2ppp/8/3pNbB1/8/8/PPP1PPPP/RN1QKB1R b KQkq - 9 9", + "moveId": "c1JNipOVwLS3wF_UhxsqR", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "b", + "from": "f5", + "to": "g4", + "san": "Bg4", + "flags": "n", + "lan": "f5g4", + "before": "r2qkbnr/ppp2ppp/8/3pNbB1/8/8/PPP1PPPP/RN1QKB1R b KQkq - 9 9", + "after": "r2qkbnr/ppp2ppp/8/3pN1B1/6b1/8/PPP1PPPP/RN1QKB1R w KQkq - 10 10", + "moveId": "YTZV_COExuTdDXVF86Gfd", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "g5", + "to": "f4", + "san": "Bf4", + "flags": "n", + "lan": "g5f4", + "before": "r2qkbnr/ppp2ppp/8/3pN1B1/6b1/8/PPP1PPPP/RN1QKB1R w KQkq - 10 10", + "after": "r2qkbnr/ppp2ppp/8/3pN3/5Bb1/8/PPP1PPPP/RN1QKB1R b KQkq - 11 10", + "moveId": "bdMfRH52wXIJ4ebgW5HyL", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "b", + "from": "g4", + "to": "f5", + "san": "Bf5", + "flags": "n", + "lan": "g4f5", + "before": "r2qkbnr/ppp2ppp/8/3pN3/5Bb1/8/PPP1PPPP/RN1QKB1R b KQkq - 11 10", + "after": "r2qkbnr/ppp2ppp/8/3pNb2/5B2/8/PPP1PPPP/RN1QKB1R w KQkq - 12 11", + "moveId": "sbaeBzwITUy-b0PXHak13", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "f4", + "to": "g5", + "san": "Bg5", + "flags": "n", + "lan": "f4g5", + "before": "r2qkbnr/ppp2ppp/8/3pNb2/5B2/8/PPP1PPPP/RN1QKB1R w KQkq - 12 11", + "after": "r2qkbnr/ppp2ppp/8/3pNbB1/8/8/PPP1PPPP/RN1QKB1R b KQkq - 13 11", + "moveId": "scLkRMRCEluW9Xh5zVzPT", + "variants": [], + "shapes": [], + "comment": null + }, + { + "color": "b", + "piece": "b", + "from": "f5", + "to": "g4", + "san": "Bg4", + "flags": "n", + "lan": "f5g4", + "before": "r2qkbnr/ppp2ppp/8/3pNbB1/8/8/PPP1PPPP/RN1QKB1R b KQkq - 13 11", + "after": "r2qkbnr/ppp2ppp/8/3pN1B1/6b1/8/PPP1PPPP/RN1QKB1R w KQkq - 14 12", + "moveId": "96UC2wIL6kwlUsBqjrCeS", + "variants": [ + { + "parentMoveId": "96UC2wIL6kwlUsBqjrCeS", + "variantId": "8w67UiBWoxznGua17hvzj", + "moves": [ + { + "color": "w", + "piece": "n", + "from": "e5", + "to": "f7", + "san": "Nxf7", + "flags": "c", + "lan": "e5f7", + "before": "r2qkbnr/ppp2ppp/8/3pN1B1/6b1/8/PPP1PPPP/RN1QKB1R w KQkq - 14 12", + "after": "r2qkbnr/ppp2Npp/8/3p2B1/6b1/8/PPP1PPPP/RN1QKB1R b KQkq - 0 12", + "captured": "p", + "moveId": "9k9AvOvS3WNY94wY_wv2w", + "shapes": [], + "comment": null + } + ] + } + ], + "shapes": [], + "comment": null + }, + { + "color": "w", + "piece": "b", + "from": "g5", + "to": "f4", + "san": "Bf4", + "flags": "n", + "lan": "g5f4", + "before": "r2qkbnr/ppp2ppp/8/3pN1B1/6b1/8/PPP1PPPP/RN1QKB1R w KQkq - 14 12", + "after": "r2qkbnr/ppp2ppp/8/3pN3/5Bb1/8/PPP1PPPP/RN1QKB1R b KQkq - 15 12", + "moveId": "GsjyCIzT-9_LpXGoHi7Mv", + "variants": [], + "shapes": [], + "comment": null + } + ] +} diff --git a/styles.css b/styles.css index e107207..68c4246 100644 --- a/styles.css +++ b/styles.css @@ -265,13 +265,6 @@ cg-board square.current-premove { .chess-study button:active { transform: translateY(1px); } -.chess-study .border { - border: 1px var(--color-base-10) solid; - border-radius: 5px; -} -.chess-study .border-top { - border: 1px var(--color-base-10) solid; -} .chess-study .vertical-align { display: flex; align-items: center; @@ -289,11 +282,13 @@ cg-board square.current-premove { display: table; } .chess-study { + height: 100%; + max-width: 750px; line-height: 1.5; -webkit-font-smoothing: antialiased; -} -.chess-study { - height: 100%; + background-color: var(--background-secondary); + border: 1px solid var(--background-secondary-alt); + border-radius: 5px; } .chess-study *, .chess-study *::before, @@ -371,6 +366,17 @@ cg-board square.current-premove { color: var(--text-on-accent); font-weight: bold; } +.chess-study .variants-container { + grid-column: span 3 / auto; + display: flex; + flex-direction: column; + border-bottom: 1px solid var(--color-base-50); +} +.chess-study .variant-container { + grid-column: span 3 / auto; + display: flex; + flex-direction: column; +} .chess-study .move-indicator { color: var(--color-base-60); text-align: center; @@ -378,6 +384,24 @@ cg-board square.current-premove { user-select: none; cursor: default; } +.chess-study .variant-move-item { + padding-left: 6px; + user-select: none; + cursor: pointer; +} +.chess-study .variant-move-item-container { + display: flex; + flex-wrap: wrap; + padding: 4px 0; + border-top: 1px solid var(--color-base-50); +} +.chess-study .variant-move-item.active, +.chess-study .variant-move-item:hover { + color: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 10%)); +} +.chess-study .variant-move-indicator { + font-weight: bold; +} .chess-study .editor-input { min-height: 150px; resize: none; @@ -393,10 +417,11 @@ cg-board square.current-premove { height: 250px; padding-top: 5px; overflow: scroll; + border-top: 1px solid var(--background-secondary-alt); } .chess-study .ProseMirror, .chess-study .CommentSection > div { width: 100%; height: 100%; } -/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiYXNzZXRzL2JvYXJkL2dyZWVuLmNzcyIsICJub2RlX21vZHVsZXMvY2hlc3Nncm91bmQvYXNzZXRzL2NoZXNzZ3JvdW5kLmJhc2UuY3NzIiwgIm5vZGVfbW9kdWxlcy9jaGVzc2dyb3VuZC9hc3NldHMvY2hlc3Nncm91bmQuYnJvd24uY3NzIiwgIm5vZGVfbW9kdWxlcy9jaGVzc2dyb3VuZC9hc3NldHMvY2hlc3Nncm91bmQuY2J1cm5ldHQuY3NzIiwgInNyYy9tYWluLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLmdyZWVuLWJvYXJkIGNnLWJvYXJkIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaUlITjBZVzVrWVd4dmJtVTlJbTV2SWo4K0NqeHpkbWNnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWdvZ0lDQWdJSFpwWlhkQ2IzZzlJakFnTUNBNElEZ2lJSE5vWVhCbExYSmxibVJsY21sdVp6MGlZM0pwYzNCRlpHZGxjeUkrQ2p4bklHbGtQU0poSWo0S0lDQThaeUJwWkQwaVlpSStDaUFnSUNBOFp5QnBaRDBpWXlJK0NpQWdJQ0FnSUR4bklHbGtQU0prSWo0S0lDQWdJQ0FnSUNBOGNtVmpkQ0IzYVdSMGFEMGlNU0lnYUdWcFoyaDBQU0l4SWlCbWFXeHNQU0lqWm1abVptUmtJaUJwWkQwaVpTSXZQZ29nSUNBZ0lDQWdJRHgxYzJVZ2VEMGlNU0lnZVQwaU1TSWdhSEpsWmowaUkyVWlJSGc2YUhKbFpqMGlJMlVpTHo0S0lDQWdJQ0FnSUNBOGNtVmpkQ0I1UFNJeElpQjNhV1IwYUQwaU1TSWdhR1ZwWjJoMFBTSXhJaUJtYVd4c1BTSWpPRFpoTmpZMklpQnBaRDBpWmlJdlBnb2dJQ0FnSUNBZ0lEeDFjMlVnZUQwaU1TSWdlVDBpTFRFaUlHaHlaV1k5SWlObUlpQjRPbWh5WldZOUlpTm1JaTgrQ2lBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnUEhWelpTQjRQU0l5SWlCb2NtVm1QU0lqWkNJZ2VEcG9jbVZtUFNJalpDSXZQZ29nSUNBZ1BDOW5QZ29nSUNBZ1BIVnpaU0I0UFNJMElpQm9jbVZtUFNJall5SWdlRHBvY21WbVBTSWpZeUl2UGdvZ0lEd3ZaejRLSUNBOGRYTmxJSGs5SWpJaUlHaHlaV1k5SWlOaUlpQjRPbWh5WldZOUlpTmlJaTgrQ2p3dlp6NEtQSFZ6WlNCNVBTSTBJaUJvY21WbVBTSWpZU0lnZURwb2NtVm1QU0lqWVNJdlBnbzhMM04yWno0SycpO1xufVxuIiwgIi5jZy13cmFwIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmNnLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbn1cblxuY2ctYm9hcmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5jZy13cmFwLm1hbmlwdWxhYmxlIGNnLWJvYXJkIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5jZy1ib2FyZCBzcXVhcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEyLjUlO1xuICBoZWlnaHQ6IDEyLjUlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuY2ctYm9hcmQgc3F1YXJlLm1vdmUtZGVzdCB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG5jZy1ib2FyZCBzcXVhcmUubGFzdC1tb3ZlIHtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cblxuLmNnLXdyYXAgcGllY2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEyLjUlO1xuICBoZWlnaHQ6IDEyLjUlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB6LWluZGV4OiAyO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuY2ctYm9hcmQgcGllY2UuZHJhZ2dpbmcge1xuICBjdXJzb3I6IG1vdmU7XG4gIC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgei1pbmRleCBmcm9tIDNEIHBpZWNlIGlubGluZSBzdHlsZSAqL1xuICB6LWluZGV4OiAxMSAhaW1wb3J0YW50O1xufVxuXG5waWVjZS5hbmltIHtcbiAgei1pbmRleDogODtcbn1cblxucGllY2UuZmFkaW5nIHtcbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uY2ctd3JhcCBwaWVjZS5naG9zdCB7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmNnLXdyYXAgcGllY2Ugc3ZnIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMjtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4uY2ctd3JhcCBjZy1hdXRvLXBpZWNlcyxcbi5jZy13cmFwIC5jZy1zaGFwZXMsXG4uY2ctd3JhcCAuY2ctY3VzdG9tLXN2Z3Mge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmNnLXdyYXAgY2ctYXV0by1waWVjZXMge1xuICB6LWluZGV4OiAyO1xufVxuXG4uY2ctd3JhcCBjZy1hdXRvLXBpZWNlcyBwaWVjZSB7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmNnLXdyYXAgLmNnLXNoYXBlcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDAuNjtcbiAgei1pbmRleDogMjtcbn1cblxuLmNnLXdyYXAgLmNnLWN1c3RvbS1zdmdzIHtcbiAgLyogb3ZlciBwaWVjZS5hbmltID0gOCwgYnV0IHVuZGVyIHBpZWNlLmRyYWdnaW5nID0gMTEgKi9cbiAgei1pbmRleDogOTtcbn1cblxuLmNnLXdyYXAgLmNnLWN1c3RvbS1zdmdzIHN2ZyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uY2ctd3JhcCBjb29yZHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjg7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDlweDtcbn1cblxuLmNnLXdyYXAgY29vcmRzLnJhbmtzIHtcbiAgbGVmdDogNHB4O1xuICB0b3A6IC0yMHB4O1xuICBmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMnB4O1xufVxuXG4uY2ctd3JhcCBjb29yZHMucmFua3MuYmxhY2sge1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbn1cblxuLmNnLXdyYXAgY29vcmRzLnJhbmtzLmxlZnQge1xuICBsZWZ0OiAtMTVweDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uY2ctd3JhcCBjb29yZHMuZmlsZXMge1xuICBib3R0b206IC00cHg7XG4gIGxlZnQ6IDI0cHg7XG4gIGZsZXgtZmxvdzogcm93O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jZy13cmFwIGNvb3Jkcy5maWxlcy5ibGFjayB7XG4gIGZsZXgtZmxvdzogcm93LXJldmVyc2U7XG59XG5cbi5jZy13cmFwIGNvb3JkcyBjb29yZCB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4uY2ctd3JhcCBjb29yZHMucmFua3MgY29vcmQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzklKTtcbn1cbiIsICIvKiogQ29sb3JlZCBib2FyZCBzcXVhcmVzIGFzIGFuIGVtYmVkZGVkIFNWRyAqL1xuY2ctYm9hcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBkOWI1O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpSUhOMFlXNWtZV3h2Ym1VOUltNXZJajgrQ2p4emRtY2dlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNFBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJZ29nSUNBZ0lIWnBaWGRDYjNnOUlqQWdNQ0E0SURnaUlITm9ZWEJsTFhKbGJtUmxjbWx1WnowaVkzSnBjM0JGWkdkbGN5SStDanhuSUdsa1BTSmhJajRLSUNBOFp5QnBaRDBpWWlJK0NpQWdJQ0E4WnlCcFpEMGlZeUkrQ2lBZ0lDQWdJRHhuSUdsa1BTSmtJajRLSUNBZ0lDQWdJQ0E4Y21WamRDQjNhV1IwYUQwaU1TSWdhR1ZwWjJoMFBTSXhJaUJwWkQwaVpTSWdiM0JoWTJsMGVUMGlNQ0l2UGdvZ0lDQWdJQ0FnSUR4MWMyVWdlRDBpTVNJZ2VUMGlNU0lnYUhKbFpqMGlJMlVpSUhnNmFISmxaajBpSTJVaUx6NEtJQ0FnSUNBZ0lDQThjbVZqZENCNVBTSXhJaUIzYVdSMGFEMGlNU0lnYUdWcFoyaDBQU0l4SWlCcFpEMGlaaUlnYjNCaFkybDBlVDBpTUM0eUlpOCtDaUFnSUNBZ0lDQWdQSFZ6WlNCNFBTSXhJaUI1UFNJdE1TSWdhSEpsWmowaUkyWWlJSGc2YUhKbFpqMGlJMllpTHo0S0lDQWdJQ0FnUEM5blBnb2dJQ0FnSUNBOGRYTmxJSGc5SWpJaUlHaHlaV1k5SWlOa0lpQjRPbWh5WldZOUlpTmtJaTgrQ2lBZ0lDQThMMmMrQ2lBZ0lDQThkWE5sSUhnOUlqUWlJR2h5WldZOUlpTmpJaUI0T21oeVpXWTlJaU5qSWk4K0NpQWdQQzluUGdvZ0lEeDFjMlVnZVQwaU1pSWdhSEpsWmowaUkySWlJSGc2YUhKbFpqMGlJMklpTHo0S1BDOW5QZ284ZFhObElIazlJalFpSUdoeVpXWTlJaU5oSWlCNE9taHlaV1k5SWlOaElpOCtDand2YzNablBnPT0nKTtcbn1cblxuLyoqIEludGVyYWN0aXZlIGJvYXJkIHNxdWFyZSBjb2xvcnMgKi9cbmNnLWJvYXJkIHNxdWFyZS5tb3ZlLWRlc3Qge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQocmdiYSgyMCwgODUsIDMwLCAwLjUpIDIyJSwgIzIwODUzMCAwLCByZ2JhKDAsIDAsIDAsIDAuMykgMCwgcmdiYSgwLCAwLCAwLCAwKSAwKTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5wcmVtb3ZlLWRlc3Qge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQocmdiYSgyMCwgMzAsIDg1LCAwLjUpIDIyJSwgIzIwMzA4NSAwLCByZ2JhKDAsIDAsIDAsIDAuMykgMCwgcmdiYSgwLCAwLCAwLCAwKSAwKTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5vYy5tb3ZlLWRlc3Qge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDgwJSwgcmdiYSgyMCwgODUsIDAsIDAuMykgODAlKTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5vYy5wcmVtb3ZlLWRlc3Qge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDgwJSwgcmdiYSgyMCwgMzAsIDg1LCAwLjIpIDgwJSk7XG59XG5jZy1ib2FyZCBzcXVhcmUubW92ZS1kZXN0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMCwgODUsIDMwLCAwLjMpO1xufVxuY2ctYm9hcmQgc3F1YXJlLnByZW1vdmUtZGVzdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjAsIDMwLCA4NSwgMC4yKTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5sYXN0LW1vdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1NSwgMTk5LCAwLCAwLjQxKTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAsIDg1LCAzMCwgMC41KTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5jaGVjayB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICBlbGxpcHNlIGF0IGNlbnRlcixcbiAgICByZ2JhKDI1NSwgMCwgMCwgMSkgMCUsXG4gICAgcmdiYSgyMzEsIDAsIDAsIDEpIDI1JSxcbiAgICByZ2JhKDE2OSwgMCwgMCwgMCkgODklLFxuICAgIHJnYmEoMTU4LCAwLCAwLCAwKSAxMDAlXG4gICk7XG59XG5jZy1ib2FyZCBzcXVhcmUuY3VycmVudC1wcmVtb3ZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMzAsIDg1LCAwLjUpO1xufVxuXG4vKiogQWx0ZXJuYXRpbmcgY29sb3JzIGluIHJhbmsvZmlsZSBsYWJlbHMgKi9cbi5jZy13cmFwLm9yaWVudGF0aW9uLXdoaXRlIGNvb3Jkcy5yYW5rcyBjb29yZDpudGgtY2hpbGQoMm4pLFxuLmNnLXdyYXAub3JpZW50YXRpb24td2hpdGUgY29vcmRzLmZpbGVzIGNvb3JkOm50aC1jaGlsZCgybiksXG4uY2ctd3JhcC5vcmllbnRhdGlvbi1ibGFjayBjb29yZHMucmFua3MgY29vcmQ6bnRoLWNoaWxkKDJuICsgMSksXG4uY2ctd3JhcC5vcmllbnRhdGlvbi1ibGFjayBjb29yZHMuZmlsZXMgY29vcmQ6bnRoLWNoaWxkKDJuICsgMSkge1xuICBjb2xvcjogcmdiYSg3MiwgNzIsIDcyLCAwLjgpO1xufVxuXG4uY2ctd3JhcC5vcmllbnRhdGlvbi1ibGFjayBjb29yZHMucmFua3MgY29vcmQ6bnRoLWNoaWxkKDJuKSxcbi5jZy13cmFwLm9yaWVudGF0aW9uLWJsYWNrIGNvb3Jkcy5maWxlcyBjb29yZDpudGgtY2hpbGQoMm4pLFxuLmNnLXdyYXAub3JpZW50YXRpb24td2hpdGUgY29vcmRzLnJhbmtzIGNvb3JkOm50aC1jaGlsZCgybiArIDEpLFxuLmNnLXdyYXAub3JpZW50YXRpb24td2hpdGUgY29vcmRzLmZpbGVzIGNvb3JkOm50aC1jaGlsZCgybiArIDEpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbiIsICIvKiogRW1iZWRkZWQgU1ZHcyBmb3IgYWxsIGNoZXNzIHBpZWNlcyAqL1xuLmNnLXdyYXAgcGllY2UucGF3bi53aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQSEJoZEdnZ1pEMGlUVEl5TGpVZ09XTXRNaTR5TVNBd0xUUWdNUzQzT1MwMElEUWdNQ0F1T0RrdU1qa2dNUzQzTVM0M09DQXlMak00UXpFM0xqTXpJREUyTGpVZ01UWWdNVGd1TlRrZ01UWWdNakZqTUNBeUxqQXpMamswSURNdU9EUWdNaTQwTVNBMUxqQXpMVE1nTVM0d05pMDNMalF4SURVdU5UVXROeTQwTVNBeE15NDBOMmd5TTJNd0xUY3VPVEl0TkM0ME1TMHhNaTQwTVMwM0xqUXhMVEV6TGpRM0lERXVORGN0TVM0eE9TQXlMalF4TFRNZ01pNDBNUzAxTGpBeklEQXRNaTQwTVMweExqTXpMVFF1TlMwekxqSTRMVFV1TmpJdU5Ea3RMalkzTGpjNExURXVORGt1TnpndE1pNHpPQ0F3TFRJdU1qRXRNUzQzT1MwMExUUXROSG9pSUdacGJHdzlJaU5tWm1ZaUlITjBjbTlyWlQwaUl6QXdNQ0lnYzNSeWIydGxMWGRwWkhSb1BTSXhMalVpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0p5YjNWdVpDSXZQand2YzNablBnPT0nKTtcbn1cbi5jZy13cmFwIHBpZWNlLmJpc2hvcC53aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQR2NnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzEzYVdSMGFEMGlNUzQxSWlCemRISnZhMlV0YkdsdVpXTmhjRDBpY205MWJtUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaVBqeG5JR1pwYkd3OUlpTm1abVlpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0ppZFhSMElqNDhjR0YwYUNCa1BTSk5PU0F6Tm1NekxqTTVMUzQ1TnlBeE1DNHhNUzQwTXlBeE15NDFMVElnTXk0ek9TQXlMalF6SURFd0xqRXhJREV1TURNZ01UTXVOU0F5SURBZ01DQXhMalkxTGpVMElETWdNaTB1TmpndU9UY3RNUzQyTlM0NU9TMHpJQzQxTFRNdU16a3RMamszTFRFd0xqRXhMalEyTFRFekxqVXRNUzB6TGpNNUlERXVORFl0TVRBdU1URXVNRE10TVRNdU5TQXhMVEV1TXpVMExqUTVMVEl1TXpJekxqUTNMVE10TGpVZ01TNHpOVFF0TVM0NU5DQXpMVElnTXkweWVpSXZQanh3WVhSb0lHUTlJazB4TlNBek1tTXlMalVnTWk0MUlERXlMalVnTWk0MUlERTFJREFnTGpVdE1TNDFJREF0TWlBd0xUSWdNQzB5TGpVdE1pNDFMVFF0TWk0MUxUUWdOUzQxTFRFdU5TQTJMVEV4TGpVdE5TMHhOUzQxTFRFeElEUXRNVEF1TlNBeE5DMDFJREUxTGpVZ01DQXdMVEl1TlNBeExqVXRNaTQxSURRZ01DQXdMUzQxTGpVZ01DQXllaUl2UGp4d1lYUm9JR1E5SWsweU5TQTRZVEl1TlNBeUxqVWdNQ0F4SURFdE5TQXdJREl1TlNBeUxqVWdNQ0F4SURFZ05TQXdlaUl2UGp3dlp6NDhjR0YwYUNCa1BTSk5NVGN1TlNBeU5tZ3hNRTB4TlNBek1HZ3hOVzB0Tnk0MUxURTBMalYyTlUweU1DQXhPR2cxSWlCemRISnZhMlV0YkdsdVpXcHZhVzQ5SW0xcGRHVnlJaTgrUEM5blBqd3ZjM1puUGc9PScpO1xufVxuLmNnLXdyYXAgcGllY2Uua25pZ2h0LndoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTBOU0lnYUdWcFoyaDBQU0kwTlNJK1BHY2dabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMTNhV1IwYUQwaU1TNDFJaUJ6ZEhKdmEyVXRiR2x1WldOaGNEMGljbTkxYm1RaUlITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpUGp4d1lYUm9JR1E5SWsweU1pQXhNR014TUM0MUlERWdNVFl1TlNBNElERTJJREk1U0RFMVl6QXRPU0F4TUMwMkxqVWdPQzB5TVNJZ1ptbHNiRDBpSTJabVppSXZQanh3WVhSb0lHUTlJazB5TkNBeE9HTXVNemdnTWk0NU1TMDFMalUxSURjdU16Y3RPQ0E1TFRNZ01pMHlMamd5SURRdU16UXROU0EwTFRFdU1EUXlMUzQ1TkNBeExqUXhMVE11TURRZ01DMHpMVEVnTUNBdU1Ua2dNUzR5TXkweElESXRNU0F3TFRRdU1EQXpJREV0TkMwMElEQXRNaUEyTFRFeUlEWXRNVEp6TVM0NE9TMHhMamtnTWkwekxqVmpMUzQzTXkwdU9UazBMUzQxTFRJdExqVXRNeUF4TFRFZ015QXlMalVnTXlBeUxqVm9Nbk11TnpndE1TNDVPVElnTWk0MUxUTmpNU0F3SURFZ015QXhJRE1pSUdacGJHdzlJaU5tWm1ZaUx6NDhjR0YwYUNCa1BTSk5PUzQxSURJMUxqVmhMalV1TlNBd0lERWdNUzB4SURBZ0xqVXVOU0F3SURFZ01TQXhJREI2YlRVdU5ETXpMVGt1TnpWaExqVWdNUzQxSURNd0lERWdNUzB1T0RZMkxTNDFMalVnTVM0MUlETXdJREVnTVNBdU9EWTJMalY2SWlCbWFXeHNQU0lqTURBd0lpOCtQQzluUGp3dmMzWm5QZz09Jyk7XG59XG4uY2ctd3JhcCBwaWVjZS5yb29rLndoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTBOU0lnYUdWcFoyaDBQU0kwTlNJK1BHY2dabWxzYkQwaUkyWm1aaUlnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMTNhV1IwYUQwaU1TNDFJaUJ6ZEhKdmEyVXRiR2x1WldOaGNEMGljbTkxYm1RaUlITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpUGp4d1lYUm9JR1E5SWswNUlETTVhREkzZGkwelNEbDJNM3B0TXkwemRpMDBhREl4ZGpSSU1USjZiUzB4TFRJeVZqbG9OSFl5YURWV09XZzFkakpvTlZZNWFEUjJOU0lnYzNSeWIydGxMV3hwYm1WallYQTlJbUoxZEhRaUx6NDhjR0YwYUNCa1BTSk5NelFnTVRSc0xUTWdNMGd4Tkd3dE15MHpJaTgrUEhCaGRHZ2daRDBpVFRNeElERTNkakV5TGpWSU1UUldNVGNpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0ppZFhSMElpQnpkSEp2YTJVdGJHbHVaV3B2YVc0OUltMXBkR1Z5SWk4K1BIQmhkR2dnWkQwaVRUTXhJREk1TGpWc01TNDFJREl1TldndE1qQnNNUzQxTFRJdU5TSXZQanh3WVhSb0lHUTlJazB4TVNBeE5HZ3lNeUlnWm1sc2JEMGlibTl1WlNJZ2MzUnliMnRsTFd4cGJtVnFiMmx1UFNKdGFYUmxjaUl2UGp3dlp6NDhMM04yWno0PScpO1xufVxuLmNnLXdyYXAgcGllY2UucXVlZW4ud2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJME5TSWdhR1ZwWjJoMFBTSTBOU0krUEdjZ1ptbHNiRDBpSTJabVppSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxM2FXUjBhRDBpTVM0MUlpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlQanh3WVhSb0lHUTlJazA0SURFeVlUSWdNaUF3SURFZ01TMDBJREFnTWlBeUlEQWdNU0F4SURRZ01IcHRNVFl1TlMwMExqVmhNaUF5SURBZ01TQXhMVFFnTUNBeUlESWdNQ0F4SURFZ05DQXdlazAwTVNBeE1tRXlJRElnTUNBeElERXROQ0F3SURJZ01pQXdJREVnTVNBMElEQjZUVEUySURndU5XRXlJRElnTUNBeElERXROQ0F3SURJZ01pQXdJREVnTVNBMElEQjZUVE16SURsaE1pQXlJREFnTVNBeExUUWdNQ0F5SURJZ01DQXhJREVnTkNBd2VpSXZQanh3WVhSb0lHUTlJazA1SURJMll6Z3VOUzB4TGpVZ01qRXRNUzQxSURJM0lEQnNNaTB4TWkwM0lERXhWakV4YkMwMUxqVWdNVE11TlMwekxURTFMVE1nTVRVdE5TNDFMVEUwVmpJMVREY2dNVFJzTWlBeE1ub2lJSE4wY205clpTMXNhVzVsWTJGd1BTSmlkWFIwSWk4K1BIQmhkR2dnWkQwaVRUa2dNalpqTUNBeUlERXVOU0F5SURJdU5TQTBJREVnTVM0MUlERWdNU0F1TlNBekxqVXRNUzQxSURFdE1TNDFJREl1TlMweExqVWdNaTQxTFRFdU5TQXhMalV1TlNBeUxqVXVOU0F5TGpVZ05pNDFJREVnTVRZdU5TQXhJREl6SURBZ01DQXdJREV1TlMweElEQXRNaTQxSURBZ01DQXVOUzB4TGpVdE1TMHlMalV0TGpVdE1pNDFMUzQxTFRJZ0xqVXRNeTQxSURFdE1pQXlMalV0TWlBeUxqVXROQzA0TGpVdE1TNDFMVEU0TGpVdE1TNDFMVEkzSURCNklpQnpkSEp2YTJVdGJHbHVaV05oY0QwaVluVjBkQ0l2UGp4d1lYUm9JR1E5SWsweE1TNDFJRE13WXpNdU5TMHhJREU0TGpVdE1TQXlNaUF3VFRFeUlETXpMalZqTmkweElERTFMVEVnTWpFZ01DSWdabWxzYkQwaWJtOXVaU0l2UGp3dlp6NDhMM04yWno0PScpO1xufVxuLmNnLXdyYXAgcGllY2Uua2luZy53aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQR2NnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzEzYVdSMGFEMGlNUzQxSWlCemRISnZhMlV0YkdsdVpXTmhjRDBpY205MWJtUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaVBqeHdZWFJvSUdROUlrMHlNaTQxSURFeExqWXpWalpOTWpBZ09HZzFJaUJ6ZEhKdmEyVXRiR2x1WldwdmFXNDlJbTFwZEdWeUlpOCtQSEJoZEdnZ1pEMGlUVEl5TGpVZ01qVnpOQzQxTFRjdU5TQXpMVEV3TGpWak1DQXdMVEV0TWk0MUxUTXRNaTQxY3kweklESXVOUzB6SURJdU5XTXRNUzQxSURNZ015QXhNQzQxSURNZ01UQXVOU0lnWm1sc2JEMGlJMlptWmlJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW1KMWRIUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGliV2wwWlhJaUx6NDhjR0YwYUNCa1BTSk5NVEV1TlNBek4yTTFMalVnTXk0MUlERTFMalVnTXk0MUlESXhJREIyTFRkek9TMDBMalVnTmkweE1DNDFZeTAwTFRZdU5TMHhNeTQxTFRNdU5TMHhOaUEwVmpJM2RpMHpMalZqTFRNdU5TMDNMalV0TVRNdE1UQXVOUzB4TmkwMExUTWdOaUExSURFd0lEVWdNVEJXTXpkNklpQm1hV3hzUFNJalptWm1JaTgrUEhCaGRHZ2daRDBpVFRFeExqVWdNekJqTlM0MUxUTWdNVFV1TlMweklESXhJREJ0TFRJeElETXVOV00xTGpVdE15QXhOUzQxTFRNZ01qRWdNRzB0TWpFZ015NDFZelV1TlMweklERTFMalV0TXlBeU1TQXdJaTgrUEM5blBqd3ZjM1puUGc9PScpO1xufVxuLmNnLXdyYXAgcGllY2UucGF3bi5ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQSEJoZEdnZ1pEMGlUVEl5TGpVZ09XTXRNaTR5TVNBd0xUUWdNUzQzT1MwMElEUWdNQ0F1T0RrdU1qa2dNUzQzTVM0M09DQXlMak00UXpFM0xqTXpJREUyTGpVZ01UWWdNVGd1TlRrZ01UWWdNakZqTUNBeUxqQXpMamswSURNdU9EUWdNaTQwTVNBMUxqQXpMVE1nTVM0d05pMDNMalF4SURVdU5UVXROeTQwTVNBeE15NDBOMmd5TTJNd0xUY3VPVEl0TkM0ME1TMHhNaTQwTVMwM0xqUXhMVEV6TGpRM0lERXVORGN0TVM0eE9TQXlMalF4TFRNZ01pNDBNUzAxTGpBeklEQXRNaTQwTVMweExqTXpMVFF1TlMwekxqSTRMVFV1TmpJdU5Ea3RMalkzTGpjNExURXVORGt1TnpndE1pNHpPQ0F3TFRJdU1qRXRNUzQzT1MwMExUUXROSG9pSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExYZHBaSFJvUFNJeExqVWlJSE4wY205clpTMXNhVzVsWTJGd1BTSnliM1Z1WkNJdlBqd3ZjM1puUGc9PScpO1xufVxuLmNnLXdyYXAgcGllY2UuYmlzaG9wLmJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTBOU0lnYUdWcFoyaDBQU0kwTlNJK1BHY2dabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMTNhV1IwYUQwaU1TNDFJaUJ6ZEhKdmEyVXRiR2x1WldOaGNEMGljbTkxYm1RaUlITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpUGp4bklHWnBiR3c5SWlNd01EQWlJSE4wY205clpTMXNhVzVsWTJGd1BTSmlkWFIwSWo0OGNHRjBhQ0JrUFNKTk9TQXpObU16TGpNNUxTNDVOeUF4TUM0eE1TNDBNeUF4TXk0MUxUSWdNeTR6T1NBeUxqUXpJREV3TGpFeElERXVNRE1nTVRNdU5TQXlJREFnTUNBeExqWTFMalUwSURNZ01pMHVOamd1T1RjdE1TNDJOUzQ1T1MweklDNDFMVE11TXprdExqazNMVEV3TGpFeExqUTJMVEV6TGpVdE1TMHpMak01SURFdU5EWXRNVEF1TVRFdU1ETXRNVE11TlNBeExURXVNelUwTGpRNUxUSXVNekl6TGpRM0xUTXRMalVnTVM0ek5UUXRNUzQ1TkNBekxUSWdNeTB5ZWlJdlBqeHdZWFJvSUdROUlrMHhOU0F6TW1NeUxqVWdNaTQxSURFeUxqVWdNaTQxSURFMUlEQWdMalV0TVM0MUlEQXRNaUF3TFRJZ01DMHlMalV0TWk0MUxUUXRNaTQxTFRRZ05TNDFMVEV1TlNBMkxURXhMalV0TlMweE5TNDFMVEV4SURRdE1UQXVOU0F4TkMwMUlERTFMalVnTUNBd0xUSXVOU0F4TGpVdE1pNDFJRFFnTUNBd0xTNDFMalVnTUNBeWVpSXZQanh3WVhSb0lHUTlJazB5TlNBNFlUSXVOU0F5TGpVZ01DQXhJREV0TlNBd0lESXVOU0F5TGpVZ01DQXhJREVnTlNBd2VpSXZQand2Wno0OGNHRjBhQ0JrUFNKTk1UY3VOU0F5Tm1neE1FMHhOU0F6TUdneE5XMHROeTQxTFRFMExqVjJOVTB5TUNBeE9HZzFJaUJ6ZEhKdmEyVTlJaU5sWTJWalpXTWlJSE4wY205clpTMXNhVzVsYW05cGJqMGliV2wwWlhJaUx6NDhMMmMrUEM5emRtYysnKTtcbn1cbi5jZy13cmFwIHBpZWNlLmtuaWdodC5ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQR2NnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzEzYVdSMGFEMGlNUzQxSWlCemRISnZhMlV0YkdsdVpXTmhjRDBpY205MWJtUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaVBqeHdZWFJvSUdROUlrMHlNaUF4TUdNeE1DNDFJREVnTVRZdU5TQTRJREUySURJNVNERTFZekF0T1NBeE1DMDJMalVnT0MweU1TSWdabWxzYkQwaUl6QXdNQ0l2UGp4d1lYUm9JR1E5SWsweU5DQXhPR011TXpnZ01pNDVNUzAxTGpVMUlEY3VNemN0T0NBNUxUTWdNaTB5TGpneUlEUXVNelF0TlNBMExURXVNRFF5TFM0NU5DQXhMalF4TFRNdU1EUWdNQzB6TFRFZ01DQXVNVGtnTVM0eU15MHhJREl0TVNBd0xUUXVNREF6SURFdE5DMDBJREF0TWlBMkxURXlJRFl0TVRKek1TNDRPUzB4TGprZ01pMHpMalZqTFM0M015MHVPVGswTFM0MUxUSXRMalV0TXlBeExURWdNeUF5TGpVZ015QXlMalZvTW5NdU56Z3RNUzQ1T1RJZ01pNDFMVE5qTVNBd0lERWdNeUF4SURNaUlHWnBiR3c5SWlNd01EQWlMejQ4Y0dGMGFDQmtQU0pOT1M0MUlESTFMalZoTGpVdU5TQXdJREVnTVMweElEQWdMalV1TlNBd0lERWdNU0F4SURCNmJUVXVORE16TFRrdU56VmhMalVnTVM0MUlETXdJREVnTVMwdU9EWTJMUzQxTGpVZ01TNDFJRE13SURFZ01TQXVPRFkyTGpWNklpQm1hV3hzUFNJalpXTmxZMlZqSWlCemRISnZhMlU5SWlObFkyVmpaV01pTHo0OGNHRjBhQ0JrUFNKTk1qUXVOVFVnTVRBdU5Hd3RMalExSURFdU5EVXVOUzR4TldNekxqRTFJREVnTlM0Mk5TQXlMalE1SURjdU9TQTJMamMxVXpNMUxqYzFJREk1TGpBMklETTFMakkxSURNNWJDMHVNRFV1TldneUxqSTFiQzR3TlMwdU5XTXVOUzB4TUM0d05pMHVPRGd0TVRZdU9EVXRNeTR5TlMweU1TNHpOQzB5TGpNM0xUUXVORGt0TlM0M09TMDJMalkwTFRrdU1Ua3ROeTR4Tm13dExqVXhMUzR4ZWlJZ1ptbHNiRDBpSTJWalpXTmxZeUlnYzNSeWIydGxQU0p1YjI1bElpOCtQQzluUGp3dmMzWm5QZz09Jyk7XG59XG4uY2ctd3JhcCBwaWVjZS5yb29rLmJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTBOU0lnYUdWcFoyaDBQU0kwTlNJK1BHY2dabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxM2FXUjBhRDBpTVM0MUlpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlQanh3WVhSb0lHUTlJazA1SURNNWFESTNkaTB6U0RsMk0zcHRNeTQxTFRkc01TNDFMVEl1TldneE4yd3hMalVnTWk0MWFDMHlNSHB0TFM0MUlEUjJMVFJvTWpGMk5FZ3hNbm9pSUhOMGNtOXJaUzFzYVc1bFkyRndQU0ppZFhSMElpOCtQSEJoZEdnZ1pEMGlUVEUwSURJNUxqVjJMVEV6YURFM2RqRXpTREUwZWlJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW1KMWRIUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGliV2wwWlhJaUx6NDhjR0YwYUNCa1BTSk5NVFFnTVRZdU5Vd3hNU0F4TkdneU0yd3RNeUF5TGpWSU1UUjZUVEV4SURFMFZqbG9OSFl5YURWV09XZzFkakpvTlZZNWFEUjJOVWd4TVhvaUlITjBjbTlyWlMxc2FXNWxZMkZ3UFNKaWRYUjBJaTgrUEhCaGRHZ2daRDBpVFRFeUlETTFMalZvTWpGdExUSXdMVFJvTVRsdExURTRMVEpvTVRkdExURTNMVEV6YURFM1RURXhJREUwYURJeklpQm1hV3hzUFNKdWIyNWxJaUJ6ZEhKdmEyVTlJaU5sWTJWalpXTWlJSE4wY205clpTMTNhV1IwYUQwaU1TSWdjM1J5YjJ0bExXeHBibVZxYjJsdVBTSnRhWFJsY2lJdlBqd3ZaejQ4TDNOMlp6ND0nKTtcbn1cbi5jZy13cmFwIHBpZWNlLnF1ZWVuLmJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTBOU0lnYUdWcFoyaDBQU0kwTlNJK1BHY2dabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxM2FXUjBhRDBpTVM0MUlpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlQanhuSUhOMGNtOXJaVDBpYm05dVpTSStQR05wY21Oc1pTQmplRDBpTmlJZ1kzazlJakV5SWlCeVBTSXlMamMxSWk4K1BHTnBjbU5zWlNCamVEMGlNVFFpSUdONVBTSTVJaUJ5UFNJeUxqYzFJaTgrUEdOcGNtTnNaU0JqZUQwaU1qSXVOU0lnWTNrOUlqZ2lJSEk5SWpJdU56VWlMejQ4WTJseVkyeGxJR040UFNJek1TSWdZM2s5SWpraUlISTlJakl1TnpVaUx6NDhZMmx5WTJ4bElHTjRQU0l6T1NJZ1kzazlJakV5SWlCeVBTSXlMamMxSWk4K1BDOW5Qanh3WVhSb0lHUTlJazA1SURJMll6Z3VOUzB4TGpVZ01qRXRNUzQxSURJM0lEQnNNaTQxTFRFeUxqVk1NekVnTWpWc0xTNHpMVEUwTGpFdE5TNHlJREV6TGpZdE15MHhOQzQxTFRNZ01UUXVOUzAxTGpJdE1UTXVOa3d4TkNBeU5TQTJMalVnTVRNdU5TQTVJREkyZWlJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW1KMWRIUWlMejQ4Y0dGMGFDQmtQU0pOT1NBeU5tTXdJRElnTVM0MUlESWdNaTQxSURRZ01TQXhMalVnTVNBeElDNDFJRE11TlMweExqVWdNUzB4TGpVZ01pNDFMVEV1TlNBeUxqVXRNUzQxSURFdU5TNDFJREl1TlM0MUlESXVOU0EyTGpVZ01TQXhOaTQxSURFZ01qTWdNQ0F3SURBZ01TNDFMVEVnTUMweUxqVWdNQ0F3SUM0MUxURXVOUzB4TFRJdU5TMHVOUzB5TGpVdExqVXRNaUF1TlMwekxqVWdNUzB5SURJdU5TMHlJREl1TlMwMExUZ3VOUzB4TGpVdE1UZ3VOUzB4TGpVdE1qY2dNSG9pSUhOMGNtOXJaUzFzYVc1bFkyRndQU0ppZFhSMElpOCtQSEJoZEdnZ1pEMGlUVEV4SURNNExqVmhNelVnTXpVZ01TQXdJREFnTWpNZ01DSWdabWxzYkQwaWJtOXVaU0lnYzNSeWIydGxMV3hwYm1WallYQTlJbUoxZEhRaUx6NDhjR0YwYUNCa1BTSk5NVEVnTWpsaE16VWdNelVnTVNBd0lERWdNak1nTUcwdE1qRXVOU0F5TGpWb01qQnRMVEl4SUROaE16VWdNelVnTVNBd0lEQWdNaklnTUcwdE1qTWdNMkV6TlNBek5TQXhJREFnTUNBeU5DQXdJaUJtYVd4c1BTSnViMjVsSWlCemRISnZhMlU5SWlObFkyVmpaV01pTHo0OEwyYytQQzl6ZG1jKycpO1xufVxuLmNnLXdyYXAgcGllY2Uua2luZy5ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQR2NnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzEzYVdSMGFEMGlNUzQxSWlCemRISnZhMlV0YkdsdVpXTmhjRDBpY205MWJtUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaVBqeHdZWFJvSUdROUlrMHlNaTQxSURFeExqWXpWallpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpYldsMFpYSWlMejQ4Y0dGMGFDQmtQU0pOTWpJdU5TQXlOWE0wTGpVdE55NDFJRE10TVRBdU5XTXdJREF0TVMweUxqVXRNeTB5TGpWekxUTWdNaTQxTFRNZ01pNDFZeTB4TGpVZ015QXpJREV3TGpVZ015QXhNQzQxSWlCbWFXeHNQU0lqTURBd0lpQnpkSEp2YTJVdGJHbHVaV05oY0QwaVluVjBkQ0lnYzNSeWIydGxMV3hwYm1WcWIybHVQU0p0YVhSbGNpSXZQanh3WVhSb0lHUTlJazB4TVM0MUlETTNZelV1TlNBekxqVWdNVFV1TlNBekxqVWdNakVnTUhZdE4zTTVMVFF1TlNBMkxURXdMalZqTFRRdE5pNDFMVEV6TGpVdE15NDFMVEUySURSV01qZDJMVE11TldNdE15NDFMVGN1TlMweE15MHhNQzQxTFRFMkxUUXRNeUEySURVZ01UQWdOU0F4TUZZek4zb2lJR1pwYkd3OUlpTXdNREFpTHo0OGNHRjBhQ0JrUFNKTk1qQWdPR2cxSWlCemRISnZhMlV0YkdsdVpXcHZhVzQ5SW0xcGRHVnlJaTgrUEhCaGRHZ2daRDBpVFRNeUlESTVMalZ6T0M0MUxUUWdOaTR3TXkwNUxqWTFRek0wTGpFMUlERTBJREkxSURFNElESXlMalVnTWpRdU5Xd3VNREVnTWk0eExTNHdNUzB5TGpGRE1qQWdNVGdnT1M0NU1EWWdNVFFnTmk0NU9UY2dNVGt1T0RWakxUSXVORGszSURVdU5qVWdOQzQ0TlRNZ09TQTBMamcxTXlBNUlpQnpkSEp2YTJVOUlpTmxZMlZqWldNaUx6NDhjR0YwYUNCa1BTSk5NVEV1TlNBek1HTTFMalV0TXlBeE5TNDFMVE1nTWpFZ01HMHRNakVnTXk0MVl6VXVOUzB6SURFMUxqVXRNeUF5TVNBd2JTMHlNU0F6TGpWak5TNDFMVE1nTVRVdU5TMHpJREl4SURBaUlITjBjbTlyWlQwaUkyVmpaV05sWXlJdlBqd3ZaejQ4TDNOMlp6ND0nKTtcbn1cbiIsICIvKiBHZW5lcmFsICovXG4uY2hlc3Mtc3R1ZHkgYnV0dG9uOmFjdGl2ZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xufVxuXG4uY2hlc3Mtc3R1ZHkgLmJvcmRlciB7XG5cdGJvcmRlcjogMXB4IHZhcigtLWNvbG9yLWJhc2UtMTApIHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5jaGVzcy1zdHVkeSAuYm9yZGVyLXRvcCB7XG5cdGJvcmRlcjogMXB4IHZhcigtLWNvbG9yLWJhc2UtMTApIHNvbGlkO1xufVxuXG4uY2hlc3Mtc3R1ZHkgLnZlcnRpY2FsLWFsaWduIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNoZXNzLXN0dWR5IC5jZW50ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNoZXNzLXN0dWR5IC5oZWlnaHQtd2lkdGgtMTAwIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmNoZXNzLXN0dWR5IC50YWJsZSB7XG5cdGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uY2hlc3Mtc3R1ZHkge1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLmNoZXNzLXN0dWR5IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uY2hlc3Mtc3R1ZHkgKixcbi5jaGVzcy1zdHVkeSAqOjpiZWZvcmUsXG4uY2hlc3Mtc3R1ZHkgKjo6YWZ0ZXIge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmNoZXNzLXN0dWR5ICoge1xuXHRtYXJnaW46IDA7XG59XG5cbi5jaGVzcy1zdHVkeSBpbnB1dCxcbi5jaGVzcy1zdHVkeSBidXR0b24sXG4uY2hlc3Mtc3R1ZHkgdGV4dGFyZWEsXG4uY2hlc3Mtc3R1ZHkgc2VsZWN0IHtcblx0Zm9udDogaW5oZXJpdDtcbn1cblxuLmNoZXNzLXN0dWR5IHAsXG4uY2hlc3Mtc3R1ZHkgaDEsXG4uY2hlc3Mtc3R1ZHkgaDIsXG4uY2hlc3Mtc3R1ZHkgaDMsXG4uY2hlc3Mtc3R1ZHkgaDQsXG4uY2hlc3Mtc3R1ZHkgaDUsXG4uY2hlc3Mtc3R1ZHkgaDYge1xuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiBDb250YWluZXIgKi9cbi5jaGVzcy1zdHVkeSAuY2hlc3Nncm91bmQtcGduLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogNDUwcHg7XG59XG5cbi5jaGVzcy1zdHVkeSAuY2hlc3Nncm91bmQtcGduLWNvbnRhaW5lciAuY2hlc3Nncm91bmQtY29udGFpbmVyIHtcblx0ZmxleDogMCAwIDQ1MHB4O1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5jaGVzcy1zdHVkeSAuY2hlc3Nncm91bmQtcGduLWNvbnRhaW5lciAucGduLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLyogUEdOIFZpZXdlciAqL1xuLmNoZXNzLXN0dWR5IC5tb3ZlLWl0ZW0tc2VjdGlvbiB7XG5cdGhlaWdodDogNDE1cHg7XG59XG5cbi5jaGVzcy1zdHVkeSAuYnV0dG9uLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGdhcDogNHB4O1xuXHRoZWlnaHQ6IDM1cHg7XG59XG5cbi5jaGVzcy1zdHVkeSAubW92ZS1pdGVtLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMC4xNWZyIDAuNDI1ZnIgMC40MjVmcjtcblx0Z3JpZC1hdXRvLXJvd3M6IG1pbm1heCgzMHB4LCBhdXRvKTtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC1oZWlnaHQ6IDQxNXB4O1xuXHRvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5jaGVzcy1zdHVkeSAubW92ZS1pdGVtIHtcblx0cGFkZGluZy1sZWZ0OiA4cHg7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uY2hlc3Mtc3R1ZHkgLm1vdmUtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IGhzbChcblx0XHR2YXIoLS1hY2NlbnQtaCksXG5cdFx0dmFyKC0tYWNjZW50LXMpLFxuXHRcdGNhbGModmFyKC0tYWNjZW50LWwpKVxuXHQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jaGVzcy1zdHVkeSAubW92ZS1pdGVtLmFjdGl2ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IGhzbChcblx0XHR2YXIoLS1hY2NlbnQtaCksXG5cdFx0dmFyKC0tYWNjZW50LXMpLFxuXHRcdGNhbGModmFyKC0tYWNjZW50LWwpIC0gMTAlKVxuXHQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmNoZXNzLXN0dWR5IC5tb3ZlLWluZGljYXRvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTYwKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTEwKTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogQ29tbWVudCBTZWN0aW9uICovXG5cbi5jaGVzcy1zdHVkeSAuZWRpdG9yLWlucHV0IHtcblx0bWluLWhlaWdodDogMTUwcHg7XG5cdHJlc2l6ZTogbm9uZTtcblx0Zm9udC1zaXplOiAxNXB4O1xuXHRjYXJldC1jb2xvcjogcmdiKDUsIDUsIDUpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRhYi1zaXplOiAxO1xuXHRvdXRsaW5lOiAwO1xuXHRwYWRkaW5nOiAxNXB4IDEwcHg7XG5cdGNhcmV0LWNvbG9yOiAjNDQ0O1xufVxuXG4uY2hlc3Mtc3R1ZHkgLkNvbW1lbnRTZWN0aW9uIHtcblx0aGVpZ2h0OiAyNTBweDtcblx0cGFkZGluZy10b3A6IDVweDtcblx0b3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLmNoZXNzLXN0dWR5IC5Qcm9zZU1pcnJvcixcbi5jaGVzcy1zdHVkeSAuQ29tbWVudFNlY3Rpb24gPiBkaXYge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUFBO0FBQ0M7QUFBQTs7O0FDREQ7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFFQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUVFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTs7O0FDM0tGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBUUY7QUFDRTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUFBOzs7QUN2REY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBOzs7QUNsQ0Y7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBR0M7QUFBQTtBQUVEO0FBQ0M7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUFBO0FBSUM7QUFBQTtBQUdEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0M7QUFBQTtBQUlEO0FBQ0M7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUlEO0FBQ0M7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBS0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUtBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBRUM7QUFDQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo= */ +/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiYXNzZXRzL2JvYXJkL2dyZWVuLmNzcyIsICJub2RlX21vZHVsZXMvY2hlc3Nncm91bmQvYXNzZXRzL2NoZXNzZ3JvdW5kLmJhc2UuY3NzIiwgIm5vZGVfbW9kdWxlcy9jaGVzc2dyb3VuZC9hc3NldHMvY2hlc3Nncm91bmQuYnJvd24uY3NzIiwgIm5vZGVfbW9kdWxlcy9jaGVzc2dyb3VuZC9hc3NldHMvY2hlc3Nncm91bmQuY2J1cm5ldHQuY3NzIiwgInNyYy9tYWluLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLmdyZWVuLWJvYXJkIGNnLWJvYXJkIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaUlITjBZVzVrWVd4dmJtVTlJbTV2SWo4K0NqeHpkbWNnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWdvZ0lDQWdJSFpwWlhkQ2IzZzlJakFnTUNBNElEZ2lJSE5vWVhCbExYSmxibVJsY21sdVp6MGlZM0pwYzNCRlpHZGxjeUkrQ2p4bklHbGtQU0poSWo0S0lDQThaeUJwWkQwaVlpSStDaUFnSUNBOFp5QnBaRDBpWXlJK0NpQWdJQ0FnSUR4bklHbGtQU0prSWo0S0lDQWdJQ0FnSUNBOGNtVmpkQ0IzYVdSMGFEMGlNU0lnYUdWcFoyaDBQU0l4SWlCbWFXeHNQU0lqWm1abVptUmtJaUJwWkQwaVpTSXZQZ29nSUNBZ0lDQWdJRHgxYzJVZ2VEMGlNU0lnZVQwaU1TSWdhSEpsWmowaUkyVWlJSGc2YUhKbFpqMGlJMlVpTHo0S0lDQWdJQ0FnSUNBOGNtVmpkQ0I1UFNJeElpQjNhV1IwYUQwaU1TSWdhR1ZwWjJoMFBTSXhJaUJtYVd4c1BTSWpPRFpoTmpZMklpQnBaRDBpWmlJdlBnb2dJQ0FnSUNBZ0lEeDFjMlVnZUQwaU1TSWdlVDBpTFRFaUlHaHlaV1k5SWlObUlpQjRPbWh5WldZOUlpTm1JaTgrQ2lBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnUEhWelpTQjRQU0l5SWlCb2NtVm1QU0lqWkNJZ2VEcG9jbVZtUFNJalpDSXZQZ29nSUNBZ1BDOW5QZ29nSUNBZ1BIVnpaU0I0UFNJMElpQm9jbVZtUFNJall5SWdlRHBvY21WbVBTSWpZeUl2UGdvZ0lEd3ZaejRLSUNBOGRYTmxJSGs5SWpJaUlHaHlaV1k5SWlOaUlpQjRPbWh5WldZOUlpTmlJaTgrQ2p3dlp6NEtQSFZ6WlNCNVBTSTBJaUJvY21WbVBTSWpZU0lnZURwb2NtVm1QU0lqWVNJdlBnbzhMM04yWno0SycpO1xufVxuIiwgIi5jZy13cmFwIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmNnLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbn1cblxuY2ctYm9hcmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5jZy13cmFwLm1hbmlwdWxhYmxlIGNnLWJvYXJkIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5jZy1ib2FyZCBzcXVhcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEyLjUlO1xuICBoZWlnaHQ6IDEyLjUlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuY2ctYm9hcmQgc3F1YXJlLm1vdmUtZGVzdCB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG5jZy1ib2FyZCBzcXVhcmUubGFzdC1tb3ZlIHtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cblxuLmNnLXdyYXAgcGllY2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEyLjUlO1xuICBoZWlnaHQ6IDEyLjUlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB6LWluZGV4OiAyO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuY2ctYm9hcmQgcGllY2UuZHJhZ2dpbmcge1xuICBjdXJzb3I6IG1vdmU7XG4gIC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgei1pbmRleCBmcm9tIDNEIHBpZWNlIGlubGluZSBzdHlsZSAqL1xuICB6LWluZGV4OiAxMSAhaW1wb3J0YW50O1xufVxuXG5waWVjZS5hbmltIHtcbiAgei1pbmRleDogODtcbn1cblxucGllY2UuZmFkaW5nIHtcbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uY2ctd3JhcCBwaWVjZS5naG9zdCB7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmNnLXdyYXAgcGllY2Ugc3ZnIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMjtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4uY2ctd3JhcCBjZy1hdXRvLXBpZWNlcyxcbi5jZy13cmFwIC5jZy1zaGFwZXMsXG4uY2ctd3JhcCAuY2ctY3VzdG9tLXN2Z3Mge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmNnLXdyYXAgY2ctYXV0by1waWVjZXMge1xuICB6LWluZGV4OiAyO1xufVxuXG4uY2ctd3JhcCBjZy1hdXRvLXBpZWNlcyBwaWVjZSB7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmNnLXdyYXAgLmNnLXNoYXBlcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDAuNjtcbiAgei1pbmRleDogMjtcbn1cblxuLmNnLXdyYXAgLmNnLWN1c3RvbS1zdmdzIHtcbiAgLyogb3ZlciBwaWVjZS5hbmltID0gOCwgYnV0IHVuZGVyIHBpZWNlLmRyYWdnaW5nID0gMTEgKi9cbiAgei1pbmRleDogOTtcbn1cblxuLmNnLXdyYXAgLmNnLWN1c3RvbS1zdmdzIHN2ZyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uY2ctd3JhcCBjb29yZHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjg7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDlweDtcbn1cblxuLmNnLXdyYXAgY29vcmRzLnJhbmtzIHtcbiAgbGVmdDogNHB4O1xuICB0b3A6IC0yMHB4O1xuICBmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMnB4O1xufVxuXG4uY2ctd3JhcCBjb29yZHMucmFua3MuYmxhY2sge1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbn1cblxuLmNnLXdyYXAgY29vcmRzLnJhbmtzLmxlZnQge1xuICBsZWZ0OiAtMTVweDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uY2ctd3JhcCBjb29yZHMuZmlsZXMge1xuICBib3R0b206IC00cHg7XG4gIGxlZnQ6IDI0cHg7XG4gIGZsZXgtZmxvdzogcm93O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jZy13cmFwIGNvb3Jkcy5maWxlcy5ibGFjayB7XG4gIGZsZXgtZmxvdzogcm93LXJldmVyc2U7XG59XG5cbi5jZy13cmFwIGNvb3JkcyBjb29yZCB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4uY2ctd3JhcCBjb29yZHMucmFua3MgY29vcmQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzklKTtcbn1cbiIsICIvKiogQ29sb3JlZCBib2FyZCBzcXVhcmVzIGFzIGFuIGVtYmVkZGVkIFNWRyAqL1xuY2ctYm9hcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBkOWI1O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpSUhOMFlXNWtZV3h2Ym1VOUltNXZJajgrQ2p4emRtY2dlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNFBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJZ29nSUNBZ0lIWnBaWGRDYjNnOUlqQWdNQ0E0SURnaUlITm9ZWEJsTFhKbGJtUmxjbWx1WnowaVkzSnBjM0JGWkdkbGN5SStDanhuSUdsa1BTSmhJajRLSUNBOFp5QnBaRDBpWWlJK0NpQWdJQ0E4WnlCcFpEMGlZeUkrQ2lBZ0lDQWdJRHhuSUdsa1BTSmtJajRLSUNBZ0lDQWdJQ0E4Y21WamRDQjNhV1IwYUQwaU1TSWdhR1ZwWjJoMFBTSXhJaUJwWkQwaVpTSWdiM0JoWTJsMGVUMGlNQ0l2UGdvZ0lDQWdJQ0FnSUR4MWMyVWdlRDBpTVNJZ2VUMGlNU0lnYUhKbFpqMGlJMlVpSUhnNmFISmxaajBpSTJVaUx6NEtJQ0FnSUNBZ0lDQThjbVZqZENCNVBTSXhJaUIzYVdSMGFEMGlNU0lnYUdWcFoyaDBQU0l4SWlCcFpEMGlaaUlnYjNCaFkybDBlVDBpTUM0eUlpOCtDaUFnSUNBZ0lDQWdQSFZ6WlNCNFBTSXhJaUI1UFNJdE1TSWdhSEpsWmowaUkyWWlJSGc2YUhKbFpqMGlJMllpTHo0S0lDQWdJQ0FnUEM5blBnb2dJQ0FnSUNBOGRYTmxJSGc5SWpJaUlHaHlaV1k5SWlOa0lpQjRPbWh5WldZOUlpTmtJaTgrQ2lBZ0lDQThMMmMrQ2lBZ0lDQThkWE5sSUhnOUlqUWlJR2h5WldZOUlpTmpJaUI0T21oeVpXWTlJaU5qSWk4K0NpQWdQQzluUGdvZ0lEeDFjMlVnZVQwaU1pSWdhSEpsWmowaUkySWlJSGc2YUhKbFpqMGlJMklpTHo0S1BDOW5QZ284ZFhObElIazlJalFpSUdoeVpXWTlJaU5oSWlCNE9taHlaV1k5SWlOaElpOCtDand2YzNablBnPT0nKTtcbn1cblxuLyoqIEludGVyYWN0aXZlIGJvYXJkIHNxdWFyZSBjb2xvcnMgKi9cbmNnLWJvYXJkIHNxdWFyZS5tb3ZlLWRlc3Qge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQocmdiYSgyMCwgODUsIDMwLCAwLjUpIDIyJSwgIzIwODUzMCAwLCByZ2JhKDAsIDAsIDAsIDAuMykgMCwgcmdiYSgwLCAwLCAwLCAwKSAwKTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5wcmVtb3ZlLWRlc3Qge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQocmdiYSgyMCwgMzAsIDg1LCAwLjUpIDIyJSwgIzIwMzA4NSAwLCByZ2JhKDAsIDAsIDAsIDAuMykgMCwgcmdiYSgwLCAwLCAwLCAwKSAwKTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5vYy5tb3ZlLWRlc3Qge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDgwJSwgcmdiYSgyMCwgODUsIDAsIDAuMykgODAlKTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5vYy5wcmVtb3ZlLWRlc3Qge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDgwJSwgcmdiYSgyMCwgMzAsIDg1LCAwLjIpIDgwJSk7XG59XG5jZy1ib2FyZCBzcXVhcmUubW92ZS1kZXN0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMCwgODUsIDMwLCAwLjMpO1xufVxuY2ctYm9hcmQgc3F1YXJlLnByZW1vdmUtZGVzdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjAsIDMwLCA4NSwgMC4yKTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5sYXN0LW1vdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1NSwgMTk5LCAwLCAwLjQxKTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAsIDg1LCAzMCwgMC41KTtcbn1cbmNnLWJvYXJkIHNxdWFyZS5jaGVjayB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICBlbGxpcHNlIGF0IGNlbnRlcixcbiAgICByZ2JhKDI1NSwgMCwgMCwgMSkgMCUsXG4gICAgcmdiYSgyMzEsIDAsIDAsIDEpIDI1JSxcbiAgICByZ2JhKDE2OSwgMCwgMCwgMCkgODklLFxuICAgIHJnYmEoMTU4LCAwLCAwLCAwKSAxMDAlXG4gICk7XG59XG5jZy1ib2FyZCBzcXVhcmUuY3VycmVudC1wcmVtb3ZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMzAsIDg1LCAwLjUpO1xufVxuXG4vKiogQWx0ZXJuYXRpbmcgY29sb3JzIGluIHJhbmsvZmlsZSBsYWJlbHMgKi9cbi5jZy13cmFwLm9yaWVudGF0aW9uLXdoaXRlIGNvb3Jkcy5yYW5rcyBjb29yZDpudGgtY2hpbGQoMm4pLFxuLmNnLXdyYXAub3JpZW50YXRpb24td2hpdGUgY29vcmRzLmZpbGVzIGNvb3JkOm50aC1jaGlsZCgybiksXG4uY2ctd3JhcC5vcmllbnRhdGlvbi1ibGFjayBjb29yZHMucmFua3MgY29vcmQ6bnRoLWNoaWxkKDJuICsgMSksXG4uY2ctd3JhcC5vcmllbnRhdGlvbi1ibGFjayBjb29yZHMuZmlsZXMgY29vcmQ6bnRoLWNoaWxkKDJuICsgMSkge1xuICBjb2xvcjogcmdiYSg3MiwgNzIsIDcyLCAwLjgpO1xufVxuXG4uY2ctd3JhcC5vcmllbnRhdGlvbi1ibGFjayBjb29yZHMucmFua3MgY29vcmQ6bnRoLWNoaWxkKDJuKSxcbi5jZy13cmFwLm9yaWVudGF0aW9uLWJsYWNrIGNvb3Jkcy5maWxlcyBjb29yZDpudGgtY2hpbGQoMm4pLFxuLmNnLXdyYXAub3JpZW50YXRpb24td2hpdGUgY29vcmRzLnJhbmtzIGNvb3JkOm50aC1jaGlsZCgybiArIDEpLFxuLmNnLXdyYXAub3JpZW50YXRpb24td2hpdGUgY29vcmRzLmZpbGVzIGNvb3JkOm50aC1jaGlsZCgybiArIDEpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbiIsICIvKiogRW1iZWRkZWQgU1ZHcyBmb3IgYWxsIGNoZXNzIHBpZWNlcyAqL1xuLmNnLXdyYXAgcGllY2UucGF3bi53aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQSEJoZEdnZ1pEMGlUVEl5TGpVZ09XTXRNaTR5TVNBd0xUUWdNUzQzT1MwMElEUWdNQ0F1T0RrdU1qa2dNUzQzTVM0M09DQXlMak00UXpFM0xqTXpJREUyTGpVZ01UWWdNVGd1TlRrZ01UWWdNakZqTUNBeUxqQXpMamswSURNdU9EUWdNaTQwTVNBMUxqQXpMVE1nTVM0d05pMDNMalF4SURVdU5UVXROeTQwTVNBeE15NDBOMmd5TTJNd0xUY3VPVEl0TkM0ME1TMHhNaTQwTVMwM0xqUXhMVEV6TGpRM0lERXVORGN0TVM0eE9TQXlMalF4TFRNZ01pNDBNUzAxTGpBeklEQXRNaTQwTVMweExqTXpMVFF1TlMwekxqSTRMVFV1TmpJdU5Ea3RMalkzTGpjNExURXVORGt1TnpndE1pNHpPQ0F3TFRJdU1qRXRNUzQzT1MwMExUUXROSG9pSUdacGJHdzlJaU5tWm1ZaUlITjBjbTlyWlQwaUl6QXdNQ0lnYzNSeWIydGxMWGRwWkhSb1BTSXhMalVpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0p5YjNWdVpDSXZQand2YzNablBnPT0nKTtcbn1cbi5jZy13cmFwIHBpZWNlLmJpc2hvcC53aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQR2NnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzEzYVdSMGFEMGlNUzQxSWlCemRISnZhMlV0YkdsdVpXTmhjRDBpY205MWJtUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaVBqeG5JR1pwYkd3OUlpTm1abVlpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0ppZFhSMElqNDhjR0YwYUNCa1BTSk5PU0F6Tm1NekxqTTVMUzQ1TnlBeE1DNHhNUzQwTXlBeE15NDFMVElnTXk0ek9TQXlMalF6SURFd0xqRXhJREV1TURNZ01UTXVOU0F5SURBZ01DQXhMalkxTGpVMElETWdNaTB1TmpndU9UY3RNUzQyTlM0NU9TMHpJQzQxTFRNdU16a3RMamszTFRFd0xqRXhMalEyTFRFekxqVXRNUzB6TGpNNUlERXVORFl0TVRBdU1URXVNRE10TVRNdU5TQXhMVEV1TXpVMExqUTVMVEl1TXpJekxqUTNMVE10TGpVZ01TNHpOVFF0TVM0NU5DQXpMVElnTXkweWVpSXZQanh3WVhSb0lHUTlJazB4TlNBek1tTXlMalVnTWk0MUlERXlMalVnTWk0MUlERTFJREFnTGpVdE1TNDFJREF0TWlBd0xUSWdNQzB5TGpVdE1pNDFMVFF0TWk0MUxUUWdOUzQxTFRFdU5TQTJMVEV4TGpVdE5TMHhOUzQxTFRFeElEUXRNVEF1TlNBeE5DMDFJREUxTGpVZ01DQXdMVEl1TlNBeExqVXRNaTQxSURRZ01DQXdMUzQxTGpVZ01DQXllaUl2UGp4d1lYUm9JR1E5SWsweU5TQTRZVEl1TlNBeUxqVWdNQ0F4SURFdE5TQXdJREl1TlNBeUxqVWdNQ0F4SURFZ05TQXdlaUl2UGp3dlp6NDhjR0YwYUNCa1BTSk5NVGN1TlNBeU5tZ3hNRTB4TlNBek1HZ3hOVzB0Tnk0MUxURTBMalYyTlUweU1DQXhPR2cxSWlCemRISnZhMlV0YkdsdVpXcHZhVzQ5SW0xcGRHVnlJaTgrUEM5blBqd3ZjM1puUGc9PScpO1xufVxuLmNnLXdyYXAgcGllY2Uua25pZ2h0LndoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTBOU0lnYUdWcFoyaDBQU0kwTlNJK1BHY2dabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMTNhV1IwYUQwaU1TNDFJaUJ6ZEhKdmEyVXRiR2x1WldOaGNEMGljbTkxYm1RaUlITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpUGp4d1lYUm9JR1E5SWsweU1pQXhNR014TUM0MUlERWdNVFl1TlNBNElERTJJREk1U0RFMVl6QXRPU0F4TUMwMkxqVWdPQzB5TVNJZ1ptbHNiRDBpSTJabVppSXZQanh3WVhSb0lHUTlJazB5TkNBeE9HTXVNemdnTWk0NU1TMDFMalUxSURjdU16Y3RPQ0E1TFRNZ01pMHlMamd5SURRdU16UXROU0EwTFRFdU1EUXlMUzQ1TkNBeExqUXhMVE11TURRZ01DMHpMVEVnTUNBdU1Ua2dNUzR5TXkweElESXRNU0F3TFRRdU1EQXpJREV0TkMwMElEQXRNaUEyTFRFeUlEWXRNVEp6TVM0NE9TMHhMamtnTWkwekxqVmpMUzQzTXkwdU9UazBMUzQxTFRJdExqVXRNeUF4TFRFZ015QXlMalVnTXlBeUxqVm9Nbk11TnpndE1TNDVPVElnTWk0MUxUTmpNU0F3SURFZ015QXhJRE1pSUdacGJHdzlJaU5tWm1ZaUx6NDhjR0YwYUNCa1BTSk5PUzQxSURJMUxqVmhMalV1TlNBd0lERWdNUzB4SURBZ0xqVXVOU0F3SURFZ01TQXhJREI2YlRVdU5ETXpMVGt1TnpWaExqVWdNUzQxSURNd0lERWdNUzB1T0RZMkxTNDFMalVnTVM0MUlETXdJREVnTVNBdU9EWTJMalY2SWlCbWFXeHNQU0lqTURBd0lpOCtQQzluUGp3dmMzWm5QZz09Jyk7XG59XG4uY2ctd3JhcCBwaWVjZS5yb29rLndoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTBOU0lnYUdWcFoyaDBQU0kwTlNJK1BHY2dabWxzYkQwaUkyWm1aaUlnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMTNhV1IwYUQwaU1TNDFJaUJ6ZEhKdmEyVXRiR2x1WldOaGNEMGljbTkxYm1RaUlITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpUGp4d1lYUm9JR1E5SWswNUlETTVhREkzZGkwelNEbDJNM3B0TXkwemRpMDBhREl4ZGpSSU1USjZiUzB4TFRJeVZqbG9OSFl5YURWV09XZzFkakpvTlZZNWFEUjJOU0lnYzNSeWIydGxMV3hwYm1WallYQTlJbUoxZEhRaUx6NDhjR0YwYUNCa1BTSk5NelFnTVRSc0xUTWdNMGd4Tkd3dE15MHpJaTgrUEhCaGRHZ2daRDBpVFRNeElERTNkakV5TGpWSU1UUldNVGNpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0ppZFhSMElpQnpkSEp2YTJVdGJHbHVaV3B2YVc0OUltMXBkR1Z5SWk4K1BIQmhkR2dnWkQwaVRUTXhJREk1TGpWc01TNDFJREl1TldndE1qQnNNUzQxTFRJdU5TSXZQanh3WVhSb0lHUTlJazB4TVNBeE5HZ3lNeUlnWm1sc2JEMGlibTl1WlNJZ2MzUnliMnRsTFd4cGJtVnFiMmx1UFNKdGFYUmxjaUl2UGp3dlp6NDhMM04yWno0PScpO1xufVxuLmNnLXdyYXAgcGllY2UucXVlZW4ud2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJME5TSWdhR1ZwWjJoMFBTSTBOU0krUEdjZ1ptbHNiRDBpSTJabVppSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxM2FXUjBhRDBpTVM0MUlpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlQanh3WVhSb0lHUTlJazA0SURFeVlUSWdNaUF3SURFZ01TMDBJREFnTWlBeUlEQWdNU0F4SURRZ01IcHRNVFl1TlMwMExqVmhNaUF5SURBZ01TQXhMVFFnTUNBeUlESWdNQ0F4SURFZ05DQXdlazAwTVNBeE1tRXlJRElnTUNBeElERXROQ0F3SURJZ01pQXdJREVnTVNBMElEQjZUVEUySURndU5XRXlJRElnTUNBeElERXROQ0F3SURJZ01pQXdJREVnTVNBMElEQjZUVE16SURsaE1pQXlJREFnTVNBeExUUWdNQ0F5SURJZ01DQXhJREVnTkNBd2VpSXZQanh3WVhSb0lHUTlJazA1SURJMll6Z3VOUzB4TGpVZ01qRXRNUzQxSURJM0lEQnNNaTB4TWkwM0lERXhWakV4YkMwMUxqVWdNVE11TlMwekxURTFMVE1nTVRVdE5TNDFMVEUwVmpJMVREY2dNVFJzTWlBeE1ub2lJSE4wY205clpTMXNhVzVsWTJGd1BTSmlkWFIwSWk4K1BIQmhkR2dnWkQwaVRUa2dNalpqTUNBeUlERXVOU0F5SURJdU5TQTBJREVnTVM0MUlERWdNU0F1TlNBekxqVXRNUzQxSURFdE1TNDFJREl1TlMweExqVWdNaTQxTFRFdU5TQXhMalV1TlNBeUxqVXVOU0F5TGpVZ05pNDFJREVnTVRZdU5TQXhJREl6SURBZ01DQXdJREV1TlMweElEQXRNaTQxSURBZ01DQXVOUzB4TGpVdE1TMHlMalV0TGpVdE1pNDFMUzQxTFRJZ0xqVXRNeTQxSURFdE1pQXlMalV0TWlBeUxqVXROQzA0TGpVdE1TNDFMVEU0TGpVdE1TNDFMVEkzSURCNklpQnpkSEp2YTJVdGJHbHVaV05oY0QwaVluVjBkQ0l2UGp4d1lYUm9JR1E5SWsweE1TNDFJRE13WXpNdU5TMHhJREU0TGpVdE1TQXlNaUF3VFRFeUlETXpMalZqTmkweElERTFMVEVnTWpFZ01DSWdabWxzYkQwaWJtOXVaU0l2UGp3dlp6NDhMM04yWno0PScpO1xufVxuLmNnLXdyYXAgcGllY2Uua2luZy53aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQR2NnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzEzYVdSMGFEMGlNUzQxSWlCemRISnZhMlV0YkdsdVpXTmhjRDBpY205MWJtUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaVBqeHdZWFJvSUdROUlrMHlNaTQxSURFeExqWXpWalpOTWpBZ09HZzFJaUJ6ZEhKdmEyVXRiR2x1WldwdmFXNDlJbTFwZEdWeUlpOCtQSEJoZEdnZ1pEMGlUVEl5TGpVZ01qVnpOQzQxTFRjdU5TQXpMVEV3TGpWak1DQXdMVEV0TWk0MUxUTXRNaTQxY3kweklESXVOUzB6SURJdU5XTXRNUzQxSURNZ015QXhNQzQxSURNZ01UQXVOU0lnWm1sc2JEMGlJMlptWmlJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW1KMWRIUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGliV2wwWlhJaUx6NDhjR0YwYUNCa1BTSk5NVEV1TlNBek4yTTFMalVnTXk0MUlERTFMalVnTXk0MUlESXhJREIyTFRkek9TMDBMalVnTmkweE1DNDFZeTAwTFRZdU5TMHhNeTQxTFRNdU5TMHhOaUEwVmpJM2RpMHpMalZqTFRNdU5TMDNMalV0TVRNdE1UQXVOUzB4TmkwMExUTWdOaUExSURFd0lEVWdNVEJXTXpkNklpQm1hV3hzUFNJalptWm1JaTgrUEhCaGRHZ2daRDBpVFRFeExqVWdNekJqTlM0MUxUTWdNVFV1TlMweklESXhJREJ0TFRJeElETXVOV00xTGpVdE15QXhOUzQxTFRNZ01qRWdNRzB0TWpFZ015NDFZelV1TlMweklERTFMalV0TXlBeU1TQXdJaTgrUEM5blBqd3ZjM1puUGc9PScpO1xufVxuLmNnLXdyYXAgcGllY2UucGF3bi5ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQSEJoZEdnZ1pEMGlUVEl5TGpVZ09XTXRNaTR5TVNBd0xUUWdNUzQzT1MwMElEUWdNQ0F1T0RrdU1qa2dNUzQzTVM0M09DQXlMak00UXpFM0xqTXpJREUyTGpVZ01UWWdNVGd1TlRrZ01UWWdNakZqTUNBeUxqQXpMamswSURNdU9EUWdNaTQwTVNBMUxqQXpMVE1nTVM0d05pMDNMalF4SURVdU5UVXROeTQwTVNBeE15NDBOMmd5TTJNd0xUY3VPVEl0TkM0ME1TMHhNaTQwTVMwM0xqUXhMVEV6TGpRM0lERXVORGN0TVM0eE9TQXlMalF4TFRNZ01pNDBNUzAxTGpBeklEQXRNaTQwTVMweExqTXpMVFF1TlMwekxqSTRMVFV1TmpJdU5Ea3RMalkzTGpjNExURXVORGt1TnpndE1pNHpPQ0F3TFRJdU1qRXRNUzQzT1MwMExUUXROSG9pSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExYZHBaSFJvUFNJeExqVWlJSE4wY205clpTMXNhVzVsWTJGd1BTSnliM1Z1WkNJdlBqd3ZjM1puUGc9PScpO1xufVxuLmNnLXdyYXAgcGllY2UuYmlzaG9wLmJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTBOU0lnYUdWcFoyaDBQU0kwTlNJK1BHY2dabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMTNhV1IwYUQwaU1TNDFJaUJ6ZEhKdmEyVXRiR2x1WldOaGNEMGljbTkxYm1RaUlITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpUGp4bklHWnBiR3c5SWlNd01EQWlJSE4wY205clpTMXNhVzVsWTJGd1BTSmlkWFIwSWo0OGNHRjBhQ0JrUFNKTk9TQXpObU16TGpNNUxTNDVOeUF4TUM0eE1TNDBNeUF4TXk0MUxUSWdNeTR6T1NBeUxqUXpJREV3TGpFeElERXVNRE1nTVRNdU5TQXlJREFnTUNBeExqWTFMalUwSURNZ01pMHVOamd1T1RjdE1TNDJOUzQ1T1MweklDNDFMVE11TXprdExqazNMVEV3TGpFeExqUTJMVEV6TGpVdE1TMHpMak01SURFdU5EWXRNVEF1TVRFdU1ETXRNVE11TlNBeExURXVNelUwTGpRNUxUSXVNekl6TGpRM0xUTXRMalVnTVM0ek5UUXRNUzQ1TkNBekxUSWdNeTB5ZWlJdlBqeHdZWFJvSUdROUlrMHhOU0F6TW1NeUxqVWdNaTQxSURFeUxqVWdNaTQxSURFMUlEQWdMalV0TVM0MUlEQXRNaUF3TFRJZ01DMHlMalV0TWk0MUxUUXRNaTQxTFRRZ05TNDFMVEV1TlNBMkxURXhMalV0TlMweE5TNDFMVEV4SURRdE1UQXVOU0F4TkMwMUlERTFMalVnTUNBd0xUSXVOU0F4TGpVdE1pNDFJRFFnTUNBd0xTNDFMalVnTUNBeWVpSXZQanh3WVhSb0lHUTlJazB5TlNBNFlUSXVOU0F5TGpVZ01DQXhJREV0TlNBd0lESXVOU0F5TGpVZ01DQXhJREVnTlNBd2VpSXZQand2Wno0OGNHRjBhQ0JrUFNKTk1UY3VOU0F5Tm1neE1FMHhOU0F6TUdneE5XMHROeTQxTFRFMExqVjJOVTB5TUNBeE9HZzFJaUJ6ZEhKdmEyVTlJaU5sWTJWalpXTWlJSE4wY205clpTMXNhVzVsYW05cGJqMGliV2wwWlhJaUx6NDhMMmMrUEM5emRtYysnKTtcbn1cbi5jZy13cmFwIHBpZWNlLmtuaWdodC5ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQR2NnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzEzYVdSMGFEMGlNUzQxSWlCemRISnZhMlV0YkdsdVpXTmhjRDBpY205MWJtUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaVBqeHdZWFJvSUdROUlrMHlNaUF4TUdNeE1DNDFJREVnTVRZdU5TQTRJREUySURJNVNERTFZekF0T1NBeE1DMDJMalVnT0MweU1TSWdabWxzYkQwaUl6QXdNQ0l2UGp4d1lYUm9JR1E5SWsweU5DQXhPR011TXpnZ01pNDVNUzAxTGpVMUlEY3VNemN0T0NBNUxUTWdNaTB5TGpneUlEUXVNelF0TlNBMExURXVNRFF5TFM0NU5DQXhMalF4TFRNdU1EUWdNQzB6TFRFZ01DQXVNVGtnTVM0eU15MHhJREl0TVNBd0xUUXVNREF6SURFdE5DMDBJREF0TWlBMkxURXlJRFl0TVRKek1TNDRPUzB4TGprZ01pMHpMalZqTFM0M015MHVPVGswTFM0MUxUSXRMalV0TXlBeExURWdNeUF5TGpVZ015QXlMalZvTW5NdU56Z3RNUzQ1T1RJZ01pNDFMVE5qTVNBd0lERWdNeUF4SURNaUlHWnBiR3c5SWlNd01EQWlMejQ4Y0dGMGFDQmtQU0pOT1M0MUlESTFMalZoTGpVdU5TQXdJREVnTVMweElEQWdMalV1TlNBd0lERWdNU0F4SURCNmJUVXVORE16TFRrdU56VmhMalVnTVM0MUlETXdJREVnTVMwdU9EWTJMUzQxTGpVZ01TNDFJRE13SURFZ01TQXVPRFkyTGpWNklpQm1hV3hzUFNJalpXTmxZMlZqSWlCemRISnZhMlU5SWlObFkyVmpaV01pTHo0OGNHRjBhQ0JrUFNKTk1qUXVOVFVnTVRBdU5Hd3RMalExSURFdU5EVXVOUzR4TldNekxqRTFJREVnTlM0Mk5TQXlMalE1SURjdU9TQTJMamMxVXpNMUxqYzFJREk1TGpBMklETTFMakkxSURNNWJDMHVNRFV1TldneUxqSTFiQzR3TlMwdU5XTXVOUzB4TUM0d05pMHVPRGd0TVRZdU9EVXRNeTR5TlMweU1TNHpOQzB5TGpNM0xUUXVORGt0TlM0M09TMDJMalkwTFRrdU1Ua3ROeTR4Tm13dExqVXhMUzR4ZWlJZ1ptbHNiRDBpSTJWalpXTmxZeUlnYzNSeWIydGxQU0p1YjI1bElpOCtQQzluUGp3dmMzWm5QZz09Jyk7XG59XG4uY2ctd3JhcCBwaWVjZS5yb29rLmJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTBOU0lnYUdWcFoyaDBQU0kwTlNJK1BHY2dabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxM2FXUjBhRDBpTVM0MUlpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlQanh3WVhSb0lHUTlJazA1SURNNWFESTNkaTB6U0RsMk0zcHRNeTQxTFRkc01TNDFMVEl1TldneE4yd3hMalVnTWk0MWFDMHlNSHB0TFM0MUlEUjJMVFJvTWpGMk5FZ3hNbm9pSUhOMGNtOXJaUzFzYVc1bFkyRndQU0ppZFhSMElpOCtQSEJoZEdnZ1pEMGlUVEUwSURJNUxqVjJMVEV6YURFM2RqRXpTREUwZWlJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW1KMWRIUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGliV2wwWlhJaUx6NDhjR0YwYUNCa1BTSk5NVFFnTVRZdU5Vd3hNU0F4TkdneU0yd3RNeUF5TGpWSU1UUjZUVEV4SURFMFZqbG9OSFl5YURWV09XZzFkakpvTlZZNWFEUjJOVWd4TVhvaUlITjBjbTlyWlMxc2FXNWxZMkZ3UFNKaWRYUjBJaTgrUEhCaGRHZ2daRDBpVFRFeUlETTFMalZvTWpGdExUSXdMVFJvTVRsdExURTRMVEpvTVRkdExURTNMVEV6YURFM1RURXhJREUwYURJeklpQm1hV3hzUFNKdWIyNWxJaUJ6ZEhKdmEyVTlJaU5sWTJWalpXTWlJSE4wY205clpTMTNhV1IwYUQwaU1TSWdjM1J5YjJ0bExXeHBibVZxYjJsdVBTSnRhWFJsY2lJdlBqd3ZaejQ4TDNOMlp6ND0nKTtcbn1cbi5jZy13cmFwIHBpZWNlLnF1ZWVuLmJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTBOU0lnYUdWcFoyaDBQU0kwTlNJK1BHY2dabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxM2FXUjBhRDBpTVM0MUlpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlQanhuSUhOMGNtOXJaVDBpYm05dVpTSStQR05wY21Oc1pTQmplRDBpTmlJZ1kzazlJakV5SWlCeVBTSXlMamMxSWk4K1BHTnBjbU5zWlNCamVEMGlNVFFpSUdONVBTSTVJaUJ5UFNJeUxqYzFJaTgrUEdOcGNtTnNaU0JqZUQwaU1qSXVOU0lnWTNrOUlqZ2lJSEk5SWpJdU56VWlMejQ4WTJseVkyeGxJR040UFNJek1TSWdZM2s5SWpraUlISTlJakl1TnpVaUx6NDhZMmx5WTJ4bElHTjRQU0l6T1NJZ1kzazlJakV5SWlCeVBTSXlMamMxSWk4K1BDOW5Qanh3WVhSb0lHUTlJazA1SURJMll6Z3VOUzB4TGpVZ01qRXRNUzQxSURJM0lEQnNNaTQxTFRFeUxqVk1NekVnTWpWc0xTNHpMVEUwTGpFdE5TNHlJREV6TGpZdE15MHhOQzQxTFRNZ01UUXVOUzAxTGpJdE1UTXVOa3d4TkNBeU5TQTJMalVnTVRNdU5TQTVJREkyZWlJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW1KMWRIUWlMejQ4Y0dGMGFDQmtQU0pOT1NBeU5tTXdJRElnTVM0MUlESWdNaTQxSURRZ01TQXhMalVnTVNBeElDNDFJRE11TlMweExqVWdNUzB4TGpVZ01pNDFMVEV1TlNBeUxqVXRNUzQxSURFdU5TNDFJREl1TlM0MUlESXVOU0EyTGpVZ01TQXhOaTQxSURFZ01qTWdNQ0F3SURBZ01TNDFMVEVnTUMweUxqVWdNQ0F3SUM0MUxURXVOUzB4TFRJdU5TMHVOUzB5TGpVdExqVXRNaUF1TlMwekxqVWdNUzB5SURJdU5TMHlJREl1TlMwMExUZ3VOUzB4TGpVdE1UZ3VOUzB4TGpVdE1qY2dNSG9pSUhOMGNtOXJaUzFzYVc1bFkyRndQU0ppZFhSMElpOCtQSEJoZEdnZ1pEMGlUVEV4SURNNExqVmhNelVnTXpVZ01TQXdJREFnTWpNZ01DSWdabWxzYkQwaWJtOXVaU0lnYzNSeWIydGxMV3hwYm1WallYQTlJbUoxZEhRaUx6NDhjR0YwYUNCa1BTSk5NVEVnTWpsaE16VWdNelVnTVNBd0lERWdNak1nTUcwdE1qRXVOU0F5TGpWb01qQnRMVEl4SUROaE16VWdNelVnTVNBd0lEQWdNaklnTUcwdE1qTWdNMkV6TlNBek5TQXhJREFnTUNBeU5DQXdJaUJtYVd4c1BTSnViMjVsSWlCemRISnZhMlU5SWlObFkyVmpaV01pTHo0OEwyYytQQzl6ZG1jKycpO1xufVxuLmNnLXdyYXAgcGllY2Uua2luZy5ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTlNJZ2FHVnBaMmgwUFNJME5TSStQR2NnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzEzYVdSMGFEMGlNUzQxSWlCemRISnZhMlV0YkdsdVpXTmhjRDBpY205MWJtUWlJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaVBqeHdZWFJvSUdROUlrMHlNaTQxSURFeExqWXpWallpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpYldsMFpYSWlMejQ4Y0dGMGFDQmtQU0pOTWpJdU5TQXlOWE0wTGpVdE55NDFJRE10TVRBdU5XTXdJREF0TVMweUxqVXRNeTB5TGpWekxUTWdNaTQxTFRNZ01pNDFZeTB4TGpVZ015QXpJREV3TGpVZ015QXhNQzQxSWlCbWFXeHNQU0lqTURBd0lpQnpkSEp2YTJVdGJHbHVaV05oY0QwaVluVjBkQ0lnYzNSeWIydGxMV3hwYm1WcWIybHVQU0p0YVhSbGNpSXZQanh3WVhSb0lHUTlJazB4TVM0MUlETTNZelV1TlNBekxqVWdNVFV1TlNBekxqVWdNakVnTUhZdE4zTTVMVFF1TlNBMkxURXdMalZqTFRRdE5pNDFMVEV6TGpVdE15NDFMVEUySURSV01qZDJMVE11TldNdE15NDFMVGN1TlMweE15MHhNQzQxTFRFMkxUUXRNeUEySURVZ01UQWdOU0F4TUZZek4zb2lJR1pwYkd3OUlpTXdNREFpTHo0OGNHRjBhQ0JrUFNKTk1qQWdPR2cxSWlCemRISnZhMlV0YkdsdVpXcHZhVzQ5SW0xcGRHVnlJaTgrUEhCaGRHZ2daRDBpVFRNeUlESTVMalZ6T0M0MUxUUWdOaTR3TXkwNUxqWTFRek0wTGpFMUlERTBJREkxSURFNElESXlMalVnTWpRdU5Xd3VNREVnTWk0eExTNHdNUzB5TGpGRE1qQWdNVGdnT1M0NU1EWWdNVFFnTmk0NU9UY2dNVGt1T0RWakxUSXVORGszSURVdU5qVWdOQzQ0TlRNZ09TQTBMamcxTXlBNUlpQnpkSEp2YTJVOUlpTmxZMlZqWldNaUx6NDhjR0YwYUNCa1BTSk5NVEV1TlNBek1HTTFMalV0TXlBeE5TNDFMVE1nTWpFZ01HMHRNakVnTXk0MVl6VXVOUzB6SURFMUxqVXRNeUF5TVNBd2JTMHlNU0F6TGpWak5TNDFMVE1nTVRVdU5TMHpJREl4SURBaUlITjBjbTlyWlQwaUkyVmpaV05sWXlJdlBqd3ZaejQ4TDNOMlp6ND0nKTtcbn1cbiIsICIvKiBHZW5lcmFsICovXG4uY2hlc3Mtc3R1ZHkgYnV0dG9uOmFjdGl2ZSB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xufVxuXG4uY2hlc3Mtc3R1ZHkgLnZlcnRpY2FsLWFsaWduIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNoZXNzLXN0dWR5IC5jZW50ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNoZXNzLXN0dWR5IC5oZWlnaHQtd2lkdGgtMTAwIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmNoZXNzLXN0dWR5IC50YWJsZSB7XG5cdGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uY2hlc3Mtc3R1ZHkge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1heC13aWR0aDogNzUwcHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLXNlY29uZGFyeSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtc2Vjb25kYXJ5LWFsdCk7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmNoZXNzLXN0dWR5ICosXG4uY2hlc3Mtc3R1ZHkgKjo6YmVmb3JlLFxuLmNoZXNzLXN0dWR5ICo6OmFmdGVyIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5jaGVzcy1zdHVkeSAqIHtcblx0bWFyZ2luOiAwO1xufVxuXG4uY2hlc3Mtc3R1ZHkgaW5wdXQsXG4uY2hlc3Mtc3R1ZHkgYnV0dG9uLFxuLmNoZXNzLXN0dWR5IHRleHRhcmVhLFxuLmNoZXNzLXN0dWR5IHNlbGVjdCB7XG5cdGZvbnQ6IGluaGVyaXQ7XG59XG5cbi5jaGVzcy1zdHVkeSBwLFxuLmNoZXNzLXN0dWR5IGgxLFxuLmNoZXNzLXN0dWR5IGgyLFxuLmNoZXNzLXN0dWR5IGgzLFxuLmNoZXNzLXN0dWR5IGg0LFxuLmNoZXNzLXN0dWR5IGg1LFxuLmNoZXNzLXN0dWR5IGg2IHtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLyogQ29udGFpbmVyICovXG4uY2hlc3Mtc3R1ZHkgLmNoZXNzZ3JvdW5kLXBnbi1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDQ1MHB4O1xufVxuXG4uY2hlc3Mtc3R1ZHkgLmNoZXNzZ3JvdW5kLXBnbi1jb250YWluZXIgLmNoZXNzZ3JvdW5kLWNvbnRhaW5lciB7XG5cdGZsZXg6IDAgMCA0NTBweDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uY2hlc3Mtc3R1ZHkgLmNoZXNzZ3JvdW5kLXBnbi1jb250YWluZXIgLnBnbi1jb250YWluZXIge1xuXHRmbGV4OiAxO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIFBHTiBWaWV3ZXIgKi9cblxuLmNoZXNzLXN0dWR5IC5tb3ZlLWl0ZW0tc2VjdGlvbiB7XG5cdGhlaWdodDogNDE1cHg7XG59XG5cbi5jaGVzcy1zdHVkeSAuYnV0dG9uLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGdhcDogNHB4O1xuXHRoZWlnaHQ6IDM1cHg7XG59XG5cbi8qIE1vdmUgSXRlbXMgKi9cblxuLmNoZXNzLXN0dWR5IC5tb3ZlLWl0ZW0tY29udGFpbmVyIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAwLjE1ZnIgMC40MjVmciAwLjQyNWZyO1xuXHRncmlkLWF1dG8tcm93czogbWlubWF4KDMwcHgsIGF1dG8pO1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LWhlaWdodDogNDE1cHg7XG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLmNoZXNzLXN0dWR5IC5tb3ZlLWl0ZW0ge1xuXHRwYWRkaW5nLWxlZnQ6IDhweDtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5jaGVzcy1zdHVkeSAubW92ZS1pdGVtOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKFxuXHRcdHZhcigtLWFjY2VudC1oKSxcblx0XHR2YXIoLS1hY2NlbnQtcyksXG5cdFx0Y2FsYyh2YXIoLS1hY2NlbnQtbCkpXG5cdCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNoZXNzLXN0dWR5IC5tb3ZlLWl0ZW0uYWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKFxuXHRcdHZhcigtLWFjY2VudC1oKSxcblx0XHR2YXIoLS1hY2NlbnQtcyksXG5cdFx0Y2FsYyh2YXIoLS1hY2NlbnQtbCkgLSAxMCUpXG5cdCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW9uLWFjY2VudCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBWYXJpYW50IE1vdmUgSXRlbXMgKi9cblxuLmNoZXNzLXN0dWR5IC52YXJpYW50cy1jb250YWluZXIge1xuXHRncmlkLWNvbHVtbjogc3BhbiAzIC8gYXV0bztcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJhc2UtNTApO1xufVxuXG4uY2hlc3Mtc3R1ZHkgLnZhcmlhbnQtY29udGFpbmVyIHtcblx0Z3JpZC1jb2x1bW46IHNwYW4gMyAvIGF1dG87XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jaGVzcy1zdHVkeSAubW92ZS1pbmRpY2F0b3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmFzZS02MCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFzZS0xMCk7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5jaGVzcy1zdHVkeSAudmFyaWFudC1tb3ZlLWl0ZW0ge1xuXHRwYWRkaW5nLWxlZnQ6IDZweDtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNoZXNzLXN0dWR5IC52YXJpYW50LW1vdmUtaXRlbS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdHBhZGRpbmc6IDRweCAwO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmFzZS01MCk7XG59XG5cbi5jaGVzcy1zdHVkeSAudmFyaWFudC1tb3ZlLWl0ZW0uYWN0aXZlLFxuLmNoZXNzLXN0dWR5IC52YXJpYW50LW1vdmUtaXRlbTpob3ZlciB7XG5cdGNvbG9yOiBoc2wodmFyKC0tYWNjZW50LWgpLCB2YXIoLS1hY2NlbnQtcyksIGNhbGModmFyKC0tYWNjZW50LWwpIC0gMTAlKSk7XG59XG5cbi5jaGVzcy1zdHVkeSAudmFyaWFudC1tb3ZlLWluZGljYXRvciB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBDb21tZW50IFNlY3Rpb24gKi9cblxuLmNoZXNzLXN0dWR5IC5lZGl0b3ItaW5wdXQge1xuXHRtaW4taGVpZ2h0OiAxNTBweDtcblx0cmVzaXplOiBub25lO1xuXHRmb250LXNpemU6IDE1cHg7XG5cdGNhcmV0LWNvbG9yOiByZ2IoNSwgNSwgNSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dGFiLXNpemU6IDE7XG5cdG91dGxpbmU6IDA7XG5cdHBhZGRpbmc6IDE1cHggMTBweDtcblx0Y2FyZXQtY29sb3I6ICM0NDQ7XG59XG5cbi5jaGVzcy1zdHVkeSAuQ29tbWVudFNlY3Rpb24ge1xuXHRoZWlnaHQ6IDI1MHB4O1xuXHRwYWRkaW5nLXRvcDogNXB4O1xuXHRvdmVyZmxvdzogc2Nyb2xsO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbn1cblxuLmNoZXNzLXN0dWR5IC5Qcm9zZU1pcnJvcixcbi5jaGVzcy1zdHVkeSAuQ29tbWVudFNlY3Rpb24gPiBkaXYge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUFBO0FBQ0M7QUFBQTs7O0FDREQ7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFFQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUVFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTs7O0FDM0tGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBUUY7QUFDRTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUFBOzs7QUN2REY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBOzs7QUNsQ0Y7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUFBO0FBQUE7QUFHQztBQUFBO0FBRUQ7QUFDQztBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBQUE7QUFJQztBQUFBO0FBR0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQztBQUFBO0FBSUQ7QUFDQztBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUFBO0FBS0Q7QUFDQztBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUtEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFLQTtBQUNBO0FBQUE7QUFHRDtBQUNDO0FBS0E7QUFDQTtBQUFBO0FBS0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Q7QUFDQztBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUFBO0FBR0Q7QUFDQztBQUFBO0FBS0Q7QUFDQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQ0M7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdEO0FBQUE7QUFFQztBQUNBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg== */