From a60344d9e879f38429eae314d3d70b9383e8fd01 Mon Sep 17 00:00:00 2001 From: muhammedaltug Date: Wed, 17 Aug 2022 08:40:33 +0300 Subject: [PATCH 001/130] update angular utils and angular version --- npm/ng-packs/packages/schematics/package.json | 6 +- .../schematics/src/utils/angular/README.md | 2 +- .../schematics/src/utils/angular/ast-utils.ts | 193 ++----- .../schematics/src/utils/angular/change.ts | 32 +- .../schematics/src/utils/angular/config.ts | 541 ------------------ .../src/utils/angular/dependencies.ts | 12 +- .../src/utils/angular/find-module.ts | 25 +- .../src/utils/angular/generate-from-files.ts | 61 ++ .../schematics/src/utils/angular/index.ts | 6 +- .../schematics/src/utils/angular/json-file.ts | 43 +- .../src/utils/angular/json-utils.ts | 221 ------- .../src/utils/angular/latest-versions.ts | 26 - .../angular/latest-versions/package.json | 20 + .../schematics/src/utils/angular/lint-fix.ts | 54 -- .../src/utils/angular/ng-ast-utils.ts | 9 +- .../src/utils/angular/parse-name.ts | 5 +- .../schematics/src/utils/angular/paths.ts | 2 +- .../src/utils/angular/project-targets.ts | 2 +- .../schematics/src/utils/angular/tsconfig.ts | 76 --- .../src/utils/angular/validation.ts | 60 +- .../src/utils/angular/workspace-models.ts | 23 +- .../schematics/src/utils/angular/workspace.ts | 51 +- 22 files changed, 273 insertions(+), 1197 deletions(-) delete mode 100644 npm/ng-packs/packages/schematics/src/utils/angular/config.ts create mode 100644 npm/ng-packs/packages/schematics/src/utils/angular/generate-from-files.ts delete mode 100644 npm/ng-packs/packages/schematics/src/utils/angular/json-utils.ts delete mode 100644 npm/ng-packs/packages/schematics/src/utils/angular/latest-versions.ts create mode 100644 npm/ng-packs/packages/schematics/src/utils/angular/latest-versions/package.json delete mode 100644 npm/ng-packs/packages/schematics/src/utils/angular/lint-fix.ts delete mode 100644 npm/ng-packs/packages/schematics/src/utils/angular/tsconfig.ts diff --git a/npm/ng-packs/packages/schematics/package.json b/npm/ng-packs/packages/schematics/package.json index b1e06b9db0..ad8168b033 100644 --- a/npm/ng-packs/packages/schematics/package.json +++ b/npm/ng-packs/packages/schematics/package.json @@ -9,12 +9,12 @@ "license": "MIT", "schematics": "./collection.json", "dependencies": { - "@angular-devkit/core": "~11.0.2", - "@angular-devkit/schematics": "~11.0.2", + "@angular-devkit/core": "~13.3.9", + "@angular-devkit/schematics": "~13.3.9", "got": "^11.5.2", "jsonc-parser": "^2.3.0", "should-quote": "^1.0.0", - "typescript": "~3.9.2" + "typescript": "~4.6.4" }, "devDependencies": { "@schematics/angular": "~11.0.2", diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/README.md b/npm/ng-packs/packages/schematics/src/utils/angular/README.md index 8d98f50e2d..2ee7484e2a 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/README.md +++ b/npm/ng-packs/packages/schematics/src/utils/angular/README.md @@ -1,5 +1,5 @@ **DISCLAIMER** -This directory is a direct copy of https://github.com/angular/angular-cli/tree/master/packages/schematics/angular/utility and is used under terms and permissions by the MIT license granted by Google, Inc. +This directory is a direct copy of https://github.com/angular/angular-cli/tree/d091bb0c7b76a73e1b7d4b5690c532c68452b1d6 and is used under terms and permissions by the MIT license granted by Google, Inc. All credits go to Angular team for building these utilities. diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/ast-utils.ts b/npm/ng-packs/packages/schematics/src/utils/angular/ast-utils.ts index 66c35a8113..86801032f6 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/ast-utils.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/ast-utils.ts @@ -1,10 +1,12 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ + +import { tags } from '@angular-devkit/core'; import * as ts from 'typescript'; import { Change, InsertChange, NoopChange } from './change'; @@ -146,7 +148,7 @@ export function findNodes( } if (max > 0 && (recursive || !test(node))) { for (const child of node.getChildren()) { - findNodes(child, test, max).forEach(node => { + findNodes(child, test, max, recursive).forEach(node => { if (max > 0) { arr.push(node); } @@ -187,7 +189,6 @@ export function getSourceNodes(sourceFile: ts.SourceFile): ts.Node[] { export function findNode(node: ts.Node, kind: ts.SyntaxKind, text: string): ts.Node | null { if (node.kind === kind && node.getText() === text) { - // throw new Error(node.getText()); return node; } @@ -244,20 +245,7 @@ export function insertAfterLastOccurrence( return new InsertChange(file, lastItemPosition, toInsert); } -export function getContentOfKeyLiteral(_source: ts.SourceFile, node: ts.Node): string | null { - if (node.kind == ts.SyntaxKind.Identifier) { - return (node as ts.Identifier).text; - } else if (node.kind == ts.SyntaxKind.StringLiteral) { - return (node as ts.StringLiteral).text; - } else { - return null; - } -} - -function _angularImportsFromNode( - node: ts.ImportDeclaration, - _sourceFile: ts.SourceFile, -): { [name: string]: string } { +function _angularImportsFromNode(node: ts.ImportDeclaration): { [name: string]: string } { const ms = node.moduleSpecifier; let modulePath: string; switch (ms.kind) { @@ -281,11 +269,11 @@ function _angularImportsFromNode( if (nb.kind == ts.SyntaxKind.NamespaceImport) { // This is of the form `import * as name from 'path'`. Return `name.`. return { - [(nb as ts.NamespaceImport).name.text + '.']: modulePath, + [nb.name.text + '.']: modulePath, }; } else { // This is of the form `import {a,b,c} from 'path'` - const namedImports = nb as ts.NamedImports; + const namedImports = nb; return namedImports.elements .map((is: ts.ImportSpecifier) => (is.propertyName ? is.propertyName.text : is.name.text)) @@ -310,7 +298,7 @@ export function getDecoratorMetadata( module: string, ): ts.Node[] { const angularImports = findNodes(source, ts.isImportDeclaration) - .map(node => _angularImportsFromNode(node, source)) + .map(node => _angularImportsFromNode(node)) .reduce((acc, current) => { for (const key of Object.keys(current)) { acc[key] = current[key]; @@ -354,38 +342,6 @@ export function getDecoratorMetadata( .map(expr => expr.arguments[0] as ts.ObjectLiteralExpression); } -function findClassDeclarationParent(node: ts.Node): ts.ClassDeclaration | undefined { - if (ts.isClassDeclaration(node)) { - return node; - } - - return node.parent && findClassDeclarationParent(node.parent); -} - -/** - * Given a source file with @NgModule class(es), find the name of the first @NgModule class. - * - * @param source source file containing one or more @NgModule - * @returns the name of the first @NgModule, or `undefined` if none is found - */ -export function getFirstNgModuleName(source: ts.SourceFile): string | undefined { - // First, find the @NgModule decorators. - const ngModulesMetadata = getDecoratorMetadata(source, 'NgModule', '@angular/core'); - if (ngModulesMetadata.length === 0) { - return undefined; - } - - // Then walk parent pointers up the AST, looking for the ClassDeclaration parent of the NgModule - // metadata. - const moduleClass = findClassDeclarationParent(ngModulesMetadata[0]); - if (!moduleClass || !moduleClass.name) { - return undefined; - } - - // Get the class name of the module ClassDeclaration. - return moduleClass.name.text; -} - export function getMetadataField( node: ts.ObjectLiteralExpression, metadataField: string, @@ -396,9 +352,7 @@ export function getMetadataField( // Filter out every fields that's not "metadataField". Also handles string literals // (but not expressions). .filter(({ name }) => { - return ( - (ts.isIdentifier(name) || ts.isStringLiteral(name)) && name.getText() === metadataField - ); + return (ts.isIdentifier(name) || ts.isStringLiteral(name)) && name.text === metadataField; }) ); } @@ -411,36 +365,33 @@ export function addSymbolToNgModuleMetadata( importPath: string | null = null, ): Change[] { const nodes = getDecoratorMetadata(source, 'NgModule', '@angular/core'); - let node: any = nodes[0]; + const node = nodes[0]; // Find the decorator declaration. - if (!node) { + if (!node || !ts.isObjectLiteralExpression(node)) { return []; } // Get all the children property assignment of object literals. - const matchingProperties = getMetadataField(node as ts.ObjectLiteralExpression, metadataField); + const matchingProperties = getMetadataField(node, metadataField); - // Get the last node of the array literal. - if (!matchingProperties) { - return []; - } if (matchingProperties.length == 0) { // We haven't found the field in the metadata declaration. Insert a new field. - const expr = node as ts.ObjectLiteralExpression; let position: number; let toInsert: string; - if (expr.properties.length == 0) { - position = expr.getEnd() - 1; - toInsert = ` ${metadataField}: [${symbolName}]\n`; + if (node.properties.length == 0) { + position = node.getEnd() - 1; + toInsert = `\n ${metadataField}: [\n${tags.indentBy(4)`${symbolName}`}\n ]\n`; } else { - node = expr.properties[expr.properties.length - 1]; - position = node.getEnd(); + const childNode = node.properties[node.properties.length - 1]; + position = childNode.getEnd(); // Get the indentation of the last element, if any. - const text = node.getFullText(source); - const matches = text.match(/^\r?\n\s*/); - if (matches && matches.length > 0) { - toInsert = `,${matches[0]}${metadataField}: [${symbolName}]`; + const text = childNode.getFullText(source); + const matches = text.match(/^(\r?\n)(\s*)/); + if (matches) { + toInsert = + `,${matches[0]}${metadataField}: [${matches[1]}` + + `${tags.indentBy(matches[2].length + 2)`${symbolName}`}${matches[0]}]`; } else { toInsert = `, ${metadataField}: [${symbolName}]`; } @@ -454,69 +405,48 @@ export function addSymbolToNgModuleMetadata( return [new InsertChange(ngModulePath, position, toInsert)]; } } - const assignment = matchingProperties[0] as ts.PropertyAssignment; + const assignment = matchingProperties[0]; // If it's not an array, nothing we can do really. - if (assignment.initializer.kind !== ts.SyntaxKind.ArrayLiteralExpression) { + if ( + !ts.isPropertyAssignment(assignment) || + !ts.isArrayLiteralExpression(assignment.initializer) + ) { return []; } - const arrLiteral = assignment.initializer as ts.ArrayLiteralExpression; - if (arrLiteral.elements.length == 0) { - // Forward the property. - node = arrLiteral; - } else { - node = arrLiteral.elements; - } - - if (!node) { - console.error('No app module found. Please add your new class to your component.'); + let expresssion: ts.Expression | ts.ArrayLiteralExpression; + const assignmentInit = assignment.initializer; + const elements = assignmentInit.elements; - return []; - } - - if (Array.isArray(node)) { - // eslint-disable-next-line @typescript-eslint/ban-types - const nodeArray = node as {} as Array; - const symbolsArray = nodeArray.map(node => node.getText()); - if (symbolsArray.includes(symbolName)) { + if (elements.length) { + const symbolsArray = elements.map(node => tags.oneLine`${node.getText()}`); + if (symbolsArray.includes(tags.oneLine`${symbolName}`)) { return []; } - node = node[node.length - 1]; + expresssion = elements[elements.length - 1]; + } else { + expresssion = assignmentInit; } let toInsert: string; - let position = node.getEnd(); - if (node.kind == ts.SyntaxKind.ObjectLiteralExpression) { - // We haven't found the field in the metadata declaration. Insert a new - // field. - const expr = node as ts.ObjectLiteralExpression; - if (expr.properties.length == 0) { - position = expr.getEnd() - 1; - toInsert = ` ${symbolName}\n`; - } else { - // Get the indentation of the last element, if any. - const text = node.getFullText(source); - if (text.match(/^\r?\r?\n/)) { - toInsert = `,${text.match(/^\r?\n\s*/)[0]}${symbolName}`; - } else { - toInsert = `, ${symbolName}`; - } - } - } else if (node.kind == ts.SyntaxKind.ArrayLiteralExpression) { + let position = expresssion.getEnd(); + if (ts.isArrayLiteralExpression(expresssion)) { // We found the field but it's empty. Insert it just before the `]`. position--; - toInsert = `${symbolName}`; + toInsert = `\n${tags.indentBy(4)`${symbolName}`}\n `; } else { // Get the indentation of the last element, if any. - const text = node.getFullText(source); - if (text.match(/^\r?\n/)) { - toInsert = `,${text.match(/^\r?\n(\r?)\s*/)[0]}${symbolName}`; + const text = expresssion.getFullText(source); + const matches = text.match(/^(\r?\n)(\s*)/); + if (matches) { + toInsert = `,${matches[1]}${tags.indentBy(matches[2].length)`${symbolName}`}`; } else { toInsert = `, ${symbolName}`; } } + if (importPath !== null) { return [ new InsertChange(ngModulePath, position, toInsert), @@ -594,25 +524,6 @@ export function addBootstrapToModule( return addSymbolToNgModuleMetadata(source, modulePath, 'bootstrap', classifiedName, importPath); } -/** - * Custom function to insert an entryComponent into NgModule. It also imports it. - * @deprecated - Since version 9.0.0 with Ivy, entryComponents is no longer necessary. - */ -export function addEntryComponentToModule( - source: ts.SourceFile, - modulePath: string, - classifiedName: string, - importPath: string, -): Change[] { - return addSymbolToNgModuleMetadata( - source, - modulePath, - 'entryComponents', - classifiedName, - importPath, - ); -} - /** * Determine if an import already exists. */ @@ -690,10 +601,13 @@ export function getEnvironmentExportName(source: ts.SourceFile): string | null { * Returns the RouterModule declaration from NgModule metadata, if any. */ export function getRouterModuleDeclaration(source: ts.SourceFile): ts.Expression | undefined { - const result = getDecoratorMetadata(source, 'NgModule', '@angular/core') as ts.Node[]; - const node = result[0] as ts.ObjectLiteralExpression; - const matchingProperties = getMetadataField(node, 'imports'); + const result = getDecoratorMetadata(source, 'NgModule', '@angular/core'); + const node = result[0]; + if (!node || !ts.isObjectLiteralExpression(node)) { + return undefined; + } + const matchingProperties = getMetadataField(node, 'imports'); if (!matchingProperties) { return; } @@ -721,7 +635,10 @@ export function addRouteDeclarationToModule( ): Change { const routerModuleExpr = getRouterModuleDeclaration(source); if (!routerModuleExpr) { - throw new Error(`Couldn't find a route declaration in ${fileToAdd}.`); + throw new Error( + `Couldn't find a route declaration in ${fileToAdd}.\n` + + `Use the '--module' option to specify a different routing module.`, + ); } const scopeConfigMethodArgs = (routerModuleExpr as ts.CallExpression).arguments; if (!scopeConfigMethodArgs.length) { diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/change.ts b/npm/ng-packs/packages/schematics/src/utils/angular/change.ts index 543e41427b..08df56a6dd 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/change.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/change.ts @@ -1,10 +1,13 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ + +import { UpdateRecorder } from '@angular-devkit/schematics'; + export interface Host { write(path: string, content: string): Promise; read(path: string): Promise; @@ -56,7 +59,7 @@ export class InsertChange implements Change { * This method does not insert spaces if there is none in the original string. */ apply(host: Host) { - return host.read(this.path).then(content => { + return host.read(this.path).then((content) => { const prefix = content.substring(0, this.pos); const suffix = content.substring(this.pos); @@ -72,7 +75,7 @@ export class RemoveChange implements Change { order: number; description: string; - constructor(public path: string, private pos: number, private toRemove: string) { + constructor(public path: string, private pos: number, public toRemove: string) { if (pos < 0) { throw new Error('Negative positions are invalid'); } @@ -81,7 +84,7 @@ export class RemoveChange implements Change { } apply(host: Host): Promise { - return host.read(this.path).then(content => { + return host.read(this.path).then((content) => { const prefix = content.substring(0, this.pos); const suffix = content.substring(this.pos + this.toRemove.length); @@ -101,8 +104,8 @@ export class ReplaceChange implements Change { constructor( public path: string, private pos: number, - private oldText: string, - private newText: string, + public oldText: string, + public newText: string, ) { if (pos < 0) { throw new Error('Negative positions are invalid'); @@ -112,7 +115,7 @@ export class ReplaceChange implements Change { } apply(host: Host): Promise { - return host.read(this.path).then(content => { + return host.read(this.path).then((content) => { const prefix = content.substring(0, this.pos); const suffix = content.substring(this.pos + this.oldText.length); const text = content.substring(this.pos, this.pos + this.oldText.length); @@ -126,3 +129,18 @@ export class ReplaceChange implements Change { }); } } + +export function applyToUpdateRecorder(recorder: UpdateRecorder, changes: Change[]): void { + for (const change of changes) { + if (change instanceof InsertChange) { + recorder.insertLeft(change.pos, change.toAdd); + } else if (change instanceof RemoveChange) { + recorder.remove(change.order, change.toRemove.length); + } else if (change instanceof ReplaceChange) { + recorder.remove(change.order, change.oldText.length); + recorder.insertLeft(change.order, change.newText); + } else if (!(change instanceof NoopChange)) { + throw new Error('Unknown Change type encountered when updating a recorder.'); + } + } +} diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/config.ts b/npm/ng-packs/packages/schematics/src/utils/angular/config.ts deleted file mode 100644 index 86e26d8a08..0000000000 --- a/npm/ng-packs/packages/schematics/src/utils/angular/config.ts +++ /dev/null @@ -1,541 +0,0 @@ -/* eslint-disable @typescript-eslint/ban-types */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -import { JsonParseMode, parseJson } from '@angular-devkit/core'; -import { Rule, SchematicContext, SchematicsException, Tree } from '@angular-devkit/schematics'; -import { ProjectType, WorkspaceProject, WorkspaceSchema } from './workspace-models'; - -// The interfaces below are generated from the Angular CLI configuration schema -// https://github.com/angular/angular-cli/blob/master/packages/@angular/cli/lib/config/schema.json -export interface AppConfig { - /** - * Name of the app. - */ - name?: string; - /** - * Directory where app files are placed. - */ - appRoot?: string; - /** - * The root directory of the app. - */ - root?: string; - /** - * The output directory for build results. - */ - outDir?: string; - /** - * List of application assets. - */ - assets?: ( - | string - | { - /** - * The pattern to match. - */ - glob?: string; - /** - * The dir to search within. - */ - input?: string; - /** - * The output path (relative to the outDir). - */ - output?: string; - } - )[]; - /** - * URL where files will be deployed. - */ - deployUrl?: string; - /** - * Base url for the application being built. - */ - baseHref?: string; - /** - * The runtime platform of the app. - */ - platform?: 'browser' | 'server'; - /** - * The name of the start HTML file. - */ - index?: string; - /** - * The name of the main entry-point file. - */ - main?: string; - /** - * The name of the polyfills file. - */ - polyfills?: string; - /** - * The name of the test entry-point file. - */ - test?: string; - /** - * The name of the TypeScript configuration file. - */ - tsconfig?: string; - /** - * The name of the TypeScript configuration file for unit tests. - */ - testTsconfig?: string; - /** - * The prefix to apply to generated selectors. - */ - prefix?: string; - /** - * Experimental support for a service worker from @angular/service-worker. - */ - serviceWorker?: boolean; - /** - * Global styles to be included in the build. - */ - styles?: ( - | string - | { - input?: string; - [name: string]: any; - } - )[]; - /** - * Options to pass to style preprocessors - */ - stylePreprocessorOptions?: { - /** - * Paths to include. Paths will be resolved to project root. - */ - includePaths?: string[]; - }; - /** - * Global scripts to be included in the build. - */ - scripts?: ( - | string - | { - input: string; - [name: string]: any; - } - )[]; - /** - * Source file for environment config. - */ - environmentSource?: string; - /** - * Name and corresponding file for environment config. - */ - environments?: { - [name: string]: any; - }; - appShell?: { - app: string; - route: string; - }; - budgets?: { - /** - * The type of budget - */ - type?: 'bundle' | 'initial' | 'allScript' | 'all' | 'anyScript' | 'any' | 'anyComponentStyle'; - /** - * The name of the bundle - */ - name?: string; - /** - * The baseline size for comparison. - */ - baseline?: string; - /** - * The maximum threshold for warning relative to the baseline. - */ - maximumWarning?: string; - /** - * The maximum threshold for error relative to the baseline. - */ - maximumError?: string; - /** - * The minimum threshold for warning relative to the baseline. - */ - minimumWarning?: string; - /** - * The minimum threshold for error relative to the baseline. - */ - minimumError?: string; - /** - * The threshold for warning relative to the baseline (min & max). - */ - warning?: string; - /** - * The threshold for error relative to the baseline (min & max). - */ - error?: string; - }[]; -} - -export interface CliConfig { - $schema?: string; - /** - * The global configuration of the project. - */ - project?: { - /** - * The name of the project. - */ - name?: string; - /** - * Whether or not this project was ejected. - */ - ejected?: boolean; - }; - /** - * Properties of the different applications in this project. - */ - apps?: AppConfig[]; - /** - * Configuration for end-to-end tests. - */ - e2e?: { - protractor?: { - /** - * Path to the config file. - */ - config?: string; - }; - }; - /** - * Properties to be passed to TSLint. - */ - lint?: { - /** - * File glob(s) to lint. - */ - files?: string | string[]; - /** - * Location of the tsconfig.json project file. - * Will also use as files to lint if 'files' property not present. - */ - project: string; - /** - * Location of the tslint.json configuration. - */ - tslintConfig?: string; - /** - * File glob(s) to ignore. - */ - exclude?: string | string[]; - }[]; - /** - * Configuration for unit tests. - */ - test?: { - karma?: { - /** - * Path to the karma config file. - */ - config?: string; - }; - codeCoverage?: { - /** - * Globs to exclude from code coverage. - */ - exclude?: string[]; - }; - }; - /** - * Specify the default values for generating. - */ - defaults?: { - /** - * The file extension to be used for style files. - */ - styleExt?: string; - /** - * How often to check for file updates. - */ - poll?: number; - /** - * Use lint to fix files after generation - */ - lintFix?: boolean; - /** - * Options for generating a class. - */ - class?: { - /** - * Specifies if a spec file is generated. - */ - spec?: boolean; - }; - /** - * Options for generating a component. - */ - component?: { - /** - * Flag to indicate if a directory is created. - */ - flat?: boolean; - /** - * Specifies if a spec file is generated. - */ - spec?: boolean; - /** - * Specifies if the style will be in the ts file. - */ - inlineStyle?: boolean; - /** - * Specifies if the template will be in the ts file. - */ - inlineTemplate?: boolean; - /** - * Specifies the view encapsulation strategy. - */ - viewEncapsulation?: 'Emulated' | 'Native' | 'None'; - /** - * Specifies the change detection strategy. - */ - changeDetection?: 'Default' | 'OnPush'; - }; - /** - * Options for generating a directive. - */ - directive?: { - /** - * Flag to indicate if a directory is created. - */ - flat?: boolean; - /** - * Specifies if a spec file is generated. - */ - spec?: boolean; - }; - /** - * Options for generating a guard. - */ - guard?: { - /** - * Flag to indicate if a directory is created. - */ - flat?: boolean; - /** - * Specifies if a spec file is generated. - */ - spec?: boolean; - }; - /** - * Options for generating an interface. - */ - interface?: { - /** - * Prefix to apply to interface names. (i.e. I) - */ - prefix?: string; - }; - /** - * Options for generating a module. - */ - module?: { - /** - * Flag to indicate if a directory is created. - */ - flat?: boolean; - /** - * Specifies if a spec file is generated. - */ - spec?: boolean; - }; - /** - * Options for generating a pipe. - */ - pipe?: { - /** - * Flag to indicate if a directory is created. - */ - flat?: boolean; - /** - * Specifies if a spec file is generated. - */ - spec?: boolean; - }; - /** - * Options for generating a service. - */ - service?: { - /** - * Flag to indicate if a directory is created. - */ - flat?: boolean; - /** - * Specifies if a spec file is generated. - */ - spec?: boolean; - }; - /** - * Properties to be passed to the build command. - */ - build?: { - /** - * Output sourcemaps. - */ - sourcemaps?: boolean; - /** - * Base url for the application being built. - */ - baseHref?: string; - /** - * The ssl key used by the server. - */ - progress?: boolean; - /** - * Enable and define the file watching poll time period (milliseconds). - */ - poll?: number; - /** - * Delete output path before build. - */ - deleteOutputPath?: boolean; - /** - * Do not use the real path when resolving modules. - */ - preserveSymlinks?: boolean; - /** - * Show circular dependency warnings on builds. - */ - showCircularDependencies?: boolean; - /** - * Use a separate bundle containing code used across multiple bundles. - */ - commonChunk?: boolean; - /** - * Use file name for lazy loaded chunks. - */ - namedChunks?: boolean; - }; - /** - * Properties to be passed to the serve command. - */ - serve?: { - /** - * The port the application will be served on. - */ - port?: number; - /** - * The host the application will be served on. - */ - host?: string; - /** - * Enables ssl for the application. - */ - ssl?: boolean; - /** - * The ssl key used by the server. - */ - sslKey?: string; - /** - * The ssl certificate used by the server. - */ - sslCert?: string; - /** - * Proxy configuration file. - */ - proxyConfig?: string; - }; - /** - * Properties about schematics. - */ - schematics?: { - /** - * The schematics collection to use. - */ - collection?: string; - /** - * The new app schematic. - */ - newApp?: string; - }; - }; - /** - * Specify which package manager tool to use. - */ - packageManager?: 'npm' | 'cnpm' | 'yarn' | 'default'; - /** - * Allow people to disable console warnings. - */ - warnings?: { - versionMismatch?: boolean; - }; -} - -export function getWorkspacePath(host: Tree): string { - const possibleFiles = ['/angular.json', '/.angular.json']; - const path = possibleFiles.filter(path => host.exists(path))[0]; - - return path; -} - -export function getWorkspaceSchema(host: Tree): WorkspaceSchema { - const path = getWorkspacePath(host); - const configBuffer = host.read(path); - if (configBuffer === null) { - throw new SchematicsException(`Could not find (${path})`); - } - const content = configBuffer.toString(); - - return parseJson(content, JsonParseMode.Loose) as {} as WorkspaceSchema; -} - -export function addProjectToWorkspace( - workspace: WorkspaceSchema, - name: string, - project: WorkspaceProject, -): Rule { - return (_host: Tree, _context: SchematicContext) => { - if (workspace.projects[name]) { - throw new Error(`Project '${name}' already exists in workspace.`); - } - - // Add project to workspace. - workspace.projects[name] = project; - - if (!workspace.defaultProject && Object.keys(workspace.projects).length === 1) { - // Make the new project the default one. - workspace.defaultProject = name; - } - - return updateWorkspaceSchema(workspace); - }; -} - -export function updateWorkspaceSchema(workspace: WorkspaceSchema): Rule { - return (host: Tree, _context: SchematicContext) => { - host.overwrite(getWorkspacePath(host), JSON.stringify(workspace, null, 2)); - }; -} - -export const configPath = '/.angular-cli.json'; - -export function getConfig(host: Tree): CliConfig { - const configBuffer = host.read(configPath); - if (configBuffer === null) { - throw new SchematicsException('Could not find .angular-cli.json'); - } - - const config = parseJson(configBuffer.toString(), JsonParseMode.Loose) as {} as CliConfig; - - return config; -} - -export function getAppFromConfig(config: CliConfig, appIndexOrName: string): AppConfig | null { - if (!config.apps) { - return null; - } - - if (parseInt(appIndexOrName) >= 0) { - return config.apps[parseInt(appIndexOrName)]; - } - - return config.apps.filter(app => app.name === appIndexOrName)[0]; -} diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/dependencies.ts b/npm/ng-packs/packages/schematics/src/utils/angular/dependencies.ts index 9298dba3b8..c9aa617191 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/dependencies.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/dependencies.ts @@ -1,10 +1,11 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ + import { Tree } from '@angular-devkit/schematics'; import { JSONFile } from './json-file'; @@ -36,9 +37,6 @@ export function addPackageJsonDependency( pkgJsonPath = PKG_JSON_PATH, ): void { const json = new JSONFile(tree, pkgJsonPath); - if (json.error) { - throw json.error; - } const { overwrite, type, name, version } = dependency; const path = [type, name]; @@ -53,9 +51,6 @@ export function removePackageJsonDependency( pkgJsonPath = PKG_JSON_PATH, ): void { const json = new JSONFile(tree, pkgJsonPath); - if (json.error) { - throw json.error; - } for (const depType of ALL_DEPENDENCY_TYPE) { json.remove([depType, name]); @@ -68,9 +63,6 @@ export function getPackageJsonDependency( pkgJsonPath = PKG_JSON_PATH, ): NodeDependency | null { const json = new JSONFile(tree, pkgJsonPath); - if (json.error) { - throw json.error; - } for (const depType of ALL_DEPENDENCY_TYPE) { const version = json.get([depType, name]); diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/find-module.ts b/npm/ng-packs/packages/schematics/src/utils/angular/find-module.ts index d8602244ce..a420f07eb0 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/find-module.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/find-module.ts @@ -1,21 +1,19 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { dirname, join, normalize, NormalizedRoot, Path, relative } from '@angular-devkit/core'; + +import { NormalizedRoot, Path, dirname, join, normalize, relative } from '@angular-devkit/core'; import { DirEntry, Tree } from '@angular-devkit/schematics'; export interface ModuleOptions { - project?: string; // added this module?: string; name: string; flat?: boolean; path?: string; - route?: string; // added this - selector?: string; // added this skipImport?: boolean; moduleExt?: string; routingModuleExt?: string; @@ -28,7 +26,8 @@ export const ROUTING_MODULE_EXT = '-routing.module.ts'; * Find the module referred by a set of options passed to the schematics. */ export function findModuleFromOptions(host: Tree, options: ModuleOptions): Path | undefined { - if (Object.prototype.hasOwnProperty.call(options, 'skipImport') && options.skipImport) { + // eslint-disable-next-line no-prototype-builtins + if (options.hasOwnProperty('skipImport') && options.skipImport) { return undefined; } @@ -55,8 +54,8 @@ export function findModuleFromOptions(host: Tree, options: ModuleOptions): Path const candidatesDirs = [...candidateSet].sort((a, b) => b.length - a.length); for (const c of candidatesDirs) { - const candidateFiles = ['', `${moduleBaseName}.ts`, `${moduleBaseName}${moduleExt}`].map(x => - join(c, x), + const candidateFiles = ['', `${moduleBaseName}.ts`, `${moduleBaseName}${moduleExt}`].map( + (x) => join(c, x), ); for (const sc of candidateFiles) { @@ -86,8 +85,8 @@ export function findModule( let foundRoutingModule = false; while (dir) { - const allMatches = dir.subfiles.filter(p => p.endsWith(moduleExt)); - const filteredMatches = allMatches.filter(p => !p.endsWith(routingModuleExt)); + const allMatches = dir.subfiles.filter((p) => p.endsWith(moduleExt)); + const filteredMatches = allMatches.filter((p) => !p.endsWith(routingModuleExt)); foundRoutingModule = foundRoutingModule || allMatches.length !== filteredMatches.length; @@ -95,7 +94,7 @@ export function findModule( return join(dir.path, filteredMatches[0]); } else if (filteredMatches.length > 1) { throw new Error( - 'More than one module matches. Use the skip-import option to skip importing ' + + `More than one module matches. Use the '--skip-import' option to skip importing ` + 'the component into the closest module or use the module option to specify a module.', ); } @@ -106,8 +105,8 @@ export function findModule( const errorMsg = foundRoutingModule ? 'Could not find a non Routing NgModule.' + `\nModules with suffix '${routingModuleExt}' are strictly reserved for routing.` + - '\nUse the skip-import option to skip importing in NgModule.' - : 'Could not find an NgModule. Use the skip-import option to skip importing in NgModule.'; + `\nUse the '--skip-import' option to skip importing in NgModule.` + : `Could not find an NgModule. Use the '--skip-import' option to skip importing in NgModule.`; throw new Error(errorMsg); } diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/generate-from-files.ts b/npm/ng-packs/packages/schematics/src/utils/angular/generate-from-files.ts new file mode 100644 index 0000000000..2ce391b900 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/utils/angular/generate-from-files.ts @@ -0,0 +1,61 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { strings } from '@angular-devkit/core'; +import { + apply, + applyTemplates, + chain, + filter, + mergeWith, + move, + noop, + Rule, + Tree, + url, +} from '@angular-devkit/schematics'; +import { parseName } from './parse-name'; +import { createDefaultPath } from './workspace'; + +export interface GenerateFromFilesOptions { + flat?: boolean; + name: string; + path?: string; + prefix?: string; + project?: string; + skipTests?: boolean; +} + +export function generateFromFiles( + options: GenerateFromFilesOptions, + extraTemplateValues: Record string)> = {}, +): Rule { + return async (host: Tree) => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + options.path ??= await createDefaultPath(host, options.project as string); + options.prefix ??= ''; + options.flat ??= true; + + const parsedPath = parseName(options.path!, options.name); + options.name = parsedPath.name; + options.path = parsedPath.path; + + const templateSource = apply(url('./files'), [ + options.skipTests ? filter(path => !path.endsWith('.spec.ts.template')) : noop(), + applyTemplates({ + ...strings, + ...options, + ...extraTemplateValues, + }), + move(parsedPath.path + (options.flat ? '' : '/' + strings.dasherize(options.name))), + ]); + + return chain([mergeWith(templateSource)]); + }; +} diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/index.ts b/npm/ng-packs/packages/schematics/src/utils/angular/index.ts index fec78af448..abf2992d90 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/index.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/index.ts @@ -1,17 +1,13 @@ export * from './ast-utils'; export * from './change'; -export * from './config'; export * from './dependencies'; export * from './find-module'; +export * from './generate-from-files'; export * from './json-file'; -export * from './json-utils'; -export * from './latest-versions'; -export * from './lint-fix'; export * from './ng-ast-utils'; export * from './parse-name'; export * from './paths'; export * from './project-targets'; -export * from './tsconfig'; export * from './validation'; export * from './workspace'; export * from './workspace-models'; diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/json-file.ts b/npm/ng-packs/packages/schematics/src/utils/angular/json-file.ts index 25df010315..647199ef84 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/json-file.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/json-file.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license @@ -10,46 +10,62 @@ import { JsonValue } from '@angular-devkit/core'; import { Tree } from '@angular-devkit/schematics'; import { Node, + ParseError, applyEdits, findNodeAtLocation, getNodeValue, modify, parseTree, + printParseErrorCode, } from 'jsonc-parser'; +export type InsertionIndex = (properties: string[]) => number; export type JSONPath = (string | number)[]; /** @internal */ export class JSONFile { - private content: string; - error: undefined | Error; + content: string; constructor(private readonly host: Tree, private readonly path: string) { const buffer = this.host.read(this.path); if (buffer) { this.content = buffer.toString(); } else { - this.error = new Error(`Could not read ${path}.`); + throw new Error(`Could not read '${path}'.`); } } private _jsonAst: Node | undefined; - private get JsonAst(): Node { + private get JsonAst(): Node | undefined { if (this._jsonAst) { return this._jsonAst; } - this._jsonAst = parseTree(this.content); + const errors: ParseError[] = []; + this._jsonAst = parseTree(this.content, errors, { allowTrailingComma: true }); + if (errors.length) { + const { error, offset } = errors[0]; + throw new Error( + `Failed to parse "${this.path}" as JSON AST Object. ${printParseErrorCode( + error, + )} at location: ${offset}.`, + ); + } return this._jsonAst; } get(jsonPath: JSONPath): unknown { + const jsonAstNode = this.JsonAst; + if (!jsonAstNode) { + return undefined; + } + if (jsonPath.length === 0) { - return getNodeValue(this.JsonAst); + return getNodeValue(jsonAstNode); } - const node = findNodeAtLocation(this.JsonAst, jsonPath); + const node = findNodeAtLocation(jsonAstNode, jsonPath); return node === undefined ? undefined : getNodeValue(node); } @@ -57,12 +73,15 @@ export class JSONFile { modify( jsonPath: JSONPath, value: JsonValue | undefined, - getInsertionIndex?: (properties: string[]) => number, + insertInOrder?: InsertionIndex | false, ): void { - if (!getInsertionIndex) { + let getInsertionIndex: InsertionIndex | undefined; + if (insertInOrder === undefined) { const property = jsonPath.slice(-1)[0]; - getInsertionIndex = properties => - [...properties, property].sort().findIndex(p => p === property); + getInsertionIndex = (properties) => + [...properties, property].sort().findIndex((p) => p === property); + } else if (insertInOrder !== false) { + getInsertionIndex = insertInOrder; } const edits = modify(this.content, jsonPath, value, { diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/json-utils.ts b/npm/ng-packs/packages/schematics/src/utils/angular/json-utils.ts deleted file mode 100644 index 0e71dd7545..0000000000 --- a/npm/ng-packs/packages/schematics/src/utils/angular/json-utils.ts +++ /dev/null @@ -1,221 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -import { - JsonAstArray, - JsonAstKeyValue, - JsonAstNode, - JsonAstObject, - JsonValue, -} from '@angular-devkit/core'; -import { UpdateRecorder } from '@angular-devkit/schematics'; - -export function appendPropertyInAstObject( - recorder: UpdateRecorder, - node: JsonAstObject, - propertyName: string, - value: JsonValue, - indent: number, -) { - const indentStr = _buildIndent(indent); - let index = node.start.offset + 1; - if (node.properties.length > 0) { - // Insert comma. - const last = node.properties[node.properties.length - 1]; - const { text, end } = last; - const commaIndex = text.endsWith('\n') ? end.offset - 1 : end.offset; - recorder.insertRight(commaIndex, ','); - index = end.offset; - } - const content = _stringifyContent(value, indentStr); - recorder.insertRight( - index, - (node.properties.length === 0 && indent ? '\n' : '') + - ' '.repeat(indent) + - `"${propertyName}":${indent ? ' ' : ''}${content}` + - indentStr.slice(0, -indent), - ); -} - -export function insertPropertyInAstObjectInOrder( - recorder: UpdateRecorder, - node: JsonAstObject, - propertyName: string, - value: JsonValue, - indent: number, -) { - if (node.properties.length === 0) { - appendPropertyInAstObject(recorder, node, propertyName, value, indent); - - return; - } - - // Find insertion info. - let insertAfterProp: JsonAstKeyValue | null = null; - let prev: JsonAstKeyValue | null = null; - let isLastProp = false; - const last = node.properties[node.properties.length - 1]; - for (const prop of node.properties) { - if (prop.key.value > propertyName) { - if (prev) { - insertAfterProp = prev; - } - break; - } - if (prop === last) { - isLastProp = true; - insertAfterProp = last; - } - prev = prop; - } - - if (isLastProp) { - appendPropertyInAstObject(recorder, node, propertyName, value, indent); - - return; - } - - const indentStr = _buildIndent(indent); - const insertIndex = - insertAfterProp === null ? node.start.offset + 1 : insertAfterProp.end.offset + 1; - const content = _stringifyContent(value, indentStr); - recorder.insertRight( - insertIndex, - indentStr + `"${propertyName}":${indent ? ' ' : ''}${content}` + ',', - ); -} - -export function removePropertyInAstObject( - recorder: UpdateRecorder, - node: JsonAstObject, - propertyName: string, -) { - // Find the property inside the object. - const propIdx = node.properties.findIndex(prop => prop.key.value === propertyName); - - if (propIdx === -1) { - // There's nothing to remove. - return; - } - - if (node.properties.length === 1) { - // This is a special case. Everything should be removed, including indentation. - recorder.remove(node.start.offset, node.end.offset - node.start.offset); - recorder.insertRight(node.start.offset, '{}'); - - return; - } - - // The AST considers commas and indentation to be part of the preceding property. - // To get around messy comma and identation management, we can work over the range between - // two properties instead. - const previousProp = node.properties[propIdx - 1]; - const targetProp = node.properties[propIdx]; - const nextProp = node.properties[propIdx + 1]; - - let start, end; - if (previousProp) { - // Given the object below, and intending to remove the `m` property: - // "{\n \"a\": \"a\",\n \"m\": \"m\",\n \"z\": \"z\"\n}" - // ^---------------^ - // Removing the range above results in: - // "{\n \"a\": \"a\",\n \"z\": \"z\"\n}" - start = previousProp.end; - end = targetProp.end; - } else { - // If there's no previousProp there is a nextProp, since we've specialcased the 1 length case. - // Given the object below, and intending to remove the `a` property: - // "{\n \"a\": \"a\",\n \"m\": \"m\",\n \"z\": \"z\"\n}" - // ^---------------^ - // Removing the range above results in: - // "{\n \"m\": \"m\",\n \"z\": \"z\"\n}" - start = targetProp.start; - end = nextProp.start; - } - - recorder.remove(start.offset, end.offset - start.offset); - if (!nextProp) { - recorder.insertRight(start.offset, '\n'); - } -} - -export function appendValueInAstArray( - recorder: UpdateRecorder, - node: JsonAstArray, - value: JsonValue, - indent = 4, -) { - let indentStr = _buildIndent(indent); - let index = node.start.offset + 1; - let newNodes: any[] | undefined; - - if (node.elements.length > 0) { - // Insert comma. - const { end } = node.elements[node.elements.length - 1]; - const isClosingOnSameLine = node.end.offset - end.offset === 1; - - if (isClosingOnSameLine && indent) { - // Reformat the entire array - recorder.remove(node.start.offset, node.end.offset - node.start.offset); - newNodes = [...node.elements.map(({ value }) => value), value]; - index = node.start.offset; - // In case we are generating the entire node we need to reduce the spacing as - // otherwise we'd end up having incorrect double spacing - indent = indent - 2; - indentStr = _buildIndent(indent); - } else { - recorder.insertRight(end.offset, ','); - index = end.offset; - } - } - - recorder.insertRight( - index, - (newNodes ? '' : indentStr) + - _stringifyContent(newNodes || value, indentStr) + - (node.elements.length === 0 && indent ? indentStr.substr(0, -indent) + '\n' : ''), - ); -} - -export function findPropertyInAstObject( - node: JsonAstObject, - propertyName: string, -): JsonAstNode | null { - let maybeNode: JsonAstNode | null = null; - for (const property of node.properties) { - if (property.key.value == propertyName) { - maybeNode = property.value; - } - } - - return maybeNode; -} - -function _buildIndent(count: number): string { - return count ? '\n' + ' '.repeat(count) : ''; -} - -function _stringifyContent(value: JsonValue, indentStr: string): string { - // TODO: Add snapshot tests - - // The 'space' value is 2, because we want to add 2 additional - // indents from the 'key' node. - - // If we use the indent provided we will have double indents: - // "budgets": [ - // { - // "type": "initial", - // "maximumWarning": "2mb", - // "maximumError": "5mb" - // }, - // { - // "type": "anyComponentStyle", - // 'maximumWarning": "5kb" - // } - // ] - return JSON.stringify(value, null, 2).replace(/\n/g, indentStr); -} diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/latest-versions.ts b/npm/ng-packs/packages/schematics/src/utils/angular/latest-versions.ts deleted file mode 100644 index bead0e6282..0000000000 --- a/npm/ng-packs/packages/schematics/src/utils/angular/latest-versions.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -export const latestVersions = { - // These versions should be kept up to date with latest Angular peer dependencies. - Angular: '~10.0.0-rc.0', - RxJs: '~6.6.0', - ZoneJs: '~0.10.2', - TypeScript: '~3.9.5', - TsLib: '^2.0.0', - - // The versions below must be manually updated when making a new devkit release. - // For our e2e tests, these versions must match the latest tag present on the branch. - // During RC periods they will not match the latest RC until there's a new git tag, and - // should not be updated. - DevkitBuildAngular: '~0.1000.0-rc.0', - DevkitBuildNgPackagr: '~0.1000.0-rc.0', - DevkitBuildWebpack: '~0.1000.0-rc.0', - - ngPackagr: '^10.0.0', -}; diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/latest-versions/package.json b/npm/ng-packs/packages/schematics/src/utils/angular/latest-versions/package.json new file mode 100644 index 0000000000..119d4156b8 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/utils/angular/latest-versions/package.json @@ -0,0 +1,20 @@ +{ + "description": "Package versions used by schematics in @schematics/angular.", + "comment": "This file is needed so that depedencies are synced by Renovate.", + "private": true, + "dependencies": { + "@types/jasmine": "~3.10.0", + "@types/node": "^12.11.1", + "jasmine-core": "~4.0.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.1.0", + "karma-jasmine-html-reporter": "~1.7.0", + "karma-jasmine": "~4.0.0", + "karma": "~6.3.0", + "ng-packagr": "^13.0.0", + "rxjs": "~6.6.7", + "tslib": "^2.3.0", + "typescript": "~4.6.2", + "zone.js": "~0.11.4" + } +} diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/lint-fix.ts b/npm/ng-packs/packages/schematics/src/utils/angular/lint-fix.ts deleted file mode 100644 index d0998db7ab..0000000000 --- a/npm/ng-packs/packages/schematics/src/utils/angular/lint-fix.ts +++ /dev/null @@ -1,54 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -import { - DirEntry, - Rule, - SchematicContext, - SchematicsException, - Tree, -} from '@angular-devkit/schematics'; -import { TslintFixTask } from '@angular-devkit/schematics/tasks'; - -export function applyLintFix(path = '/'): Rule { - return (tree: Tree, context: SchematicContext) => { - // Find the closest tslint.json or tslint.yaml - let dir: DirEntry | null = tree.getDir(path.substr(0, path.lastIndexOf('/'))); - - do { - if ((dir.subfiles as string[]).some(f => f === 'tslint.json' || f === 'tslint.yaml')) { - break; - } - - dir = dir.parent; - } while (dir !== null); - - if (dir === null) { - throw new SchematicsException( - 'Asked to run lint fixes, but could not find a tslint.json or tslint.yaml config file.', - ); - } - - // Only include files that have been touched. - const files = tree.actions.reduce((acc: Set, action) => { - const path = action.path.substr(1); // Remove the starting '/'. - if (path.endsWith('.ts') && dir && action.path.startsWith(dir.path)) { - acc.add(path); - } - - return acc; - }, new Set()); - - context.addTask( - new TslintFixTask({ - ignoreErrors: true, - tsConfigPath: 'tsconfig.json', - files: [...files], - }), - ); - }; -} diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/ng-ast-utils.ts b/npm/ng-packs/packages/schematics/src/utils/angular/ng-ast-utils.ts index 2c48c9b8bd..6638f832ac 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/ng-ast-utils.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/ng-ast-utils.ts @@ -1,10 +1,11 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ + import { normalize } from '@angular-devkit/core'; import { SchematicsException, Tree } from '@angular-devkit/schematics'; import { dirname } from 'path'; @@ -59,17 +60,17 @@ export function findBootstrapModulePath(host: Tree, mainPath: string): string { const mainBuffer = host.read(mainPath); if (!mainBuffer) { - throw new SchematicsException(`Client app main file (${mainPath}) not found`); + throw new SchematicsException(`Client application main file (${mainPath}) not found`); } const mainText = mainBuffer.toString('utf-8'); const source = ts.createSourceFile(mainPath, mainText, ts.ScriptTarget.Latest, true); const allNodes = getSourceNodes(source); const bootstrapModuleRelativePath = allNodes - .filter(node => node.kind === ts.SyntaxKind.ImportDeclaration) + .filter(ts.isImportDeclaration) .filter(imp => { return findNode(imp, ts.SyntaxKind.Identifier, bootstrapModule.getText()); }) - .map((imp: ts.ImportDeclaration) => { + .map(imp => { const modulePathStringLiteral = imp.moduleSpecifier as ts.StringLiteral; return modulePathStringLiteral.text; diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/parse-name.ts b/npm/ng-packs/packages/schematics/src/utils/angular/parse-name.ts index 65a45c21ee..231c99341a 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/parse-name.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/parse-name.ts @@ -1,10 +1,11 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ + // import { relative, Path } from "../../../angular_devkit/core/src/virtual-fs"; import { Path, basename, dirname, join, normalize } from '@angular-devkit/core'; @@ -15,7 +16,7 @@ export interface Location { export function parseName(path: string, name: string): Location { const nameWithoutPath = basename(normalize(name)); - const namePath = dirname(join(normalize(path), name) as Path); + const namePath = dirname(join(normalize(path), name)); return { name: nameWithoutPath, diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/paths.ts b/npm/ng-packs/packages/schematics/src/utils/angular/paths.ts index 35729a6417..dffa9e841d 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/paths.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/paths.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/project-targets.ts b/npm/ng-packs/packages/schematics/src/utils/angular/project-targets.ts index e99293f10e..7f4b7ba8c6 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/project-targets.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/project-targets.ts @@ -1,6 +1,6 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/tsconfig.ts b/npm/ng-packs/packages/schematics/src/utils/angular/tsconfig.ts deleted file mode 100644 index ae9075d94b..0000000000 --- a/npm/ng-packs/packages/schematics/src/utils/angular/tsconfig.ts +++ /dev/null @@ -1,76 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { JsonParseMode, parseJsonAst } from '@angular-devkit/core'; -import { Rule, SchematicsException, Tree } from '@angular-devkit/schematics'; -import { appendValueInAstArray, findPropertyInAstObject } from './json-utils'; - -const SOLUTION_TSCONFIG_PATH = 'tsconfig.json'; - -/** - * Add project references in "Solution Style" tsconfig. - */ -export function addTsConfigProjectReferences(paths: string[]): Rule { - return (host, context) => { - const logger = context.logger; - - // We need to read after each write to avoid missing `,` when appending multiple items. - for (const path of paths) { - const source = host.read(SOLUTION_TSCONFIG_PATH); - if (!source) { - // Solution tsconfig doesn't exist. - logger.warn( - `Cannot add reference '${path}' in '${SOLUTION_TSCONFIG_PATH}'. File doesn't exists.`, - ); - - return; - } - - const jsonAst = parseJsonAst(source.toString(), JsonParseMode.Loose); - if (jsonAst?.kind !== 'object') { - // Invalid JSON - throw new SchematicsException(`Invalid JSON AST Object '${SOLUTION_TSCONFIG_PATH}'.`); - } - - // Solutions style tsconfig can contain 2 properties: - // - 'files' with a value of empty array - // - 'references' - const filesAst = findPropertyInAstObject(jsonAst, 'files'); - const referencesAst = findPropertyInAstObject(jsonAst, 'references'); - if ( - filesAst?.kind !== 'array' || - filesAst.elements.length !== 0 || - referencesAst?.kind !== 'array' - ) { - logger.warn( - `Cannot add reference '${path}' in '${SOLUTION_TSCONFIG_PATH}'. It appears to be an invalid solution style tsconfig.`, - ); - - return; - } - - // Append new paths - const recorder = host.beginUpdate(SOLUTION_TSCONFIG_PATH); - appendValueInAstArray(recorder, referencesAst, { path: `./${path}` }, 4); - host.commitUpdate(recorder); - } - }; -} - -/** - * Throws an exception when the base tsconfig doesn't exists. - */ -export function verifyBaseTsConfigExists(host: Tree): void { - if (host.exists('tsconfig.json')) { - return; - } - - throw new SchematicsException( - `Cannot find base TypeScript configuration file 'tsconfig.json'.`, - ); -} diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/validation.ts b/npm/ng-packs/packages/schematics/src/utils/angular/validation.ts index 4fa3182a10..8a51bd9541 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/validation.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/validation.ts @@ -1,20 +1,14 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ + import { tags } from '@angular-devkit/core'; import { SchematicsException } from '@angular-devkit/schematics'; -export function validateName(name: string): void { - if (name && /^\d/.test(name)) { - throw new SchematicsException(tags.oneLine`name (${name}) - can not start with a digit.`); - } -} - // Must start with a letter, and must contain only alphanumeric characters or dashes. // When adding a dash the segment after the dash must also start with a letter. export const htmlSelectorRe = /^[a-zA-Z][.0-9a-zA-Z]*(:?-[a-zA-Z][.0-9a-zA-Z]*)*$/; @@ -25,53 +19,3 @@ export function validateHtmlSelector(selector: string): void { is invalid.`); } } - -export function validateProjectName(projectName: string) { - const errorIndex = getRegExpFailPosition(projectName); - const unsupportedProjectNames: string[] = []; - const packageNameRegex = /^(?:@[a-zA-Z0-9_-]+\/)?[a-zA-Z0-9_-]+$/; - if (errorIndex !== null) { - const firstMessage = tags.oneLine` - Project name "${projectName}" is not valid. New project names must - start with a letter, and must contain only alphanumeric characters or dashes. - When adding a dash the segment after the dash must also start with a letter. - `; - const msg = tags.stripIndent` - ${firstMessage} - ${projectName} - ${Array(errorIndex + 1).join(' ') + '^'} - `; - throw new SchematicsException(msg); - } else if (unsupportedProjectNames.indexOf(projectName) !== -1) { - throw new SchematicsException( - `Project name ${JSON.stringify(projectName)} is not a supported name.`, - ); - } else if (!packageNameRegex.test(projectName)) { - throw new SchematicsException(`Project name ${JSON.stringify(projectName)} is invalid.`); - } -} - -function getRegExpFailPosition(str: string): number | null { - const isScope = /^@.*\/.*/.test(str); - if (isScope) { - // Remove starting @ - str = str.replace(/^@/, ''); - // Change / to - for validation - str = str.replace(/\//g, '-'); - } - - const parts = str.indexOf('-') >= 0 ? str.split('-') : [str]; - const matched: string[] = []; - - const projectNameRegexp = /^[a-zA-Z][.0-9a-zA-Z]*(-[.0-9a-zA-Z]*)*$/; - - parts.forEach(part => { - if (part.match(projectNameRegexp)) { - matched.push(part); - } - }); - - const compare = matched.join('-'); - - return str !== compare ? compare.length : null; -} diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/workspace-models.ts b/npm/ng-packs/packages/schematics/src/utils/angular/workspace-models.ts index 0a9c972995..5bfa9c0878 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/workspace-models.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/workspace-models.ts @@ -1,11 +1,11 @@ -/* eslint-disable @typescript-eslint/ban-types */ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ + export enum ProjectType { Application = 'application', Library = 'library', @@ -49,7 +49,6 @@ export interface BrowserBuilderOptions extends BrowserBuilderBaseOptions { optimization?: boolean; outputHashing?: OutputHashing; resourcesOutputPath?: string; - extractCss?: boolean; namedChunks?: boolean; aot?: boolean; extractLicenses?: boolean; @@ -77,10 +76,12 @@ export interface ServerBuilderOptions { tsConfig: string; main: string; fileReplacements?: FileReplacements[]; - optimization?: { - scripts?: boolean; - styles?: boolean; - }; + optimization?: + | boolean + | { + scripts?: boolean; + styles?: boolean; + }; sourceMap?: | boolean | { @@ -101,11 +102,6 @@ export interface TestBuilderOptions extends Partial { karmaConfig: string; } -export interface LintBuilderOptions { - tsConfig: string[] | string; - exclude?: string[]; -} - export interface ExtractI18nOptions { browserTarget: string; } @@ -128,7 +124,6 @@ export type LibraryBuilderTarget = BuilderTarget; export type ServerBuilderTarget = BuilderTarget; export type AppShellBuilderTarget = BuilderTarget; -export type LintBuilderTarget = BuilderTarget; export type TestBuilderTarget = BuilderTarget; export type ServeBuilderTarget = BuilderTarget; export type ExtractI18nBuilderTarget = BuilderTarget; @@ -168,12 +163,12 @@ export interface WorkspaceProject { build?: TProjectType extends ProjectType.Library ? LibraryBuilderTarget : BrowserBuilderTarget; server?: ServerBuilderTarget; - lint?: LintBuilderTarget; test?: TestBuilderTarget; serve?: ServeBuilderTarget; e2e?: E2EBuilderTarget; 'app-shell'?: AppShellBuilderTarget; 'extract-i18n'?: ExtractI18nBuilderTarget; // TODO(hans): change this any to unknown when google3 supports TypeScript 3.0. + // eslint-disable-next-line @typescript-eslint/no-explicit-any [key: string]: any; } diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/workspace.ts b/npm/ng-packs/packages/schematics/src/utils/angular/workspace.ts index f2c3403ed9..5ac2ad855f 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/workspace.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/workspace.ts @@ -1,12 +1,13 @@ /** * @license - * Copyright Google Inc. All Rights Reserved. + * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { virtualFs, workspaces } from '@angular-devkit/core'; -import { Rule, Tree } from '@angular-devkit/schematics'; + +import { json, virtualFs, workspaces } from '@angular-devkit/core'; +import { noop, Rule, Tree } from '@angular-devkit/schematics'; import { ProjectType } from './workspace-models'; function createHost(tree: Tree): workspaces.WorkspaceHost { @@ -33,13 +34,13 @@ function createHost(tree: Tree): workspaces.WorkspaceHost { } export function updateWorkspace( - updater: (workspace: workspaces.WorkspaceDefinition) => void | PromiseLike, + updater: (workspace: workspaces.WorkspaceDefinition) => void | Rule | PromiseLike, ): Rule; export function updateWorkspace(workspace: workspaces.WorkspaceDefinition): Rule; export function updateWorkspace( updaterOrWorkspace: | workspaces.WorkspaceDefinition - | ((workspace: workspaces.WorkspaceDefinition) => void | PromiseLike), + | ((workspace: workspaces.WorkspaceDefinition) => void | Rule | PromiseLike), ): Rule { return async (tree: Tree) => { const host = createHost(tree); @@ -47,14 +48,15 @@ export function updateWorkspace( if (typeof updaterOrWorkspace === 'function') { const { workspace } = await workspaces.readWorkspace('/', host); - const result = updaterOrWorkspace(workspace); - if (result !== undefined) { - await result; - } + const result = await updaterOrWorkspace(workspace); await workspaces.writeWorkspace(workspace, host); + + return result || noop; } else { await workspaces.writeWorkspace(updaterOrWorkspace, host); + + return noop; } }; } @@ -83,8 +85,37 @@ export async function createDefaultPath(tree: Tree, projectName: string): Promis const workspace = await getWorkspace(tree); const project = workspace.projects.get(projectName); if (!project) { - throw new Error('Specified project does not exist.'); + throw new Error(`Project "${projectName}" does not exist.`); } return buildDefaultPath(project); } + +export function* allWorkspaceTargets( + workspace: workspaces.WorkspaceDefinition, +): Iterable<[string, workspaces.TargetDefinition, string, workspaces.ProjectDefinition]> { + for (const [projectName, project] of workspace.projects) { + for (const [targetName, target] of project.targets) { + yield [targetName, target, projectName, project]; + } + } +} + +export function* allTargetOptions( + target: workspaces.TargetDefinition, + skipBaseOptions = false, +): Iterable<[string | undefined, Record]> { + if (!skipBaseOptions && target.options) { + yield [undefined, target.options]; + } + + if (!target.configurations) { + return; + } + + for (const [name, options] of Object.entries(target.configurations)) { + if (options !== undefined) { + yield [name, options]; + } + } +} From ce94aeabb9c4a9b4ef557669b95d41eabe4e0932 Mon Sep 17 00:00:00 2001 From: muhammedaltug Date: Wed, 17 Aug 2022 08:44:57 +0300 Subject: [PATCH 002/130] add create lib command --- .../packages/schematics/src/collection.json | 5 + .../.eslintrc.json.template | 44 +++++ .../config/ng-package.json.template | 7 + ...raryName@kebab__-config.module.ts.template | 12 ++ .../config/src/enums/index.ts.template | 1 + .../config/src/enums/route-names.ts.template | 3 + .../config/src/providers/index.ts.template | 1 + .../src/providers/route.provider.ts.template | 26 +++ .../config/src/public-api.ts.template | 3 + .../karma.conf.js.template | 44 +++++ .../ng-package.json.template | 7 + .../package.json.template | 11 ++ ...aryName@kebab__-routing.module.ts.template | 18 ++ .../__libraryName@kebab__.module.ts.template | 22 +++ .../src/public-api.ts.template | 4 + .../src/test.ts.template | 26 +++ .../tsconfig.lib.json.template | 20 +++ .../tsconfig.lib.prod.json.template | 10 ++ .../tsconfig.spec.json.template | 17 ++ .../ng-package.json.template | 7 + ..._-__libraryName@kebab__.module.ts.template | 11 ++ .../src/lib/index.ts.template | 1 + .../src/public-api.ts.template | 1 + .../src/commands/create-lib/index.ts | 159 ++++++++++++++++++ .../create-lib/models/generate-lib-schema.ts | 17 ++ .../src/commands/create-lib/models/index.ts | 1 + .../src/commands/create-lib/schema.json | 36 ++++ .../schematics/src/constants/symbols.ts | 1 + .../schematics/src/enums/exception.ts | 1 + .../src/models/generate-proxy-schema.ts | 10 ++ .../utils/angular-schematic/generate-lib.ts | 52 ++++++ .../src/utils/angular-schematic/index.ts | 1 + .../packages/schematics/src/utils/index.ts | 1 + .../packages/schematics/src/utils/lib.ts | 9 + .../packages/schematics/src/utils/source.ts | 2 +- .../schematics/src/utils/workspace.ts | 34 +++- npm/ng-packs/scripts/build-schematics.ts | 6 + 37 files changed, 627 insertions(+), 4 deletions(-) create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/.eslintrc.json.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/ng-package.json.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/__libraryName@kebab__-config.module.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/enums/index.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/enums/route-names.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/providers/index.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/providers/route.provider.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/public-api.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/karma.conf.js.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/ng-package.json.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/package.json.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/lib/__libraryName@kebab__-routing.module.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/lib/__libraryName@kebab__.module.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/public-api.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/test.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.json.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.prod.json.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.spec.json.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/ng-package.json.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/lib/__target@kebab__-__libraryName@kebab__.module.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/lib/index.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/public-api.ts.template create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/index.ts create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/models/generate-lib-schema.ts create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/models/index.ts create mode 100644 npm/ng-packs/packages/schematics/src/commands/create-lib/schema.json create mode 100644 npm/ng-packs/packages/schematics/src/constants/symbols.ts create mode 100644 npm/ng-packs/packages/schematics/src/utils/angular-schematic/generate-lib.ts create mode 100644 npm/ng-packs/packages/schematics/src/utils/angular-schematic/index.ts create mode 100644 npm/ng-packs/packages/schematics/src/utils/lib.ts diff --git a/npm/ng-packs/packages/schematics/src/collection.json b/npm/ng-packs/packages/schematics/src/collection.json index 0b1b738e08..8441a786b0 100644 --- a/npm/ng-packs/packages/schematics/src/collection.json +++ b/npm/ng-packs/packages/schematics/src/collection.json @@ -24,6 +24,11 @@ "description": "ABP API Generator Schematics", "factory": "./commands/api", "schema": "./commands/api/schema.json" + }, + "create-lib": { + "description": "ABP Create Library Schematics", + "factory": "./commands/create-lib", + "schema": "./commands/create-lib/schema.json" } } } diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/.eslintrc.json.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/.eslintrc.json.template new file mode 100644 index 0000000000..de84cad019 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/.eslintrc.json.template @@ -0,0 +1,44 @@ +{ + "extends": "../../.eslintrc.json", + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "parserOptions": { + "project": [ + "projects/<%= kebab(libraryName) %>/tsconfig.lib.json", + "projects/<%= kebab(libraryName) %>/tsconfig.spec.json" + ], + "createDefaultProgram": true + }, + "rules": { + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "lib", + "style": "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "lib", + "style": "kebab-case" + } + ] + } + }, + { + "files": [ + "*.html" + ], + "rules": {} + } + ] +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/ng-package.json.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/ng-package.json.template new file mode 100644 index 0000000000..2e7019c90e --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/ng-package.json.template @@ -0,0 +1,7 @@ +{ + "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", + "dest": "../../dist/<%= kebab(libraryName) %>/config", + "lib": { + "entryFile": "src/public-api.ts" + } +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/__libraryName@kebab__-config.module.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/__libraryName@kebab__-config.module.ts.template new file mode 100644 index 0000000000..c39b4582b9 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/__libraryName@kebab__-config.module.ts.template @@ -0,0 +1,12 @@ +import { ModuleWithProviders, NgModule } from '@angular/core'; +import { <%= macro(libraryName) %>_ROUTE_PROVIDERS } from './providers/route.provider'; + +@NgModule() +export class <%= pascal(libraryName) %>ConfigModule { + static forRoot(): ModuleWithProviders<<%= pascal(libraryName) %>ConfigModule> { + return { + ngModule: <%= pascal(libraryName) %>ConfigModule, + providers: [<%= macro(libraryName) %>_ROUTE_PROVIDERS], + }; + } +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/enums/index.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/enums/index.ts.template new file mode 100644 index 0000000000..3bda94b078 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/enums/index.ts.template @@ -0,0 +1 @@ +export * from './route-names'; diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/enums/route-names.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/enums/route-names.ts.template new file mode 100644 index 0000000000..3bbb75be52 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/enums/route-names.ts.template @@ -0,0 +1,3 @@ +export const enum e<%= pascal(libraryName) %>RouteNames { + <%= pascal(libraryName) %> = '<%= pascal(libraryName) %>', +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/providers/index.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/providers/index.ts.template new file mode 100644 index 0000000000..fe08efba8c --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/providers/index.ts.template @@ -0,0 +1 @@ +export * from './route.provider'; diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/providers/route.provider.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/providers/route.provider.ts.template new file mode 100644 index 0000000000..5db50f7eaa --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/providers/route.provider.ts.template @@ -0,0 +1,26 @@ +import { eLayoutType, RoutesService } from '@abp/ng.core'; +import { APP_INITIALIZER } from '@angular/core'; +import { e<%= pascal(libraryName) %>RouteNames } from '../enums/route-names'; + +export const <%= macro(libraryName) %>_ROUTE_PROVIDERS = [ + { + provide: APP_INITIALIZER, + useFactory: configureRoutes, + deps: [RoutesService], + multi: true, + }, +]; + +export function configureRoutes(routesService: RoutesService) { + return () => { + routesService.add([ + { + path: '/<%= kebab(libraryName) %>', + name: e<%= pascal(libraryName) %>RouteNames.<%= pascal(libraryName) %>, + iconClass: 'fas fa-book', + layout: eLayoutType.application, + order: 3, + }, + ]); + }; +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/public-api.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/public-api.ts.template new file mode 100644 index 0000000000..6a8953bca8 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/config/src/public-api.ts.template @@ -0,0 +1,3 @@ +export * from './enums'; +export * from './<%= kebab(libraryName) %>-config.module'; +export * from './providers'; diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/karma.conf.js.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/karma.conf.js.template new file mode 100644 index 0000000000..a56984ac5b --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/karma.conf.js.template @@ -0,0 +1,44 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + jasmine: { + // you can add configuration options for Jasmine here + // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html + // for example, you can disable the random execution with `random: false` + // or set a specific seed with `seed: 4321` + }, + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, '../../coverage/my-project-name'), + subdir: '.', + reporters: [ + { type: 'html' }, + { type: 'text-summary' } + ] + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/ng-package.json.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/ng-package.json.template new file mode 100644 index 0000000000..fd8e55d798 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/ng-package.json.template @@ -0,0 +1,7 @@ +{ + "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", + "dest": "../../dist/<%= kebab(libraryName) %>", + "lib": { + "entryFile": "src/public-api.ts" + } +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/package.json.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/package.json.template new file mode 100644 index 0000000000..c4d36a8576 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/package.json.template @@ -0,0 +1,11 @@ +{ + "name": "@<%= kebab(libraryName) %>/<%= kebab(libraryName) %>", + "version": "0.0.1", + "peerDependencies": { + "@abp/ng.core": "<%= abpVersion %>", + "@abp/ng.theme.shared": "<%= abpVersion %>" + }, + "dependencies": { + "tslib": "^2.1.0" + } +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/lib/__libraryName@kebab__-routing.module.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/lib/__libraryName@kebab__-routing.module.ts.template new file mode 100644 index 0000000000..4b9517b211 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/lib/__libraryName@kebab__-routing.module.ts.template @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core'; +import { DynamicLayoutComponent } from '@abp/ng.core'; +import { Routes, RouterModule } from '@angular/router'; + +const routes: Routes = [ + { + path: '', + pathMatch: 'full', + component: DynamicLayoutComponent, + children: [], + }, +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class <%= pascal(libraryName) %>RoutingModule {} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/lib/__libraryName@kebab__.module.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/lib/__libraryName@kebab__.module.ts.template new file mode 100644 index 0000000000..3d04aca7fb --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/lib/__libraryName@kebab__.module.ts.template @@ -0,0 +1,22 @@ +import { NgModule, NgModuleFactory, ModuleWithProviders } from '@angular/core'; +import { CoreModule, LazyModuleFactory } from '@abp/ng.core'; +import { ThemeSharedModule } from '@abp/ng.theme.shared'; +import { <%= pascal(libraryName) %>RoutingModule } from './<%= kebab(libraryName) %>-routing.module'; + +@NgModule({ + declarations: [], + imports: [CoreModule, ThemeSharedModule, <%= pascal(libraryName) %>RoutingModule], + exports: [], +}) +export class <%= pascal(libraryName) %>Module { + static forChild(): ModuleWithProviders<<%= pascal(libraryName) %>Module> { + return { + ngModule: <%= pascal(libraryName) %>Module, + providers: [], + }; + } + + static forLazy(): NgModuleFactory<<%= pascal(libraryName) %>Module> { + return new LazyModuleFactory(<%= pascal(libraryName) %>Module.forChild()); + } +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/public-api.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/public-api.ts.template new file mode 100644 index 0000000000..c09585ae58 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/public-api.ts.template @@ -0,0 +1,4 @@ +/* + * Public API Surface of my-project-name + */ +export * from './lib/<%= kebab(libraryName) %>.module'; diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/test.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/test.ts.template new file mode 100644 index 0000000000..52e55168eb --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/test.ts.template @@ -0,0 +1,26 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js'; +import 'zone.js/testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: { + context(path: string, deep?: boolean, filter?: RegExp): { + keys(): string[]; + (id: string): T; + }; +}; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.json.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.json.template new file mode 100644 index 0000000000..8da4414fb7 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.json.template @@ -0,0 +1,20 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "../../tsconfig.prod.json", + "compilerOptions": { + "outDir": "../../out-tsc/lib", + "target": "es2015", + "declaration": true, + "declarationMap": true, + "inlineSources": true, + "types": [], + "lib": [ + "dom", + "es2018" + ] + }, + "exclude": [ + "src/test.ts", + "**/*.spec.ts" + ] +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.prod.json.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.prod.json.template new file mode 100644 index 0000000000..06de549e10 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.prod.json.template @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.lib.json", + "compilerOptions": { + "declarationMap": false + }, + "angularCompilerOptions": { + "compilationMode": "partial" + } +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.spec.json.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.spec.json.template new file mode 100644 index 0000000000..715dd0a5d2 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.spec.json.template @@ -0,0 +1,17 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "files": [ + "src/test.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/ng-package.json.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/ng-package.json.template new file mode 100644 index 0000000000..4e2118d142 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/ng-package.json.template @@ -0,0 +1,7 @@ +{ + "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", + "dest": "../../dist/<%= kebab(target) %>/<%= kebab(libraryName) %>", + "lib": { + "entryFile": "src/public-api.ts" + } +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/lib/__target@kebab__-__libraryName@kebab__.module.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/lib/__target@kebab__-__libraryName@kebab__.module.ts.template new file mode 100644 index 0000000000..1165afb970 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/lib/__target@kebab__-__libraryName@kebab__.module.ts.template @@ -0,0 +1,11 @@ +import { ModuleWithProviders, NgModule } from '@angular/core'; + +@NgModule() +export class <%= pascal(target) %><%= pascal(libraryName) %>Module { + static forRoot(): ModuleWithProviders<<%= pascal(target) %><%= pascal(libraryName) %>Module> { + return { + ngModule:<%= pascal(target) %><%= pascal(libraryName) %>Module, + providers: [] + } + } +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/lib/index.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/lib/index.ts.template new file mode 100644 index 0000000000..5631c60e6d --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/lib/index.ts.template @@ -0,0 +1 @@ +export * from './<%= kebab(target) %>-<%= kebab(libraryName) %>.module'; diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/public-api.ts.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/public-api.ts.template new file mode 100644 index 0000000000..11aece60c4 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-secondary-entrypoint/__libraryName@kebab__/src/public-api.ts.template @@ -0,0 +1 @@ +export * from './lib/index'; diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/index.ts b/npm/ng-packs/packages/schematics/src/commands/create-lib/index.ts new file mode 100644 index 0000000000..1bc4c7a905 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/index.ts @@ -0,0 +1,159 @@ +import { + applyTemplates, + chain, + move, + noop, + Rule, + SchematicContext, + SchematicsException, + Tree, + url, +} from '@angular-devkit/schematics'; +import { GenerateLibSchema } from './models/generate-lib-schema'; +import { + applyWithOverwrite, + getWorkspace, + interpolate, + isLibrary, + JSONFile, + kebab, + resolveProject, + updateWorkspace, +} from '../../utils'; +import * as cases from '../../utils/text'; +import { Exception } from '../../enums'; +import { join, normalize } from '@angular-devkit/core'; +import { + ProjectDefinition, + WorkspaceDefinition, +} from '@angular-devkit/core/src/workspace/definitions'; +import { addLibToWorkspaceFile } from '../../utils/angular-schematic/generate-lib'; + +export default function (schema: GenerateLibSchema) { + return async (tree: Tree) => { + if (schema.override || !(await checkLibExist(schema, tree))) { + return chain([createLibrary(schema)]); + } + }; +} + +async function checkLibExist(options: GenerateLibSchema, tree: Tree) { + const packageName = kebab(options.packageName); + if (options.isSecondaryEntrypoint) { + const lib = await resolveProject(tree, options.target); + const ngPackagePath = `${lib?.definition.root}/${packageName}/ng-package.json`; + const packageInfo = tree.read(ngPackagePath); + if (packageInfo) { + throw new SchematicsException( + interpolate(Exception.LibraryAlreadyExists, `${lib.name}/${packageName}`), + ); + } + return false; + } + + const target = await resolveProject(tree, options.packageName, null); + if (target) { + throw new SchematicsException(interpolate(Exception.LibraryAlreadyExists, packageName)); + } + return false; +} + +function createLibrary(options: GenerateLibSchema): Rule { + return async (tree: Tree, _context: SchematicContext) => { + const target = await resolveProject(tree, options.packageName, null); + if (!target || options.override) { + if (options.isModuleTemplate) { + return createLibFromModuleTemplate(tree, options); + } + if (options.isSecondaryEntrypoint) { + return createLibSecondaryEntry(tree, options); + } + } else { + throw new SchematicsException( + interpolate(Exception.LibraryAlreadyExists, options.packageName), + ); + } + }; +} +async function resolvePackagesDirFromAngularJson(host: Tree) { + const workspace = await getWorkspace(host); + const projectFolder = readFirstLibInAngularJson(workspace); + return projectFolder?.root?.split('/')?.[0] || 'projects'; +} + +function readFirstLibInAngularJson(workspace: WorkspaceDefinition): ProjectDefinition | undefined { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const [_, props] = + Array.from(workspace.projects.entries()).find(([_, value]) => isLibrary(value)) || []; + return props; +} + +async function createLibFromModuleTemplate(tree: Tree, options: GenerateLibSchema) { + const packagesDir = await resolvePackagesDirFromAngularJson(tree); + const packageJson = JSON.parse(tree.read('./package.json')!.toString()); + const abpVersion = packageJson.dependencies['@abp/ng.core']; + + return chain([ + applyWithOverwrite(url('./files-package'), [ + applyTemplates({ + ...cases, + libraryName: options.packageName, + abpVersion, + }), + move(normalize(packagesDir)), + ]), + addLibToWorkspaceIfNotExist(options.packageName, packagesDir), + ]); +} + +export function addLibToWorkspaceIfNotExist(name: string, packagesDir: string): Rule { + return async (tree: Tree, _: SchematicContext) => { + const workspace = await getWorkspace(tree); + const packageName = kebab(name); + const isProjectExist = workspace.projects.has(packageName); + + const projectRoot = join(normalize(packagesDir), packageName); + const pathImportLib = `${packagesDir}/${packageName}`; + + return chain([ + isProjectExist + ? updateWorkspace(w => { + w.projects.delete(packageName); + }) + : noop(), + addLibToWorkspaceFile(projectRoot, packageName), + updateTsConfig(packageName, pathImportLib), + ]); + }; +} + +export function updateTsConfig(packageName: string, path: string) { + return (host: Tree) => { + const files = ['tsconfig.json', 'tsconfig.app.json', 'tsconfig.base.json']; + const tsConfig = files.find(f => host.exists(f)); + if (!tsConfig) { + return host; + } + + const file = new JSONFile(host, tsConfig); + const jsonPath = ['compilerOptions', 'paths', packageName]; + file.modify(jsonPath, [`${path}/src/public-api.ts`]); + }; +} + +export async function createLibSecondaryEntry(tree: Tree, options: GenerateLibSchema) { + const targetLib = await resolveProject(tree, options.target); + const packageName = `${kebab(targetLib.name)}/${kebab(options.packageName)}`; + const importPath = `${targetLib.definition.root}/${kebab(options.packageName)}`; + return chain([ + applyWithOverwrite(url('./files-secondary-entrypoint'), [ + applyTemplates({ + ...cases, + libraryName: options.packageName, + target: targetLib.name, + }), + move(normalize(targetLib.definition.root)), + updateTsConfig(packageName, importPath), + ]), + ]); +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/models/generate-lib-schema.ts b/npm/ng-packs/packages/schematics/src/commands/create-lib/models/generate-lib-schema.ts new file mode 100644 index 0000000000..f3c6e5b97f --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/models/generate-lib-schema.ts @@ -0,0 +1,17 @@ +export interface GenerateLibSchema { + /** + * Angular package name will create + */ + packageName: string; + + /** + * İs the package a library or a library module + */ + isSecondaryEntrypoint: boolean; + + isModuleTemplate: boolean; + + override: boolean; + + target: string; +} diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/models/index.ts b/npm/ng-packs/packages/schematics/src/commands/create-lib/models/index.ts new file mode 100644 index 0000000000..e84ddcba49 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/models/index.ts @@ -0,0 +1 @@ +export * from './generate-lib-schema'; diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/schema.json b/npm/ng-packs/packages/schematics/src/commands/create-lib/schema.json new file mode 100644 index 0000000000..64d64c1d80 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/schema.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/schema", + "$id": "SchematicsABPModuleTemplateCreator", + "title": "ABP Module Template Generator API Schema", + "type": "object", + "properties": { + "packageName": { + "description": "The name of the package will create", + "type": "string", + "$default": { + "$source": "argv", + "index": 0 + }, + "x-prompt": "Please enter the package name will create" + }, + "isSecondaryEntrypoint": { + "description": "Is secondary entrypoint", + "type": "boolean", + "$default": false, + "x-prompt": "Is secondary entrypoint?" + }, + "isModuleTemplate": { + "description": "Is module template", + "type": "boolean", + "$default": true, + "x-prompt": "Is module template?" + }, + "override": { + "description": "Override existing files", + "type": "boolean", + "$default": false, + "x-prompt": "Override existing files?" + } + }, + "required": [] +} diff --git a/npm/ng-packs/packages/schematics/src/constants/symbols.ts b/npm/ng-packs/packages/schematics/src/constants/symbols.ts new file mode 100644 index 0000000000..f8280b84c4 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/constants/symbols.ts @@ -0,0 +1 @@ +export const NOT_FOUND_VALUE = Symbol('NOT_FOUND_VALUE'); diff --git a/npm/ng-packs/packages/schematics/src/enums/exception.ts b/npm/ng-packs/packages/schematics/src/enums/exception.ts index b7b206cbf6..88f5d1862b 100644 --- a/npm/ng-packs/packages/schematics/src/enums/exception.ts +++ b/npm/ng-packs/packages/schematics/src/enums/exception.ts @@ -13,4 +13,5 @@ export const enum Exception { NoEnvironment = '[Environment Not Found] An environment file cannot be located in "{0}" project.', NoApiUrl = '[API URL Not Found] Cannot resolve API URL for "{1}" remote service name from "{0}" project.', NoRootNamespace = '[Root Namespace Not Found] Cannot resolve root namespace for "{1}" api from "{0}" project.', + LibraryAlreadyExists = '[Library Already Exists] "{0}" already exists. Use --override to override.', } diff --git a/npm/ng-packs/packages/schematics/src/models/generate-proxy-schema.ts b/npm/ng-packs/packages/schematics/src/models/generate-proxy-schema.ts index 7b0c3701a2..b089305e17 100644 --- a/npm/ng-packs/packages/schematics/src/models/generate-proxy-schema.ts +++ b/npm/ng-packs/packages/schematics/src/models/generate-proxy-schema.ts @@ -23,4 +23,14 @@ export interface GenerateProxySchema { * Url to API definition */ url?: string; + + /** + * Create a lib for proxy generation + */ + createTarget?: boolean; + + /** + * Secondary entrypoint for proxy generation + */ + entryPoint?: string; } diff --git a/npm/ng-packs/packages/schematics/src/utils/angular-schematic/generate-lib.ts b/npm/ng-packs/packages/schematics/src/utils/angular-schematic/generate-lib.ts new file mode 100644 index 0000000000..f96b2b38ea --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/utils/angular-schematic/generate-lib.ts @@ -0,0 +1,52 @@ +import { Rule, Tree } from '@angular-devkit/schematics'; +import { Builders, JSONFile, ProjectType, updateWorkspace } from '../angular'; + +export function updateTsConfig(packageName: string, ...paths: string[]) { + return (host: Tree) => { + if (!host.exists('tsconfig.json')) { + return host; + } + + const file = new JSONFile(host, 'tsconfig.json'); + const jsonPath = ['compilerOptions', 'paths', packageName]; + const value = file.get(jsonPath); + file.modify(jsonPath, Array.isArray(value) ? [...value, ...paths] : paths); + }; +} + +export function addLibToWorkspaceFile(projectRoot: string, projectName: string): Rule { + return updateWorkspace(workspace => { + workspace.projects.add({ + name: projectName, + root: projectRoot, + sourceRoot: `${projectRoot}/src`, + projectType: ProjectType.Library, + prefix: 'lib', + targets: { + build: { + builder: Builders.NgPackagr, + defaultConfiguration: 'production', + options: { + project: `${projectRoot}/ng-package.json`, + }, + configurations: { + production: { + tsConfig: `${projectRoot}/tsconfig.lib.prod.json`, + }, + development: { + tsConfig: `${projectRoot}/tsconfig.lib.json`, + }, + }, + }, + test: { + builder: Builders.Karma, + options: { + main: `${projectRoot}/src/test.ts`, + tsConfig: `${projectRoot}/tsconfig.spec.json`, + karmaConfig: `${projectRoot}/karma.conf.js`, + }, + }, + }, + }); + }); +} diff --git a/npm/ng-packs/packages/schematics/src/utils/angular-schematic/index.ts b/npm/ng-packs/packages/schematics/src/utils/angular-schematic/index.ts new file mode 100644 index 0000000000..0d2dd109ca --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/utils/angular-schematic/index.ts @@ -0,0 +1 @@ +export * from './generate-lib'; diff --git a/npm/ng-packs/packages/schematics/src/utils/index.ts b/npm/ng-packs/packages/schematics/src/utils/index.ts index eeb12e6d9e..53950e8a87 100644 --- a/npm/ng-packs/packages/schematics/src/utils/index.ts +++ b/npm/ng-packs/packages/schematics/src/utils/index.ts @@ -7,6 +7,7 @@ export * from './enum'; export * from './file'; export * from './generics'; export * from './import'; +export * from './lib'; export * from './methods'; export * from './model'; export * from './namespace'; diff --git a/npm/ng-packs/packages/schematics/src/utils/lib.ts b/npm/ng-packs/packages/schematics/src/utils/lib.ts new file mode 100644 index 0000000000..d083c6c206 --- /dev/null +++ b/npm/ng-packs/packages/schematics/src/utils/lib.ts @@ -0,0 +1,9 @@ +import { Tree } from '@angular-devkit/schematics'; +import { resolveProject } from "./workspace"; +export async function createTargetLibIfNotExist(tree: Tree, target: string) { + const lib = await resolveProject(tree, target, null); + + if (!lib) { + + } +} diff --git a/npm/ng-packs/packages/schematics/src/utils/source.ts b/npm/ng-packs/packages/schematics/src/utils/source.ts index ad488b27be..be1156a775 100644 --- a/npm/ng-packs/packages/schematics/src/utils/source.ts +++ b/npm/ng-packs/packages/schematics/src/utils/source.ts @@ -23,7 +23,7 @@ export function createApiDefinitionGetter(params: GenerateProxySchema) { if (!sourceUrl) { sourceUrl = getSourceUrl(host, source, apiName); } - return await getApiDefinition(sourceUrl); + return await getApiDefinition(sourceUrl!); }; } diff --git a/npm/ng-packs/packages/schematics/src/utils/workspace.ts b/npm/ng-packs/packages/schematics/src/utils/workspace.ts index 81bfdc7307..54e8491d41 100644 --- a/npm/ng-packs/packages/schematics/src/utils/workspace.ts +++ b/npm/ng-packs/packages/schematics/src/utils/workspace.ts @@ -3,9 +3,11 @@ import { strings, workspaces } from '@angular-devkit/core'; import { SchematicsException, Tree } from '@angular-devkit/schematics'; import { Exception } from '../enums'; import { Project } from '../models'; -import { getWorkspace, getWorkspaceSchema, ProjectType, WorkspaceSchema } from './angular'; +import { getWorkspace, ProjectType, WorkspaceSchema } from './angular'; import { findEnvironmentExpression } from './ast'; import { readFileInTree } from './common'; +import { NOT_FOUND_VALUE } from '../constants/symbols'; +import { parseJson } from '@angular/cli/utilities/json-file'; export function isLibrary(project: workspaces.ProjectDefinition): boolean { return project.extensions['projectType'] === ProjectType.Library; @@ -33,8 +35,11 @@ export function readWorkspaceSchema(tree: Tree) { return workspaceSchema; } - -export async function resolveProject(tree: Tree, name: string): Promise { +export async function resolveProject( + tree: Tree, + name: string, + notFoundValue: T = NOT_FOUND_VALUE as unknown as any, +): Promise { name = name || readWorkspaceSchema(tree).defaultProject!; const workspace = await getWorkspace(tree); let definition: Project['definition'] | undefined; @@ -61,7 +66,30 @@ export async function resolveProject(tree: Tree, name: string): Promise definition = workspace.projects.get(name); } catch (_) {} + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + if (!definition && notFoundValue !== NOT_FOUND_VALUE) { + return notFoundValue; + } if (!definition) throw new SchematicsException(Exception.NoProject); return { name, definition }; } + +export function getWorkspaceSchema(host: Tree): WorkspaceSchema { + const path = getWorkspacePath(host); + const configBuffer = host.read(path); + if (configBuffer === null) { + throw new SchematicsException(`Could not find (${path})`); + } + const content = configBuffer.toString(); + + return parseJson(content) as Record as WorkspaceSchema; +} + +export function getWorkspacePath(host: Tree): string { + const possibleFiles = ['/angular.json', '/.angular.json']; + const path = possibleFiles.filter(path => host.exists(path))[0]; + + return path; +} diff --git a/npm/ng-packs/scripts/build-schematics.ts b/npm/ng-packs/scripts/build-schematics.ts index 64da4ac856..8884ca9571 100644 --- a/npm/ng-packs/scripts/build-schematics.ts +++ b/npm/ng-packs/scripts/build-schematics.ts @@ -20,6 +20,12 @@ class FileCopy { const PACKAGE_TO_BUILD = 'schematics'; const FILES_TO_COPY_AFTER_BUILD: (FileCopy | string)[] = [ + { src: 'src/commands/create-lib/schema.json', dest: 'commands/create-lib/schema.json' }, + { src: 'src/commands/create-lib/files-package', dest: 'commands/create-lib/files-package' }, + { + src: 'src/commands/create-lib/files-secondary-entrypoint', + dest: 'commands/create-lib/files-secondary-entrypoint', + }, { src: 'src/commands/proxy-add/schema.json', dest: 'commands/proxy-add/schema.json' }, { src: 'src/commands/proxy-index/schema.json', dest: 'commands/proxy-index/schema.json' }, { src: 'src/commands/proxy-refresh/schema.json', dest: 'commands/proxy-refresh/schema.json' }, From 31510763ae5b2483c803eac1cd9013fecb353509 Mon Sep 17 00:00:00 2001 From: muhammedaltug Date: Tue, 23 Aug 2022 08:41:42 +0300 Subject: [PATCH 003/130] modify tsconfig file and other commands --- .../schematics/src/commands/api/index.ts | 4 ++-- .../schematics/src/commands/api/schema.json | 9 +++++++++ .../tsconfig.lib.json.template | 2 +- .../schematics/src/commands/proxy-add/index.ts | 4 ++-- .../src/commands/proxy-add/schema.json | 9 +++++++++ .../src/commands/proxy-index/index.ts | 6 +++--- .../src/commands/proxy-index/schema.json | 9 +++++++++ .../src/commands/proxy-refresh/index.ts | 4 ++-- .../src/commands/proxy-refresh/schema.json | 10 ++++++++++ .../src/commands/proxy-remove/index.ts | 4 ++-- .../src/commands/proxy-remove/schema.json | 9 +++++++++ .../src/models/generate-proxy-schema.ts | 5 ----- .../packages/schematics/src/utils/workspace.ts | 17 ++++++++++++++++- 13 files changed, 74 insertions(+), 18 deletions(-) diff --git a/npm/ng-packs/packages/schematics/src/commands/api/index.ts b/npm/ng-packs/packages/schematics/src/commands/api/index.ts index 2f2f52a50c..bc97d8031b 100644 --- a/npm/ng-packs/packages/schematics/src/commands/api/index.ts +++ b/npm/ng-packs/packages/schematics/src/commands/api/index.ts @@ -13,7 +13,7 @@ import { Exception } from '../../enums'; import { GenerateProxySchema, ServiceGeneratorParams } from '../../models'; import { applyWithOverwrite, - buildDefaultPath, + buildTargetPath, createControllerToServiceMapper, createImportRefsToModelReducer, createImportRefToEnumMapper, @@ -42,7 +42,7 @@ export default function (schema: GenerateProxySchema) { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const target = await resolveProject(tree, params.target!); - const targetPath = buildDefaultPath(target.definition); + const targetPath = buildTargetPath(target.definition, params.entryPoint); const readProxyConfig = createProxyConfigReader(targetPath); const createProxyConfigWriter = createProxyConfigWriterCreator(targetPath); const data = readProxyConfig(tree); diff --git a/npm/ng-packs/packages/schematics/src/commands/api/schema.json b/npm/ng-packs/packages/schematics/src/commands/api/schema.json index 11ca6845ae..ddaf06f001 100644 --- a/npm/ng-packs/packages/schematics/src/commands/api/schema.json +++ b/npm/ng-packs/packages/schematics/src/commands/api/schema.json @@ -39,6 +39,15 @@ "index": 3 }, "x-prompt": "Please enter target Angular project to place the generated code. (default: workspace \"defaultProject\")" + }, + "entryPoint": { + "description": "Target Angular project to place the generated code", + "type": "string", + "$default": { + "$source": "argv", + "index": 5 + }, + "x-prompt": "Please enter target Angular project to place the generated code. (default: workspace \"defaultProject\")" } }, "required": [] diff --git a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.json.template b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.json.template index 8da4414fb7..1407202dd0 100644 --- a/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.json.template +++ b/npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/tsconfig.lib.json.template @@ -1,6 +1,6 @@ /* To learn more about this file see: https://angular.io/config/tsconfig. */ { - "extends": "../../tsconfig.prod.json", + "extends": "../../tsconfig.json", "compilerOptions": { "outDir": "../../out-tsc/lib", "target": "es2015", diff --git a/npm/ng-packs/packages/schematics/src/commands/proxy-add/index.ts b/npm/ng-packs/packages/schematics/src/commands/proxy-add/index.ts index 4a6b4cf92e..9ea893e1f8 100644 --- a/npm/ng-packs/packages/schematics/src/commands/proxy-add/index.ts +++ b/npm/ng-packs/packages/schematics/src/commands/proxy-add/index.ts @@ -1,7 +1,7 @@ import { chain, SchematicContext, Tree } from '@angular-devkit/schematics'; import { GenerateProxySchema } from '../../models'; import { - buildDefaultPath, + buildTargetPath, createApiDefinitionGetter, createApisGenerator, createProxyClearer, @@ -21,7 +21,7 @@ export default function (schema: GenerateProxySchema) { return chain([ async (host: Tree, _context: SchematicContext) => { const target = await resolveProject(host, params.target!); - const targetPath = buildDefaultPath(target.definition); + const targetPath = buildTargetPath(target.definition, params.entryPoint); const readProxyConfig = createProxyConfigReader(targetPath); let generated: string[] = []; diff --git a/npm/ng-packs/packages/schematics/src/commands/proxy-add/schema.json b/npm/ng-packs/packages/schematics/src/commands/proxy-add/schema.json index 2c54f8f9fa..2cf27f9c33 100644 --- a/npm/ng-packs/packages/schematics/src/commands/proxy-add/schema.json +++ b/npm/ng-packs/packages/schematics/src/commands/proxy-add/schema.json @@ -50,5 +50,14 @@ "x-prompt": "Please enter URL for API definition (default: API Name's url in environment file)" } }, + "entryPoint": { + "description": "Target Angular project to place the generated code", + "type": "string", + "$default": { + "$source": "argv", + "index": 5 + }, + "x-prompt": "Please enter target Angular project to place the generated code. (default: workspace \"defaultProject\")" + }, "required": [] } diff --git a/npm/ng-packs/packages/schematics/src/commands/proxy-index/index.ts b/npm/ng-packs/packages/schematics/src/commands/proxy-index/index.ts index 498428c154..473dbbe63e 100644 --- a/npm/ng-packs/packages/schematics/src/commands/proxy-index/index.ts +++ b/npm/ng-packs/packages/schematics/src/commands/proxy-index/index.ts @@ -1,18 +1,18 @@ import { SchematicContext, Tree } from '@angular-devkit/schematics'; import { - buildDefaultPath, + buildTargetPath, createProxyIndexGenerator, removeDefaultPlaceholders, resolveProject, } from '../../utils'; -export default function (schema: { target?: string }) { +export default function (schema: { target?: string; entryPoint?: string }) { const params = removeDefaultPlaceholders(schema); return async (host: Tree, _context: SchematicContext) => { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const target = await resolveProject(host, params.target!); - const targetPath = buildDefaultPath(target.definition); + const targetPath = buildTargetPath(target.definition, params.entryPoint); const generateIndex = createProxyIndexGenerator(targetPath); diff --git a/npm/ng-packs/packages/schematics/src/commands/proxy-index/schema.json b/npm/ng-packs/packages/schematics/src/commands/proxy-index/schema.json index a8173e63f4..545180954a 100644 --- a/npm/ng-packs/packages/schematics/src/commands/proxy-index/schema.json +++ b/npm/ng-packs/packages/schematics/src/commands/proxy-index/schema.json @@ -12,6 +12,15 @@ "index": 0 }, "x-prompt": "Please enter target Angular project to place the generated code. (default: workspace \"defaultProject\")" + }, + "entryPoint": { + "description": "Target Angular project to place the generated code", + "type": "string", + "$default": { + "$source": "argv", + "index": 5 + }, + "x-prompt": "Please enter target Angular project to place the generated code. (default: workspace \"defaultProject\")" } }, "required": [] diff --git a/npm/ng-packs/packages/schematics/src/commands/proxy-refresh/index.ts b/npm/ng-packs/packages/schematics/src/commands/proxy-refresh/index.ts index 9428b9ae4d..cf905738b4 100644 --- a/npm/ng-packs/packages/schematics/src/commands/proxy-refresh/index.ts +++ b/npm/ng-packs/packages/schematics/src/commands/proxy-refresh/index.ts @@ -1,7 +1,7 @@ import { chain, SchematicContext, Tree } from '@angular-devkit/schematics'; import { GenerateProxySchema } from '../../models'; import { - buildDefaultPath, + buildTargetPath, createApiDefinitionGetter, createApisGenerator, createProxyClearer, @@ -18,7 +18,7 @@ export default function (schema: GenerateProxySchema) { return async (host: Tree, _context: SchematicContext) => { const target = await resolveProject(host, params.target!); - const targetPath = buildDefaultPath(target.definition); + const targetPath = buildTargetPath(target.definition, params.entryPoint); const readProxyConfig = createProxyConfigReader(targetPath); const { generated } = readProxyConfig(host); diff --git a/npm/ng-packs/packages/schematics/src/commands/proxy-refresh/schema.json b/npm/ng-packs/packages/schematics/src/commands/proxy-refresh/schema.json index ad0ba1599a..c5fd51f9b4 100644 --- a/npm/ng-packs/packages/schematics/src/commands/proxy-refresh/schema.json +++ b/npm/ng-packs/packages/schematics/src/commands/proxy-refresh/schema.json @@ -48,7 +48,17 @@ "index": 4 }, "x-prompt": "Please enter URL for api definition (default: API Name's url in environment file)" + }, + "entryPoint": { + "description": "Target Angular project to place the generated code", + "type": "string", + "$default": { + "$source": "argv", + "index": 5 + }, + "x-prompt": "Please enter target Angular project to place the generated code. (default: workspace \"defaultProject\")" } }, + "required": [] } diff --git a/npm/ng-packs/packages/schematics/src/commands/proxy-remove/index.ts b/npm/ng-packs/packages/schematics/src/commands/proxy-remove/index.ts index 900bd5f1a3..5e1980b3f7 100644 --- a/npm/ng-packs/packages/schematics/src/commands/proxy-remove/index.ts +++ b/npm/ng-packs/packages/schematics/src/commands/proxy-remove/index.ts @@ -1,7 +1,7 @@ import { chain, SchematicContext, Tree } from '@angular-devkit/schematics'; import { GenerateProxySchema } from '../../models'; import { - buildDefaultPath, + buildTargetPath, createApiDefinitionGetter, createApisGenerator, createProxyClearer, @@ -20,7 +20,7 @@ export default function (schema: GenerateProxySchema) { return async (host: Tree, _context: SchematicContext) => { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const target = await resolveProject(host, params.target!); - const targetPath = buildDefaultPath(target.definition); + const targetPath = buildTargetPath(target.definition, params.entryPoint); const readProxyConfig = createProxyConfigReader(targetPath); const { generated } = readProxyConfig(host); diff --git a/npm/ng-packs/packages/schematics/src/commands/proxy-remove/schema.json b/npm/ng-packs/packages/schematics/src/commands/proxy-remove/schema.json index 2c54f8f9fa..253ac0b0c3 100644 --- a/npm/ng-packs/packages/schematics/src/commands/proxy-remove/schema.json +++ b/npm/ng-packs/packages/schematics/src/commands/proxy-remove/schema.json @@ -48,6 +48,15 @@ "index": 4 }, "x-prompt": "Please enter URL for API definition (default: API Name's url in environment file)" + }, + "entryPoint": { + "description": "Target Angular project to place the generated code", + "type": "string", + "$default": { + "$source": "argv", + "index": 5 + }, + "x-prompt": "Please enter target Angular project to place the generated code. (default: workspace \"defaultProject\")" } }, "required": [] diff --git a/npm/ng-packs/packages/schematics/src/models/generate-proxy-schema.ts b/npm/ng-packs/packages/schematics/src/models/generate-proxy-schema.ts index b089305e17..682cdda9fe 100644 --- a/npm/ng-packs/packages/schematics/src/models/generate-proxy-schema.ts +++ b/npm/ng-packs/packages/schematics/src/models/generate-proxy-schema.ts @@ -24,11 +24,6 @@ export interface GenerateProxySchema { */ url?: string; - /** - * Create a lib for proxy generation - */ - createTarget?: boolean; - /** * Secondary entrypoint for proxy generation */ diff --git a/npm/ng-packs/packages/schematics/src/utils/workspace.ts b/npm/ng-packs/packages/schematics/src/utils/workspace.ts index 54e8491d41..41bad90615 100644 --- a/npm/ng-packs/packages/schematics/src/utils/workspace.ts +++ b/npm/ng-packs/packages/schematics/src/utils/workspace.ts @@ -3,7 +3,7 @@ import { strings, workspaces } from '@angular-devkit/core'; import { SchematicsException, Tree } from '@angular-devkit/schematics'; import { Exception } from '../enums'; import { Project } from '../models'; -import { getWorkspace, ProjectType, WorkspaceSchema } from './angular'; +import { buildDefaultPath, getWorkspace, ProjectType, WorkspaceSchema } from './angular'; import { findEnvironmentExpression } from './ast'; import { readFileInTree } from './common'; import { NOT_FOUND_VALUE } from '../constants/symbols'; @@ -93,3 +93,18 @@ export function getWorkspacePath(host: Tree): string { return path; } + +/** + * Build a default project path for generating. + * @param project The project which will have its default path generated. + * @param entryPoint The secondary-entry-point. + */ +export function buildTargetPath( + project: workspaces.ProjectDefinition, + entryPoint?: string, +): string { + if (entryPoint) { + return `${project.root}/${entryPoint}/src`; + } + return buildDefaultPath(project); +} From ec95edd882df44967997173207195ae4fbe161e7 Mon Sep 17 00:00:00 2001 From: halimekarayay Date: Tue, 23 Aug 2022 17:32:56 +0300 Subject: [PATCH 004/130] docs module edit --- .../Pages/Documents/Project/Index.cshtml | 530 +++--- .../Pages/Documents/Shared/Styles/vs.css | 1440 ++++++++++------- .../Pages/Documents/Shared/Styles/vs.css.map | 1 + .../Pages/Documents/Shared/Styles/vs.scss | 397 +++-- 4 files changed, 1354 insertions(+), 1014 deletions(-) create mode 100644 modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.css.map diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml index 5ca2b7fbd9..d471603c2f 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml @@ -18,7 +18,7 @@ @model IndexModel @{ - ViewBag.FluidLayout = true; + ViewBag.FluidLayout = false; Layout = ThemeManager.CurrentTheme.GetEmptyLayout(); PageLayout.Content.Title = Model.DocumentName?.Replace("-", " "); ViewBag.Description = Model.GetDescription(); @@ -50,305 +50,335 @@ } @if (Model.LoadSuccess) { -
-
-
-
+
+
+
+
-
- +
- @if (Model.ShowProjectsCombobox && Model.ProjectSelectItems.Count > 1) - { -
-
-
- - - +
+
+
+
+ @if (Model.ShowProjectsCombobox && Model.ProjectSelectItems.Count > 1) + { +
+ Project +
+
+ + + - + +
+
+
+ }
-
-
- } +
+
+ @if (Model.VersionSelectItems.Any()) + { +
+
+ Version +
+
-
- @if (Model.VersionSelectItems.Any()) - { -
-
-
-
+ + + - - - + +
+
+
+
+ } - -
+ @if (Model.LanguageSelectListItems.Count > 1) + { +
+
+ Language +
+
+ @* + + *@ + +
+
+
+
+ }
- } - @if (Model.LanguageSelectListItems.Count > 1) - { -
-
-
-
- @* - - *@ - -
+
+
+
+ +
- } -
- -
-
-
- - -
+ @if (Model.Navigation == null || !Model.Navigation.HasChildItems) + { +
+ @L["NavigationDocumentNotFound"] +
+ } + else + { + + }
- - @if (Model.Navigation == null || !Model.Navigation.HasChildItems) - { -
- @L["NavigationDocumentNotFound"] -
- } - else - { - - }
-
-
- @if (Model.Document != null) - { -
- - -
- -
-
@L["InThisDocument"]
- -
-
- @L["GoToTop"] + +
+ +
+
+
@L["InThisDocument"]
+
+
+
+ + +
+
-
- } - else - { -
-

@L["DocumentNotFound"]

+ } + else + { +
+

@L["DocumentNotFound"]

- - - @L["BackToWebsite"] - -
- } + + + @L["BackToWebsite"] + +
+ } +
-
} else { @@ -379,4 +409,4 @@ else } })) } -} +} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.css b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.css index 47b071442f..918974fa82 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.css +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.css @@ -1,438 +1,622 @@ -body { - position: relative; } +body { + position: relative; +} -a { - text-decoration: none; } - -.docs-page { - background: #f5f7f9; } - .docs-page .anchorjs-link { - transition: all .25s linear; } - .docs-page *:hover > .anchorjs-link { - margin-left: -1.125em !important; - transition: color .25s linear; - color: gray; } - .docs-page .anchorjs-link:hover { - text-decoration: none; } - .docs-page .docs-sidebar { - padding-right: 1rem; - position: relative; - top: 0px; - left: 0; - position: fixed; - background: #1d1d1d; } - .docs-page .docs-sidebar .input-group { - border-radius: 5px; - overflow: hidden; } - .docs-page .docs-sidebar .docs-sidebar-wrapper { - width: 300px; - float: right; } - .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control { - border: 0; } - .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:focus, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:active, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:hover, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:visited { - box-shadow: none; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version { - position: relative; - padding: 0 1rem; - margin: .25rem 0; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select { - border-radius: 3px; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select .input-group-text { - padding: 0 12px; - font-size: .9rem; - width: 30px; - height: 34px; - line-height: 1; - border-radius: 0px; - border: 0; - background: #000; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select .input-group-text i { - color: #666; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-select, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select input.form-control { - padding: 0 10px 2px 10px; - border: 0; - min-height: 34px; - height: 34px; - font-size: .9em; - border-radius: 0px; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-select:focus, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-select:active, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-select:hover, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-select:visited, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select input.form-select:focus, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select input.form-control:active, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select input.form-control:hover, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select input.form-control:visited { - box-shadow: none; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-select { - padding: 0 10px 2px 6px; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important; - background-repeat: no-repeat !important; - background-position: right 0.75rem center !important; - background-size: 16px 12px !important; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter { - padding: 0 1rem; - margin: .5rem 0; - font-size: .9em; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter .filter-icon i.fa { - color: #ddd; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list { - height: 100vh; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list > ul { - display: block; - height: calc(100vh - 230px); - overflow-y: auto; - margin-right: 12px !important; - margin-top: 20px !important; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul { - font-size: 14px; - list-style: none; - padding: 0 1rem 1rem; - margin: 0; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li { - margin-left: 0px; - padding-left: 24px; - display: block; - width: 100%; - position: relative; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a { - color: #999; - font-weight: 700; - padding: 7px 0; - display: block; - border-bottom: 0; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a:hover { - color: #000; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a.last-link { - top: 11px; - color: #aaa; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li .badge { - text-transform: uppercase; - font-size: 9px; - position: relative; - letter-spacing: .125px; - top: -2px; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li span.tree-toggle { - color: #999; - padding: 7px 0; - display: block; - border-bottom: 0; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li .plus-icon { - font-size: .85em; - transition: .3s; - width: 18px; - height: 18px; - text-align: center; - padding: 0; - line-height: 1; - border-radius: 50%; - margin-right: 4px; - position: absolute; - left: 2px; - top: 11px; - color: #aaa; - cursor: default; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li .plus-icon .fa-long-arrow-right.no-link { - color: #555; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li .plus-icon .fa-chevron-right { - cursor: pointer; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul { - padding: 0; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li a { - font-weight: 400; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li ul { - padding: 0; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li ul li a { - font-weight: 300; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a { - color: #000; - transition: .4s; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > span .fa { - transform: rotate(90deg); - color: #007bff; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree.last-link > span .fa { - transform: rotate(0deg); } - .docs-page .docs-sidebar .docs-top { - padding: 0 1em; } - .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand { - font-size: 1.35rem; - color: #000; - font-weight: 700; - padding: 15px 0 15px; - line-height: 1; } - .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand strong { - font-weight: 300; - text-transform: uppercase; - font-size: .7em; - letter-spacing: 1px; } - .docs-page .docs-sidebar .docs-top .navbar-logo .go-back-site { - color: #000; - opacity: .65; - transition: .2s; - font-size: .8em; - font-weight: 300; } - .docs-page .docs-sidebar .docs-top .navbar-logo .go-back-site:hover { - text-decoration: none; - opacity: 1; } - .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-logo-desc { - font-size: .85em; } - .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-logo-desc strong { - display: block; } - .docs-page .docs-content { - overflow-x: scroll; - min-height: 100vh; } - .docs-page .docs-content .contributors { - position: absolute; - top: 15px; - right: 5px; } - .docs-page .docs-content .contributors .contributors-avatar { - border-radius: 21px; - width: 21px; - height: 21px; } - .docs-page .docs-content .contributors a { - padding: 0; - width: 21px; - height: 21px; - display: inline-block; - margin: 0 0 0 2px; } - .docs-page .docs-content .contributors a:hover { - text-decoration: none; } - .docs-page .docs-content .docs-link-btns { - background: #f5f7fa; - padding: 15px 30px; - margin: 0 -15px; - text-align: right; - font-size: .8em; - min-height: 48px; } - .docs-page .docs-content .docs-link-btns a { - color: #222; } - .docs-page .docs-content .docs-link-btns a .text-muted { - color: #ccc !important; } - .docs-page .docs-content .docs-link-btns a:hover { - color: #000; - text-decoration: none; } - .docs-page .docs-content .docs-link-btns .search-area { - margin: -5px 0 -5px -10px; - box-shadow: 0 0 10px #e8e8e8; } - .docs-page .docs-content .docs-link-btns .search-area .input-group-text { - background: white; - border: 0; - color: #000; - font-size: 1em; } - .docs-page .docs-content .docs-link-btns .search-area .form-control { - background: #fff; - border: 0; - font-size: 1em; - padding-left: 0; - outline: 0; - box-shadow: none; } - .docs-page .docs-content .docs-text-field { - padding: 2rem; } - .docs-page .docs-content article.docs-body { - word-break: break-word; } - .docs-page .docs-content article.docs-body h1 { - padding-top: 1rem; - font-size: 2.25rem; - padding-bottom: 10px; } - .docs-page .docs-content article.docs-body h2 { - padding-top: 2rem; - padding-bottom: 10px; - font-size: 2rem; } - .docs-page .docs-content article.docs-body h3, .docs-page .docs-content article.docs-body h4, .docs-page .docs-content article.docs-body h5, .docs-page .docs-content article.docs-body h6 { - padding-top: 20px; - padding-bottom: 5px; - font-size: 1.5rem; } - .docs-page .docs-content article.docs-body h1, .docs-page .docs-content article.docs-body h2, .docs-page .docs-content article.docs-body h3, .docs-page .docs-content article.docs-body h4, .docs-page .docs-content article.docs-body h5, .docs-page .docs-content article.docs-body h6 { - position: relative; } - .docs-page .docs-content article.docs-body h1 .anchor, .docs-page .docs-content article.docs-body h2 .anchor, .docs-page .docs-content article.docs-body h3 .anchor, .docs-page .docs-content article.docs-body h4 .anchor, .docs-page .docs-content article.docs-body h5 .anchor, .docs-page .docs-content article.docs-body h6 .anchor { - position: absolute; - right: -26px; - font-size: 18px; - bottom: 5px; - color: #999; - opacity: 0; - transition: .5s; } - .docs-page .docs-content article.docs-body h1:hover .anchor, .docs-page .docs-content article.docs-body h2:hover .anchor, .docs-page .docs-content article.docs-body h3:hover .anchor, .docs-page .docs-content article.docs-body h4:hover .anchor, .docs-page .docs-content article.docs-body h5:hover .anchor, .docs-page .docs-content article.docs-body h6:hover .anchor { - opacity: 1; } - .docs-page .docs-content article.docs-body .blockquote { - margin-bottom: 1rem; - margin-left: 0; - border-left: 3px solid #d2dbe4; - background-color: #e9edf1; - padding: 1em 1.5em !important; - font-size: 1em; } - .docs-page .docs-content article.docs-body img { - max-width: 100%; - border: 1px solid #f4f5f7; - margin: 15px 0 25px; - box-shadow: 0 0 45px #f8f9fa; - border-radius: 6px; } - .docs-page .docs-content article.docs-body table { - display: block; - overflow: auto; - width: 100%; } - .docs-page .docs-content article.docs-body table thead tr { - border-bottom: 2px inset; } - .docs-page .docs-content article.docs-body table th { - font-weight: 600; } - .docs-page .docs-content article.docs-body table td, .docs-page .docs-content article.docs-body table th { - border: 1px solid #dfe2e5; - padding: 6px 13px; } - .docs-page .docs-content article.docs-body table tr { - background-color: #fff; - border-top: 1px solid #c6cbd1; } - .docs-page .docs-content article.docs-body table tr:nth-child(2n) { - background-color: #f6f8fa; } - .docs-page .docs-content article.docs-body table img { - background-color: initial; } - .docs-page .doc-social-btns { - margin: 0 -15px 0; - font-size: .8em; - background: #e9ecf0; - height: 53px; - padding: 15px 20px; - position: fixed; - top: 0px; - width: 100%; } - .docs-page .doc-social-btns a:hover { - text-decoration: none; } - .docs-page .doc-social-btns .twitter { - color: #00ACEE; } - .docs-page .doc-social-btns .linkedin { - color: #0077B5; } - .docs-page .doc-social-btns .email { - color: #5a5a5a; } - .docs-page .doc-social-btns .share-button { - margin-left: 10px; } - .docs-page .cont-container a.cont-avatar { - position: relative; } - .docs-page .cont-container a.cont-avatar img { - width: 24px; - height: 24px; - box-shadow: 0 0 8px #c1bbbb; - border: 2px solid #fff; - margin-left: -10px; - display: inline-block; - margin-top: -2px; - transition: .2s; } - .docs-page .cont-container:hover a.cont-avatar img { - margin-left: -2px; } - .docs-page .docs-page-index { - min-height: 90vh; - background-color: #f5f7fa !important; } - .docs-page .docs-page-index #scroll-index { - max-height: 90vh; } - .docs-page .docs-page-index .docs-inner-anchors { - position: fixed; - top: 50px; - padding: 10px; - font-size: .90em; } - .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills { - font-size: .92em; - margin-left: 15px; - border-left: 1px solid #eee; } - .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link { - padding: 3px 14px 4px; - color: #aaa; - line-height: 1.2; - position: relative; - border-left: 1px solid #eee; - border-radius: 0; - margin-left: -1px; - margin-top: 1px; - margin-bottom: 1px; - transition: .2s; - font-weight: normal; } - .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link.active { - border-left: 1px solid #007bff; - background: none; - color: #007bff; - font-weight: normal; } - .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-link.active { - color: #007bff; } - .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-pills .nav-link.active { - color: #007bff; } - .docs-page .docs-page-index .docs-inner-anchors .index-scroll { - margin-left: -30px; } - .docs-page .docs-page-index .docs-inner-anchors .docs-anchors-wrapper { - max-width: 300px; - float: left; } - .docs-page .docs-page-index .scroll-top-btn { - display: none; - font-size: .85em; - color: #aaa; - text-decoration: none; - padding-left: 18px; } - .docs-page .docs-page-index .scroll-top-btn.showup { - display: block; } - -.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-select, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select input.form-control { - background: #000000; - color: white; } - -.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select input.form-control { - background: #000000; - color: white; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select input.form-control::placeholder { - color: white; - opacity: .5; } +.container { + max-width: 1920px !important; + border: 1px solid; +} -.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select label { +a { + text-decoration: none; +} + +.docs-page .anchorjs-link { + transition: all 0.25s linear; + -webkit-transition: all 0.25s linear; +} +.docs-page .anchorjs-link:hover { + text-decoration: none; +} +.docs-page *:hover > .anchorjs-link { + margin-left: -1.125em !important; + transition: color 0.25s linear; + color: gray; +} +.docs-page .docs-sidebar { + position: fixed; + top: 4px; + left: auto; + border-radius: 12px; + background: #211e1e; +} +.docs-page .docs-sidebar .input-group { + border-radius: 5px; + overflow: hidden; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper { + width: 300px; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper input.form-control { + border: 0; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper input.form-control:focus, .docs-page .docs-sidebar.docs-sidebar-wrapper input.form-control:active, .docs-page .docs-sidebar.docs-sidebar-wrapper input.form-control:hover, .docs-page .docs-sidebar.docs-sidebar-wrapper input.form-control:visited { + box-shadow: none; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version { + position: relative; + font-size: 12px; + background-color: #474747; + color: rgba(255, 255, 255, 0.3); + border-radius: 8px; + padding: 7px 10px 0 10px; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important; + background-repeat: no-repeat !important; + background-position: right 0.75rem center !important; + background-size: 16px 12px !important; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select { + border-radius: 3px; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select .input-group-text { + padding: 0 0; + font-size: 0.9rem; + width: 15px; + height: 34px; + line-height: 1; + border-radius: 0px; + border: 0; + background: transparent; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select .input-group-text i { + color: rgba(255, 255, 255, 0.3); +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select select.form-select, +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select input.form-control { + padding: 0 10px 2px 10px; + border: 0; + min-height: 30px; + height: 30px; + font-size: 1.17em; + border-radius: 0px; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select select.form-select:focus, .docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select select.form-select:active, .docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select select.form-select:hover, .docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select select.form-select:visited, +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select input.form-control:focus, +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select input.form-control:active, +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select input.form-control:hover, +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select input.form-control:visited { + box-shadow: none; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select select.form-select { + padding: 0 0 2px 0; + background-image: none; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-filter { + padding: 0 1rem; + margin: 0.5rem 0; + font-size: 0.9em; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-filter .filter-icon i.fa { + color: #ddd; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list { + height: calc(100vh - 130px); +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list > ul { + display: block; + height: calc(100vh - 230px); + overflow-y: auto; + margin-right: 12px !important; + margin-top: 20px !important; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul { + font-size: 14px; + list-style: none; + padding: 0 1rem 1rem; + margin: 0; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li { + margin-left: 0px; + padding-left: 24px; + display: block; + width: 100%; + position: relative; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li a { + color: #999; + font-weight: 700; + padding: 7px 0; + display: block; + border-bottom: 0; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li a:hover { + color: #000; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li a.last-link { + top: 11px; + color: #aaa; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li .badge { + text-transform: uppercase; + font-size: 9px; + position: relative; + letter-spacing: 0.125px; + top: -2px; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li span.tree-toggle { + color: #999; + padding: 7px 0; + display: block; + border-bottom: 0; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li .plus-icon { + font-size: 0.85em; + transition: 0.3s; + width: 18px; + height: 18px; + text-align: center; + padding: 0; + line-height: 1; + border-radius: 50%; + margin-right: 4px; + position: absolute; + left: 2px; + top: 11px; + color: #aaa; + cursor: default; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li .plus-icon .fa-long-arrow-right.no-link { + color: #555; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li .plus-icon .fa-chevron-right { + cursor: pointer; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li ul { + padding: 0; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li ul li a { + font-weight: 400; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li ul li ul { + padding: 0; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li ul li ul li a { + font-weight: 300; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a { + color: #000; + transition: 0.4s; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > span .fa { + transform: rotate(90deg); + color: #3e9fcb; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li.selected-tree.last-link > span .fa { + transform: rotate(0deg); +} +.docs-page .docs-sidebar .docs-top { + padding: 0 1em; +} +.docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand { + font-size: 1.35rem; + color: #000; + font-weight: 700; + padding: 15px 0 15px; + line-height: 1; +} +.docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand strong { + font-weight: 300; + text-transform: uppercase; + font-size: 0.7em; + letter-spacing: 1px; +} +.docs-page .docs-sidebar .docs-top .navbar-logo .go-back-site { + color: #000; + opacity: 0.65; + transition: 0.2s; + font-size: 0.8em; + font-weight: 300; +} +.docs-page .docs-sidebar .docs-top .navbar-logo .go-back-site:hover { + text-decoration: none; + opacity: 1; +} +.docs-page .docs-sidebar .docs-top .navbar-logo .navbar-logo-desc { + font-size: 0.85em; +} +.docs-page .docs-sidebar .docs-top .navbar-logo .navbar-logo-desc strong { + display: block; +} +.docs-page .docs-content { + overflow-x: scroll; + min-height: 100vh; +} +.docs-page .docs-content .contributors { + position: absolute; + top: 15px; + right: 5px; +} +.docs-page .docs-content .contributors .contributors-avatar { + border-radius: 21px; + width: 21px; + height: 21px; +} +.docs-page .docs-content .contributors a { + padding: 0; + width: 21px; + height: 21px; + display: inline-block; + margin: 0 0 0 2px; +} +.docs-page .docs-content .contributors a:hover { + text-decoration: none; +} +.docs-page .docs-content .docs-link-btns { + background: #f5f7fa; + padding: 15px 30px; + margin: 0 -15px; + text-align: right; + font-size: 0.8em; + min-height: 48px; +} +.docs-page .docs-content .docs-link-btns a { + color: #222; +} +.docs-page .docs-content .docs-link-btns a .text-muted { + color: #ccc !important; +} +.docs-page .docs-content .docs-link-btns a:hover { + color: #000; + text-decoration: none; +} +.docs-page .docs-content .docs-link-btns .search-area { + margin: -5px 0 -5px -10px; + box-shadow: 0 0 10px #e8e8e8; +} +.docs-page .docs-content .docs-link-btns .search-area .input-group-text { + background: white; + border: 0; + color: #000; + font-size: 1em; +} +.docs-page .docs-content .docs-link-btns .search-area .form-control { + background: #fff; + border: 0; + font-size: 1em; + padding-left: 0; + outline: 0; + box-shadow: none; +} +.docs-page .docs-content .docs-text-field { + padding: 2rem; +} +.docs-page .docs-content article.docs-body { + word-break: break-word; +} +.docs-page .docs-content article.docs-body h1 { + padding-top: 1rem; + font-size: 2.25rem; + padding-bottom: 10px; +} +.docs-page .docs-content article.docs-body h2 { + padding-top: 2rem; + padding-bottom: 10px; + font-size: 2rem; +} +.docs-page .docs-content article.docs-body h3, +.docs-page .docs-content article.docs-body h4, +.docs-page .docs-content article.docs-body h5, +.docs-page .docs-content article.docs-body h6 { + padding-top: 20px; + padding-bottom: 5px; + font-size: 1.5rem; +} +.docs-page .docs-content article.docs-body h1, +.docs-page .docs-content article.docs-body h2, +.docs-page .docs-content article.docs-body h3, +.docs-page .docs-content article.docs-body h4, +.docs-page .docs-content article.docs-body h5, +.docs-page .docs-content article.docs-body h6 { + position: relative; +} +.docs-page .docs-content article.docs-body h1 .anchor, +.docs-page .docs-content article.docs-body h2 .anchor, +.docs-page .docs-content article.docs-body h3 .anchor, +.docs-page .docs-content article.docs-body h4 .anchor, +.docs-page .docs-content article.docs-body h5 .anchor, +.docs-page .docs-content article.docs-body h6 .anchor { + position: absolute; + right: -26px; + font-size: 18px; + bottom: 5px; + color: #999; + opacity: 0; + transition: 0.5s; +} +.docs-page .docs-content article.docs-body h1:hover .anchor, +.docs-page .docs-content article.docs-body h2:hover .anchor, +.docs-page .docs-content article.docs-body h3:hover .anchor, +.docs-page .docs-content article.docs-body h4:hover .anchor, +.docs-page .docs-content article.docs-body h5:hover .anchor, +.docs-page .docs-content article.docs-body h6:hover .anchor { + opacity: 1; +} +.docs-page .docs-content article.docs-body .blockquote { + margin-bottom: 1rem; + margin-left: 0; + border-left: 3px solid #d2dbe4; + padding: 1em 1.5em; + background-color: #e9edf1; + padding-bottom: 0.2em; + font-size: 1em; +} +.docs-page .docs-content article.docs-body img { + max-width: 100%; + border: 1px solid #f4f5f7; + margin: 15px 0 25px; + box-shadow: 0 0 45px #f8f9fa; + border-radius: 6px; +} +.docs-page .docs-content article.docs-body table { + display: block; + overflow: auto; + width: 100%; +} +.docs-page .docs-content article.docs-body table thead tr { + border-bottom: 2px inset; +} +.docs-page .docs-content article.docs-body table th { + font-weight: 600; +} +.docs-page .docs-content article.docs-body table td, +.docs-page .docs-content article.docs-body table th { + border: 1px solid #dfe2e5; + padding: 6px 13px; +} +.docs-page .docs-content article.docs-body table tr { + background-color: #fff; + border-top: 1px solid #c6cbd1; +} +.docs-page .docs-content article.docs-body table tr:nth-child(2n) { + background-color: #f6f8fa; +} +.docs-page .docs-content article.docs-body table img { + background-color: initial; +} +.docs-page .cont-container a.cont-avatar { + position: relative; +} +.docs-page .cont-container a.cont-avatar img { + width: 24px; + height: 24px; + box-shadow: 0 0 8px #c1bbbb; + border: 2px solid #fff; + margin-left: -10px; + display: inline-block; + margin-top: -2px; + transition: 0.2s; +} +.docs-page .cont-container:hover a.cont-avatar img { + margin-left: -2px; +} +.docs-page .docs-page-index { + min-height: 90vh; + background-color: transparent !important; +} +.docs-page .docs-page-index #scroll-index { + max-height: 90vh; +} +.docs-page .docs-page-index .docs-inner-anchors { + position: fixed; + top: 4px; + font-size: 0.9em; +} +.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills { + font-size: 0.92em; + margin-left: 15px; + border-left: 1px solid #eee; +} +.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link { + padding: 3px 14px 4px; + color: #aaa; + line-height: 1.2; + position: relative; + border-left: 1px solid #eee; + border-radius: 0; + margin-left: -1px; + margin-top: 1px; + margin-bottom: 1px; + transition: 0.2s; + font-weight: normal; +} +.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link.active { + border-left: 1px solid #3e9fcb; + background: none; + color: #3e9fcb; + font-weight: normal; +} +.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-link.active { + color: #3e9fcb; +} +.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-pills .nav-link.active { + color: #3e9fcb; +} +.docs-page .docs-page-index .docs-inner-anchors .index-scroll { + margin-left: -30px; +} +.docs-page .docs-page-index .docs-inner-anchors .docs-anchors-wrapper { + max-width: 300px; + float: left; +} +.docs-page .docs-page-index .scroll-top-btn { + display: none; + font-size: 0.85em; + color: #aaa; + text-decoration: none; + padding-left: 18px; +} +.docs-page .docs-page-index .scroll-top-btn.showup { + display: block; +} +.docs-page .card { + background-color: #fff; + border-radius: 12px; + border: none; + width: 300px; + padding: 30px; + box-shadow: 0px 0px 19.9858px rgba(11, 15, 33, 0.05); +} +.docs-page .card .card-header { + background-color: transparent; + border-bottom: none; + color: #0b1621; + font-size: 19px; + padding: 0; +} +.docs-page .card .card-body { + padding: 0; +} +.docs-page .top-container { + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px 0 5px 0; + border-bottom: 1px solid #eaeaea; +} +.docs-page .top-container .breadcrumb { + margin-bottom: 0; +} +.docs-page .top-container .breadcrumb .breadcrumb-item { + color: #838690; + font-size: 13px; + font-weight: 500; +} +.docs-page .top-container .breadcrumb .breadcrumb-item a { + color: #838690; +} +.docs-page .top-container .breadcrumb .breadcrumb-item.active { + color: #c7c8c9; + font-weight: 400; +} +.docs-page .top-container .doc-social-btns { + color: rgba(11, 22, 33, 0.5); +} +.docs-page .top-container .doc-social-btns a:hover { + text-decoration: none; +} +.docs-page .top-container .doc-social-btns .twitter, +.docs-page .top-container .doc-social-btns .linkedin, +.docs-page .top-container .doc-social-btns .email { + color: rgba(11, 22, 33, 0.5); +} +.docs-page .top-container .doc-social-btns .share-button { + margin-left: 10px; +} +.docs-page .custom-input-group { + border: 1px solid rgba(11, 22, 33, 0.1); + background-color: white; + border-radius: 8px; + padding: 7px 15px; +} +.docs-page .custom-input-group .input-group-text { + font-size: 12px; + padding: 0; + background-color: transparent; + border: none; + color: rgba(11, 22, 33, 0.3); +} +.docs-page .custom-input-group .form-select { + border: none; + padding: 0; + background-color: transparent; + background-position: right top; +} +.docs-page .custom-input-group .form-select:focus { + box-shadow: none !important; +} + +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select select.form-select, +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select input.form-control { + background-color: transparent; + color: rgba(255, 255, 255, 0.7); +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select input.form-control { + background-color: transparent; + color: rgba(255, 255, 255, 0.7); +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select input.form-control::placeholder { + color: rgba(255, 255, 255, 0.3); +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-version .version-select label { background: #000000; border-color: #000000; - color: #ddd; } - -.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter .form-control { + color: #ddd; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-filter .form-control { background: #333; - color: #999; } - -.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter select { + color: #999; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-filter select { border: 0; - border-radius: 6px; } - -.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter .filter-icon i.fa { - color: #aaa; } - -.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a { + border-radius: 6px; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-filter .filter-icon i.fa { color: #aaa; - border-bottom: 0; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a:hover { - color: #fff; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon { - font-size: .85em; - transition: .3s; - width: 18px; - height: 18px; - text-align: center; - padding: 0; - line-height: 1; - border-radius: 50%; - margin-right: 4px; - position: absolute; - left: 2px; - top: 11px; - color: #aaa; - cursor: default; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon .fa-long-arrow-right.no-link { - color: #555; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon .fa-chevron-right { - cursor: pointer; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon.last-link { - top: 11px; } - -.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li span.tree-toggle { +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li a { + color: #aaa; + border-bottom: 0; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li a:hover { + color: #fff; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon { + font-size: 0.85em; + transition: 0.3s; + width: 18px; + height: 18px; + text-align: center; + padding: 0; + line-height: 1; + border-radius: 50%; + margin-right: 4px; + position: absolute; + left: 2px; + top: 11px; + color: #aaa; + cursor: default; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon .fa-long-arrow-right.no-link { + color: #555; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon .fa-chevron-right { + cursor: pointer; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon.last-link { + top: 11px; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li span.tree-toggle { color: #555; padding: 7px 0; display: block; - border-bottom: 0; } - -.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a { + border-bottom: 0; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a { color: #fff; - transition: .4s; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span .fa { - color: #fff; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span:not(.last-link) .fa { - transform: rotate(90deg); - color: #fff; } - + transition: 0.4s; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span .fa { + color: #fff; +} +.docs-page .docs-sidebar.docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span:not(.last-link) .fa { + transform: rotate(90deg); + color: #fff; +} .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand { color: #fff; text-transform: uppercase; - white-space: unset; } - + white-space: unset; +} .docs-page .docs-sidebar .docs-top .navbar-logo .go-back-site { color: #fff; text-align: center; @@ -440,103 +624,128 @@ a { width: 100%; background: #444; padding: 6px 0 8px; - border-radius: 5px; } - + border-radius: 5px; +} .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-logo-desc { - color: #ddd; } + color: #ddd; +} @media (min-width: 1100px) { .container { - max-width: 1080px; } } - + max-width: 1080px; + } +} @media (min-width: 1366px) { .container { - max-width: 1340px; } } - + max-width: 1340px; + } +} @media (min-width: 1440px) { .container { - max-width: 1400px; } } - + max-width: 1400px; + } +} @media (max-width: 767px) { .docs-page .docs-content article.docs-body h1 { - padding-top: 1.5rem; } - .docs-page { - background: #f5f7f9; } - .docs-page > .container-fluid { - display: block; } - .docs-page > .container-fluid > .row { - display: block; } - .docs-page .docs-sidebar { - position: fixed; - max-width: 100%; - width: 100%; - display: block; - padding: 0 !important; - top: 0; - left: 0; - z-index: 100; - right: 0; } - .docs-page .docs-sidebar .docs-sidebar-wrapper { - max-width: 100%; - width: 100%; - top: 0px; - position: relative; - margin: 0 !important; - height: 72px; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list { - padding: .5rem 1.5rem 2rem 1.5rem; - position: fixed; - top: 70px; - font-size: 17px; - left: 0; - width: 100%; - z-index: 100; - background: #1d1d1d; - display: none; } - .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list .docs-filter { - padding: 0 0 1rem !important; } - .docs-page .docs-sidebar .docs-top .navbar-logo { - padding: 0rem; - padding-top: .3rem; - display: block; - text-align: center; } - .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand { - font-size: 1.25rem; - font-weight: 700; - display: block; - margin-right: 0em; - padding: 10px 0 15px; - text-transform: uppercase; } - .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand .docs-logo { - width: 110px; } - .docs-page .docs-sidebar .docs-top .navbar-logo .go-back-site { - display: none; } - .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-logo-desc { - font-size: 1em; - display: none; } - .docs-page .docs-sidebar .docs-top .open-dmenu { - position: absolute; - top: 10px; - left: 20px; } - .docs-page .docs-content { - padding-top: 72px; - max-width: 100%; - display: block !important; } - .docs-page .docs-content .docs-text-field { - padding: 1rem 1.5rem; } - .docs-page .docs-page-index { - display: none; } } + padding-top: 1.5rem; + } + .docs-page { + background: #f5f7f9; + } + .docs-page > .container-fluid { + display: block; + } + .docs-page > .container-fluid > .row { + display: block; + } + .docs-page .docs-sidebar { + position: fixed; + max-width: 100%; + width: 100%; + display: block; + padding: 0 !important; + top: 0; + left: 0; + z-index: 100; + right: 0; + } + .docs-page .docs-sidebar .docs-sidebar-wrapper { + max-width: 100%; + width: 100%; + top: 0px; + position: relative; + margin: 0 !important; + height: 72px; + } + .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list { + padding: 0.5rem 1.5rem 2rem 1.5rem; + position: fixed; + top: 70px; + font-size: 17px; + left: 0; + width: 100%; + z-index: 100; + background: #1d1d1d; + display: none; + } + .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list .docs-filter { + padding: 0 0 1rem !important; + } + .docs-page .docs-sidebar .docs-top .navbar-logo { + padding: 0rem; + padding-top: 0.3rem; + display: block; + text-align: center; + } + .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand { + font-size: 1.25rem; + font-weight: 700; + display: block; + margin-right: 0em; + padding: 10px 0 15px; + text-transform: uppercase; + } + .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand .docs-logo { + width: 110px; + } + .docs-page .docs-sidebar .docs-top .navbar-logo .go-back-site { + display: none; + } + .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-logo-desc { + font-size: 1em; + display: none; + } + .docs-page .docs-sidebar .docs-top .open-dmenu { + position: absolute; + top: 10px; + left: 20px; + } + .docs-page .docs-content { + padding-top: 72px; + max-width: 100%; + display: block !important; + } + .docs-page .docs-content .docs-text-field { + padding: 1rem 1.5rem; + } + .docs-page .docs-page-index { + display: none; + } +} .for-mobile { - display: none; } + display: none; +} .for-desktop { - display: inline-block; } + display: inline-block; +} -pre[class*="language-"] { +pre[class*=language-] { padding: 1.4em 2em !important; margin: 15px 0 25px !important; - border-radius: 6px; } + border-radius: 6px; +} code { padding: 0.2em 0.4em; @@ -544,83 +753,114 @@ code { font-size: 82%; background-color: #f0f1f3; border-radius: 3px; - color: #28a745; } + color: #28a745; +} pre code { - padding: 0; } - + padding: 0; +} pre .token.keyword { - color: #569cd6; } - -pre .token.atrule, pre .token.attr-value, pre .token.function, pre .token.class-name { - color: #d69d85; } - -:not(pre) > code[class*="language-"], pre[class*="language-"] { - background: #191919 !important; } + color: #569cd6; +} +pre .token.atrule, +pre .token.attr-value, +pre .token.function, +pre .token.class-name { + color: #d69d85; +} + +:not(pre) > code[class*=language-], +pre[class*=language-] { + background: #191919 !important; +} div.code-toolbar > .toolbar span { - cursor: default; } + cursor: default; +} div.code-toolbar > .toolbar a { - cursor: copy; } + cursor: copy; +} .logo-nav ul { - width: 300px !important; } + width: 300px !important; +} @media (max-width: 767px) { body { - font-size: 14px; } + font-size: 14px; + } + .for-mobile { - display: inline-block; } + display: inline-block; + } + .for-desktop { - display: none; } - .close-mmenu, .close-dmenu { + display: none; + } + + .close-mmenu, +.close-dmenu { position: absolute; top: -78px; left: 25px; color: #fff; font-size: 68px; background: #fff; - opacity: 0; } + opacity: 0; + } + .navbar { - padding: .5rem 1.75rem; } - .navbar .navbar-collapse { - background: #38003d; - position: fixed; - top: 86px; - left: 0; - width: 100%; - height: 100vh; - height: calc(100vh - 86px); - z-index: 100 !important; } - .navbar .navbar-collapse .navbar-nav { - height: 100vh; - padding: 20px 30px; - overflow: auto; } - .navbar .navbar-collapse .navbar-nav .nav-link { - padding: 1.2rem !important; } - .navbar .navbar-toggler { - padding: .5rem .75rem; - font-size: 1.5rem; - line-height: 1; - background-color: transparent; - border: 0; - border-radius: .25rem; - color: #fff !important; - margin-left: -1rem; } + padding: 0.5rem 1.75rem; + } + .navbar .navbar-collapse { + background: #38003d; + position: fixed; + top: 86px; + left: 0; + width: 100%; + height: 100vh; + height: calc(100vh - 86px); + z-index: 100 !important; + } + .navbar .navbar-collapse .navbar-nav { + height: 100vh; + padding: 20px 30px; + overflow: auto; + } + .navbar .navbar-collapse .navbar-nav .nav-link { + padding: 1.2rem !important; + } + .navbar .navbar-toggler { + padding: 0.5rem 0.75rem; + font-size: 1.5rem; + line-height: 1; + background-color: transparent; + border: 0; + border-radius: 0.25rem; + color: #fff !important; + margin-left: -1rem; + } + .section-with-logos img { margin: 15px; opacity: 1; -webkit-filter: grayscale(0%); - filter: grayscale(0%); } + filter: grayscale(0%); + } + span.code-arrow { padding: 0px 0 0px; display: block; transform: rotate(90deg); - font-size: 2em; } - .mb-5, .my-5 { - margin-bottom: 2rem !important; } } - + font-size: 2em; + } + + .mb-5, +.my-5 { + margin-bottom: 2rem !important; + } +} @media screen and (max-width: 767px) { .navbar-logo .navbar-brand { display: inline-block; @@ -628,53 +868,79 @@ div.code-toolbar > .toolbar a { max-width: 70%; overflow: hidden; text-overflow: ellipsis; - white-space: nowrap; } } - + white-space: nowrap; + } +} .alert-criteria { padding: 1.25em 1.5em; - max-width: 100%; } - .alert-criteria p.alert-p { - font-size: .96em; } - .alert-criteria .input-group .input-group-text, .alert-criteria .input-group .form-control { - font-size: .96em; } - @media screen and (max-width: 767px) { - .alert-criteria .input-group .input-group-text, .alert-criteria .input-group .form-control { - font-size: .88em; } } + max-width: 100%; + color: #3e9fcb; + background-color: #f4f6fa; + border-color: #f4f6fa; + border-radius: 12px; +} +.alert-criteria p.alert-p { + font-size: 0.96em; +} +.alert-criteria .input-group .input-group-text, +.alert-criteria .input-group .form-control { + font-size: 0.96em; +} +@media screen and (max-width: 767px) { + .alert-criteria .input-group .input-group-text, +.alert-criteria .input-group .form-control { + font-size: 0.88em; + } +} +.alert-criteria .input-group .input-group-text { + color: #004085; + background-color: #bddcfd; + border: 1px solid #bddcfd; +} +@media screen and (max-width: 1366px) { .alert-criteria .input-group .input-group-text { - color: #004085; - background-color: #bddcfd; - border: 1px solid #bddcfd; } - @media screen and (max-width: 1366px) { - .alert-criteria .input-group .input-group-text { - display: none; } } + display: none; + } +} +.alert-criteria .input-group .form-control { + color: #004085; + background-color: #fff; + border: 1px solid #bddcfd; +} +@media screen and (max-width: 1366px) { .alert-criteria .input-group .form-control { - color: #004085; - background-color: #fff; - border: 1px solid #bddcfd; } - @media screen and (max-width: 1366px) { - .alert-criteria .input-group .form-control { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; } } + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } +} .scrolledMore { - padding-top: 107px; } + padding-top: 107px; +} +.scrolledMore .alert-criteria { + position: fixed; + top: 0; + z-index: 10; + border: 0; + border-radius: 0; + margin-left: -47px; + padding: 0.5em 0.75em; +} +@media screen and (max-width: 767px) { .scrolledMore .alert-criteria { - position: fixed; - top: 0; - z-index: 10; - border: 0; - border-radius: 0; - margin-left: -47px; - padding: 0.5em 0.75em; } - @media screen and (max-width: 767px) { - .scrolledMore .alert-criteria { - top: 72px; - margin-left: -36px; } } - .scrolledMore .alert-criteria p.alert-p { - display: none; } + top: 72px; + margin-left: -36px; + } +} +.scrolledMore .alert-criteria p.alert-p { + display: none; +} .mCS-autoHide > .mCustomScrollBox > .mCSB_scrollTools, .mCS-autoHide > .mCustomScrollBox ~ .mCSB_scrollTools { opacity: 1 !important; filter: "alpha(opacity=1)"; - -ms-filter: "alpha(opacity=1)"; } + -ms-filter: "alpha(opacity=1)"; +} + +/*# sourceMappingURL=vs.css.map */ diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.css.map b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.css.map new file mode 100644 index 0000000000..74ca9cf43e --- /dev/null +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["vs.scss"],"names":[],"mappings":"AAAA;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAIA;EACI;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;;AAEA;EACI;;AAEA;EAII;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAIR;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;EAII;;AAIR;EACI;EACA;;AAKZ;EACI;EACA;EACA;;AAGI;EACI;;AAKZ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGI;EACI;;AAIR;EACI;;AAIR;EACI;;AAGI;EACI;;AAGJ;EACI;;AAGI;EACI;;AAQhB;EACI;EACA;;AAIA;EACI;EACA;;AAMA;EACI;;AAUhC;EACI;;AAGI;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAIR;EACI;;AAEA;EACI;;AAOpB;EACI;EACA;;AAEA;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAEA;EACI;;AAGJ;EACI;EACA;;AAIR;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAKZ;EACI;;AAGJ;EACI;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;AAAA;AAAA;AAAA;EAII;EACA;EACA;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAMI;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGI;EACI;;AAIR;EACI;;AAGJ;AAAA;EAEI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAOZ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAMA;EACI;;AAMhB;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGI;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAMA;EACI;;AAMA;EACI;;AAQxB;EACI;;AAGJ;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAEA;EACI;EACA;EACA;;AACA;EACI;;AAEJ;EACI;EACA;;AAIZ;EACI;;AAEA;EACI;;AAGJ;AAAA;AAAA;EAGI;;AAEJ;EACI;;AAKZ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AACA;EACE;;;AAYM;AAAA;EAEI;EACA;;AAGJ;EACI;EACA;;AAEA;EACI;;AAIR;EACI;EACA;EACA;;AAMR;EACI;EACA;;AAGJ;EACI;EACA;;AAIA;EACI;;AAQA;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGI;EACI;;AAIR;EACI;;AAGJ;EACI;;AAKZ;EACI;EACA;EACA;EACA;;AAIA;EACI;EACA;;AAGI;EACI;;AAGJ;EACI;EACA;;AAYxB;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAOpB;EACI;IACI;;;AAIR;EACI;IACI;;;AAIR;EACI;IACI;;;AAIR;EACI;IACI;;;EAGJ;IASI;;EARA;IACI;;EAEA;IACI;;EAMR;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACI;IACA;IACA;IACA;IACA;IACA;;EAEA;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACI;;EAYR;IACI;IACA;IACA;IACA;;EAEA;IACI;IACA;IACA;IACA;IACA;IACA;;EAEA;IACI;;EAIR;IACI;;EAGJ;IACI;IACA;;EAIR;IACI;IACA;IACA;;EAQZ;IACI;IACA;IACA;;EAEA;IACI;;EAIR;IACI;;;AAKZ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAIA;EACI;;AAGJ;EACI;;AAGJ;AAAA;AAAA;AAAA;EAII;;;AAIR;AAAA;EAEI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;IACI;;;EAGJ;IACI;;;EAGJ;IACI;;;EAGJ;AAAA;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;;;EAGJ;IACI;;EAEA;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACI;IACA;IACA;;EAEA;IACI;;EAKZ;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;EAIR;IACI;IACA;IACA;IACA;;;EAGJ;IACI;IACA;IACA;IACA;;;EAGJ;AAAA;IAEI;;;AAIR;EAEQ;IACI;IACA;IACA;IACA;IACA;IACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAIA;AAAA;EAEI;;AAEA;EAJJ;AAAA;IAKQ;;;AAIR;EACI;EACA;EACA;;AAEA;EALJ;IAMQ;;;AAIR;EACI;EACA;EACA;;AAEA;EALJ;IAMQ;IACA;;;;AAMhB;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EATJ;IAUQ;IACA;;;AAGJ;EACI;;;AAKZ;AAAA;EAEI;EACA;EACA","file":"vs.css"} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.scss b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.scss index c678d177e2..f397ba1cf6 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.scss +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Styles/vs.scss @@ -1,103 +1,118 @@ body { position: relative; } -a { text-decoration: none;} -.docs-page { - background: rgb(245, 247, 249); +.container { + max-width: 1920px !important; + border: 1px solid; +} + +a { + text-decoration: none; +} +.docs-page { .anchorjs-link { - transition: all .25s linear; + transition: all 0.25s linear; + -webkit-transition: all 0.25s linear; + + &:hover { + text-decoration: none; + } } *:hover > .anchorjs-link { margin-left: -1.125em !important; - transition: color .25s linear; + transition: color 0.25s linear; color: gray; } - .anchorjs-link:hover { - text-decoration: none; - } - .docs-sidebar { - padding-right: 1rem; - position: relative; - top: 0px; - left: 0; position: fixed; - background: #1d1d1d; + top: 4px; + left: auto; + border-radius: 12px; + background: #211e1e; .input-group { border-radius: 5px; overflow: hidden; } - .docs-sidebar-wrapper { + &.docs-sidebar-wrapper { width: 300px; - float: right; input.form-control { border: 0; - &:focus, &:active, &:hover, &:visited { + &:focus, + &:active, + &:hover, + &:visited { box-shadow: none; } } .docs-version { position: relative; - padding: 0 1rem; - margin: .25rem 0; + font-size: 12px; + background-color: #474747; + color: rgb(255 255 255 / 30%); + border-radius: 8px; + padding: 7px 10px 0 10px; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important; + background-repeat: no-repeat !important; + background-position: right 0.75rem center !important; + background-size: 16px 12px !important; .version-select { border-radius: 3px; .input-group-text { - padding: 0 12px; - font-size: .9rem; - width: 30px; + padding: 0 0; + font-size: 0.9rem; + width: 15px; height: 34px; line-height: 1; border-radius: 0px; border: 0; - background: #000; + background: transparent; i { - color: #666; + color: rgb(255 255 255 / 30%); } } - select.form-select, input.form-control { + select.form-select, + input.form-control { padding: 0 10px 2px 10px; border: 0; - min-height: 34px; - height: 34px; - font-size: .9em; + min-height: 30px; + height: 30px; + font-size: 1.17em; border-radius: 0px; - &:focus, &:active, &:hover, &:visited { + &:focus, + &:active, + &:hover, + &:visited { box-shadow: none; } } select.form-select { - padding: 0 10px 2px 6px; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important; - background-repeat: no-repeat !important; - background-position: right 0.75rem center !important; - background-size: 16px 12px !important; + padding: 0 0 2px 0; + background-image: none; } } } .docs-filter { padding: 0 1rem; - margin: .5rem 0; - font-size: .9em; + margin: 0.5rem 0; + font-size: 0.9em; .filter-icon { - i.fa { color: #ddd; } @@ -105,7 +120,7 @@ a { text-decoration: none;} } .docs-tree-list { - height: 100vh; + height: calc(100vh - 130px); > ul { display: block; @@ -128,7 +143,6 @@ a { text-decoration: none;} width: 100%; position: relative; - a { color: #999; font-weight: 700; @@ -150,7 +164,7 @@ a { text-decoration: none;} text-transform: uppercase; font-size: 9px; position: relative; - letter-spacing: .125px; + letter-spacing: 0.125px; top: -2px; } @@ -162,8 +176,8 @@ a { text-decoration: none;} } .plus-icon { - font-size: .85em; - transition: .3s; + font-size: 0.85em; + transition: 0.3s; width: 18px; height: 18px; text-align: center; @@ -192,7 +206,6 @@ a { text-decoration: none;} padding: 0; li { - a { font-weight: 400; } @@ -212,13 +225,13 @@ a { text-decoration: none;} &.selected-tree { > a { color: #000; - transition: .4s; + transition: 0.4s; } > span { .fa { transform: rotate(90deg); - color: #007bff; + color: #3e9fcb; } } @@ -235,9 +248,8 @@ a { text-decoration: none;} } } - - .docs-top { - padding: 0 1em; + .docs-top { + padding: 0 1em; .navbar-logo { .navbar-brand { @@ -250,16 +262,16 @@ a { text-decoration: none;} strong { font-weight: 300; text-transform: uppercase; - font-size: .7em; + font-size: 0.7em; letter-spacing: 1px; } } .go-back-site { color: #000; - opacity: .65; - transition: .2s; - font-size: .8em; + opacity: 0.65; + transition: 0.2s; + font-size: 0.8em; font-weight: 300; &:hover { @@ -269,7 +281,7 @@ a { text-decoration: none;} } .navbar-logo-desc { - font-size: .85em; + font-size: 0.85em; strong { display: block; @@ -312,7 +324,7 @@ a { text-decoration: none;} padding: 15px 30px; margin: 0 -15px; text-align: right; - font-size: .8em; + font-size: 0.8em; min-height: 48px; a { @@ -369,13 +381,21 @@ a { text-decoration: none;} font-size: 2rem; } - h3, h4, h5, h6 { + h3, + h4, + h5, + h6 { padding-top: 20px; padding-bottom: 5px; font-size: 1.5rem; } - h1, h2, h3, h4, h5, h6 { + h1, + h2, + h3, + h4, + h5, + h6 { position: relative; .anchor { @@ -385,7 +405,7 @@ a { text-decoration: none;} bottom: 5px; color: #999; opacity: 0; - transition: .5s; + transition: 0.5s; } &:hover { @@ -401,7 +421,7 @@ a { text-decoration: none;} border-left: 3px solid #d2dbe4; padding: 1em 1.5em; background-color: #e9edf1; - padding-bottom: .2em; + padding-bottom: 0.2em; font-size: 1em; } @@ -413,7 +433,6 @@ a { text-decoration: none;} border-radius: 6px; } - table { display: block; overflow: auto; @@ -426,61 +445,31 @@ a { text-decoration: none;} } th { - font-weight: 600 + font-weight: 600; } - td, th { + td, + th { border: 1px solid #dfe2e5; - padding: 6px 13px + padding: 6px 13px; } tr { background-color: #fff; - border-top: 1px solid #c6cbd1 + border-top: 1px solid #c6cbd1; } tr:nth-child(2n) { - background-color: #f6f8fa + background-color: #f6f8fa; } img { - background-color: initial + background-color: initial; } } } } - .doc-social-btns { - margin: 0 -15px 0; - font-size: .8em; - background: #e9ecf0; - height: 53px; - padding: 15px 20px; - position: fixed; - top: 0px; - width: 100%; - - a:hover { - text-decoration: none; - } - - .twitter { - color: #00ACEE; - } - - .linkedin { - color: #0077B5; - } - - .email { - color: #5a5a5a; - } - - .share-button { - margin-left: 10px; - } - } - .cont-container { a.cont-avatar { position: relative; @@ -493,7 +482,7 @@ a { text-decoration: none;} margin-left: -10px; display: inline-block; margin-top: -2px; - transition: .2s; + transition: 0.2s; } } @@ -508,7 +497,7 @@ a { text-decoration: none;} .docs-page-index { min-height: 90vh; - background-color: #f5f7fa !important; + background-color: transparent !important; #scroll-index { max-height: 90vh; @@ -516,13 +505,12 @@ a { text-decoration: none;} .docs-inner-anchors { position: fixed; - top: 50px; - padding: 10px; - font-size: .90em; + top: 4px; + font-size: 0.9em; .navbar { .nav-pills { - font-size: .92em; + font-size: 0.92em; margin-left: 15px; border-left: 1px solid #eee; @@ -536,13 +524,13 @@ a { text-decoration: none;} margin-left: -1px; margin-top: 1px; margin-bottom: 1px; - transition: .2s; + transition: 0.2s; font-weight: normal; &.active { - border-left: 1px solid #007bff; + border-left: 1px solid #3e9fcb; background: none; - color: #007bff; + color: #3e9fcb; font-weight: normal; } } @@ -550,14 +538,14 @@ a { text-decoration: none;} .nav-pills { .nav-link { &.active { - color: #007bff; + color: #3e9fcb; } } .nav-pills { .nav-link { &.active { - color: #007bff; + color: #3e9fcb; } } } @@ -575,10 +563,9 @@ a { text-decoration: none;} } } - .scroll-top-btn { display: none; - font-size: .85em; + font-size: 0.85em; color: #aaa; text-decoration: none; padding-left: 18px; @@ -588,28 +575,110 @@ a { text-decoration: none;} } } } -} + .card { + background-color: #fff; + border-radius: 12px; + border: none; + width: 300px; + padding: 30px; + box-shadow: 0px 0px 19.9858px rgba(11, 15, 33, 0.05); + + .card-header { + background-color: transparent; + border-bottom: none; + color: #0b1621; + font-size: 19px; + padding: 0; + } + .card-body { + padding: 0; + } + } + + .top-container { + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px 0 5px 0; + border-bottom: 1px solid #eaeaea; + + .breadcrumb { + margin-bottom: 0; + + .breadcrumb-item { + color: #838690; + font-size: 13px; + font-weight: 500; + a { + color: #838690; + } + &.active { + color: #c7c8c9; + font-weight: 400; + } + } + } + .doc-social-btns { + color: rgb(11 22 33 / 50%); + + a:hover { + text-decoration: none; + } + + .twitter, + .linkedin, + .email { + color: rgb(11 22 33 / 50%); + } + .share-button { + margin-left: 10px; + } + } + } + + .custom-input-group { + border: 1px solid rgba(11, 22, 33, 0.1); + background-color: white; + border-radius: 8px; + padding: 7px 15px; + .input-group-text { + font-size: 12px; + padding: 0; + background-color: transparent; + border: none; + color: rgb(11 22 33 / 30%) + } + .form-select { + border: none; + padding: 0; + background-color: transparent; + background-position: right top; + &:focus{ + box-shadow: none !important; + } + + } + } +} .docs-page { .docs-sidebar { - .docs-sidebar-wrapper { - + &.docs-sidebar-wrapper { .docs-version { .version-select { - - select.form-select, input.form-control { - background: #000000; - color: white; + select.form-select, + input.form-control { + background-color: transparent; + color: rgb(255 255 255 / 70%); } input.form-control { - background: #000000; - color: white; + background-color: transparent; + color: rgb(255 255 255 / 70%); &::placeholder { - color: white; - opacity: .5; + color: rgb(255 255 255 / 30%); } } @@ -642,8 +711,6 @@ a { text-decoration: none;} .docs-tree-list { ul { li { - - a { color: #aaa; border-bottom: 0; @@ -653,8 +720,8 @@ a { text-decoration: none;} } .plus-icon { - font-size: .85em; - transition: .3s; + font-size: 0.85em; + transition: 0.3s; width: 18px; height: 18px; text-align: center; @@ -684,7 +751,6 @@ a { text-decoration: none;} } } - span.tree-toggle { color: #555; padding: 7px 0; @@ -692,11 +758,10 @@ a { text-decoration: none;} border-bottom: 0; } - &.selected-tree { > a { color: #fff; - transition: .4s; + transition: 0.4s; span { .fa { @@ -741,32 +806,6 @@ a { text-decoration: none;} } } - - - - - - - - - - - - - - - - - - - - - - - - - - @media (min-width: 1100px) { .container { max-width: 1080px; @@ -821,7 +860,7 @@ a { text-decoration: none;} height: 72px; .docs-tree-list { - padding: .5rem 1.5rem 2rem 1.5rem; + padding: 0.5rem 1.5rem 2rem 1.5rem; position: fixed; top: 70px; font-size: 17px; @@ -846,7 +885,7 @@ a { text-decoration: none;} .docs-top { .navbar-logo { padding: 0rem; - padding-top: .3rem; + padding-top: 0.3rem; display: block; text-align: center; @@ -900,7 +939,6 @@ a { text-decoration: none;} } } - .for-mobile { display: none; } @@ -909,7 +947,7 @@ a { text-decoration: none;} display: inline-block; } -pre[class*="language-"] { +pre[class*='language-'] { padding: 1.4em 2em !important; margin: 15px 0 25px !important; border-radius: 6px; @@ -933,16 +971,19 @@ pre { color: #569cd6; } - .token.atrule, .token.attr-value, .token.function, .token.class-name { + .token.atrule, + .token.attr-value, + .token.function, + .token.class-name { color: #d69d85; } } -:not(pre) > code[class*="language-"], pre[class*="language-"] { +:not(pre) > code[class*='language-'], +pre[class*='language-'] { background: #191919 !important; } - div.code-toolbar > .toolbar span { cursor: default; } @@ -968,7 +1009,8 @@ div.code-toolbar > .toolbar a { display: none; } - .close-mmenu, .close-dmenu { + .close-mmenu, + .close-dmenu { position: absolute; top: -78px; left: 25px; @@ -979,7 +1021,7 @@ div.code-toolbar > .toolbar a { } .navbar { - padding: .5rem 1.75rem; + padding: 0.5rem 1.75rem; .navbar-collapse { background: rgb(56, 0, 61); @@ -1003,12 +1045,12 @@ div.code-toolbar > .toolbar a { } .navbar-toggler { - padding: .5rem .75rem; + padding: 0.5rem 0.75rem; font-size: 1.5rem; line-height: 1; background-color: transparent; border: 0; - border-radius: .25rem; + border-radius: 0.25rem; color: #fff !important; margin-left: -1rem; } @@ -1028,13 +1070,12 @@ div.code-toolbar > .toolbar a { font-size: 2em; } - .mb-5, .my-5 { + .mb-5, + .my-5 { margin-bottom: 2rem !important; } } - - @media screen and (max-width: 767px) { .navbar-logo { .navbar-brand { @@ -1048,22 +1089,25 @@ div.code-toolbar > .toolbar a { } } - - .alert-criteria { padding: 1.25em 1.5em; max-width: 100%; + color: #3e9fcb; + background-color: #f4f6fa; + border-color: #f4f6fa; + border-radius: 12px; p.alert-p { - font-size: .96em; + font-size: 0.96em; } .input-group { - .input-group-text, .form-control { - font-size: .96em; + .input-group-text, + .form-control { + font-size: 0.96em; @media screen and (max-width: 767px) { - font-size: .88em; + font-size: 0.88em; } } @@ -1072,7 +1116,6 @@ div.code-toolbar > .toolbar a { background-color: #bddcfd; border: 1px solid #bddcfd; - @media screen and (max-width: 1366px) { display: none; } @@ -1117,6 +1160,6 @@ div.code-toolbar > .toolbar a { .mCS-autoHide > .mCustomScrollBox > .mCSB_scrollTools, .mCS-autoHide > .mCustomScrollBox ~ .mCSB_scrollTools { opacity: 1 !important; - filter: "alpha(opacity=1)"; - -ms-filter: "alpha(opacity=1)"; -} + filter: 'alpha(opacity=1)'; + -ms-filter: 'alpha(opacity=1)'; +} \ No newline at end of file From 721209a3c7774a88c00edd7e2beb9110e5f9ac29 Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Thu, 25 Aug 2022 14:31:20 +0300 Subject: [PATCH 005/130] Use lepton-x logos on templates (mvc) --- .../wwwroot/global-styles.css | 7 +++++++ .../images/logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes .../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes .../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes .../wwwroot/images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes .../wwwroot/global-styles.css | 7 +++++++ .../images/logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes .../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes .../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes .../wwwroot/images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes .../wwwroot/global-styles.css | 7 +++++++ .../images/logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes .../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes .../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes .../wwwroot/images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes .../wwwroot/global-styles.css | 7 +++++++ .../images/logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes .../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes .../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes .../wwwroot/images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes .../wwwroot/global-styles.css | 7 +++++++ .../images/logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes .../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes .../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes .../wwwroot/images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes .../wwwroot/global-styles.css | 7 +++++++ .../images/logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes .../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes .../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes .../wwwroot/images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes .../wwwroot/global-styles.css | 7 +++++++ .../images/logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes .../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes .../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes .../wwwroot/images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes .../wwwroot/global-styles.css | 7 +++++++ .../images/logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes .../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes .../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes .../wwwroot/images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes 40 files changed, 56 insertions(+) create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/wwwroot/images/logo/leptonx/logo-dark.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/wwwroot/images/logo/leptonx/logo-light-thumbnail.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/wwwroot/images/logo/leptonx/logo-light.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/wwwroot/images/logo/leptonx/logo-dark.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/wwwroot/images/logo/leptonx/logo-light.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/wwwroot/images/logo/leptonx/logo-dark.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/wwwroot/images/logo/leptonx/logo-light-thumbnail.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/wwwroot/images/logo/leptonx/logo-light.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/wwwroot/images/logo/leptonx/logo-dark.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/wwwroot/images/logo/leptonx/logo-light-thumbnail.png create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/wwwroot/images/logo/leptonx/logo-light.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/wwwroot/images/logo/leptonx/logo-dark.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/wwwroot/images/logo/leptonx/logo-light-thumbnail.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/wwwroot/images/logo/leptonx/logo-light.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/wwwroot/images/logo/leptonx/logo-dark.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/wwwroot/images/logo/leptonx/logo-light-thumbnail.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/wwwroot/images/logo/leptonx/logo-light.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/images/logo/leptonx/logo-dark.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/images/logo/leptonx/logo-light-thumbnail.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/images/logo/leptonx/logo-light.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/wwwroot/images/logo/leptonx/logo-dark.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/wwwroot/images/logo/leptonx/logo-light-thumbnail.png create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/wwwroot/images/logo/leptonx/logo-light.png diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/wwwroot/global-styles.css b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/wwwroot/global-styles.css index 06f5063931..e3d29078ce 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/wwwroot/global-styles.css +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/wwwroot/global-styles.css @@ -1 +1,8 @@ /* Your Global Styles */ + +/* */ +:root .lpx-brand-logo { + --lpx-logo: url('/images/logo/leptonx/logo-light.png'); + --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); +} +/* */ \ No newline at end of file diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..621596bb5c1a301136d9ee2af5ffe1391a4af776 GIT binary patch literal 17592 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 */ +:root .lpx-brand-logo { + --lpx-logo: url('/images/logo/leptonx/logo-light.png'); + --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); +} +/* */ \ No newline at end of file diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..621596bb5c1a301136d9ee2af5ffe1391a4af776 GIT binary patch literal 17592 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 */ +:root .lpx-brand-logo { + --lpx-logo: url('/images/logo/leptonx/logo-light.png'); + --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); +} +/* */ \ No newline at end of file diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..621596bb5c1a301136d9ee2af5ffe1391a4af776 GIT binary patch literal 17592 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 */ +:root .lpx-brand-logo { + --lpx-logo: url('/images/logo/leptonx/logo-light.png'); + --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); +} +/* */ \ No newline at end of file diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..621596bb5c1a301136d9ee2af5ffe1391a4af776 GIT binary patch literal 17592 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 */ +:root .lpx-brand-logo { + --lpx-logo: url('/images/logo/leptonx/logo-light.png'); + --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); +} +/* */ \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..621596bb5c1a301136d9ee2af5ffe1391a4af776 GIT binary patch literal 17592 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 */ +:root .lpx-brand-logo { + --lpx-logo: url('/images/logo/leptonx/logo-light.png'); + --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); +} +/* */ \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..621596bb5c1a301136d9ee2af5ffe1391a4af776 GIT binary patch literal 17592 zcmW(+bzB=w6Alm{cyO2CUMN~9lHgL@tw3>iic<(qfdWNJk>FCGw76^07I!G_?pEN- z`~7jhyPKQa+uhrpoqe8}7!5TAJZvg#004leq$sNe0H7d{M>hxqDUl!W5k{V{+!PHx z0RSB0{|*$um#-8^A&RG#0t`^~hh`6X1GI&{fdT+Ei8%i(&;bD1H%hWlo%bk5%OUY! zr!!yN?!0o+A0!%XF7NV;i(8HKTkerWZNIUQBppdx zS$;lT6$b+DB~X*-sf6ndZqcZ9p0XkLXb{hW?`;f_Og~*gs+&L7V@S^aN73DtMvylFxi4@?-@|6C}5zM z)|-wc!i4D^c?c#|5mpH=BSsG}0%#Zk4%4a77k3)+H7b@Gl-=cKFnTwkfsONm{AfR1 z>X|>6F_c6G1l`}{c~7>!;M>8MW=6Lna!Z5kI~Yhy#@N{eoc&`;oH{}mQz;xNmcD(TpW17xb`URq1feH)iXorx!P>Z z(n`dmu}@&U006-Rg4o6JDtkse%}b!XRRECa%2Y&jw>1kZ0-Ryu_(qW^Km!sCvb;A) zJ*8U1@zVy7IX{Te4h;q(ivWbxL!$HKKoA2kDoCuzm*itQ20e2qIs@F?48&l-2_)pk zm~h1~@~$ZP%XWYf&teb(>13AnTRYETA-nDgXxf@Yd-z_v(ZO1v$KE z+VDtGfbF}6p8l_L%+O&;0U*Rz>Ulqh6u!4A0J^=sMS-AxdbRGqThypn&1##gvi7H=AP-CkP(_P?nXD-VkR~nbL(h(f)Zzj`c4IFb z6=#-IxJ8Jhv*5crAFK|ZYPx(u9%vAtX-WUHo87UTH_%zenAaB!17}^lTj^fuULdT+ zc5VuUf}-R|E_jBL*=UkO@`S0vSb$}DB`57Bfx4EOeE=`Xg^WpY zIst4Of%Xn90Q3?CG9}kja6*8tv&7I#Eog2q_m~m66ooN>b`#|{_ZZ9@zuCaJ2^*sO zqb>dM@bwwb*ZL&Pf7`utUn(~T(`dETTTUt_d#|GvPt72F3ir-;12_TIuit#P0wM72 zS1CC0TfAfNj)!mkZg_8I)aPosu-S?WEVuNjR8xw$*fSM{VYo(IZIO-LG_BKZ9P?|{X>7L2+LvP7 zj8Z>I)YQ^uXp3>XE={hn24CRE;~g^-)c*}Q-{!;3HTWkmuPg7->kVUV(hwCqo7!gr z#=$^5=I<|iEZ$+iwfbc7$YDLJX_>=J{lr~3nPOG@Q36uA0MGds-cPE$r zk=2|}r3kg?Bkp+bvGtJZ*@TDKpS$F&^lw+1cd7Fp)^z`1bySN}=$N22#1Q?1LzIpB zMvD5`&m*MuqDS}9(hPCzsY}=)%3puYGE}w{p&@8)j?o@dZi}U5MC&~7cdkbG5EOO@ z4))5g-R3{<)RlSBxN@pZ68BF}p$QAIU^H6#p#Ovo32fdf4bTj^mEMabD(X$6rC)I< zI~SF26zH~9ammpl$@j{S3*TU#VgICLf~$MPG)BR#t9N@)S&}e5J&0d2Kpkp68xNux zvomkjqP5G5j3yjr-2bh-$!&_%;;w_#`t8I-E#WM>g2FNF`3nhfn8ejulY7hU0#7Ef3sD>4u zLOL-#Tk7*7ikOV`ggkcmM164;R?dm|6rdI;u-fekmM#a3o(_xxFl@l42wG|0aHY))j#N1GE?+I}sgM|87^s{-j!GU1|HX|ZWYcqA%}js899 z*4@fISj8hQwUnJ!m){$u;XTPQ6a13fh-=};g>3#GuLG`0HAw8Ex#}(*Q}A&Dr%J}H zPkQvc9!G9~$7Z|s0mm8>>K)7`f7m+EJY3Hm)(Lb+=C^Di~8F|#|Xzl+>;QMTe36Vs{ibGh-OycU!jAj1> zpq#hVY8m&gsjN=9nNQIR*+e-cWK*lLh6U7J zDJA$-u|7qECs2U#Z)LO@eSzE^dsm%d_?(K+V~C>Q@b$_kOvcnI9}_hF>1v|-6_ugj z{G6yHj3gZbI`oXuq+_;yZ?Ifc_PSlJtN^pwf_s@Uu>?C zM|&3@@cole6ZiPmCX{`REfw$PMl9N&3`QmG-~1A#mX{Dpg7k16Wd;jp#RBgth#r4pF3sqA(g>Dpvoo-ee+!&p?j<;p(rG zN#!#9hT)tHmJt?CF%?!S@(}IiwAj{VkBvqABXaTgy5?j5Y_6$VE7`;Y>Qw~`|U8Q{&G zk=Fr|3AZuGx&%vP@uNm(89N?M8+wZI^jo@7J6amNIBN9Dp`R6#FoceNdDvK#iueA= zQx7iBiEP8Q?fM`xZs;kl=2Swr%e5#WYK;FQs(O!JaHW8vj|_%#BcU#eN8Osz-y!Jl zgyvT)gB|(Z7xZ#(`%^akaehWG5p0}Y_-qHOvjb%~BIj$Xgrv{i3%)`?Ci8YxBkOiE z9V|;himHzR^)kZ|eNw%QT$PY%F-fUjYo4?}52i1pIQt>v&1i8dfH!IFcY!uRlC3{6 zmzq{6cdVlZq5=Yk0u_mDo`PS@L}AMsP>02@JKk64Rppe9)q%^a&@8|x$wlM`GUEfn z0`m2cEU%!_IBLTdBG^J?j~JMFN~7zxS~XVSn%~Jh;v06)(6LM1Rx=T-PMAiTu?e#f zGg3i{hBeX4ikjLWpf6BW64V#0;ou?n5Y>F{*02eNQR7cAteTJb8mozXCwk9j)uxjN z3#8mybQ4+dP{D@Ot})29Hf+^W5pC~)7z&!l(~Px12s}*tiMVkmMSi3TvY(ZZgdqvV27nzZbt>;bL?_pmqz}>`jhsq8qP_y z{r+WDS(Z4hmYp~}pEJ6Vt$z#6YcLdYP)B7cL!ohM_53rurWy;~k`U&(n}q6}cLXli zg#ya9%Mq@6^ripU|BMaKwNgo4dzENY7}aj@cFo2gW;g^WA}YZPL~qED-&Lgmsdh9# z(4EY#WcVm&wN(T4TbLG|Ba--dkHT;XDX(7rp#A=c1^s3+)}chlM+_^)lCWJfxTN_2@oulMH*p4bf8K0;|oc- zK{8@_=Dm4Tu^(_EwUHame!5eYSF{W-YN?F)DV!X)JjwA83ls-@C{`JxK{A%8hm^4& z0`7yuUw6_WW(#Socz0!ymq7H|&F0ZrtFLgf&l)PXU-Z;84fx=0 zVyK(ZIr)6bITXUrpYtl1OIzjX43eu%owL0yD0rLwrn&!ht@EL5!Yx7wOkiCvK+WZ@ z{zny?C<3e-3vL&dXxKQB;GbR6sGE_-bAMMIODaTl{a`Q& zUU+>!UK+4*H1Q&o+1(LgM%P)(vSWlFoRB#v7%U)`K8n_Z@mYfn-XXdY3Y!Fbtia9g z*8zitJA-}>gOuIPV_Gq}vFC}t!HwAcS6;>bIVPulHuNpbaEFyZyFO^uox`AoPQc!` zTSEdP`&dvOi+Ngc<%kN5J+8CAwd-lJ#vWX=rbcgs4T;x_gTzC>Ql3ten!jtMY0Z>t z#}EHF6aHPvd$3SR$WIew5zZ;iM8`_sn@_YKTEBkDXKnQf#igkcxkIET{Z-`$cB!U8q)BEH%i;$-AZ+_CQ%?r_yAdPf4)2Mya&g#=5& z>)(q>P%xOHN`;H%;IEEg+dL4T_v&yO5bQG&wwIQ_riU32pf-~H#7)6GmLr8sG14kh ztcdR(#d<-SKIX;onvsjq!(1fnG63dP5c-D*zOQ2#i2>o4eMAaZUT=$Dd$u<_nGoN< zM(Jb;JS2~eBz7A#Rl!~CA4qA6+a04VwlHPKMl7WK1tS&U@1tLv^JgR(197Bw92uYp zQgQ+=^73JJIJQogKe)3sKArc2@j++v7$dAEV1T%GeZ8lbJPI611lZnj6zytTMGzT* zJN6I0Yw4D$uDk)`NGMbVXV{a#D3k#PN$G1q;cL^dJNH#*9(G1i1p&1_@9Bc1{cx;w zVgNVuH8@$B@bg&ft?t{M-m=P@oK{L|oef>wa68o&I+$HQ3U_D!AQn_Zo<)#;R9B-& z>z6casgdfuc*f?`<1@dszx&||lVnNzge=>7pdM5#sne;Ruy;g<3!?f9g*!pQ*`gC# zoPOT)LQ%-25Poa$$qx1>I*RRe=;a3FJe22Mj|1AuLzu%cTXc57_X@TCyM<`XBnQ>! zoYwCk1eFA|+m}@E$HuKNF7vG>{p3s+PzMHxyEqT(hHDe=FEx*7w^uOOd`()NwAQa~ z9MOe|R$=C$%WQ@t60scgeXGxm(Dw}LK~-nhWsGZ_?<|$MfbThe!be#?WBr zI4fCN2i-%L1we@?FsdElMnF-87j3EZCHN{dhmZ|+faQ;mY!wf-5*TJmM60$x^TGdp z6p`AHS~Mz(w56Md8IKW@)mKC}+Cx9@i4x%BVMa4On>8CICnS`4jfSS6@89n2+*U^( z-IxUsMw&_yd0QJfrimI#MlzOQ%($GiPyq!-d^)tMku4cdK(jMFgjlf{{JyWugib3p z4*O~+PVs*0QS=FeLvLeh7@xBN=9(!*LJAx<+&{kjP`v$Z{nL>?j}A)Bn|WXQo(fr2 zFc)p#F&Duu5T2(kXAwNc8?-@&5`2>zM={P>8KqT(~irt0KbFI z>R6dM-V%GDOdUXgMb3@Nei)N(SlbJ3)5>-~YUO2iku_-Lo}UxPc>A=kQ$8CGziVO! zCSecz!-N;yVp#v>w3j*SZ513#$N&Ks(a*K;Jyg^51qtGjM7rHICD6x9CsF;Tb@(BC zqZ2tv9_hKR8<2_~wBd7Hh)xYoWPu|x#8_B)JO%Xl#KJ|zVaJ3M4Vo`-N2SeTZ zX*=a!dxMz2i?F%~AzNo$OVEBkwIIS_;gI5{4lcwOpm+FpcjvQYWuL7F6Ya)aWekoa zitg$ChPk((uJf2W;}o=2)&;~&`o^e8|7jbd6YdQO#ekrvY@!&aBq6=qN9LNxVk%Tn ziW`SDPDC7RH~%RsTD4hgj|&JG8ur(K7a{jT`Y%A_bgDz`xi(%e#wdXrLxT^*cn8q^ zeC2^;zZ^i`(4_y^z^s~cK3!SE-`JmyL_g1JDe>}tT7soHM0_O_O?9xEO4`MNX~4Wk6a5_KN4`iXEnG~hN`$(x+utj7K06;j@KQ$oWRwyZSz!*P znS2OmRnb>V##CLeBvRJCWd~~1t3FG%7Ph!4fzXfl)Y+v$(5jkKW!*vv<#t3*dg+COFx44e~GFqE55sB&kpMW!+w$6 z_7$JFT&v9{FGi)&Y|ahFOpqd-pE+O_d)fi@t?v42O`*xpG5mN7TkQ|&v<~-AHYc(w z_#SWO7E|p+X2bV&)fukY9{Ok6WjNq~p>Hz($B=$YjtRoYlEYu)l>JD2ZMg5Bgpo+- zZ>W0KB&a9x@jsl*hFp53M+rnJsLsWEKNd)D{)rxRAp=Z8t~TrC58<57)tEvUqdzir zU5o82Z6*Dwd?+GC;|0SnJ10Ef6tC}Z;~}s!wWN`Zipkk4(*B53J^MReCDRRv{vHr> z((G)c=my1*$fQ3>m%GD3m{ecH6{IUtm6PE$YT5%#B8H6jY{rn@rPzFIv~!Lcp>_${ zd2^Ez-Zwvu`BUR)gp{^NW;@_`<;*5*!{W6^v%%rH|P!twD5%{p`riW%~p>~*m9!GUigTDJ|IS`D9TrV?H@Kb zwcvWw^5WVQ_=@2~J>JxP(K6SX>;aCQ*^iaJ44sL&swYcTSO|_&>yig-VKxYF{Op5Fx4iudH)g9IuLb{v4yVHq&wFW-)t}XqOR0#y<^kq6>3*=PI3^N# z=~g~oCj~^)vJQ~i_}jM=6KxyS5^0V1g3BQT>?*~wW4gxjQZ$lGT{y>BJ{b(YVX)_X zG%Rl(T^J|xPjQBMHGmpYtxXnTpeCoZuTSG7tu{3tg946L6{@R9-t2*4` z7KjSs9q*=ezj)HxPx|B*<#vi>9b?>-2)0@5Vj|V;dLB$~&3|KlnXrJLmCUqH&Af0J za|g-khn~DXdmXa`1#oE4%6BUIaDgSq%GDwXsk~`moVB$~t9I&uD*w=40Y)j&&`*cx zkifh*>OL>y$4U#j;PP1tC3NQ7C&bcW78Dl2;~bcl#~v>*7u^PFYO5|R;PNWv@Tm_I zs~bp|FA#k;R3_PQ%^1Y1Rp~$E|7)>+AKg>b2GdBNowp;m*?bUE2#ZdhaJ!>A?1p;OxY}?i7aQuQr(^P@R3_(lJ(f!{UIhWYxZ5 zL^)=f+TRx>X(z?J`$ixRiHZKCz`oD=GQhES%^co8y!teUu$=4OWUc!H33`job9VKp ztEwE28k^U~iDgi5W}@;+WH;B)in^9l-TlMrbT~y0s1h9|suU{lEH5{E=T=jutW60Z z5jD=c90;VXT2NK%nU?8yyQTbg5-MV9hUqXhKJOkkUgKHv2`gkqU0BzvSh>6;>C4MU z-g)x>X(GmQ*K3_m)Rra&7*bj%gPee!3=#rr1XXJ4RnCJl0VFLzle3 zkQXKI6ykbRN5RsqIW#MtTg-jjGd?EEr@J+HDCCz5n5rYt*)3}#7bFN;k^?rWz&ne! zCaTIb;6gMHPBiy~#q~1aGd`SCNbl3kKX2wRCW58ODfO)%uo|x1=ZD zfXuOK%dcsrha5p=?z3W0aF>=Hz>vR3>=q_1)&^$?D;fhBbqS~aE{!{*gJDB~*)V`m z6hl}7KkWp-ze{&|3e9X5zTJH$IYx#UOuAJkl)h-WdJ>q`84^%8{|GV~j}yvMd7>=s z=lcfWA)FV{q@rOlNX6&kCcl7#E7?N*c1f0A+~7+pOUzt=wf-|GWcb0#a|*!U(f>Np z$IyU0lMF^Szj<#8TRsAKuL?)`4i#fkH^0sfg10k z=^wY|7J9!ne#!uAAxTj;EfLWJ1F5cLhUmOlb<7WU>i-$ye4vsJh=W`f4Q0N6IdoIz5@J&NL=8o}j@FU9JNGu*9${!Gb#KN+~U zpKA*pZ2D>`(3H$caN__B;E%zB2)(=?r|sT;up8Y1Vt`vI=3mtf7d@H+Gt+CYa&3@E zweoBXYH@C}ekmT%&|B*Sb!b=@SBcMK<;>a1KHXsH&zCpn!C(>}Hs{BZOe7jkyWmNw zyBzxEZg@8tbkr2D{QkkYY6_mzeQ8qveIR_JsH-2#AA8c%u&V@bJVnX1H(@&Ec=Yj>_dKsONQ-DD5imrEFHy+~nSd*3FRrcq&HgJ>|Dmugb6j1`@~>Xg zqXfS^TkpIs5;j7NOGhNzpL44uWw7Ao?9R7>q`TuWNb@F(Rd@A5%Ajd%S+mD^=iI`9JC(2U?n2@z{r0QSrRHtBm!;Uuu z^~{Qb5)aNSQ4MTJC7D@MVNm;zv7L-NDRVC>=gzU1UW`u@N~+nBOvX<1DZ#|B56(8vPe`D(jcc-!+~rHXdZH z)}^sA1lql-1HRySza^ZB^H=%1BTYy9-@IipkqF(FvPHNirq8thJ@niugCE+yczQ*! z_e)b*6i?ZCJZ6q|oLKZS5{JH0txj1Eplc}LIk|Mhe-Zt+Ob+X2Si&*4%q&A8M%4RN zh(Sd*oBofb>|cObih0qMoviJX+H@ye(sew05Mu=2KH*w&WMYngQsilq^@9S_W(>vT z<&Clm*gg*bK(2kdr@!){u{wzA`cV*%VPZ!s=O*AN*=MP!vazW{8o$KZR(!#WfASRK zFUsR6DYEkH%Eg;&>QiDJ;Ns!598#1ard~hbVEj$eBYA5;_BAFh-UsGFA$T!D3$h^YUYD^*XE@(k4AC)`*1v( zPeOIKPzGHe;%!)cRVrn>?)$5M<{$aFxmEv}?Q+)44SJKS-j}k#fc4CZV0Dhd=}(oa zE6x!e(ff9EMpqzOW#i$>PsiRBB=>Zy_cP&os_7@$4>$g5prA`bnSbO{IXak{rZV1z z)D;+@e7s`V`On(tyFYjgEKUS;bJWlE;mAGV67$jxsE%t3s#B7_XGr}wvW}^*1aDZy zDQvJ-Pr`fJ`_Fub_p_Qv?ZrXHVa{0%SFq371C{K}4cOPiIt(Y@dQ>fq_aXFUo*4Ro z@8-*-mqf3<8~*i&Jg90IoauM}$Ul2LUU6UfP}8N)VPh;`a!kCvSSDa=@^H~|aa66C z6^KF9u@knVZwSh1W)BUUe_n2rtSY!}lSERxiyu!K+2IZa`LrFoM)~P%D&f_dkyD(^ zcttOotM$lE1U)K+{r;2xqE_4D4g&hN5kF(cgh zx8ydN=4e9t%xgvd$s9j}-GH=ahB&B>?|&QR|D2E-M8Imn)gE?{!|v|A8WEdu)>LUa4uBDs$CjxnzO}gFsc9K?Y#)ViBZT;{ z`-Me^2f}l%c`TE=a`^HJOAJMXZ}J)MWoz(X^&cKqmMg0TBmxrOr|Q<9(wZZ-c*OMm zn2!!*D=C^zQXeiVzKI|Li>Xxacjga_&F>`eXk;$iKd+x)_pNHoaAw=&qrffC+S6E9 zjre>`OCj*$r`}qDt?!MhxZJfW;bqdF@#=j5+>U*PT_kU%?ZpKGAIWm&p(4`0e8S!lz_gs%@6oGM;#v zciJN}m0Wv?_MdUe9MkBu{?YvmTyKy1>-i!zH#*}cI`%~KL&7&)+rOg@5kHgEFu`Q& zu${WInz|L|TffhaZ~uLMKx_Nb99zOOXf-nvlVcbYxFiYVd8;xpx%d-3f9sw>K zf~7XtT)Y*EjhtX{SM~@eHFD8tn6=^7A)6m=M&A^tpK1Qybsdu}>#v!dlV&0K*py3b z4C`A(N4Ckv8q(x9i>{8GkBf!bdQgM+Uh4`Ki5epdf9a=KCHA9iIY&1U5|~dqH_w+V zTjgEV8YWcNIC7X7`;)Kw1|;g71-<@N?>E$;dWF}oVA!OEC@dW6<{nBt^7c7x9uw3C z5gzn;``>c#aJ~Lvefgeynru_O?olt0c?RIoc!EUM>$GbhnwKISIlr_|ezHY1V07;I z9Xa{zS96uyW*IofSQ$JAUqRrbDJn5&Z+;++dA9f9UGDn( zb}76ZWaN#whg9>J+TT8v>cW=7>!|i-xtL6JFAa6%z9+?1&?8uCf??5fxAy%)50#F( zp8_7HL|L^FF?PQ_3|HFBDsttIKPX``Ty6qSjv85?1!d~$@<(!N0oi3{lCvV+Brasz zathVP-7_j6o~zOv-hXJ{Jl!7~keeYsDCW*I+Y0-3SGXQL;;CXOt6}7Hmw&Xfal716 zPMaXm{?dSK)HYmrud6`p?ibJTqdjTVuvC7=H0uTtLJ}H9Mr$W7jvE`&j|F1rt0$5u zZBk}GylDz;j{cAoCN3{8MdjhjHl9D6>wn^fZTUVe2^dElTACGi(X9s6QL zf!B0}?3U}VzE`LGKO=rGJGK1o@27)cZ6B~7VmyHOI50)R(B;R3lw3ydy!wr z0C&J}IFO@8#byi1Jk!p*uynZv`PrM_WyUiRA1Glh6IGI5kt=}Z=iMNIyIeFE_O#2Z zvGEQdbmqt8)BgG|c5MSeJ-AHq6BP<;+SWlwgxJ-Vyc$Lf@e@4GYo0lC`(Ki9@`9Dq z#`w9#Ml-qM66K$QaYZ^#5#wg??hln?dDg@js-|Ov>6kn3M5@d=La|Z5b6ohPt zxlk2(>A*bYEH-E2)e_=^y-3h-2U81AEqczXF*Use$E-&pCzN{>OI@vy>+9_N0+#9| zi%QVK@5j?(opz768U&D(dS$z+4{;@X=f0W7M0=9-#FwrGFRN#5zcTAcra2#O%*Q&a zzo&Fdq41m>*iBV4_;}%U2Qcz(L-2?UNAM7x+MKy}ma;MVK0cLS3RW3w;1#svRb{&o zRf;|5w*=XwIZsGMHD2FI6HHxGHt8)dXZg~E{06?{Z^!IMxy#c{EL#8dUCbu?b5vHG z9mx7DA=kemL4&qWy&{Lfpgq&ZuZ=?K*gv}3b0a#y$HipHgu*#BNu+syH>1M&tu1c{ zAHR?HaTQhK}Ogm11?1^cQIcZ~5@3xC#+v^QY*Ej+x1qW_l*+cVGv;P-&wt zO1{A zYV3Ygn#@TPeG?%Gr0YV9D@RYZV>l8GmN)kKwJ>WX9LRJcgE#I5eQQyGcNe)2w7fQU zt{iX#3B{rgRzmjRw9a%APtZE$FOT~96;c`8XM$Vs$Upl(y|VShKj2k;WL?yO6)!S) z>&ZJR{&Fe|mSGYv`AekYnuXfNYRl-!^%Jx&kloFahAEl%edDCmim{)8d=+$BlG@RA!k%?BuDm~C5P@IC3;LMfZXkZBuDw!<;!`V?+Lf8!+sn7) z8poA-%K6V9Q3oehf3{bY{4SvXyWRd4gQJA|VWDR;XH}q8ztpzSUn>-c{RTv;qjH;+ zZwzF544VGl+^MVnLmJ(CFIV%@j!d4u;<@B0fVdY8viVU@qfmD$^npz5P(0MD)u?)? zm`1=Ujd(Mr!sw+ZT#FSQ{jPT^cchD6!s+wti82vl?iIDw2uJcF4|m#55z_+!n!4!D zbO+K+-xpe5&h>+?)K!0?bCsj#17QH9<7e?3o|+rPr?lFFJz?M2+OW3Ydv8c=IW7bN z7-&?!3-$S`kaqjFEq5Sq(hY2};rs@4BpTYsr;rj4f>h5PoZTSDqA&u__d`<2o@ksh zGLG8BwZG{(k9MbDNgth-MLqvb8DvF%Y(SlX91F>4#jWl4e8E952=tFJ8%owKKSR{N{FQ1!@2s39vvT=Qi z&Ts5~c(p}>XCf?n$0Xq8STfD<35en z9PTUD&&!VK4E!{UB$nllBnFW2@e6~OyQw2I6p;Y~PPb^e@8(Ox$RNLl#WEqkgk}L3 z&8Lr=;`RcvEF>wN8wSGVd1MsV0^cmqd$5qt+-h|n8*Sklszb60gTy+}H~}IP6-kOe zSGqF*91EFkeJ?NJix9C2N^$M5G%XmBj>=(va zD&(K_EwK%T6n^~*7*h>;sW!dneq6Rp!?Iic67M}0GHm3C^7Zsd5fu@&r737t%XUA- zeaPg!R3ve8*+T4v7t9aQnv-X}Wxc+2VBOoQ25=)}ZQgyzhrnYMu$q6_a^c(d)+xld zg$43q9KZnS-(3Zt4g*2cWMlk!V=V1P?maiOi=hJR3)*?>&(d`9=`;Jp^lEAVJ7#jJ zubIDc4MzKitv(0S2Gy-MI<-rW(VbB(ltu!0MYRJ&#Yav4xd)`?;mj=}5!Va9u=-v2 z5;8X=_7V40AL20t1Yq=>4WIf77Ta*8WtvQ*WufOw8mk#Pk4;Ci>i_ko_l${0*oYiN zXZZy@ZHXxRE4S&k^~4yFGh`PR(+o9meXpX9Hp&|UP_VK6oADqia6@ZAZbbEVR#>)D z)Iv&O%nBTLrYHAf0EmPxI)u(fbkk{Ut$81N!y1NXf3P#3PfS?lEK7eU371q;D?Rs( z=8@LoUljS$_M8kZPjD!p+W(q+FwqmrPud{sXsdraUrY5Tp9QmtjY#kal<^-=Q>7hz zj1S|g5+5>o!u9+9AGot&S4`M^H>G~Hb4`4~g zPIiBzz86E_X(qO~=n8{TNn^1G30b&H1J$mz%1=BB|XE(yg-JuKog}d@qEJ{S$T@ywRAFOn^+x(tj zkeKPSdpDARfxDe{TjstadjP7S7a}`71$4w>gQH{o35msr8R>_sWdGc|Q zNfnWNd1J{R=49AGX%?Kk7z@eNcMBY@q{Uc0xrEZcYJ_;+g!59thP0x~a?sCe6IBjj ztU56Mv-#wT?7UES=KQ?ZT~*$->hVN`FAl;Ujz zHvFVfO4y|ru*My;kwp}MyE8q=&%A7CAn-u`*5HG;x7qUXYMO3GxTuPd9A4kn`gu(d zhf3E4g;un1`L8D-w<8EJ$@b^4Om)Mo{51G%1DN!3*26)07jLUIrakR$; zYCR7LLq$d?Mwnc+k4-OE?ux=mB1!&brvZZZLc?y{o!LrB>ZrPtPz%HGnYfFvwUE(; zTjhuyj(!*ckJ999M_Q*i?d-KF-qCZ3Zog=)s1gd1dIOo4Sp1mXAVkp6=;nhld1m3# zkGa+?&9?H$Um;!*W>=y0G|cJsYc`yweg;M!pt8Y<&na`_B=j|8jxdRdI0r=p52n)0 zM`06FeVC#l=j%B8R|8+nbY<*@p<3P*c>1$-;GvV+uh3H)lj?Ga^Y9+4G^!%@Y-C0D z>9~+74y0((gEtyqy9$0rz)BI$6yRT~Kb^#>V?*E1s;3yAIn>~-PVKF!FH^c-OSczZ zv&H*EuT?6dr_Wy(Pj2P(=hg|4bmHEl{<0C05V=Ceqt-er8_<faGVwHl{h$R8UdM|~@!m{d}{4F;$8TZ=3%26$Qp_k3@gksI)ZvkI;<6AENRO@&U2-L{*e8Acf^fMO?;#5;J@bb_p@L zw|t;Hl?=abTL6bEr0@rYEF^OdllbuP(miaGzx65Yi2mvuPst@Z8Wgw;Mj!ht^tZyX z8mUMwd#2t``E#EsOcvY3*k#kzKj2X;43t)`k5bqgl{BOUrX+BLu|25gGAS}kD1DIR zNYqM1W@%}+;WA98fVJka7!%rv#QwuJU$Sl{bD=oDieL!yxe^Q28HFiYGe!3f+vpNP zg;LFbWrzp7;?XBZC;XEcPR2Kk(}vG5Jqgw#4`XkmHi}YE@BN$n(`ki8vDWQXNP&Kq z0rm8s%*i0xxiRcFa_{B>FyDz2RMAQhK#HJVd0tym3zufAqyZrGNdB)$f#K<+ya#)8 zKFjazPldi@J_;w?erUR62ClrD!%>n2O}|OQc&oO9DA}5miH6Zwe!&>A(I%RSN~LQe zqCE>|2rCz;LcOoAP5~QzE(L2%%c%dp*lSK?f5K`~&Xofd$&PJIl2GZ6e&KqqZe)GE za|yL-{`W@0KAecv9r-I}rB9`_lrhKxX_kpcE<0qBu*K@LQ?DRJC9d=o#t){df3}EQ zFu_6Km`RUH30!U{=+SU0u$PVbS-8xeo0MhO~@0oxGD%?@?t zGqWAQLNW#)(X4dyabqUND@Oux^lFcu?qf&?7!$b`4()zkRie}>o%GI+nOK#u8?~M} zSO`{GzgHJ113`3YH|PRiH%)r7y>lIG>a&JxVDHJ#m@WTmPFldiq1gD7ATTcH_0F*) zd-HnHqzntuyl`oPTER#i0Maaa4`=v{L}7NXpe4U|Cx1u^wbbR4gC-8I?CyCiHfAf$ zm1~d`X;0)K9}6IbCMUY;W#a6>^+sZ&LR4>C22`ckPHt^H=GoJmvHz$co~}blk&a>8 z8)%Q19u=_1&2662g?-%D{q!JntG~}rPwX*%(nB__;g2^lKU7s1?=o7XOE?od!9>+o zHS#xQ8=zHI1*d8%x09*lJbzi{!;vGYVe}B9F;d?s=i=^&3oNsi`ztXm@>rUap!Od< zq+b2=KUCvuDFR#LoDAngX?V5E5}8Qj-BX}VZR*$X$sa7AmiD+|wfDn-z|tFMDV#)y z4x(5m2>i70<8d?E?Y)SRS4`6VjIltOOTUmd^$zcqO{|Mev}JLYp6S9GC^uDLWR`X7 z`(#A?33W!ak=M-Y1disMaeFMK#aUmwW0?|dUaWmFf!`dC@(nH1pcrE%T z7)2i^`I>fm9N2;61`w`xu=mR-_LG`^Wv1zwsRVlp1M$QUc|r2-(h3h!N$(~cgc!NJ zOqFf}VzE+8W$gmFVXdKWZuYw@&}?goWDuC3l2yK;X!_y;ob;mg%SQ9F2pl!%tzH~( zM%Kc}TV}aDq1D+)PKCFEs14!GKW^86<%%RH*!8al-~oN_dAJH@vWJ2|LR54TK0=@7 zcgqVP`=Uwz4#{CEypvkAvfeutO!--0MMCGAwxSf5s;z6i93vMTDCl>=LeiU`RxoN%0%>olW{{De;UL8AneV#pzXko9+=LgS^^A0xLzoN;8!{H@tZxSg0?; zeR=2q{OMRfKLf#%?(839!M>*Qe^B;iA(3kf&_cj*S#nic?O$uona))#pLik0NQ-XwDZjT(^&%-ySD$eTQF9X!Yg0#I3u< zc9WpmpSpJkZ-c*2U9U1wn|^NtB2W z=jSKHn^0B^vITEQhEyXoWewKC+r(d&Dy03h-nucuJOylirQ$qTTyk3VZjTT zr_H{R{}749$}wfI$1uK8eh>j6XgZTnz3hgJ#4UIa#N)?ZqH$pCZ2#qWYr_>ld1%d} ziZ-_Rmdl`KJV+`r(qT%MtrRn>`R7}jkVg%My$Y+R@zQlpTHCPPIz_NaeGK2 zLXGj)SIrdhjX9smJ^+tkpsg{U0`2Gd|B{Z~OLZ0P=Am53w+pij=HV+{N{e6-uJbCl z_weDZo)Wz=@zP{-Ubu!DUSiH1_HD#QN*WdoZ0gi!9CSaxn7 zS;FEm_%dZy7XO|AY7jy>7cCS^;ZXz;crZmP3Xfu94jLhZfF^#ldaAF||Mx76$t8$Q zU(o;e2q2gXAq0`1|9Hi_6{39v5C<-le!geLy96)?LI}=_Cg#FIi2%B)@Z!YY)dvZn z34{<_#I@!QVssn2#|023;a~yStO`wy>^QZJsB#+tbPNFmi$e&(ybwgtIRp^21|b9s zLJ&dw5J1p6gb*z1mhC4;jInnTz@iX9&>n;kv}ELKr#7((@5IU5FfT5YFa-zgLI^?2 zzWmj**UlEE{~A|>LnGbfEH?Oui65;#LI7<-2tix)E+XQ}E(8(OOzBAo*oX?9LI^?I zG>EJz|21xB%{M&_TMr|}Q9Q5|2qEYgCg<|YvY9wlIP(&2N`<9D2*Hx*QhpiSP(P=C~J%!zYU8_M!a- z-G&f?t{T~SY7>QSod{J?Cg}KeDEt!IZx9!R5Okfk=fuq3#%wkbq?eT=bXl>4={JZI zLI`4mswkaM{eVvhA&3>KqLe}P1D+v-z>DG06B`1NJ5d!S)|B3=i=%hIH-r#)g%(}1 zMCZP7FmbYY`T!>1pcfEA;2m0Y$$(Q2APEpc&@%|5-VnA2d3oQ9SoeV>KnOw4A&mS$ z_&^dNgdj2MVPq)yJkFx)4qfx9aQU@hMgKU$2a*UO1c?)!MOUEp7+~le1`Z%C5JHe> zI@(PYTu~1u%e2CK8_&{|`^I~xVk*ZqaQbEn?;Kls;y5ZD$RmUh z0M%M~L|QqmCHPjFS0@5JeARP)wcL~xBLzjR^3P^{92uMmx z`rq++pI6>*{j(Np*4%r}KKtymd+$S}x~e=L4iydv1j18zCaVboVI_k=C?B!z0Z$rB z$B%$7Y^P`XE+7ytG4c-ul%7ceJVbHPl$Qoojz0Ja{6K#xr6L6a)x_dnn__@KO@s=v zQZP@H-5aAg!>O!IpFcCBtP1=b@3gTgC|ojs2W8Wy=L(7vz3nG2fYolrbU_~4<;a}7 zvMJ$h`)5-tY#6G1A!aptlap~z!R7b?noglA<_7{XBCL5LiUu4gIe!NQzNRwot9f!p z>;^nUF}YImTUe4$RzsIGCeR;SE z#qzI^X)aFhzJixThnC^~@!mdA+61=x-%ntO7V3HgUR+3z%pXp6_FJ{rpF6*T7t6Fg zb&IMawBYTI9p{~_G}m=_S?Ds+f4)zWyavem-;bm-A-k02%|OmidtKa={i*Jcbm<&7 zY#U0?DW3(Jpp z|9)Zsq_)>NlqcSj-B=P15~$@cw?F*vOW?cr4FItR(X1geA}>vI%jJciQ2$=;`ThE9 z_3)mmF;2{XV+qNFpwFHdWUUYW+Wlk3KPfL;QibIWw@D%1-VBobCd8*L%=K?HsGPVP z%rH?Inbw+~=c|NyL^7o?t!90rn7b~7%J^?w;3-5eNVaCrfkDqRY@6Y5B7Ye+vPy21 zfc9^U9xkvlIw~~V>Lw)sGfSN+!JS%r+qng8tf8yH$2<6@GG6kH5|WwaI`GVWs|C05ngphwA9QpLL;A zoKl)d$gBWy;TGh|^WQ&-oM1!!H!zTp{WT_HPep5pNMoBVsJ9L!LGnbP#Q4q-EOaL; z-!H?w(GQETk_y7fn#)+Wna(_z?f@}-Z-$+zSE&j1RZHy9jf2Cu{-GP_3%oRId@p=_ z;+zDQhFZ&?g8xnZEWnx!;UCggT*tC^tc~1;{(BWC0b`e9|MX{VO_xmW1}!gsw{}WN z`dH*!^UDo`JNSLZU`;mZvD=|8oGgGyNZ%|1TdceL{z(v2uTkQHw|#H$*R^Tk6H@l0 zXFDD^iue;$cQ~as+5~&r0!e)pn*VIWU<2eVPI#m8@h(y-uR*r;H$T&S$dNdKt=_c` zBb;nDd#mV({-G|pLCD^nzPreK%+bL7M>}#68py8AG54X+%U9lQ!}=d_K;}3VPGbVp z57ZS^aK;phb27v=ymkHo0;Ne-qx(@V^B%uJ-(EmHk#0i&_mT(TBJYQ=AihV2ceab1 zVMN5*?afm0T*!!xhUDJ_NgE<|Dftk^YK;)3e@`Jxs3`LgSdgGqVMjwf#~tJ}Bcq^A zD0$#s&dDz-Im}{g|0V^(==Fkj{_c>b_z`OFTPN&)FAMOy!G?86A_dF2DT3r-6c0rG z@_$GD8v)V;cs+SHJ+;|ZV^Sg&Z;cb>0gg=j&T!&pBYy{_NEzU$^lj1}jW}wIpugf>_1`&_cZoU7@7M;tm zI}pI3CfNK1q&yn%0Hr{@F}PZXHd{O7-+;hgK<(%usm2C7BBi;f7CCW_Q~eaaz81G- zRP;gdu3d=3LRTVe-BbIrSeD+c1$*3`J`TRa?Z~Avt+gLxH(Vm-#`eLv1ogfDPCjrQ zqKC?bR3Bt0#3#YYg8y)cdw{OALJB+${Xb8E)wl`KmB$jOE(XdLRmgOFRl>4^`rH=ny`Vhuz`a!0uc#Z1DHDDT?Gpv9Y4Mgg0?I z+oV$aEbr|9@31^znC<4bG{;c5--2C%2e$K&4hJQ;eP0bq&fBSkHdSPL}pwV!LC$IB?0p0g-ijCtP z^Jp)X?hwIKt`A&*Kc#e}5N){V>$V>I|L{#9IiL-<>q}FZ3ylfa!@zUyZl1R+cLB%% z0Om*Ad6#h-F8KjKuS@UftrhZaFahfnLDWNo;TOdZB3Lt~9K@6Jan_ZFsWFo{zm%Pwr$q%BVY?UpkK0Lhz|-VJ`FTY#B>!SYzY2^J)8P{O_hgpiv_B zNR7fvjb=#C3;1Lz-dpC1;eJj2=%}^V7Z%xk%Z}fa+jG9csq#Wz9+L=DE{mMok6%(s zeJVLGDthW3$t1#L+2MFrrj-9N$HwS)pE~{TpUFqn=f}PJ1yb-}ki>F8Mjpi2za8sWf1t|lj-`BRZURQMXbn-fQ#PYbc{doyz zTF!0}9A<=v*DiAN5s`C8n-o0gj^|{Z!cBruc_MaW7GVjEJ7tczZ%pzvy^>4n{R$=R;W1r8ZByyH}K>i10wpQNSPx6S0@uzGFoYzoPqiPABl1TO6GelV3jJj5w;2oOy znw@DJ<1suyb>1t_>VF@xy2t}wOoXGL=nRt|C<`8+>8w%LT=|4 zUwXkL!HKR2;2|t}t+SV$UeG%l`CI}#xTb;hr*3=^J#!+*Z>+pDA84^&qoCYzn-$(& zm<%}Q7C1e#^7yVI^(<4#6GB^wgymLkjpY5tc zBnKo57)_*`7)0vP!@s4ob}+~IxgCU77`Qq;6@6s#Pve=y@sP8Zz$947CqF10t1UdD zNQ9v)W2Kmfd~p{fuB*y$^enm$x{FzGT$+hO;ic4Ltf;G`Y0TjwIVtdD#^s=FySuy$ zILb-k()wL=Mpex9yI6NYfN07#9I=BYVt;-r|2~Q}{y!oY_~NyBSIjokR8Y$WTH$E{ zA*({XqLlruiSNN;VgYDq23{EUNiTfR5g$!g0; z0o^Tpu7onOiU;Xgo53=Q4!G(Ma7q>~%x!{MY-REhQ=D_^sHWpG(arns@M zT(mgDGbl%N05h%ceB04G1|^GEt6u{iqdh6jBe{U6#oza)=5>Ka@QR`1MI?J716=$x#sX7+IB9mY+9l$wUv%k81&Sa#>l9F&f0QOwuA$F~`)S1n@fa6$bi zukVEuee~nYllfdY6H-5`A}})q{KUsemBiog$MuCC#HtPN-Vqr+CMY(n#9y7gIO92K zY2v!Z`;rVm^efyH0uS5CJ0E%+*rP#OXI5X~Cq5~jdH(d)`N2$$ ziIeAaa~>D?clO5j3|3vB*{;q~Ji-stBwJ6P@a7R(jeoaUza@YXDNum(M^#i^F@T}u z{l1>z@1^6rE_1n@SrGJlfKcPIPANAX8AjX>r-9$!nswQxnqNB-XH*TMa5x*sS-~gU z*W_`6p~)@po1K1KiIlmJ-a$Z|0npc9bv|I7YM|(R_4bhZd2ScYK$$CG%xW|#bIFAf zNmlwR08CJy?Aq{AUn=@rsrK*2=NYMfK(6G!pWN`*m`ZlVvbJI@k}rP*&HGx8t;X|m zC4Lh~IEu9T5`2a_ZVX?ID4x8h1eYHF0W!nOFafaW-ya?c;i7(FWZePrrFnRFB8_ z##|r|+*BYJONuJ=5KU9vIWAdnAddl}2M(^Lyxn_r#koxX-_rzvoJXtyro1U;XH5ln z@l}-lXx~Jsh?@%>@&y?j`e)<;U>ms61VPByun>bJV~Gf2@!{1!ha4DA#y;2VF{=6@1>;$qI$k@xWYh~!BrBaY zOINWSB1!ghWxz;nM1uJriJj?_O(N}Izelo<*PzVnKR6G2bUy-GBO2IAU9+Hq(u4mU z452f_PL}0x3Y49I(-p(GV7>2=(hU>NwHc5^?N&i;hNA==P+~=O4C`j1_EpW(F(IiV3jdgj;Ig3xD@mzzfSEH6Q$Y zroV^RKJwmSwuEU?;Dl5Xq#M8miJIH$g~GZdYRFhRycBv%;@`T`W;T%T;6Pe_vhx23 zR9fAJ$$(}9Si=YXS(OAK=8mEhHoOyXQ;q|IKS0)Hr_9P=Z;m%?%(+}7qOOrq) z9}?#~AH*NM_#Jhv9^Jw0q!=kkkfb+a`HU@-x>)2BljU79C{x0RqCIrDU{9tLT|8siO^&dM)|qXEM}}JeM{c_- z;kv~zrDSnhO3E|=x|}CfVxkff%m3prnb2H1guWGtD8`mLAMyJc5j^zI&+H%$WFqDdQf|S3u08(qewcqLAeyI7=EElabSuj_Qv*R${ znRcEs;PPQ!JgwbS{FfA*zv_G%ij$Q24o`>WXRnUre+@&RKi;Xg6jI>;5Z~Z3h?-`7!$Ss=8!5+EDj(ez!6@YCpiHt{w~`1X@LSBMvya;;E+nmk66~#tbM(h?g4`W ziO+5ZEQ$;I!jy*3FB^mk=tu#jUcS(f*UVU&aXuIZ^4qH6$XbU}fj|ZNUrZFF?9)jg z--o;QZWZ13t=jq5uGjr9e1Aa|L_jzDE zt8}Ia(+Y|izIw4x75nDRY|+z`RDr6ivGSoXN=e&U?kGw&5jIeu+aVFF{$YDeDt27m zMw1cXjUSbLZ^-kis-NK}z#7X@OnDX7!oFM%=;=5`qhRRJl;R{UN^KRzGd;d9#{1K_ zuwMZ-6**+RPszyw9@2*7(~+F?DRUn1ss%tnwWSZlc8v~{=t+135ho8Y)OJC3J?uUU z{=)@O(1{K^nY~YXt*3d+g8R{T2VjN0H*W#%O3TU;L+Vq>7>p%yd|mX+$esM5Atwqzv^B$PLTu2<-t_mI}ErS?|`nV$wB@#!r! z7Yo;pmTjKd0F@mJh8hmY_k$Uu3W1zdf)MXJA#K(qcU(}HFa*tvarg{K?`(b6`OQj& zR4VJRev^UGAJ}KLAR*1TuA%j5YOW+sR_r#|>}NEfP;zK;{WJO;Yg#t)p&n{(LVnuk z@-WliHf-h}jRHYO!^(PMoWWY_6!$@rx`^7@vj2jN)REE-Y}2q&D-_=Rv5!_LJ-^y3 zODDK1*-|;IC{8)U8pW-LmDpn-BFen7CA_yIg6D;EjbBN->HgM$r^r|{*KR#m#gLWECh@f~r( zu#@ZpHPiW}LHwoV4cQMUDKB#M*mW>KwLtb01Y$9(RKZW(i5L5O5WRTa@j*}6P}ei7 z+yyf#*~f5Rq9uO5;AK)Yo;KxOpKYSA??EBVsnxWJIuiu(e4r1W0W|EGfQylHqAjwb zvEKIFE?X=+L^MKhGOG@J(t; zw=Iw<`U9;f)1M4DZihZCWr*3x0mY`E4pam)n^C>pd_eKV4zd7u$SB^fnmGLT!A+{OU{t=v04K9(Oj z{S>J>w09cOOjhz2sHqH_1U8gH3)Li2GdAN79brG}yFcS3Y|T3-$z02U5+9n z((faij+f6s5PyXCK$>QWtCOYWMgd4NDiyoz;@vwUYR;0+E0Y)?Zo)pZ8p~0O^9bs< z&CSiN7}VgfJiNLEYRkdB}Q*f zvvD=!Yxs4xXFhB-fUNhSVUs2i$f?Ngp6_!S8X7SMP#llg;BM>fH$Gm1Y2>jb%F)19MI7q$onAe99{G-zSmFK)?QC+`*l+l(=ABGcyc4%9lJt2Dfaq_PA9W;TY)A!S(dH@QV8#@!mG_+o=VGs z$~8Upe8;4#&G8a({z!>plabSr^ggwfJ0%Ah6LO-&Jr!dt%T!mS`2YtP^XBnEntY)W z;bdDCEh|~{3nYJ<4>y=7FrzTFb+Ib`jPlHdJ*zHIQ(V9P`MprLmzd*nCy3&w$p6H+ z1XwAcXBp!AAu$Whb8~YFfSCC49!wE$Sa4I*pPGdaH&P7dKY)doeg0SMHUKCAeA zL+m7ylZypYs*4ZF89Y$E!^0cYm3tW0I=wYoT7}2(6FDih*El)EY9B+{NTqgB3j>~m zx*kz;=FJENJ^^e&g)n}~EOyOaeHRMI#BbQgYN;)ScBg)kT|}KV3CjuCJA^lE_fIk# z&sHs{={1=)89^fcXvUu8#wJlUyt%55*L!oKNhAgvfP$ zvxPS{C4lqzGLK?{5=c_L3U*nvN&T){?jf3SUfAO0{qX?-vT9=2Ti_*XM{92|9BwK| zY83pJK+l@_jIWC0e6iQu}GkIXWGew1do8-ADA$Kv*mj8-#>trYFyj(_?6M>2dh1pEd&5Ro`RdMFv~S=Reb zb-VwiYT`F?H8OIE8?D#GfOA+S?rvHJdIqH)tk#woe!=qO1+Cif$jFjCBb&Tk&MRIg z?_trLBy-lMtMU0DNyXV04z8J5+&TQ_dmHax9HWIOfl|u z-c|4MiHNL&#A$%_HO`F=n|{+#ZdbGVjt{z| z!(5<3Sy1FfJw2Lql?#9a=oQb5FoMRa{i}1~WFEi$F7PO@7q>oK@xJ6`Nv&tDw3~+0 z+X@|?Kt;|g^ih^~6{wJNyDoDFhsr71myq4AN+b|T<@{v9EcjQ_5x&oq^Ug?_w707+ zUfG3m(5$g!WOlHGI2H4!RjvTnRb+gijv!HC5V@}|n}%Y5(aOld((T1EF(@Lnd#29v zms{(7h@tcp($XR~CBQUtI#Q!LWN$F4SyB(EBT!%>R{b-5(1|7)9qL6x7eYZu!q2zY zwjmzLGsS?_{AH;jP@;#rB0Qeuhj1RyKaBoQg=~$V#i-K$BX=gx3_a5I0ck?85`jwH zSh%9w=tW1qOde@W-qe`Xq1~%juWg{&e5a)I_$W=?ZA99fhg6(-HpmD%P*84$Uu~8^ zq^-cJQs%?o^G8|0*|bC%BRKB{7dq3iYrxxqOz?up+Bh;W&V&6b?kbb6lVp1Uvd3fo z@78LfN_lAakKzZnwwUQX0Kg2!5YXihQ9W?6Wo0lFfuWi!UB%&49$MCU!-fK47>sJY zqFTfL8!Ul(M-1m5@ToD0a0twZC4?*jn~8Jf*8@B|KfMC`L|a7(4F>^&gP@W@TYaWgQ^N5d5nYrWwIe>b z4}d^iQdqX|{m$BJ%H5^EiE~0;7bC3$qV#2e%duO4_8ACJZ3p?`$R=T^qUU#BAQSJN zPaD9XX9T<;AH8eliDhJZB@nk=`dG0^d z8LZ+5kU=kqq6s{OHH5hTt(<2*p5bR|nC=(m5E#NwRD`m!ASLKAD#}>O2dg0HV?cQB z<#!52kO{u?Lj^r6%8W(G{6=3%bwss6YMxhX?3-VGbAn# zEf^>1Z(euY0|x|2+SuIO*(l+Rv96#4+!7GTsn>8}IAbSfZ=zYzS%ZZS3OtiUC1gj5 zmmL_1cT*Je@!sALumI5_)8lz?1vB(~PHa%QOk@1`rTE2nw1m?qYle8;no@Iy_X^@02IyARFs)T?(|0J}0I zMd(|SBVp?=L09?P_1iTKKf0&{FRzQ{Sc3lPkLmF7_gR1AeCi3|4Y{1;*0y@nKQ9*^ zVO2}n&h86tprM(ci`2EMG8c}zdPa(=iJN6Jp-bwHH>mCiYvu1KUm4F<;N4V>@NG<7 zXkH>YoV3z>aumR)X8_}fN;QE*<)lk@J%y!Wh(A>v-*y`j#}4O96Pg)PoF;B{W`Hy z>c_wHCsTj(>_sb=^D3UK&aRJ=lu+G4lEsBy>NKwd-y{>*j*znjE+KG7Odi z_5oE|M_^h8w3T(1B)V4T#RE-ln3Sw@$eR5|ml|#+`sGQAt~eN^$K>wGmL5;IU!ZANT>Y31 zef4IimCwoc&*dme9D7%JHw@`xmGTF{ZZVG3Ge7(Whxn9W zEH6APz1Fb@70E&Wtdm*;#Y#6QF87xINT?U*1@qI$1%TiQG74@4B2JM4_E>c3$==RF9P7y1Ji z5%C}U={I;?*%)1XbewjT^DL1@%_yH==bYc0QFY%f^q=HWMtDvLWX2 z;%pxof@z<#FT4o#o6Q~A+Oitiuk*6&w`WUsLd7{bvptjw7l>927-It}O3`G30~X(I z16V=Tuf+GaD6Fa(>~}G8+M_j-6K;Y$D`+znx`iF^5@{mu4cd&GsLBMAD2#VB@~ku* zskT#jOnguqjJfz>71v-Rp3SphEQTX!!EcV*Wd0>-__4`D9NvZ(Ofq{y=Taye3(qC%=w{F(%@G_vqh^g|3~vnz{Hdd)O{R)@6ym4tYuvJJ`k}-9;h}{7Yfx8- z_79{y`b5hrf(aPvw%%mNd%F(MWH9!3pL-ChmfH&4P4tGJ(tWoCi-a@f5|0&VK~uH;<7oGK%wog9_9`LcmmQFev7 zvoeLOO8tGB<0=eXd3pIgn*4q&0TkO8XK4u=aZbauJqsL-{n&NaeES_wr_EO^LxFv` z?7MvyrQR3d{ zFs5=?NEB33ZG!|sPs_~Vp^$EUdix=CO#s<*m534rU)d#Q(8&c{ACvF9G}Zi+ocKz~ z>9|1|7&LO^e&PAi;=Rn@r=IKJBM^)as8JatVc>;te)avL6FjL?u{Aojg>Cme3l&_4 z8x#6ldEJMfdxbOSNt^63j=U(r&}j|TP|Cy<%zlKM-}-g$R84fy`UZsv7$b zQIGutMCLpvud^`oU8-Kd4yoQuBP{&sEEG}-2}9=mX;rtITQBC4KLu-gE={%^7TO?U zd&50y9V~JgHtYvzT{c@ET)hz6--Md*z^dL317&!AhAc5@6fSA(tY!UUrU3rBz0!gd zo$aI%-RSUpG^{o0xH;ms*;cO;%;7iEAPDVd@2XdMGlYV;-lFo#E^T_?jY=E7;b>{+ zYs+|D`T(A~lF516vKuSO}Y12!EVuCV_ia}O*`i7=3}XMuw7(1#0JNEVz3vvh7zuKDCta4eI)Hn7R%2c z)z%!BPZ!iLWs5&q(CM)=P)eAZxUgKWy~**ipKF^|O-&gQI=>k|tJ^qCmd~&53fWZ}7k?WWJT)hy^_;n6_k|nR;DvbmSFn^HkJrN39kq^ag>Ex) z-m{NC4(M~&e&_c2^7L%%D8VK*z(ybB%DpbCa{V)Ik@T4&%jvE`zkGHAIt9=>@-po8 z0TDwwD>~pp5aPPjiaV-K_t8rem(5BcikE%l2s7FmiQ%tS#T10#zs)h@hP&S34eY(k zq&MLabZ?Dj9A}M}s6g>WWt60|qh=AIq)~}MXgwYxV6dnq+M0RFbn{-Jx6z_mZhua& z?6quwE?cp4?dd7AlNl3@M}|vL_zcApQ`Cj`TTfF@ACTM6uA1kmd$!KmRW^p2%LxB5 zbf+#&wJ)xnw*S1(WqIW_d+m#f*>Gc5ZDZeaO>N8@TZcch=Y6i`BkIkC6L9Fi-F>er zTxY+C>AT>q{K9*`NnQV?n5luIFTa1mgBiz95n^g0$%T71EPCMWUxwAA>v(aPr}GiV zQP5Dyj?_MNIluM|jXVE_fNHPhwyMymIcF=l$*1SrK5HWl{V zn=%MG1lb!igv)}A60JR~`rHLrOoH&X60+V@Cq!=aECGqWfu}B>H3_bx{aml#&Ug9b zWjzzMWdy7B^1W-)89y(VkDaF3Z+-9X{zLo^mB{Ox*J20hKrMkiVoI2)Y!Bf!EV}UB z%IHB9A}?Y5eFL8M^w_;Y2ges1U+mBQ_DL!hcx}tsP1zJOxxetuNH~Vy)S1y!o%ZTNP_I@#r%Gq_TfhLWt@(1ZwCvEI z=i^Ekgtf9q$knSZKY}?2Pn&**0ho zYtvBj<;Lt|dZSOj?B%4+=oyS)h2|;;p$MMHiZK&fj|}YQJziekhJp~2J@h<0{}E)` zhw1)a!OPBo=}NTYZvuU%s=oPqLoxcWOE15AdwYS-PNHL<%o8E~C9u6r1D}J85(>f9 z0jb*X`TUD>qn|FKR(&n)BJf7M!}11)k?$zSb)sVjx7Oz>yky-zrD$iKFQ@m?iqq9Q zcN)jN2~vSW;EuSdx0vF0JBPEDVBFIBFFvKQw+u|+p zSAJ!)9%_ZEVoN5Gk%E_Q90_kVrkZ#&UF;X(K?G%piWY`msz!Rp)p#q>Vn)9=MyWaN z(>Sl8c1zht-*1~m;GJ(~dJ9NvQyMTk_f^+?0`b!75iASev@Y3Kh%iz#{fMVDtIajS zfQXeQRpD2QXKv3g0w@L$EmvFT{eFu~f5sE0Km}!s8N^Vb=t`j85_%`r^pGr)UbDVH z8@aI*c0zjR>Hf{-oiK3RFWY6rG^>K?e4HBS_za|x}!s7}c3QO(!(JGd;a`r$`{ zF?@K%7*n$X*3N04kHF#q5OZ{z8l|9h$maN^=7ON$3 z6aTYFhQ>?1o|XnUsZ+JoxV!m`g@hE1L7w?Tjsp}8(gXz`yGT^V8@-kdmL$cJwx@mTN9@G`M4*V+ z*j{ga=fN<=)R4FRQ6keNnziCeQ%b4q-QHt^wo9q&%b?Ql<#ey5b9s5aOuvL~XC-HR zAEiH|VF+C!8{xNR$}DR)&N!1Cuwi4Yri=UL;@AgdMWQG9wt0V>u!++sF93FMI>G(w zCmAzI_-edc`NAX#_m;~N`~^P+lU@pG_s0QoV~57V9u3J7MwYsVCKDdT-1mEQzj{{C z)Qe*^_#1%gS3B~*muyLsFgs;^V zMB(kdp(4`)!{z;t+-r3L#mjMAO|x`PD7kRGqY$mUZQ%~7jo<^xc_6PKjIq1N@VyN6 zz8(o{4a(4!Pur6u;FxL?_7F)j5+1b+rPLuxm*k=SOg?SpL@KbNBX1M`Ih58|SFgE= zR}!Nxr{XfuP3LNdl+xEk_0L<~&~f(=Ptr~hFWbwpNatM|o>t8)*zVQ8ePx83%uF=D z3K9^e);@W)ZDT6fJf)cE?e1-}o}pml_u?(k#h0yq!W#tB_>Tqxid_tbIcQI|WF~jg zM5bSuGubvL(6q~<>7%!-eck3YCUdPfYc0cC8?zyhe1@sltqMO$#iD)`5iJELVrB90 zS&ACy9S#qCFEZzYSdRDzC6&@0AE7pCq&DD#%y&@5JG;|GmM*)dm$AyP#^dSA?=iv5 zlIb!sGN^|JT8z@KUv};;Qw4?AKGd6yyI-TNds!a!mFl}USIo^!_!rjXXLX#Q%FUAa zSk90E++?d$f58F|6*@XERqzI~^E0lm?*K=$KU2L8C}_(@bAp;%CGN3#i+#Oh^tWJa z9#?oWrku;>4~yISh|e#d7hem}(P&`ZC&AE(U}P6o)tObmVeIC{@(WYks1r_`RhjgE z(RzZP(l&UZ^KzVjx`8J_-+xvI@0rhOaFX3=hSk;26GtlCAQPEQCCjD#{YNmf8T${? zoqpv8R|naOL%n|>r_}6;iMqtw{ZXZYH!v8F}pBBtcNMJ-x2jhL* z4d%F9(@ct=|6GY|%1a5U$&2p`Wn1Qx_^BgxX{Az)4g%ZtVL%yURaP- zycSmxGgc8S`R=BXSEQTE2vNiQo12A_1Ot-2RlgX9Gvkv@yVt3;WSkJ}*4jR#`}WOZ0-bV3yONeVOt zpU5I{X2%LrFy(RY8Sb4S$pbq^X*7ixuUo0?FLaADo-eTiMQ_%trCQRdk`;S z7J8I1XM{2Jp^KB2cWyTr>THa>s8jT`!wZ@B1aBd24wzLz`taq|NDVVgli0JzU*4@$3Sx+A$d!&RviJk)4rbTlz>QOG zFMUR_nJ+R)9aQKvu(+6s7dF+}_U6VT)N0MU_Un--Ivw1uFNc$OvJZk4^O}t=11df- zz7JtMf*MT)4~1ll&7JI;LL&KBcr}#Xc^CZ{XP~G+TUCC-V)XL}OwC%dzK4J6FRL9c ztm71Uwj7nKZQ8I$5vQ-#?<{C4#zOO{Y`00ab3vu5E9RnAwbr5PMX*Rn<|A9IB<1x6 zjCmVNF=h8MVG>Fuo1Ma)An57*GZ|+dC;XF%#4)8YMRMtbDMk3}_z_+CKc5lpUf-c^ z8sJh=*71kuSeh#2lL0_}pUwlj7sC2OpR7ECM!DhU4K!;P5ViHo4t(f6Z=L?9ik{~Fg{T_ z{*!MJy;js~sqo`AvJAS2q59sw=*0qA-O>rE|JJy3i7D+8yvJO#%FVXlf0v)7dLcGT zp2Ndyz;_b0g0YFQRCv;MxpbC#mccYkCxCwPvO%)s26a7^-!T>0xO^xXd8ShXTti62 zF`o6cSnp#9SAb(BnGY3p+Ig3tqC-3e*Ys!=PtQbF0?#y^W?E>5#i-G{!#6fX7wq_{ zYeglWEZYVOqz5t&IY-zIU(@{HzJDMP@FkUjcUJq2Vwk3-2&T>=O%hD$D%(q3mzjjh za=DJ~%XyvsQ?#VBntGr{Y}?7EbVTwVduY#V_F#h060k{y_G-zo=N0yj?futL4C?hu zULxNzPA}8FTJ#@8Ouy1!tVX*GuGAdy41D4KhySWaHs!p}*)`m)O2qtihuo%_5mVuN zY&mJD(d_x-I?f#KouhVqF3P&3mLuQB&I%nfM4@~1E`RbuX_93|afbc(R2zvRTLYFk zb=~%_Ik65rrLOSo&6~#l7JCe5gi?&0w$H)AS-KUqFk91WyoK4JDu;vj{JrMW$Je{N zc2#FW-+=ZFmS>)tO2CCcXBBI0a<%%9KgN;ZlnFBC8i1Okt^d>eedr=qlXZc+g#u$s zi9MD%X+lhelL9AW^RbOwF@pk1k=HSARs^ac_0l=j(cG)U`4A@( z!IIP$R(-phu}aRjH$RGD2Wau8lZx2`is&Sc5uhdc8uZ#gVp^;BjrF4=B^!na#FU)E#khS_dG;u~aJS_FN3|?~J;TgjJGBU!) zu*_K4(~=|}B%(j9HubIe1}`t3^YVU*aqnoV~IL9Lzc z{VKmm_pJ8>g2>$^VMs?Q8H3(!MseIsItecn+kLslz5Ea6p19re^QyDL3=r1A}og zep$idZ&iU@McJNvwd>0U&&e|KnwLt%^X{7CGhI)gNSe^ezh4e+*RoTSmS(irhYTXb z756XK+?Jzb@*1{GV`Wa@VwN6{Ue97x2&?Yu|`c-1_(bX+bmY(rdE|y(r z^kZ-TBbN|KFtjp*sZ9|`Y6r40H}Bogu&+wUANZM|+-vsUyPnZh)0@U_YiPHVU(nFH zuF2}#!7jso!Mbvh4RphnZ{F6hOwX;nXI8cUmrQKN8>)>=e@$mjcw=}gdWT(H9j6en zwo~Tr8C6{Xt@)o_H4;viQcn9X`G_ws6P#|z>aWa-Pq9&sZ2eo@qf^#XaByPgSBmMP zfjf;rySD_g#$h-w4UG;_Ls4I5dM(bJE-(5$6*g^?=6P1VpXhI=WeZC0Lj*u z1Tl>`w}vn;h7WwQsI!VN``D{22gYsK(qQdodJt42sp@HXU+XbK?M$nC{2p#e41(X? zZ?2}DlgnD$=E3i?X?{Jkg;lILUAWi6ZPM0k5ELOCDP$&LKzK8DGWl7c2zfPDGfZ8< zvi*N3zbkI{;a6S{?;-_e$9XFrpVuJfc>@zSAt;|XebdwTCM`BAgFg{2i z=)nPdE(w1AWtnp_Zh!y#z#1oGT@6 zoj@89yCIzjV&=vD3hk0tx%2mw>_i?6NJ)6*W_@7yroNsA-}=l27U~GVJ8Nr&|29x7 z$Nx@L@UBgzx>7iH2469*uDO76!w-qw6` zG0of(=?x0|ZB$NIB|51)`wZb5`GJufDa2{Q(sZJ6kOqQj*B)0VhSjXy)hpv1fkqBYF#|MTl}{$(FUE6La0nd!pT*qpD;~719b^?k01}pAKU7E$Mo{jF`W8dcX80kz+GEjC)3r zEyyUi^r1%NzNKnI@r+yfRQvQp8@6*v__r6j_8!54-wrJEA2f{?xOx#(Z_0-_*64_p zCOv7=^84-$%c7eR?mENJ{0GtNSidNe*BKF?Xn*+qEg1Az@~hJti%;8 z{_Y*_Kn7ZNnwNWY?fyGZ6cDD)@~hQnGGjVV=8{Syrv>lZ1U-f?lNwOzYqGYuoS{%I zGI&%fPFkwKSc=*G=cKZ*>-NOoO{3IG>Ab7v=$Y`Bw};s@vEOpw4L`O2q1m{HcjT!S zNBDaFs83^xQ^L1j##Xm11lyIXXjrXI1mWlAxP zp0)0svpa>_Px}WO+V{xDdUoe}Pn$9>raRu-zQEKyyagmQaiX`uHhCGl;J2j1P$LB{ z#NlFQ*R`De~0C7Kfou5HVlw>{7w?64t}HM6RhyUpe)DTEzz%lR%p6~p_KfA=%D zoRxX#84lQrJWweLt!%LusK}@jUMjGdwts6P`BLm`poaY*p&h;=%Q0pXG&^hCP21l( zn9KSD-6&<75z~4-Jo(Z&cd*@vnAd~lU2C#51Mt653>K^knR@8khY*c5Qt@B=9kWHn z+>SH!fyDMaGLiR6pWK*d=UPfC>}TwM?h1FkwvrrjyU>+}3J9l!4pg2}jP;)R!W5rq zX`61O&`|U;2zdPXkZ_FXB*6j;xzaF-WE-mJ>njsT3rBKB&OikS9z>ED1a>Ywlo^hzbw7#ULCkJkh zD4~(dN|-OqE6+T2pPS})q~U6JLf+ogzaL*-Z)6F6mN9m6Fb(1qDS?YKWn`ySt<% zq`Q%p9*|A}84!>jI)(hlz5a=7&AKz|o^$qo&hvb>%!dz4iRW9*Zqs%KEhFhi zUv1~P7Ijt>HmWjexyIclrBhQM{p3nf7H_L5S>)tjU^NI|`Bk{fD~dg0T^#5VUa9P5 zT4WS3k33&y9Ta-(`3fb7K#oN^23t?3Fy!mrjL*yS*B-d6d?$vmT7CS9|5BGE?1e{N ziM0CbK^?Z_N~Qg3a3BRE8rz>%+K^IZa{NK_a*-*y5bV^n~nn;$oXgXmzd@X+l=@p)sk+`E6()|KoXUQOvT-SaC) zZVa>JQ#PusUXA_Dq}d`x;lE$-Z701+qIu>k-q+dHh-l=+M&mn6AjHrP=A}!}kP4f# zX3QtsMP=>)^V}5K`I$_ghzBn`eLjEehXV3oUCW_q_^Vwf{uM60Qri|T2k#1OinL>M z$WNeHUQKwrFcs8T8{+I9EH74*EO)HcvDoqZJ?Y(>q5|v4>^z>mK17lA60Dtk${Cv< z1Sk&FpUA+zpiDiO2eU}G3Fjed7kun{`;gGdgPM|XP$zhK^!w_zlHxwqXac1pN_Hin~^aLW%qha<-tvF$- zpml~Y3d<^OLr|iyskQyM<=|{Q_LUO(yU$%Q-s+XC8S8&409RE3&I3?pUC8?@tC-*y zIE8lfylm*!&SX&-w^}qe&)tVqF~kX)KT&Py*rTDK^wU_}XVa?V-x=-3ct$R#OxkA+ zT)S-6akg=aNR(Ome&cS~Y()jdru_&izbvEudhs?o%DraN2#_? zUi%67@7q%#SYuN^+zt4*>b$H&)hH_=oq`He7&cSxiy3}(FQ1LcG?M(p!^%Va$h`Br zdcM31i9SX_cwJ7i_Vl zMoR$_+$LvjIM|*T>v=MWRxjaRZmpf-Dg2k7npCe0>5uNbNb!#C;>Jcf= z`igL8XPX`RUDs@J^mIglZb|6WiPFv%cv7*P^5mN3Dw5EatYt6ciBfsvU)?HGQNR5= zJC{1$*Cp(r`Sc`C6fPG%?tU+lc z8qo7_difEvff%DLXZx5$r~3$k!fhGDIebiX|MIrx%^kY)Zt&SQ%wBD=pj@Ug;rR@2 z$W(=ORJI^TW_&Y>?UC=hbG)4WPcQeF;Zk zp|kY#^h8vLDY?(EFM3|Kk%@!2xWW+PrsqBWGZ5E{mOYeSxk+y(V&Ag@7>6UeV9kK{ zNylCbRJZ(y8bfyv@_JN1I(;2{L(DC-h+O}b;P;tsx_aD1c+dUrIZeksqinTYs+rro zIkQw;IV1Uupi-5vmNC=%7CG?J8N;AMI*mHk!2*a!H_{^xd&IS;ITw1>MgQs+HWf6$?~dKBAyijcY|8fGtM0AnZ8<^E{7l(3cEWYIp*YuOf2 zFw|y{!dTp*7iZ&)5;i+-ZziUamJn0xrY@*b*m!RhLeX=fN53gq1M_IrKUrbSGUU}TU zyDRO?fIQq=A!YT0fD;1qN7`rZRN>!_wECNA%XIZQ`lL;Vlpwu1m+$u7@9Oshh23v( z@6fhCePhE(UmvZ;pc?<@o8#7M1g!E;n{Vb0yt8lzh9)<&Ms{M<_6Sn4zAr)rHCGhI zUJ2MHXEWV3+`P*}zhix32Sg%4%y1mXxfC6W&SUSK_$@h(86JclWMNsa=UN|&4(%Cj z#Ve!aQkuy6Gl%=b=cG3_>xI@sd5G0n7knp!{$LaT2kSL%xalaHRVdnNH+8-3Sx2l# zEn+3W^%gz;iME5vdq_--l`GV6w4W+CW_$LHl4_}p&sYn6q{z~jonxraVmC>}Gr6Xv zXvqR}bLC2XDl2S}m&(Bc-uM5X&2H}vE z#t6-FZa;Dg>An`KdX6l7r%niQ`qFxHZPBZ+=6+nt4!S0RT&QQss(+;Jw*hh7renXKhMaft#c0 z;!FIolKj=*2Y@7=F1$(;J-?jP|7zkwp+JUp?I~hDY)&~gd&N-$3NDB8z4*(7>jvo~ zE=RZfQq{aFG-h`3Bg51Dw{YLTt1xX3bex&NHko<1pWbLBUHfr>n@VOtWbvPMhkqBf zynzdk5ekTn2z&AAbgt;)v|ai9s;gDVpB2A1|E%l8l-xr~X_WMgVfh+D9Eyta)C{Q; z*Yq5YDRa9FqDMz;)K&mH!w1};2J?rd#HERIN#v!YBPkNdj-%Ew0TCxjnUMd$70vsmbHLEpLc zYkAb!otR0x6D)5F)u^&s=*PVqdYvY`!9eOhyJ1G8=#(ZwrXsP#DyUvP8(@>*C8oNq zx-niq8$Zqi?d5MQ?v#;mID-0q5=hVU{xVmd=rHi<{QJuX1E+rJH%>}(%L+6|RD5k! zjA7-q>F1BGlrf~pr!r|aAq7F@P5s1#14}SCY_;L+8F@L#^ex%$fyU4Xj3*n29mLBa zz1!x^cxL{*HXNN2(W}Qsz9%O%pe% zNVKF8lXD}n{c>+SPZia8_o{ZiD|Ocdc2s%=zzX-tRh3>>olrh zp6t)(G&5Wc95xIR{yBwCg}hX1HA76=gKRt4!@6VzYFh5ut{Qp7Xi7lY%<)ehx{0D4dj z3Q&Sb!Q>*J2&o(M17b5X27b^<3ieNJre>4Pb+KG`A^$ItufTx}5$|1Zts_K7VIl6i zO|1o#!h!5j&^6cRCtMjPJDPr)d4TbqN_D3Wt}UuAG=6@uSpYm6xqKy{ozxbJxCpi2 zk^lW9e^&*yQso`Qls#Qr3kkBm@0bn^H*+$osKYyLd_ei9c6@mHZvu$y@0lKbY)TYD zn!3k%F&Nj3-%=wm-p#H)FG)Nzf!vH!)&?=oM`R@LcRBt(^4Y zpPwVc2-ew5oHRFL8jWS6(!vD1rc4f1;#5XT zN(YEhPYTS&f3+N5f0Oy5ozdoSk&-gD9pc;vGAjCimuZL8@iaQ-bv7>S(Ad z?^3(OAs&B95NF<%Go1iRWZJdLwd)DtB*tHhGV;W#j91V2AF*i}H0Q!7Z7Qi@VG>P8 z|2uv1utdjE%Pw= zyAG$6Uc*bLf)|HL{d6GyzJ^o{pGfc~5b4TXrg{55I>q^Ya@$2X%VY|@&B==o594Cv3F!Kz?@qY$NkA3ksWHiN#pPZ()HF2NQNau@ z=0yJ<-Lu*Wz^!6>rEM6#llYJpWgllb_KFB~|KnrKa3$XSa}jRVIu*jvCT`kA1wAt# z=1o6AFc+P8X^rbrDd7apqQ6xp2SsQ$?fsiUFC%Gev2xX-wqcun;WVgl{2K_oBG8I| zmu@I=)1$#LMpm1wn>Gr<&rj8Nu7HY6=lyUZYV*nM4y8jCULZaXnl&tVAeEsQep8`X zUG1BsGu*@7@bG45BAU-?AGGZ*Cu}TGPcz^hG=)jJa5(FB)7)%=1>Hr})Wwulz=X~ie9Dcem64sxyY+SpVU|3DN>BZvO`~i?5c&wVfK#! z_@+3EHds;_3|LTS9wP4pd`yG zqBS$jH-_@ZliRujltFx#wt5cb1JjE`_u&z*c@#dnd#Jh@LDx0o4_5ZTq+Js5N(NIq zP>k!RJQcPJ{i9mF=&rFB|Cx8K+MiYO3o0WQDJx360MdA;<_AkT zPEC~E9)rCAHox$uYfZ0|SxB2pqyIB>mjSbzvO1yZsyI)D*>liF)bu>;nVl=tUS~~u zKp(Vc=$B9{M*hFZ>8(0snZKstW$*@`Fq5b{+BG5r{{|mlZf2Ea#J(Re*E*!pZDikv0 ztZ@Gen;kg&0XRV)y)OR{U0234jD8!S1T=VpKcsq6qtuv55G z<>@Z?gGNf4CtivcSht|z4SN@+)%aG%%O8ZSbB;q}f6aRsXSsFmkf;BAH6Bpn^#DRt zcwKXUHZ8&2&=aTD*k~0H>OZz<(S48Dv>_=Aa{2kQVE3*wy%Sp>kn;enrPfZSwav6i zI9CKnuNiYmKGsZWE`^1tAOhElC8{tZy?Bkq?=!iXih@pBy+YIR4P53g%~x_8CRw;(#{B zZg1PNLDe2m`|l$J#M2lp(Ws2!@cZMSA3tAw!RRV>PBnwKep8RrSlF=%ttVL}sie$L zILA&kTuf@Skz)KGa#HfctSAyYIgieK?9kt-;)Uago9BRAXh<7tv?zWM8)tQI_K^)T z?TBB?81opL6m_twlu@bVBC3y2q1pfV=*oMC}3e(9w+DJI%K_WJS)m?Z4A zw#`K{>0&G1&|Scz@JcthQB}^L+pkR;a6YEY(k>$kMUjF2&D0H<7763gVa*VVzELLx z>37OSS+|gP$6J)z*KjzBdcC;7sr$K*v?`96b!Ry)cG-K!gY}lJY7+~! z;X(}9d9{r>BVyBoQn0X-4LNjE*T9I4aMUf`ql;KJn~n58DGZWWW=?(7Y@;|pKs|}G z+kmf@$1LPCs%hHdPx;~rd&HW#sp$sfB&~kc;zY=pLUa1B=3IFt)`-Awca*@(2K;B- zvB@}{hkwsz4?CV&_9vwLY1G+E-d#Wony?@%4yz3oj;Haj(8wUG9EwZP$yA8_1fPWo z-JnOH7v$WPl#QnXc!_R;I_jLv%)&GL=|Xk_jJIP%mlH%Doxkh4Fy#CSX)F+-d$J0A zD!)clLG;4{rz1QUIHHl92XTAv>){$)76sI07QeZ0LwmI9=NhVV4h7dq!D4!_=xNoj zMKmWKQ}91;=T$+Dc?*ZpUrdT~y^hiZx3mR)7kxQkQH+t;kJZ!1Le*@9QZqU+p9&dm z1Gydg9vF}l{C$mo`hRR@xR@+{_u_K-e>WOHHThcWg#T?aiEZGYNISmxS)$7xLz^ha zRNfXxFI{&Ub8BpnVPyLUzN3rq!rdna>hNPUq}u|0V4n^-?d!~1Yy@jPIeqPnpL@?} ztjfnH`y+e<@Dml_Wu#_px_N2jb@~c$!m;6|iYdqcE%g#ydNs)Cf;)}f=v|=S+V9qR zs#~-A7}D)T*oK9}=iAldrLGI}S2=E$eDA--0eFjQ2ri7N>nHb68Zk1>ar6nY#kxwB zqA$jp@hN)j6=>xve$1CIU&L(REG*jpz|T&@xv59GxuIY(SjRydx`}V7LuES1Ahfl^ zzs}uw!e#7<7KKhSye6@eKu`0+K;jInTE-8`S7Y1J|)_Go@Z8@|6SP5ry`mMBQW9g=O7(Bp-NWE8?3`Bg0<`ir4!59(9Jjy}&7=A(sat>Qqm8 zNP#Wi`CG62FR-q0PA(BWrnwJQJqigGwbMeKxj0fYRJOST6wiWudbJAxcR-5_z-_dS*=RNgi`SIG>t)dshM#$uY0K3)lK(p()RCyjS?H;@9SNJ zzRM>G{b-9QuDf%txc-RBUqC-3d;(aFZYx1uE6EtMfzp5^Rm%7aO|*h9vEk=-`c34HXfChejirBe(Kyxy)F$iE9PO1$zd2bfx#0y} z27P4nVg8h_EHrHk-h0y3McRY9O^J|e)5-n_JyNqSU8;kk*BZ(?n*q{kxE9IYJ zolK{cKMlEmWYgfk&8Rs-0mbvVAGd3<&pQrP(C8bZp~Ik8Zvo;pw`{)hEKS%d?a5Bs zUBUpp?5lDyV>-Hw+`@5N@IhL?*eZaHNO5}t5O!VUL&Sk?r~vb-Fn6nKbT>3HpH)Gn zodJSOo*wvS1C)PdG^F(bd<~vw+hv`tcXbTdQ}PpXdb~3KEbMGv$(HH`-2YRQMJ%B_ zQF8V8jWCbjE>eCDM4B(9@^CC^WBWG(scX4_Shr?yxeos3nAb~K= znf%1lZMQJ6(KhLrsV*#kb$)``O$-w5aU%v7$@eFOI@5;&_4~txx1t{_jtgLuS`=Gs zuNUDfOBP}H2>#zIW!LaR*bFum-Y_UNvbuVdHgx`w);Dynah8BwD+wrW6l48ZDLFKp zn}|HA?sVK^lr06m(x0ZIqa)#q9eE zE-s3&TreF?GI~^bszR)U_|3BExCU3gxKaU&R}&Fgj>MVqKRsD)DpnrEO|CWM@(7i_ z;`w=iif3O=)^~Pt1if@{mdVW{Jzk@BCbHkysa17X+)CmHgn#%O{KWk&Qx$d+HFum) za4wq^!@?xc?q1Bp;R;fLoPakb1+nsZbMyD(uHe8ugG&8Lw!&%m3q zs7xW>Bvdi(_ID^#%LN#rZ0aO_-pixA`+g-hh3E?L^5%}~kLf5yRd!ZCk53op&!+} zpkYn<{BVB#8{*Y=J#<*4ne7Q&F^`B%J)$g0xS!>1N)DN}gMXp0l3;2c*1H92$VoN# zU6)YG82AIn#`RiHiGg75A*ts#&h+fv&CDeKt24?(#Q8TfNU5oI9v$xkvsQ4Mh#()I z+9MC+i7Ei`jWm*a1^gq-B=l&~v6o^7@`5e&Q)}2s(&V!HilWRo381bpZii@mocRDA zYMna)4r_RrJOhSp*9Jh)Z*3%C<`2QTw}jYOyIlaCb)G(z>}|KzP0pvE{iHPLcAc7J zoWk@t7Kn9)PsurS&zFwffNleo&^Avxr&Csdu72SQ zy45F|qk^VS9Oa#@qiH?WZAb&^2kevC39_>ZUEpMx`W*m3%Kk7Ww_hw0~c+BO-TK`YO|^F`M3Q3 z3YkxLiwCKUtF~QzVv29-j*e-fuYZNqS?X+Ti(>4RZ0Nl%4ao90;&&rA^8PHBGERW? zxTSI@i|+D<+zH&2(UEj83uss1?Qy#b>C4 zse=TRQ{h}4`YdGk)<7htS`~=Li@M}ll=h9~i!lJNrhQUBM=+7(wLl*SrV)x^Hb9!N zW84A^{#nJOeXWkz2D<>17^P%%YJ8n^C~E5 ze@kxi$|Ltdu#=ono%=N0uT!gnOAxR3!R&U(;C^5ywezpM>{k}De`q@W3;@96lT;P$ zwTm!?LCzS3q>@-Dmp;{>7mwO z7Y!f*{PpP|Ea`bYuRxwMHRx1z<>X2y=fy2JcWjs>8h@U0*1~@;aDPfXudVmaFJLUq z82UXBnr)Gu(n4_uWqHdQ(8(d6PjaSR+J_4{G3XD;o{BsA^U|h5(wJ$*>}1Si0{Dai zu<-Bsfk!OrlV0RZqs9Z@3sSe&%GX$|ER&zwwG`aUQuPA-cVNh|sZO3F3IqM&Ts0kB z@aN+UU=b7Qs$H(T>hT2;i_YwwGy+$iVW1h8_C-Ka48*TN2{En}B8IeDS^(h=Ddbfi zy^3vV-|f;abnoWI^GcWs^_vI|=t&sO^3!L}b{d-5B?*DF0`AKPjp2;0NA2^(7^Frl#)0PL4P6?9v8>T;{EkEN}2hn%;aJOj((tgK~XPpw}yCku< z1Thg^t!Gc+=@jhJrPtIYL~6@yN@kEVmK!T&9)7YKGu3a%YJ|w5;`}z>@o1cg-3_g_ zAs3ssPoLOrD!KQc^s4Do$`gb*Hrd9LT>SxRo`g_G+2LRDLnc04ws-tbJ7mH~q9}ea z>%C3fq>r2{S>hnWJ+jB4^uNCTr^6+SX}8RGk*0BNHJ6sz)5C;#!`uk*1ki7%l>+9G;U00KFj%(<;171 zD$?D%AQ)$bR5C8o_jqTkcQH$0-3)BUgTI+LD620xt%W}3eILpgHf@GmE? zEFeJG);J*7yW&aGbtwK<^p|v@-j@bpVR%R8RWD^l!SsznVz&(w-nwgf?}8bDjGLqQ zj}eR?bg)~PkSS(w0Ec7#3v|g9l}Y)9SQTMm^E4Cx-#{fCct87#0!emMBMhV6`I`_0 zG*NAbrH1tI>tzRjiNr;HlN35Yh1k1(4hjq~&oWt}E<|t?Tr+z^iP=@mA|om89MHy_ z08zQIGE`n8>fUZ<9;pSk=ZyE8{?(0kM9oGd2NfXlb$?yd6!@E4b|*W z!tN%;<^~9%1~w3|6*xpxn&MEMwN0(hpIxU>!^2k0v%o(;={{yI+&`b;HfFk;OFAsT zC^kW&z07N~uu|jYj`@G3p|I_6qVDqoq1XJyBD59Yc*7xa1( zb6Qs~a-yupLCsCIs7UgP#$yE+6c_{O;Ii8T2^~8QG$*4L#o;N<>(Eo2vnt( zp;^zkqzV0HfS7*vYp_{^es$R=#;pR@mjD72uq1x%=ZLee`kDHz@`h+zajQS>X@!{X zZ`jW{mF%nFmby#lY3RDGG#OEC9K5O2$*k;bWGscb@pD`>m0*m-)i75LfZ|H%dZH09 zn}2JeyN_$j&eK{dT+g1p4vEF00U(Rscmri&e$A!ZJe2yyYQZ5~wv`k;L>& zurtMfzqaoGIF}X$oak^0JB0Gxm(U@UWh;|uHTWnY>%dT-(Oq_OdZOsfX~EuQmBV+8 z@{`|s=z!ThLt{iuX)EsVEYf8zd#93EDttgf$8w!`+?7EQQveuD&&IFvk8^#cHFALv zyN!EmDZGW<9{UBIrcfsaQ3>$tnxV8rcrV*JD_3n`_Dl8v+65&ms%<7 zE^fRPE}n8&_Pbxc)u2|(409l*OKMSMyBdvsoDeb_c;JJiwISfRrL0#Gu4r&k?C!k) z0UTU>r(w5kl-OQTbKa0BMtlCgY+etyf{?K0en8rw=H4;^3#lFf2~ZkaQQjamz+>lJ zvI*TgXkc{y#ttG%+}2v$@l>?YcAc^gUAG%!OvKXF3`%H>oIRwmiWRHZF z?n*Ac+RJm>Zi5chjVWYN_E939TeOMPt9@s`mw|pU%M)kGWJvSW+|A1!V0bkI^*Hw*nktaC~5*KV4X4M&6Sm>j! z6&l9=5(0dm=7>O&&{>_q&bMK#;&W8j-PRz_CKduDB* zLY=@6e?|KldQ&}^2RFS-S*0w~5BB%dD3)%6sZE5;N`OF?y;1_Wtjx`u4bVtoi!0?7 zY5spJ#~%`-Koy?z#P{ZPKpw{?_CH&4^RSi5+@k5tVdD40gN|oBDRzJE6)h%O8b^m=-UnQV2oi;1M{epkuQ;L@rWv|MD2kNVo_n9|VuflD9Yp8@zLbVWq$}|O( zljLui8c`WvX-Yig+99Z%_7}GvMjZMZzbScJuD_Y%y)D3}A>tm&`A^t`ovFB3uKLJV z#V5#-vI88;s6Rv~X432A_}?}9s+us~2q7*kWrLMkp5*-uHhBZOByQ{jTx<5R1J$a+ zjwS_XGvGXvX@C-nhVmNpeNvQTPM8|_!li2mT|cN{RJ0; zDpT3`N(~_z_D}-sG}E6JK?#b>^;K~Us|^4P5yTL_C;LI0b6_OT-Pczg4fv{jH%m5a zO6jeYV?ifi1?m%&E^!2GEK6SDk#ecXy@`f;OltCKe(+amWY_}5L8Zl?wHsj1b?W)^B7pLlu1bty%35)OknuutpYrlFH) zJhp*Mh6xI?xJjjwcN$`2udDkE(U_oi*Q1wx`yTFxkBf!{d}EZqSa{mb4;JSGF{tYlOP&9 z*^@|5LbVn!YtvK+djrowh6@j{!cS=+Yb>n=j@x0B#JFF2ooW6%2 zRauihv)*QV=GCc1uD+o`H}A~2%CT#FmzmWK%=UG^?`Mt!@LAOL`E)163hGHlnW!KJ z1wHCQfu5gpqDuW$SEW&yw`I{%=A93xhGwRf-@U3g>PV5h1-V@bwZ~8GNa6yPH3&8C4IyvqKkI0?2vsAts%_8 z4&xpa!C|{F}Lp%C{8ei9sz(@DgJz@0t*A9k2Y-8C`PAkJowR-0GT_q zXUlyM;uc4MX^>u2sQf#Eau+X=uAn8{X;rEc>UA;KAyL{ zQ@Hj_T&A0EB4EH<3CX_XOZ;-q857lPQr%vTbW*P|r!7y``i?L$OtxIEh;H?(ehR_M zATz|^3-s=BgAl{o8zcSc$em1blyTzm5|RI!U9n$fuEPQG-8XQ|V0nI&Ce&!~`lQRY znh+1vY~gTjDY`_`*jt7}G^F02;I5&;qf$WiSz*nnm%-c9)Al1FkfK`HF0QtItHiF! z^NezipEgv%zhJV5|3%_itr3Yp+rbMx?E67qZv*`v2J4d=e4{&6;1GzgOsIWH@IKKT zU4D9S$&b}uN+KoOB+qyVB<=C>(Z`9AkJj2Lil0(*aK^=2uSe`LiW>;8AJB0T^6JUb zY@1nSgcS@`AiY{aI23vhW4Ks>F374A+tf^PR&}F3xpcymN@WJqI-ZJNhI1RFcDxHP ziE%(0EIy5!j$ZdS@lPY-p*63t7%XW0hc3g-Blqg`%{idzk#u{BQWx5O2R=HZjcHql z2tCm}SVOk}e^heH^oroM<_!=b01rOl&*33;+UnsJOHZai&6!^X9<%x-!Q6o+Xd^hA zzTWOH+&`eGSAL&i4h1116Sz^14f32gFem(OQKOm@%*eJ##EZjV%RcB>s8996joiy| z`L{&CNzYi?c8_=v*&(w+a85ydB zcn=e)SIE0xIhz0VjHE8MN@qS#>o}|>P(U4%rdJ;-sAg@fUT6h>)DK}~;|NvAP<@KW zkVG>z7nfR*u6x({-u|IkUoBToX_kHnw){&E#wz=Q-B*QTQd}M{$}b1uI~~F#|2AQy_aZdfITv?>Fca!GM{Nv$9|W}grY=j* zyIJCZ*xTsns1mL>Z%Db?n*J*`$kT~mPc&!*I&CbvNwmLH8)5xoLbsVP>gk+lDI8H) z5P%Q3op@FOYNi^+Qmsb?@TO^vJAHxS(Rf;Wr0flu$fdoCga7FNEPS8ym0*<>K{Bxa zoUq1$-b$>U3&`q>kI=eV1?<@)}@xmb_dYkeeJBHcAZr^hbRTn3BZ_O!i9a&RL1Bng(OsNR+d5HEqI#n|9tA zo>wVO@XNeHycuA>O7}v$p~pU}PM{E~MIkwH@qddU<$*{64?keuZ59(nLJT!gLG*Yn zXDKl%UxW4!_dmn-D9FEtv1^uh2VPmq8?(tcdN@D8ovfW{Nbd#J`EYv2U?SzrwKNJ% zD3e092aS}Cq6iLx^v+IBmf_=N&`3kR=AiyHMp|1U&s#QEmqT zzqo(ra&rP%oeH&+gjP^`x;1r%YjX z^2W^mx`#ds*$X9>JppmH3c}^4s*SnQQwq=*i7gD0{DJfF1XU!)eXyCF#h<^{rfq_O z0=&uMyQN;geMBQy2hg`&W5r%N_9!jj4%mXwCJsKZm8Wz83ZgH( zE0vWKO9|>{3g!@ZSGR!IS6LPunCzIcCrvEhe0Q!Z^j_UFCun03CjUSVUHD^OCsuA4 zbZL2Jc4I2fW~1}GFJ<0pp34@h-(mL08MMilIzqRry0h_fd0cg&{6|COnZce9p!E(C zQt?I{+PeCeJoTt)vd~%S;r|D-}EM9^7y#Q7D_Lf zwd|EmVcu(Y&8{{2YHKj&tI%e8TVgPixv9Y>D^kS@U}h$NIV;m z%jW>)A#!TZSj4<_gnkXBn}koW5LR>isST|q37`nW|)esOwHYO*Z1j%P)qJxVP%;#H>7^_Sa|fz)M53 z-|s4QTT>-Gy1}Dsd_Qs{4qK{8%m^>jNbp=Lm)Yw5D5q1jDF@_BX6`nS|Oe>*Iv^Q%p~kY}YD6KR>5 ztvaBtLY9cRf4U;&EyG@$fwOK7-z(0CK}78TGF6 z3l&r(?aJe)eEWKf19-eDA9&|g>E$2n-m$HVUXdqx-hHN{I*FG{gnP319_e;Q@5Fwo zHTPMVm6O3lZ6bUC+*cYqmg$aIZ^zb@C`Xgo{RmIA23MV{m|tse0d8W{zioi-V;jwk z4#K4OuHGl}hixS{^gYYEL*89&4-O7ubqo-qozPV|-lkR0e0aVF44ZtVc;?nE=l>4e zdrXBgmi;mi1DJ>4!eb|YKGUDO@L9e97f0aV;F25ZqF>}^D#^15G;>4bRGVUgbbdmH z=j6d*(_21-p586(i3>3&z@Tf>?A!UK0|^vLx3de#K^&s6y?@)IwDq~aRFSbe@{l~) zvbOOpEL*zCn(XL=cs#GQLFbw44m}L1_&kodT~69AbUe0q#2*bNn4g5 z>QtV*u-)w^;i2Cs{b2tO4R}Mw!$bGr$KXtRgBdIAF;r3|4{aw)E5xJ1mN+HV*^ws{ps=dF(_ z4t#M|UdbJ57|ZN~PGwxN?h2*ASffG(p^@k{x%tqgz5KirM^j?y!Rb)V=m+7#ft$bW zC%HgAl!4dUG_9knGzuD@Q!eBQwVk=FY2`bTlFJ9`H(VD3J^9P=uKFez^;c*9?(DL< zGZn7cS2;(z4*%wWlynW6Hrm2PIY5Cj4Nw%5cWz8b*-ksU+xk+DG-aA4qd6+UbZq+s zX-pvZjiJ#vp76)nE}roU6X#5oE7sNAj0nb$A&9mLuSYr8g^MMNvfJNE94sn+q1p1{ zx-8iRB!9a%KA(w7)y zYDjHrqNP8}L-s-};qYU6D~}mo#EY8Zb#3W3yl(!D(8AD3TKPbQiXj3!RkFE~-DyN6 zY+gMe!Ee|1&cAEb%02g9MDMJlWcP071iKF{#4r=D>N7W$dXrLS1Qjn zzY27}U?yKNayWv&<{tUK^xh9Gk;q`>$s#mVGn;%w3KRN0{gH8 zscmVd-mVv0RuMa1G_oc%)I_Zs3-lzvMb~}3`<7`KdMNWf!c_@?_g8cu66Omnp@Fk=i*SC`_|+ z{?+8fyLBonV#_pw*%^q;N9LE;P7_|WEoU}PY2p(lDMB_HH&16)zt25=H}%`E;rGp| zvIf2!-rbb@OcMokXSdS`7kuW^R^4&b6xPl=r2#?lKD`Tj(~Rq5gjM}d4X@1MXIgnh zj2rmsZ&Ep9tD3mM|26g10Zl*e%hSa>S_pkyl;XbLOYv57CWPn)gcjH*w zK5O@L_KJYTv*|A^p7FoXq(nq(2p{Mx1T{53iq14($F7nhBra) z*jA&rSw%J)vwdq2nLX3Tz0MZ;i*3u{LqF}Yk#HAZ-^0m3(YRKEz1gVv4@mrBTBIlz zvY|N?lcEl(Ewi`!1m_jWUAi=avH`K*<(=45o^Q?w=&c2l_gVxxp?cV-zMbYtoSv3|mz!r4b5f!8!H8?T$x$j|9 zT_k2KoBw_x&WNF9ALX>-c(m`tVT9E=+h8LUOO47rjI8deN@0m15zxM zb~P$^x4D*&2JLLmY`LhL4@1tU8bP7n zqFS=OJHfwpeRslTzutaRJO$=g;9ELSh}IZ*<&4eUzQ6098Akrl;(lhV$xvMdi=rdW zt9*9I{GuThQ}+FbInXnjt7cltiv2I}_E;Uzjk8D!^BRs|C&yZGq;CCy)lTtEIO>h;p-Nz#zJ55byaedKQ8 zP#Aa0o)a@V{uqT^DTYTMgIR&+lfHj2yzA4Z=%T3-RlBkCP+K3r>H*?-Y%NHj0C7E| zw7Sn0M>9EMVs}(q6{Dcd6rWS@NIyeXM_*aW2&aQT7-OLh?}J4dCdM&=QLFG?-yVDt zQ{s}>W#KIJuD4$n(b)uY>~u>;BVr{^R3;xR-g6 zs={TJUocrqj1CZ2R3(of>U%3FH#KOQ>xHMc48`sDqV)PFYx;O=^KAjX9ExHTy(2e- zW_-?5h1G!ojVp}O!A7=xlb4!fG?Bm-#5HzXNA&>;iDv@hq0yGL=>No36Xi1Nf`(=4T^-e0 zE`wB5_{pKyHsF;s5b7`wF-gJaIjFOX{L^2gJW+>4ZB$D`iyj&~y6QDRV4Ci131Jg5 z#TcDS%#*jtK1|lV_-h{>H1Wl@w#rrRoIc9s`q_Xr4|A_C5Cpz$slO=bMF~H|?U6nK z!FQZ9PB{=)-Q_@l?e2}o)hw=J_8Pwk7fueZ2JvZZ5ZtUpy_Zm(pdjnws*6z2LKXFf zS2?R#UJ#GNgfS}>LdQua$Lsc-ew6k!L6>!TSztzw$Pr{Gs^Z9|zJvmqu@#Lljd0bn z`+#9@GdJs4)%687opv_GX>|#9Ha}4A`D|$t4(_gBoI`Ivx7fyxKNARYNs;p#mO4)z znWF2F-^88%95_7sSar8XzN$s>(D%E;)Ujl>i+)H{<77oY1#dNr=En;Eo1Ng%gf0&L zC|&RRx9nYAM?*{E1mdLz7YNr7nheBc-N0NCI~23GtFUh$dgxJ~E#y+4h3&c0d%eTA zOM!d(^P$YW#1dxmnstmJmHD><{QhvnsCs^v&KwlTN7IuHA^HxPOelpXlXx$TII zRsbW}KMk+VO(`o*U`(4v%) zpd*}A+ct#m{nAbN0q%Ohu}u6|(9dU#-R8Oze8P`{EG}tz-D&h1xi=)S zH#-<6q+$%uI584EvR)cC74ayWpndB3ZgFwZ&!T%UJxMUiub**cnpH@3b#}>K(kNK% z_0-Gg_xy%VlDwG*TfOOu!Wf524Z&Kig4Cq-ta)2>8)Un4q~HA-99c-zrkgc)#r1EG z>ar!TJU?k`T>B77;ReoVB77ftDF9+I1kk&o`*n%49$rXXdfd@2{JW4&$j%h5;F&xw zAPdE*JPSy=$YL7R%0zhfgrTj~Ej^z-ygYF`r&ZKACIDY0*xaob1zdDg>7eNe{x-b* zRint>3|bk4io5Erlg+ zs-B{VKl~Cu84P?bUfljk?&~{ywRO+}MebFW+n%|03@A0~ng`P9;~(tPpan*5)ShvR zvOPBBZw6`hnixI-oRsT~D5_{t9RA8(DoTOEZ@;|uMy)lYicQ4S>xFC`Yi4e1*8z+B zZgR8&_iZCN=iYZO3oam&U2a|yJ(U0QM`kK`1SIptFN68?^}v};iJbSYfJAt}u96D5 zuW57lYlSH_p(d_uZI3$=m%I_9AMr-hEc}K~%aecmQx`AIdq2CX=tPMzv!>;cKYA3A zAnoC9<9IE=h$>$8Di=RiH235LpC8cUb-1nu(Z5B)2`A=grKyv@rsCg6P} zM1WdlzzbuBg75UXLwC0|TEED-H;?HWH4|H`jxVI|f=dH%LDJ@29 z4&Q}LCPt`Ojw3|&O7cn7nTjE1E&F*(dzhcT`DGJQ?sMJk$UbYAEcp7$SZTT4lahTM zRa3IUNQ_MA`1u0EYsUR+EBuO+_AU~DH-|BMQ|bG-XE1$|L1=6Z`v9usZ}HKH5>q{O z)OStRA5)cdK+Phs%n!YWUn?G(o*Sr0oO|;G<>(1H=f)dnNKwbRK=}%A57MnxT?-zf zqa~zpdV6h+o_GE2N}^HRKKn6VQW3Q!j(I=G8w`xzb)s0U$1WOVb%W>l+oeC})9qexq-+erIEs=7~BNbcSyfBMfiXAwhwW~l#~~qaraecORjahTYVJL7s#Aici^vwL?K1$I=6Pd7UzwSgA4>L z5H_9-zb%XC7g4>!Mz9&*vHb#k6}?Fc?BNoq!Rf}}m!}Sm+;Mqj#RHSOL7A+I*5oQm zCaHDw{tZIo95?fPJBlCBel%vhm4NG*&t0R~s54<_#(ckM*L|&w>F!f~+2lFw(!6#d zqn8fc3d;(WreJ+@mka+JH~z~w92};CifeA3RROM=Rq1JnzsOR`hLT$dbSV~H01c~> zg)RlUnVt>CV5+~mTqksj`LFnmtPGBu*SAFD24d`N&cu7UoSP8(MooyzDKb6w{aRD; z61zuPeQxJOtHJWp`1O3Oa4s{Y_tjhHhj1VXkBd$jHcL!*T{2zqpSo$;RLPpFW;GLU z*IkjxwU5h}Ss!|Lqxe~ol1#Eg>_Z39#NLZeu6wOJKg`mS-ccmmas=G@()3ItZoR<& z9w?CZ@q=ei7cHCSA$;lj{dM}nJ2_%|;f>b)b-!V|#)d0+atHmzE87TtxEREBk@e!U ziL9|ex+lW#FIpI(RPw2I)~x-Z)oRC%RcdfjKx5lmCGhR3XH2Ol;Z;IPK;8SB4a39O z&`GD++A-|GGn4ii+nqk>M@vk`ke1Qp;G4agk!EX-Tbu;Lx^UIlw_U}B(P7+%NIX>K zigEpvWPE?az@t0S`C#TwFd>b+Rc-I^YpLY17%1@K5as*Dz~6ncJp&ojY z%ZwQWD})dxH|_BRJ?uK1Z?v~+bJ1@I;Vny%i5?ulK#SCgnm3x~Q3PE(;-G1*yei}a z6f^9&i;dDNzc==+$9t$}Ja4VeYj0&t3si*B^(m~X7Cfu8WU-lG;(xdT4R5i3XAmL4 zD1l(`lYN-4udk-+-rTq3mvdk)QCodjSFEmx$d@ZV2>A{{1V(++8<=_tdnmmcwIgfr zd>-MuOxu;8OueVXZfMaMWB*bPOHK!VmT##{dVqVS;UlF6*nB{8x30YE=M&sL00TF*AB}taKu8paL(RtrP>AZ^08~^wr<@vXnoqNo4Y+C5O{!b zh%x$-<@gWxhV~D$wbgMxMFG}=~cQK&ahck~o z_AA%Zq3LW?B_|vgg-H{hl7^TGTq6(g8Rh?A>@)yV&4Ev}j2&b>^=Zxta$>xQrRn6^ z<2b*kfjW6k3S#QEehV^ZwCTtsS5o$5BBj!(S?Fi8_5)Z!4eufi8=5&K$Ujf+vuhDd zJrV0tf_o$SW7)wc@8HFTp4fLDVxDDH2+QM)v2&Mi*|k@#+Fv5)c{sqBRz{|xI-ZLD zCXFpWa$9NqI&cfkd}-k8c+*HlV1+fdbtj~uqeIH{XByBxu$zmUbh^w0sBRTTuIkG zwpyBc=o0zn)Gdh!9XwHGy9%n1SoV#<>+L(6MbJglpwJU3K%81D7}x40hJ2v2@9&(m zdfO>yNHvQgfVIU*++>!3*^wEBr$kLK6L?cBH4q`d8Cfa*%>^Wsv$|HL^pQkPRuD-Sy--2Y1$nNi}ynR-@&SLPZ2S7;?+dy9O6ZS8N6N z2U@kEiFwVU|0Vj+MccgM_RF8B`kiO{$h06ickMf6#7i*;yC8DVNS=I=sS(TJV3Cm2 zFjcr&fpdt;>ZioMxUvC;4K=E%p)$e&-MNHJw8O-%!gr^k^}QmvTTy=Sg=JBMZF!|{ zH!)EZA(9_ywYVOw)jy)IDN%3;B>95(TLS5H%N6gkue3wj?!wuUyc9&(KN%|evpc%s z+1qBHc@j=ey};_y{&2_$>WL7!E$ zlhzEw`WnN(8P#UX%hR;|n4nOPsh;aO;uzBPy*{c-7ecHX_%5VEi#u+RakomvGq2RH zHA^z3O8Pi=VVf0u@X^+hT+vmc!~uF5%KwkcaN}~vGtg7!!7=<0jkwSVG2;M%PU(Z?(c7hHKTV$u-9O!a5U;s4`0;sW3L!)O)-Kvl=Zi6#gsyCzZDSe(|a2Sm=Nku}@pW z!Wg7zMr|mjgx(l4k8$n11h!LPr}tJ4VoI$%*v$t+Uci3m{lkOHE}l^xxb}ExsnoYU zEZmeiAV0VbQ#G}gJR_%XJv;N`c>bMI(AL^4A|KFT)S^Je&(j7IUzIk9VG!MH`ZTQT z@X1lyR>kYUz3Pt&WOLnO2FZS4QyWLuR@GE%n1P&H%fm{ffM!#JRH!Bc=-oBERe}3rwTI$<)aM6i zh&rbq7}joScyJtS<8o;Aryq!GF)@hbwa;>PYW2D+Z!WV1sc3#6$iq()dO=!WXzQW4 zT2>Ko=a$F8T9||u2vjS|cseDh;I2W8$M^s*S6I141UAt=Sn)H!5l5q0$L@Va!<}`y z*ctzZOYNP*w@Jk9L;!DZ0ge1u)hljQy4g(@3mnBb*(`zfDh+FVTeFF#zM#*q#i-Qp zRV}4ttqw4>ZD`Y{{{JXJpF|&i_C^8)=0G4X+n&>4 zhqP=FDaIeIn|Fct6YN8usw7jhFj)CWubZB<0e2E|va_>waxM9NfoqUJx4>%?r7+cg zJMA=ZhAg8+)&#&msq>O&-~)vy?vCcpthRphfQIWYTxQY2vhY$SO@R23E_?21t1<0U zY4Ebu4&v57It=->lp_aWu$mqc`)zWJf|gXhMJ#TOkRO5trpNy7Z?C&gYL5ynqjE6| z3FRV1KX&lq7nf=SrO5*14eZ-zmYFE-5Ive7^zb4eCzzl3qkbSxZlRu3gU5KcHHb@ zjo$$WIk2P}nwsDAyl?jzg_E9$2gwY^l1S%}hA2&jMvq8elG7JDOP)?huMj@Wg#JKe zk29Il+Nv3*zT4NUs~V3v4-7HmBhOKbH8!Ls4KSLXdR9FK`0FR){sFCG4W%;u=g4Wl7d-?Wf1D<{Ox-`N_S$Ul=mI5EFe(t$2Y*) zf)rBEKoi@WKviT1b*s1|30sHa!x>WX`3ejk=3Lr#)mhjPS;*Q8!3z@20_)HR)%uDwh*z=ff zGXckIL5cD6==9Bm1yLtg((DyXk-!2zp^o?9x_3!V&$#LZ4~wji*UWdy$wedeJE!%y@mmS=(9aTq9ovAlmWwTb; zqxq2Ie7tMzpE<|zSLOYG8|*??`fT6*k@@Q37ezO(WVx!ckLm7=ZoM?CXQR#(6X2be zjGzD9^IE+^PXW-~-;xp&6EUVC#}(kN1KUTtwc}lRy{d(tY@)qni$KDmHva3)5L%7^OOsEQ5{cy%H8np@7rcVP zkUDVep!BIvzJEG2wf^p#$8-l4d^hRkJpRwIxNZcU++QQ6@OLYv;pFOf7R9>Q3nq_T z8z4GXNel`A?-ZzB2yf;gi^Gb*++64s;NqBmYEW zTd_vf}%t35UJOPK0%EqVR9Hwp=Hu{gGp`kLwV zavlp%&Bo5Rc{5qB-^+$qdMGS-!=)0wDpU1L?sNehn*YaXXfS1IKh-r*p{XC<;kUF~ z0tLA0@A^9a$_r9AOfWh3re$Z)kMcx}q8-4*rljPkYFKKTD>zi^s?5Mu1lv z4ybnaD~Yg;Aen!FOz2;`lQMNiA?`L zXtDvN6P7U$;XEci1QT3OWs(ray-2VOMsYVeNDJlr&z|N)$v&Xs!C!LfKgMl3ifoj; zjm5;Nn~~W6K2U@MkS|kK;LmNq5hEdrF` znjx7%OdQ;-yYu-Cmiw~+!4j{0-9 z-)cWpd=Rx8_Pf{nH1{nh?oF&*w8b2mhzy36_;3F>3CF*f-82$v22~SY&Q^*opCs%_ zkw2JV0|k&sP=Hk0IK7=8IjBK8+{$p0PnYCB+^6R;Ka;g5 zwFunkSjhv!Q8#ABq zJ>EL5@mstr=mK0%e~PrSCnx-Te(G?4BI6plV8aE(%1@1wKl?E7!TP(H?sf^6<#2?v zCsh-FMB8HgxmnIz8P>>B|BBf?qv5Oe=?ndopXj5oY{CE|4k7%y8+oRT#4IYLs2DxJ~T`*0s9aQEI; z%Amv;Ia`h*wCVDZ#O)JDtB^s7H9)C`(*A;Jc?VyHUk%_m<}DOg&*2laF}km!Me~7u zUOTv*7IAC7QzJavVZ(lyzaB9ax)=*=@MGIs2Aq#c3)gU;Wde|pD$VcRrV!DN3|VY% z-R6s(k6uz-4tzYkb;TR2LF%Hfcm~ zb)AnlO>#HxkQNaHVqvi002{h^o$P$0JIL8?x1LH=bXwE^R6|)5-v>*=I5SE20cA z${t;7+rn}_(+Uyqr7gD>#lneohl0fGDq23$0@IfE?w`egt+EBod?IGeTJm7yIeG|+ zk?sfn^gcHCO#_`;gC@128P-hXUHZO6J}$KL?6=LAVLY=y7|%A*7g#;t6Yx|fxla#? zn>TYLPSTp6f$#MojyE$r`GVDTdS}XhQ73-L=@K*j7QPj^^?ZNkPd=AK0|=z@8rH%7 zF-4nE1L^Y4Ai+*~dCu7*htt{7dwi^g#1@F%O0WZtKH`g*fa%G8=>AEUKotJ@4V6(F z;?XKCGv*j^sqfe_8tdGZar8SdSo3>4UEv(y?n5ynT~zDGy6;H}252l+uecT0NZKg5 z%D+i6$gPMWmL6~Ld#^Ezg=;-Tvy=8A1HzTt_43fftme?Az0Fbg*~O(a{0FO==!ePL zWHAd&Ian-dLxI*B4eL1f(GRvL5N-4Dm0OW+>nzCv4%AbibvA(Gh)E^KgnKot@^)DH zn!}fCvq=)inZtGa=m?MSf!Qqe`On?o(ekI^0|>NHeMViS;WSirm=$Ooy+zuvGQ>LN z-?@MifCgfmx`J2KEyh?+bsMnvb2E*P+JS&2B585Of8S-@cOxEg^$%{KUh-GmTvIC{ zlYVyvN~szR_)4FP0R>2Y>@u%+_Z;t5F8+lJl*?rNey-BtL_e*oWLU1T0?I$VwJpqE zy=ZnCQ2}6kfnnTSGx&Wo=wqy9z9!oAFU}37I>naFxljeoUEu1|X)8#Ab-b-4c?7h; zo65d`i_kdQ#Ys@UJ9Zcn?80Gu>Zb#cquh-#bRP5MUG6@nKbRj2lupgAyg9yiN#rlN zFiBuJ27i#-oCs}wq3|Udd)BYd+4JspNJ-#|n~XBGBb1^po|2;pTIn#oBnY!=CaZqrWqWNSsk`eT|e_ zi5`-;J2rEXm>qU1fq=eSpa);!f=(6Xgl%EP%zO^;`7lNx|LcRXc)}&ozN&O9naF*_>Mi^PoTHdE+ zv^ua(@HFcZGL!do77IvE{D*=ountd28Q8LtEn)IR-4BJH+iOY6`&$k~{L}KIe>=ru z>m!1cURBKDP9~N4@hn4qL|3~EpK;`Jy;-DTI<>U*tkL{yk%WD6AgZ(^@ zjHoQ-@ZIkK%;~2q>IWhFaNfTkSuVWdwpfd6bE&*E+bsE7-L^qTL(AXd*94`L!(R|Z zg`(F6FP47xpTv>lJ33bs?nkY-T>JeFh)7Ob13<*Hq57kHu`UHlvR8Vk#*_$VsUQ7s z|C@sU759-|4tzn^gLj9hACBzEHISg%t~k|2l%SY?^9n0 zfDrjm5_qv&?!{W_+qj;y#AKm70Ul5Ret3E*Xa%k#+axAAUf&qZDBFRBC#$UPO^?3iu@XPh1F8Wv( zioYNL6TLQ3{}sbof20q1GOQ68z`A$et67(!!pm1M{2S}A3^hLp#}%WB3@x& zGbu^8lLLMB`dNj)Fd`*q)GLI%<%?uTIy?P229B&wr+tbkDttetMB1=lh!9zAEO_ zYLlSC0Vw-5;qP#sDuJ}8wU*+RR$l2w);$jJzq(8$^^E$cd)^(b1hYfHDM>s3M*m42 z6UW$yDai!<#Tf=ZkLFl|k&;qQUFH zR4_qh?~Gc&{~P(M9YOZ5xW(1{k{e^jCqEcEJoCX9n)&~)q~-%-PJd~;LamGxPEL{{ z)&TC(pO!=iPIoz@arn7AEWVU&j|c-;JO1CWW!DW9@aI2@D+0dSX$!<%20w%4pVip1 z#hC)4>xwH8t1gN$ksnKxbp>8+`5&mCnSrVr&Cv@5{v@^PC3se?Gap-2vpynx`uEzu zDGGpxj>(+>2dyu(d;tAG2q^kr`U+xU=M^6?#tJeNGaNM6qqP2ZZ!o0? zKU+8oA-?!EyuW8sAtSKOHO(rfigDH}>EboQk>Arx`G=G#Acnan=M$2Nx>pYR0KF7R zr}tqt$){|+tuJ!qwdx<-LAJp5b6H?avai+vomf5_YDQE_V*3l2 z$Yb!eUF|`v^W?FTWjwJ6^2Iq)R^~D}7;=-Zbj<;?(m>=8KtoiK|42Q2RP?$y20C9; zyU@|8!KDK@gam(M(Jd^4aprZ8FcM$GZL=F!wnNKfjM=znNG;4=8{NqJxBBStMA z-cHA=b|G!O>NXG4Imr)Cv`l?;%d8wyI0f+Ex+>l)d!@IBc@H>cj1slRI)$6nGMBj2 fQSblaE2442)<9l`5E5@bN&j7mCP(xkivQ|BqEI*ZREf^`#MrvT}dg$<{ z?%;1<{>eo5Nm1+g;zfiy(@6fc(A~$2;mY7sBBYlTi1j80*Kj_Lz>>GOEt){EdydB%+Sgtt3^^`^ZR zfdrL3EuY4FUnCnJ)j{V2JDIeT*ucnYt1mmz#z%4nxU}6$^Th8UXc8&mmo{vj-wA02 zg08a?rZ@+IkNA-oYTJWu>*N@+z{Gokfytm)$^768w5%_Pdk|R2kNhb@o?+PQegr%H z=1bem88g(`>f$r6ITM$TFjD(_HoT49N)Bn0G-4izWdN* zh|FmcLB_`eusP1E~r|gP4SOdExK9DPoHR zk%;l#Bt#Kl;1D*!6T4W>lPEo#+1uv-i1Py(OMt2l(5XycY$NiC8d!^#!fl8h2I65k zWCkN`>flx3N!6JcIUZvSBz}n+kq8&XrYgREB7A*Cw;&pr^A#pP zLM!8*1Xyz@?HH#}NJh%qMsuz>V?0oe1kp#9Q{&)-d>c+bTDR)IanyH+ZsgYNKt41Y z{D~;9A44#mGUtFY9jk7s@SABxcBFfVshdG{V+YQR*^U;2Vz-T{!AfRY z{lh4`glgg{(>MPJ&b=J`UrA169g*lEb{Clux2Ju!yH|pH-|+W>ukEo()brP`RIfaL zU;Iul1l}6Mp{nXsPhf;+h{*kgy$E%oQBv@9$=)+XAY=H>d5P*~`ZwA)l?A}ugvp5t zpx9-U52-}NWxK#~Tl_y&mZGU*Hc>)Y(Bn`=wuUUid5&rk-SY&~*c>M4gO>N4`b=`{ z^W~P`rSyl~SR0DerK2vk5sc)B~*n&3;{V(+NKo6n9W`5ffe-a4r-JZy=)~oE?USD%##SXkj(SGNDl$z|z|{ zRBZO`B=_zJMCz#qor=$5O7-GnPSFN@o>Mo;%?*Y=5@|)wo_og z!Ilg7C8)({;g;_0kqHb$C4qoNuNPSjRWobq=2B+hK66ayois4wB0ECF!}Jm}+85h) zg4022w{2;0znVMNrINgvQQHB_g0H6-+N7&?x@}E;CWX17IkWS|8L=^%Kgwt!fmX@l z`lyZaWx)=;_EM{thRiuXl7dg4Y)P}oqq-tVv8c7l4c!wSW==y3-8@`%aDKjpWhqHm zq=(>wo;j4j_t;1ovzZ9c&+jnwNpF^DSvU!yHCbtwnf~oND20DLg&uW=!JRXKrDJ%b zz~X}D%u>xR3)WaSRh6zEvh=B&Q$#f?6Rx#1HKbSW9Z&T$F5PAe*7>*Ih@rMw#!s5% zeNeIZ;9SG;1vUrEa3TLki5c{KZWJF^Y_GiA3>wH@MAu74=zWJ}XFeF#+0HT6lPtY> z!e^6o2kG^zCSjtd#E8JWy+*0dN9B^e*uJe7IvZeVb-q_{Rm4ChWC@EG~bd{F{^>boa zCt1|i6R^N$3({hN%13=WXGF^-MR_R*Z09YKzk2)l_k8H@ z(p9vHaQr~Y*1+;{*JxPBW2Z~Pp1bGX>r2hT#0&~d4`7NOWhKg`o4B2#ly>|g-}1i9 zZ;%8}l9PYK6bL(&6Ayr@lD!a2VxZ=>c0QKb-|tx=oHxW(w}M&#HY_CrF`6JvlY*{q zSEY*m2L{FAw7-q1bCl`J453MYK^jV|A876hjQ8LFTb*F2=b%h0Z~_vD#ze;i@@XQr zs6KW4TDc9*eQ>`4oyG4@59Wqiu{Z{iZ4BJ2a-MJdy*zdP89;#PdgmB_R!#Z=O%hjZ zbL7_o1+}D)e(F#%0IN9+Q7hHcn%n;g+w#r*ujjIuKyJ;4Uxr7VWx*jmkNz?HVGzLh zcS+vzcI?E@VdsL355BF6FJ3LOx1IQ?%TkJ=*c*fGSbF#uzmA*!1g2P7-|P@s0bx#YrlhLe&<<#FlRoheXWxPi;z55a za*WGGCFE{EI~e3Z{4%>+uoN%B0854LSM9GrE%HBl0Q;P}3OS$QgOnC4p8Yi)cBVO) zU!)(mKJCSFCJS=URdQ{9@)_3IqN>n-IPaet(PgWIbQ=OQodn8uMCxKF8fgxBus%Z~ zcz?-w5L{8{DgQWJsWyRuHls0T-oMrY+D6D=KItf6^@Q#H4vN5b$L3W1e$7z2_hbM< z>_>HRCSw5XpB&qmOI{RcJNkiHfs=N}C6?^*IB|ksfl)wd%<83kz ztSXsp*!d$BzEeruN~g)UR1KvU#-!b!q8jw{AP}2EM@3#%$7Yb#C;UiY{oc2k@VU#| zzJGo6xGV=mbyq;tb6jwq5r{udIps%+OaXcjudZP`pceKm(+$2IS*mH~b zO>bC`gRmTHiMooqud0X}o@F^M*e){nE4T3*b|{@tiP5ogny2Sh(rdebqJ0j1Su^O% zw@MAF_mJDeilCCm4Xjkh2^&YB`x)(KhZ{U;{S7V5c`UYMjG0Wpc z_ex|Xkpui1*P#qzO^>UU9J2hb^_o&7D=$BO1ku#AiwwVHS{KY^bezpRKpcFXyK8s? zGBJaGIa_HXiFeP*c<}gU(ln-7c%%ojX(yo{&LWI_UH-V&$ngBdUFfJoMB6eZ#B(_= zsC1^8H#^}){a3vlj4>cI5>(F9na2*39N+R(WUYJh$Z>~7CEv_a;pTM=5BMXcxnpAKX$iB< z_{(69Ix5m?PFGf?UpW{D663!%?B^AZoJALP39%vt+{uMJo!Wei;L7FbDazo?h+41o zmpHZDf`7*U{>7Jw4{e47Pn_!kyc?-2S8g02ag^rwZ|&MaOl9h#T<;@q8ZlCuEZ?h! z0i{<-_J+$?-$HZ?Fv*^5U~(x(F|}&sv+%+FCX=Al5^2}m#J8`( za;$)-QL1Z^A4rSZ$BTfMCoUS`<9S%>d1E`@cI81f$Wk-1W42M zZ$qqN<;ch^vLNCAS2j5XRSof&CE;jQyo^TZ$=|E+vGO4??&s~k^|4S%!+Bpiq0{eN zQw}>`PHH%jS(gtA#5m5NFCK#8Bxz4-=u%P!8hx) zoaS#xLjs7~JO%*-^EC+0B{y%6_c?b0s$YUUiW^A6(x28gQY(MR0~zzxZyhhJs-|eL zP1gj}AORnjz1QZ0bE{*OHGw348(T@iqHslY$u1LABa#eaJHU!Ak(nJLia+Inq8oU& zm-j5tC5mpqeh~mBb)-+B!r~@tU>b;Y^H)1osy=E!lBenJ@-a|(Lv}&rA|e zjF(Z{x*({A-J=c7X-PT$&+hpMzn?(oE>oAP?RuRAt;~nUN_jz0S7v_B$2fYCF9Y%@TV_z9SkZD zM9SN>RU-jyhE$+|?~^Zp!tkNnDImUCWOSbP@~?=`FDWs(J#_rN&Jyr0#r}stlB1N5 zI)*!4ccPW=XV2h$3%!ztBM9Ao$t*06EX#m_+H`(@78)b+on39}c9#_%tr= zu%Wt;Dr1tR#eHaa$MRhLcha#g;Op|_ZQX7fYm!+W@pmcBf9gVar|jbPH;FM`r0b>wO!6i!Qk>k(HHqQdSE}N85b{FrL{Q9PEB}+$c1N^onL^+CQh)Lx>5`ewEO%^-t#VB0e zDxuyi4)_!n1bjjV=264+t54`Y^>liK{)K0oz|pZmzYy zqQcC@vKlaehk8IwQuH@qWF^TL8A1UrzfMmX&8S!c?cF{`fgSU4i7hfj zzvNp8M2KaYHddj@L5Z1_f38!m-|tetTL+WK()f($FAudcOGp-{Z}l*ekh{7DvWvun zq?O)>L>{tW2T+4LOd4}ayhR~ZpPuj4?ek%bo)bfPcIPE&jpyBgMaV=Y_{6wiz`gdvVkRDJjI7`Q_!T>H_yKw zoGm>C=16x&%6staw9U(r8+Wv^o%}@=D|%uXv6--muwYUPdq(WfFgd$KQ@TR*UQvKv zXqUMnHCRW7_~Ej?du0@&@0ZR{V)UbO+3Pvx&K6|;151OeiATGEbCpv7hkH>VhtpZ8SYk7H{FD4;H{bwi(V2>}WR& z^)FHZLtYLME{-d>Ze{k&xW6|;VjB)DBhBTBwHHqW#s zN-?VHorfg^9SnR#4~7Xk@t5B2IEEd?;mtE_P|PMYJGjK{i- z#w5V#;TxnWYlfnsj#cKufle*o@xK!E>;^DPiVZ5E!uc4;NJfG^$W80~GaehC&f5)} zr_ZWO#7zsfAj7KMCjS2RRh7}Okq4HX1No-+Mq5ZwuN#nNp|MwrDt6);T-tCodomLoe zh5iXfg|{&K2aJMd^*4#;ya4$M`o?MG8zZyu0;Mpqa$m=!Lq@v!2jt!N!v(PCCKZ{2EW zs6nIw7uE_`v!{u>U|8VSxT%f(<*tZ_yTw?j;}py(YARv6^M3f(+(1mf16;q|BERUV zENd*)jupamQ_i5C8a`$LwCj$gRF|T{`82D%0gw39K zar4X*hd0tokSGl(Z5kj`Pi-JGZ)b)k6Wcu%dfPx|4cK^eM$V{mZ-BvU#s(;U%=qE$ z;*%9;B}M@xF59rnFIKg$fChIDPLW}=8U=lcnf(3=pf*r&A!K)Y!9&d$LjCjCsyvx) zI~P>B8pPYCpw3)k-_N0GO!!j+4txjL!9tJ*?$)(CT_$ee?VRNf#)n@^>A5tvuy+YT z6|`DaimFT`7>%L~c*EDHWZ4k%v)CU^C7#{7_H5+TuiEFNha>AE-KZ5f%#4=f4CS_h+Bkr-4rp8cCfGJQQ6iQ(37?deJ+Zsv$U zK#&;T=WsBcEa+k~0E))~*?M*ZOhcQ!fEG~DhxML`r3Box-wRzcFlu|Z4#Az|NfCK3 zbGe~flsvV`HgfAq<(T=%w6@dPO3QW1Z)$xdOIqXZ;DV8I?4>wqwe|5v?&t0(eD-Uf zk*4HziBk05#*V)DE=C!2NJ0i=7~ImQy3ugs5Ms8ao~6kH9h-d-=2 z`Z7_;y3@H%rmOXs+WfX^E>B@pFAO7IxzIec&3R z+W#rEyW&36%Dc7qLCSRA@BEpM&*`J)4JG@&)egeOWINwNL{DcU39EzY5(92t_|Ew% zTf;=6k9PA*-gft+R`0cUTAUgOMSognk(2}*+UuB3UF6~78lgwSN>YEglGRgv3u{Vf zZ@Z9$|ZuAmY*l;Y`yMrr{~zU z^-xvMW9RI_eeqy{&RrTlU{7Uz=l!7|s!oUR2=5{m-YCW6AsthWuT2Up{Z_X&Uw6#Q zg~|*2=Kv%kCI59lzrBGotVOD+9AC!3Z>Hu^RGn4q zEGK=&+ubEq;W0;L-d+a%dbfl7#b4!vG(48t9;-_uMc{M``B0GfVD(*YA}E|Hjx-8Y zdn^)FdFfC?KKZ4Ny<2if2N$`U+iLz)W%lfy1wN4|H z;)9C!Zbs#|doM{c)Ukz3raaEn1l5co9&u{dao)Stz4z!YscygOzkeTzXgT#YSUO)O zcg}%2ci_YIBj&-pN9CDz2a|xz<*vMg!K29ZM}DOcb#7gK4tzDU=&2hS#M-`#MsgLh(1kl$rIaeo0UZ&_5EjKD-xl z7VZa%`okBWsC7)yFQEmx%oiF(3tpQ2(<@cZTkR@fC>FxQe|a_LuMQ7TT=_iaeD08* zm|-}4$!`4+3o%2R>GU*9^kfMrw{SKj3hh5%q9#G5g?Zg?QahDy=|aU-KUJ8T+FZYd z)W9}PTFgH~n;U(eReC2qT-2#`ljiwJB3fOR7pffCWO<{?$5@@_df!rr>^KNhn;z39 z&Pi@0{?FEdgZE0=&WHP=CVXh=54F4X>1B}V=9-HVKJ#L+?UJo#!<~QQ=cfswxS!(I zfXhzbLcy08TBphpwdZ8Nz^IBD37?+ygr%Q)pOegWxpeV1Rw546`SGcMVjBebokAM#WcJW{$`BLm?V(a2OF*&`k1p_ z)gQ8)T#2h+hF1Zw?3-v36w#%mKZ_^TNqk4s4K5k@)OG44<8st0S@m7kv!54d)imsX zWw|PBD|>v@B_3(uM(fktvt)io|Js@{Z`E2HT~-(J#nzXx0$AQ+l3Wv6_4xV~t9csb z#0&ek#SU;5-^aPj-@LdY%N50TuB`(<9M5BK78djh9|aL=)L{7i(RGw0@?bbOvz_I*r%b!3_Kl|K1{a9vES-id}P#O56h-A-ESsxkWW*50xWB z8tl(^S|!tKF&SZz+kW>${p)?7SvvuoUW*Rl{)Yb!L4#2*JOAW9+u$wx_G9*ig_CrD zOytReGfqk{TneW1?%HMv8pUOMJ$XDo@A2>N5Me9W%;v_`LuIy*S8am5L1iLV#{IBl zjXXB}s%?|TliQA~&H4^&yd?s3! z0{M5anwP$(kqBH7Ec}MsyVP(!qB&k%8t|nq!?=^Oz3_!sUpN$cW=t;N%>5%63t$e_ zn~p~msq@OIAGC{Na;z?P{yg0WocE7BQf>Lco9yzu*miqc#?f8=veK3Y&%j@E#p`l^ zJfO_eEyvO#+~ntwp}JMp+>}pin*#-BI=g>P$C{cTXF&_#vBl*&-pF<M>nOxAS?No<@Xmf(G-jG{~(?`UkA{(2N zw`1<MYAihFGulDk5O<+xZ7TWsO*vpVpj>b~tcRVpL!Cl`O6l2WU zn=FlEEsC25vrgqexhXR!3SKt&7Uh7rnv3&V9Y@<`3!p z9-k`U=2JX-cL{2X9(@MEt>m=Pdgz%+T_8%^YHuB9v6Su4C-?rXoZFXn zL3&gRR3PKE=p9c@rMlM z?0WBFT@%&fjb~6A_#P{m^0(R0v7^G5@jpLA%xEBB$*&6&uv3wI9!&(&OF&f|#azR_ z6uJ>?*3P4QUbv?jrj@LLkhg0@vXApsh)M;H=PrBt70KE~&t&`b*eW#AP27Ud^z&

qXzk`;66$uzRn`Mjq>$cS#<=X_}X{(4e)*Hkq!Iuw%@aGba1R5P2<3pM`DHd;qb zasZFCngWfja^#J|lW!$3i8Seb=;-GMtj;kIG2vr(wm@is6hUzkI3X)2u*Ns=_e*ca~*@o4-( z@`07SImXLj>*Jg&*s~LS4?I2a>a>(5Z({3HWdA_U zJ=u||-wJLc?O%3~q zoFHV%4w@w4=2S;ZvJh5YkYYLmDr5GTZB0{Xm>0A{;&5B+q>ew*a1=Sl;cmmjTm3}t z0{ru#k>$Hq9%x7Ocr-Mi&&Dr2{_gUPBfeossKJJ)nxP>e7{5>OI{9vtMsC2N)Um7v zw#s&OGo>e~>UZKB?_h%N?A_GuvT715%<#OVQ#yD@p|Oz?gxv@IwHq0o(~XeLXi{ke zJy9f4+(}`18jQ?n&(MxFUx#z|iO{PHTD^V{JufD)1=S#I?DKtBC9tQG*K)id^BfN2 zfn*6zNc^n^gsMe|-T$Rns|Q{QK4^a!)-HEKW3kU$)mtag3G<3cQdQlcngD{iXLzY! z|DH*9mhcX8m>~jsj`})|C)tlxn5Bk(FGAXuxdKWRffLm9{AlpuTo={jsQYILsW{ zww(7%=_lkKQY}xB%`%S-iqAYyMu^bzUc?QGhS-nnWT}vpdEfW z?WO0$UXMzi6|UVw!=;rBjWw23RJTN3&HraYcITU7IV5}vR+AR9yX?+Jdf1lr>aHrd zbRSg4l{fAw7Be5(>010NrZO1>9pA0Jp!FoOH)B=*lLgy_+f}V_;Iu#e2a|aVqpA}s z4;0&`w+u@ngX2$o9!LM1ZiqG8`LD0f7-)j@+SZfy11fHF?DYiti(uwm^(ON=0CiQh6%h}L}8N>;H_@y2E z!Ipxz?}VIGfp}*eE>s@8 z;%Y=Sm4rwhtR+RcZ?u1Nkpv%=$f8PYuDL=NE?Mq(E%wi%OYf8GP7ECwjup9VfLekw z3}O;bX!^p6OWu#lo1kVc^y^p5CBO-+G!8q8r&z#WUYvyu{cTjV*^f?rHk1Vo_@Lx4 zU+2MJbzsll1_K&=`Si0MjqZm@mqaGC1(9w}#OS-3p1%xgjtDZLkH=**h+|&EzH(hO zO=}9HZsi%2O5;Rkkv+d0=sEHJNpoZHE)zlU(+~F}8qna#56_LFcNdnXm5t4RfuD-PeSmO@6)iHicY*H>@vE;H*E1W) zq=PgzRN!XN-{+vj0s)2GprAxsTfXHC)4hHR13g^-YEfY4B9;G!rC!Kk z*7^bI=_J4-f~OkY4l?O@E_MQ;NC!bxjstz)l}hIvfhpO3{tk!N5dkN~e{ok9J!cpc!d>vKyO&6xMa`^!X3!o_?ZGXG;OvxMlXJTe)0w(hSB*GLuB?Kwr2I#iLHGolf=mgS1=k5F!7rg_Q$`B-F zAhX7pD$?v3WTjc;kP1>4sPAo{tPOIaD5S{P6hfM5L#7eJtOFLxZ{GVt`;>jY5Yej# z>vGX%uEfr$1scDh&0v1L=r8WwnG{TGUrW;xdx^-TJFrF{B-~qiukS3hZN-84vUIpMTjBLiUu=fL#)c zHp2qM7t)hJ(3z|MQ`$eEC&&{bt0v;Ow^6Cpn(WXqZ?e*zZZpaoD$sQ;h(w^h7!fV4 zsPajCfJ=H)uqAp4_?y~cG~{5B4Mur6LgK{YZ6SS+ZEg(k+ECxFEM&0fJMYo_I7`yS zrul9iFnEIRJYc1j0Z1w`I4U)mp&z>i|Y;GT=<2_Umm{X9W% z{Q?`G&(z>-bZt)$_m55JKbBxU^BoG!oYmcbK(WQYKiHT&*DcS5JQM*PP5Bbtf3^$88smS!-v?`5J+ zH}zfi9E-f5)vOLG7lUyQ_Q*-~1X1l;s%Cu8pmglC7N6#r+MyfAWZ9O(-}+9y7Fw`N zl}&EWt12CML7#aYt;;W~&;c)9Qee5E`|0}6QJAg8g`}ss2^JEV20je~pZns90Sl?fOlv(`*D2)SQ8gF64W6 zNPY8$gesZTn7E{r@QZt8e#l4V2sX8f#du@!zEDd49%T<~Trf>&?O^e9X%#z(QN2tE z$}4@+1)3kqsr>u6X$0Y)g5ZVem6a-Zo7=z-}=Th!zIEZDPG0g6qOk)F21A0sCIUl-+!Pg6&DqILB0|F}B z>?^xgT?|!Iu^EWqdXz zc3v{~d%A&Xy@Q;ioE3 zQn8>hoh=;-urim%5;f$InuNHs{DxIkwGR2JJ0gjeV82ORsU`< z4Fc`?k#|N$?+|Ls@)k2MDUl z6svneZ!hxRKd^Z6_G~If4q7eh_N5eTTi@fWsuP41A?iSF8R+M^o@SKUkH9sXSfSOf zL=9nt>2NV^43dHgs>&L>{%3HA_|H~em*F<&Bm=EZ^kS)PVD!VvuNJynKjarrjjO5w=7CQ--`wh(UeG~r; z{bv1}!qRkavjdpO1o3~>A|~y}0wwvQjcLKiw?F}@7yuNG1g+9QP@Pd-`q5`Vekmjf zDh*DO$q`6W4C9{ilBG!0VuDr^O<#;#_d(hsokbT`{#}AJL@BI@M>FET_a`0RAdoXn z&$@GaX%4pl!BSsibtMIM$MHmd^yY9}4hU++l@-t*EN7SQTV+<4Ow6|T@;4kxiiy8c zyg9g54WQ>oHr<(hfrvZelS>0Z1)(5!VHDe>OYF@JLdOX<3N}T|zaKkh*-&OOf5a;n z$Xj}uK%8i|g7!7JBpEi;!;?!d*~|`JM{IHn0pX)rKg2;-7^>s}ULeP~d0k7*t5$WeRKQG)_YThbSuBgp2{f zLf=R?oK4!c{NF8fEsm_!_!bI<^*~Xs#?elzp56|E0)vMh1xz2UYxz2fC=Q`K9i_+Fop`&4^0f9htst=WPK_IFW z5Qq#=BcZq2rBL6{0;mOLa*ob z>-VpOdr?RV5guB+b&zeS+mw@YjcV_a`S3S$NB+2x`=^)bBs8Ypt54di_uy~u=1U6L zg$ozBagi6C1HW_}I3F?)-AP9mTGglS?rd9DJ00={9^E0XKiGYDcjvM1Vfr`wr}qK1 z{@+jK_`~K<6sYTN`8q>u?giDy#Mgsz_S0lZ+^Di++Gl`W{@)KQol)qX>s3z9FVI(q zxY$P#-;_dau2yvOPgSgs+28ip{C|YN-?vc~)c(JI{%mgjr>TfnX&Rk?yP&F1Br=Eb zpHhX+Ql(^npTi^s_I7X=aNkRSPC`3dAyYa`w`(D%WFTH1WLWPNi#K`QKF)!5x7izn z&b)MZfThS}8XG@sj14KZj8tV^?}nJQ&)SatIzzOmh@~iD#U%Q^YC8wXx};BB@i2pb zgU&~sp&4OpVXho#X=#Z>RDRm4FVOl(=lXh+m+XuMn)v~N5sG!`^U7WcpMr)v44x#O zJ7s~q0B|6GmS7`?+#vs-aZq5K4uu-~{bq_&a_prR=G)UhfBtMGx%GCe(Q5jScEsd< zTR1C}6kx{$87V2>ey&D~nN3NqOJiZ7)Tcata#5(i`T__&4~O62(H_v^g08!D^^l)Z zzyJc6eSqg=hd{WrUSP;jgp1x`h)hVZ_l9iI$4U2|CP->sz7tbu(zXP2WlM^;`Ry56Z8qVl_J|Y@Y z(B9JWEK;=*q6i6^YeBn?uI+oC5$hs3SRGr{zyFx`V%LdDD9KLe^^dinmh^UW`;#r7 zQE`tl#?t?5#}%WQQvz5BlTgb8dV2bL;qDW$FN-rI2d224vD()6Ao3qi-Q0d!Cb&jv zQ}Z!gJ_;c42b-Vr2%Q9cu8NbB)0dDQ@_|&%O% ztS!t*yznq~Mv+r1gwoeNY9>diX(#rDJD<_4{~lbZMV>18S{R#3?l;=AY-n1T$AO6a z=}B@kgB?+wSxHzYAZ!32tiof4V>6hX-Gkh3XI_Da3lc#|NBz{fP&*cHepm|9I+3wnEv}5l#QTDu@Lm+N$dl#+vYZV z5aRS*=#Oj2FryR4_{GeS7C70_Nm1NqO!QUH;5a)sV6nkf0REmsxWv%W)IXHfIZt`m zGlfB3JT8syN_7fEHaplyoxu>{dsqt96ZYH8g~<_DHBsEA68(`+K>zY z4o6_K2<+u*%*%n$MD!FTA5Ple&OtDrPQ&*AVDbalJ4Pc6ME&kv7B4f}fSh_c`73s? zdOtM)P-a!L#yS37uY$rbXF%o^>&a`b>)HNYKabQ;$AJ=Ztf*xo7a`BRdOFqsvlyRQ z8$Lkrr@bcI31u|*H?m{3MLzOYaw2VSZyx2Ujo zEceBuQosB)fiT3o_8s|=8kTVV!FuPwMl*pE9i1p1DM!M=+0}RvXQ3JkM1XjJ6l=#n z#BWX2Lbr8Omn7vZHX@??qmKQ=&@2JR4IW*aic<|w2wQ76mDafBo+9#z6oih4Mje7500p@-csm71#6tdX>AM7;!b7~9w@|N@J zPUw+yeAXNvhSntScy)OR*d!ELQ>AYG5O4~pM}KxYSeKMCKr|VG6J5`^j*-1vO9JEd zbusE8Rmtiydi|T_Q%Cd5#QJ^#(Gl<69A@mweBTPuvi%E(hKStwpcZ*{Ovl8BcN@wU90n`u+}1q#Upn43Ou3GZ z==6*#9;K6hB1Cc`nO?QcCv_~TE#2S$ra!JE7;dM37dr*tFOnrt41>^W!Kq z0K;^1177iXvMQ2WP@eqEaQ6oQA>4ZGAtiJ2 zb~7BfNAhRj;6?HGmV|y%hwYQa}8!u0XW%FlJrTFeP-=`wkE%7N*u(edIO0i*zh zGVeV$Nf#>91SoPKT>sXiQQt07QRkTjFt+!?wy`SrjXgJjO7m__lpZxsIjB2k0B46D zE(OP#lzwm)oZYz$DLw;MZv@=rO!5{=S0xTO30g&QDLqPzFD?3qlyz0J{q2ot$g$!= zGy?&*nax|Vl0yqt2i9;crn=J)cB&^f{|BYIVmpn|)J21QUK0;}VKMetvx-PIROv2u zV7L6!uPfjob*?k8T#QDvBxo1n??ckWo+h$}tD99uuF;tOd6e{E7?UE!kX)}+bE;ai zj1dc9kKXU3pDV6$RM&lLWj3R=8!#`Mgw7t|FCYR-LvlEYAD>32Z z>{r?Lq~a1neG<`hmJF-CaY8nDO>dK!kh(&wQ{)KJSl@mR?v=xz39;4Jw~u>p1^~a@3ztUiZ!a3RCtUd-;shZivm%6rY`Y7{3*!pNa=(4P4-utuPRs$v z9hC2PwL%`9;yx(pI#RKKg2~oF(quy-z*o~g@j|$>rc;)`;;DO_7xf1mQ{d4HZR%;6 z$20YBJs$w`vxGsmclBh0@A92eK4+BxBuz+@U#5QHDgf_L1tN6<*tuw&Ut_?%vWwL~ z=3;X&bnX=0#E{>@AUtr7p$Gp6tBF0FY@9KaXf>W5XY3a>E1!Kt`Cr}^SSx*@TC0Cp zUi}Dv{`|SMn$vA|Kf#O#(0tHqc_0`z&+vSx69z#;x^&2X`-Nxp;OO|vk^t9fbYv)_ zUdXZolvDdJThRFrBmgiKR!3TuV4mU}sY5T>D7Lm>t4}T~AmsU^q>{n=J-S%V#ms`g|~sjB4dS)@p0Tp}{~T_MO@tpkWm% zrwlaL=%c9Yu_Z_*Mq~o1G+n?hCN$W;gH$MR8a)<_4%8_qRw)*;mBhj{8eY+{8c22) ze`VXL*GHgBqag;AmBXdNVe!fRK-_CnBh=rn)4snsYY|@EhW>TB|A~Q&FR0r;dmcBU zKEd1>sA;c=QM=iMw&eKEeBr+uFEo{eK`NW?McSyDSn|My{S09t-_E|TbrwwNC%<5t z0HC{{&cl_60bk^w6sa>R!d#s>0TuVZ=TOpr67U*gW{|Gu&)d4AsMa?!-(r2bT>a`C z0Q%5on37H0!mZrd#vO$93*zYH`Mw00{Z}B6|C8_05Eh*hiU}_gkRiWdz7qSutQ>`b z{LU*tZiI@hQ4>DAJ3Y&UP8!Mr+gY-lV0N7xJmHf=SC1ky`bgV}LVZ=@G-VE*9L=-p zQiAPd((@F;8?9$j7>%Q~qjJH$4O}0C7Nt*3ypVh_>{l+#9;aNzy!G5bSlV$WiTQHu zgKDSaJxtJEJ)<758MNYg`$oL~Y7!==z<}sE)I59TvDT84Wp&0wbCQ!-_le$~{QuJ& zSE-LxYFCu&XOorW3AjPDS*ljT^5O0zpKnQMuUGEBC24j7xDK|%B3yBIoo7(durBCv zRyxV8y+gWgwd?;v!^z^8z7*Q13khrDqg5YODmD1-tNG%$Yts1=w{E|ogp(~kbZlfV z*}S^`eU8M68ako5^}6ie@7y5{w5B!mj{WM)z@=HCH&Ugb`}k zd;dQW#X*fuC>m>2Q%$2L{@>nHy!h8vluG_hC;7g!fwJH4OZ5(2^QccpuqWD4))FB$ zGwI|;FFiAoXFbiQGGYPb)dPiI$It71(e8Q~sUB?Exdj~0Et*qIIJ8zO#M!W65W)bs z^gS5}mMTn_a(%)|wm>CM8Unz`k$c*|KqG!Q7W(f#sObNI zOHU-`sX8q{AgHaR$Vo0eH8woq{O0ny-&mqC71<{n=7B3P|7@!0K zfA&Hl;QM3`huZUKNV?yEf&mvJsMwB`6c`gq9ZF{3NxljcjBsmCHy*%dCRdEu2 z=dE}2me$koB@xCuEu_m%=JCX9~c%F~Cw>l&&z0leiZTMa(|WzE_` zG%5Y(FT9F-Zy))eWXchruiNMY7aFB6L4gLHRg?oVu9CraCg7VMfOf5=1&5wv^Yl9> zyV1qw9E+|*@}F!G*6-KPS?Y-jKGS|OLv3knO$KWa2NJ~I4^${}n9}gSbNv27u7G@_-TUDM)g#3l=aEC;<_PGTyhLqc; zRkH|S@_>=U@00;G@b!cVv9go$=++NnG^CTlV(!WNb#s(vpvv!;;WBbgEW!-bpy|)> z$_{kNKcT(ll!6S&01q1|2=>o1r}y!-chx8v-#7AQzQOU(Xn@Z`MQcj}oc1@2&F02x zAWn6bgXDG}IXs-)dl$SY&I)Qv9IbK6ngSMU!c*((X!TOUi4D<=Iax29~-w84%2#yliGVDFDEqkE0;WUmmj4LdK#NKr8Q(S^osw!Fc9`(LHYq+ z<+s41R|sC8O944Tx%@?uirfz^&;lo*za6OlTaITiYEcxV%VR>G9n*Wg!4ob>2C|SK zrTN_(y4PRfeO0l}@5B!~B#W7O<~ z+WzQ}!Hih^GtVtB*C~wXjJv72%t#5lfj}cKgCew6h*s_D-Ye`VkO08Me?b?lz{MX*mc1=!V%1q< zvOTpfSLHtN_uviyVYr*+>v`SAU)I7MUjZuxf^|-CbH!7`(%?gZlb2c&Y#Z~H0IuLQ z!HC&tO~z$r9<8<+W4Dy`P}q)oH=_*><)*@B0++Tx7$4m=(axb5U0dWckx z0gG+C@hU$^D?pvIDa}Gh(E0dXNCY<r>`_~_tRoH_1L`J6IG9i3z z8=;!@a@Rnav*?Ru`<64__8k#Z+kXq>x6`5fF9W0(mK+4KMjALV+hi~Slyxb$-J?Q# z%L);Oq}}p8cSQ&YG$@Gr(TAwFaT?~HKiTM?jtiZ*o48>PWkC}YroN!^-6bm^NB3`E z`$21&Xvz^!s19V>dO5}>z7F%6aE5@c$;jeXBSWL6wgXj%I)}$Qz~D}zN^7|^AbEi) zm5Uk1x2yE4aNNJ#M~cC{2b9^-7u2nGu6?jll`hlYc*|TK6T|>GblcV|(3TOhd5ii7 zt+&axSZ8Uh-4MM(`9ZV+86)VahLpFaT?oB!_ncq9D5(kn^O|(?wOvg$!>-K$w6H+d zH$eUcJ|iNi=!&2MG$l#hv}E?Xq7#KrC|P;e_a#YhIQ-_i_&4V_8WXt?`cMTbfYk+B zeGrI`RUzaNqMom!{KQ|fb606u7Bw*EhH}>a@g`GiPiQyOGAU^jd?E*F14^0}q4==* zw#F@e>D0kujsIlF+KJkTWsP=qt&#fg|3(}=kcI;xmC}=Ro|q8uzEpn$^$KrIE{5c> z_?Vj$rdm4Jzr+bl26JAP=_EYU5;XJhzQ-YZGX1t3Qn8BJqE_R{IP+Y?I1G|HkGjOg z7}`QhmS`A|k^i4UEiAJhqGjkPlNHmXW~>E_dkUOK#mSI!Oz-buXX!&k6Z8ekWBgs8 zZDL>H&yj*zM9AC-CIJ~HzheuHPEb8tge%*CN#sUiROrdHGQhn}vxDx6KqbC*riczM zxL5gVz?BL_E<0yl9XaE`Z-UPg0qB4fZ~H4apa!|l?Aqg}2t0wQXqQtUHS=!=^VD#7 zlfC<7)Wt&jgL=gbRzJxAM(2~&O9h27{}$&92uef4k^$aVfxQt}ED$sWB&arckfbja zeoHOh0rLBsH&wIzgWT6UygS{H!d3`e_yh#C)7_js2Rgncr0$x`ygQMC{*Oi10i^|) zLVdt@RHWWqPZ6lyGK{wBDLPc*$*|h@iOl~uBch<&w{#j3d{y!DRbXU^PZp>++Cnw( zjuW5rGnPOdP^f-dU7e_bjK;!=SqhR(2`1P`L9l2VqX%$Kff4+$d@P}eeo1H}+ltje z1app&YOa0wxoq8i~Wbx=|#K?^nmjEyh!q55f-bxVpEeTU4OvOLRY0e+>Yy?`q!l{3Zmxv z#Z!=t~T960WDD+3oBapr_ zHcz42DG(RMD%Iji4thG&IB@yjy6be>$Y;TKQ@{n}=aZD664b(+ZOSz$wk!#TmeYDL zB+ChbU;?A_or7HY(QB&z+KJEGdFD>}RfD~+PAX2zCk|#$76yUU)tevfgqcc(7|=-p zcdZZMf=?2CC_(A91-l)jT6ZOY4#cQxzvFk}C8i$*fnT#NxrDj^@2bR)P8zI)?I}yl z$0!09_L$5DiN3otbLA)+$(vH|Ox@Pfu zZzp*%s5xaW&QGMs_sQyU;sX06`RWeu&YRr!uhx8UP5w2r4qbrT%_AtZL2#;JnTjQi zI|rT!j(zimUOP*LfZ4!{kzY;K?I5DW42S#m)guqOIIV}uL%z8m%MkRd4k$tHz-8MN z*~?S9p7oTyt%`&btHdrrwRWv1t9J6V1?xU<#?+O^<`Qq}9X-H1DLyW?;+DqLiIxse zx-K`(GiOqb>WUp^S=zo|k@a*}{aqQ%MN2lP)+0yvZVaoQyXA8jqU)n@L44@i za&@Edp0@;|T=N&+`QOD)GkFq-JOX+f`XsMF%Nd>tDA8u%{8d0$w3|v+)@(eukEu!f z$wt_1ikmqoJ6%m1RPY}GIQ&i26$&rPZdKo+Ze@mOz(IKtNc!GfO2MwHy zt4j_aEB`ny$$qM6Y|Ue0bPYLs`NjRj^@^y$%i= z3&?fOv;$eK$R^q0iGyW}dEE!3$IBxC>cZF0wYw`nKA0I^AubqjJ53U4pTooigsLer;s1n7w_(l=a zVya)ViZti=;Xxk!da}Tg^=ZX!`7?^)#rTZ?L-U@U2E*p1glNYRlZ9}4&P`8n=iw+t zu&991%FdsZv4b>%_W{nd5*OZ+;Mh8wl}a?(f7{)cdxQ+h2(>>Dk`9>}cRc55>Dbh` z)rZd;P8IA%nCzJR^r>%j`w~zz``g}AoJVYNUSHPX@20##JPw^QVKJMPY~W+0%Dyrs@GFQJ4U5shi_e3cuBt!P$63sc&}%t){!{% z)z0vO*YcaJLS)jq^V)o{$j_J}%bSeNZ}B-+2*%F%rSfwmSnlJj=g?B&BTqM#m4?PI z@Ib95iGz!mj07`scO`$3HAaoO2PYTK5ME{NjE>N)tt^jM(H#^Yb9g(M&}}lyeo?QS z8V_Ey&LLer_Hi4VSNIwz-79DlI7xPcHcVww>-LAA0uAGgPUa&V6RpZQtg8CGx*Ds*W#Kvw_wWe}?C10jY#>E#1s6y=|* zRk=={nTPYAOy5ogcLae~_C3&G{LLx0KCJ@t$38Fo3!Y$dDE1mb#SS@(tjORG%QKvP z-!52^O_VW+4~gF0s`(6@5r+P$Ac76NTWg1v#|$L?*}#GIfSa#rXPA-SDp%=m!jBvq za9VU9@~(<}=iZYF{CJKz?NEd8#KnI^{Tf$i{>DW+JDAHiPBz~ChLY>|`X+cV61 z7Wg9C^SFsvF9G;x3I%MKm}`ix@~;Tx`SHK<40K#<{W`>o{^}VGLM>NBAJh0n^Z9g? zG@jRvHKLE2GxNaTG!5D8qD1x5)%cz@?)nPhJAt@l8#6RIKI3G(;k@uhGX3tTPWe$r z`O18lQFi_jj&994pSONy(^#NZM6GY~fCWnWu94n@fL8_I_rVpWFL55le$l$a*aHo_lLY% z>p>4Ep5m0z3FY?BzJu3jK#NQVw`5o*Sri=0qO?_=53OW`7WXp?tSxhLrq<&^U(ESG zJGklm0-fL|3-wpbqGS2^Vpf}BzdS-%ue{ki_Ad!mg}v29Kae2vt7Z5yF&0Z_DqTspCz)BcoAsx^ZHT`&6F>F)U_}Oxc{lSj7~*Y7&%{WY8!BL0}jH_5lE^Dhz| zmaDK(6#?1mqSQ==p((yS>3t()+l~%ove)n0Fqkuc`e{mV0fIbRUho_HI^o z7s}|1sRl!k&H>=@R@SZ}_1{E1d1|8yG$dSernMTbqP-(=vg0?6EoA$o*|eXG;%970 zJe8(Yu#y8qDFoA`?`@Q7jwoMgH(RIt?l0OosFALz(af z!ywtbyf(aKWz(EwQXy3;AMK^Fsb8L~!#R(JF<$|ntuReTY(Q=rugHfd|7mVcBLmxFxAA1dKrxyTiwLO~29j-+jjhGzWF1o77tZ_!@ zZ~8C@XfcUaCtP_XN;`&5J(%8fUbOyOeQi{+m)aeM(YWZY!E$VQ?aC?&8?Djqt&+`% zye2eYTI|~uw{kbI7mZMC_IOk@RUn3-WjiwPvIpw@i!8(R_I6d}wLe?M^}H+yZwV1v z82{d$`wTj*5Mo0n(3nyf+j&1A!9=*KBVg$<*bVz0dv!0MR!v)=+8ra9MP`})wxB@j zsZ0B@alX~m%B;lniiPUK{aJGCL(I>i&Ow*S{W*>6rrzqpmKUbx+wdC0hgG0#g&WLE zY3HFRwKo~1E#p_0;5SA!@^k#D3IF_fAXpY_YxO$B8s0fd^Gq=tmHNzJThq;M)Tf`- z(l`S{RV*@7w&Vn0b1kKlYuYPOzglx{Gg`zQYy|i@gM#bRd`Cjck#SkUNHB&x{2Ly^ zQD2>T!vZ@UuoM?=!6_-mCX`Y9$73o*?hTRbeUR4|lV+PtZQ?HxGsmerJKIHo;9Cqz zvc7Wm3=Eit#t%8$Uwa&w0;b-TN6w>4fj%zKQ&>%nB~#OR&xW>I>!5)7Rx4rbAR5Ld zd1vX?J8JdtmELoZzz7!sy&UE>*abiJjE|uWqT*(({aCljpIMPAsr8kKF@K9_gry#r zFsFHGd>`UkaJ*JR;IVINqzem= zk4zsk9@=

WNmoYtUn`+obVHvQvUv2z`~_t!ycZ-o_cIeuOn#$Z|GZ;yAYO|HAc- z?bDnoAq8+OSWk)6z2{(5)V)jdh^!^@F^c0vgG2IzqrN=9I&rLtx|>39B3#|L78 zf^Ot{%`DiCaJz4rTpCTebOH=I>w9*ls$x}yymkrY*9LVtHgCNHA>kfiHhYb z#V6pOG|cbuHWiU-;%JxoTD?m(#z<^|QSpc^(?w0>O}M!Ed%j^9ip0@bC1>K1wprp~ z$ziOY_B+FXZoz;1xgUDyrR!bWyNRy1j59??1C}f|x)M?|X_FQFt;2VIta#ZHn^Xa* zJ%Iv|lmXZ-c@a`QFZM~SbK4Bdw=C5l{h3@M4H_#+sqRu(pbH#a?hJ_ohPr?f0m=m+ zVM!md7s4gJsSLQp!kWZPRfBo~jRcus#Tts5PNgAQaOKVW zx`HCt=Op78fDU0^o`*9&7Zo^wf)zYHGE+S``hL zgvdg@(_gfYl#EKpJnGOuT?!o7W^edR#C!it3=&%HlrUblX!>qCRLICpWVX<%VVPpP z+~dN!J+u8$SuvZ{F+%Np`5Pqva$VzR-}lqDX(J(POk<=tL9+qE&(@bmfqIDQ`-IAm z9Uot9F-{uamCOW+k|UFZt3)nGlv;1N1L8UK=}k7M$q#k`JtmPSD;XU`i!M0majAe@ zjl@-*F5fb|r+kbwXiS_aau&DH-C0N@f1(r@gWbH0rd!K@` z&#e#y*rb#` z>{9B#^bw3k{ePDNARIGC{!^E-KRBl{t9oU@_n1XksV;r-t<$m z^+VfL?1PI$q+Fq|s)!=w{hX1}FR&=bq2@Kq^-smRlN@N8=4_Pn2aIzMh8T%SQQu2w z%1zbxb@geLjIz2aQRMsAd#OyD`ushrQ6WNg2k|^kzc!?0$E@7ls2TeUZD2}sLomfR zbhb#c@yDE4*F|)~q^d3@Rr61qXs2uM{c8zUv{!2! zS82_;>CCI$-SNkoX5vZWgmYp(K5*k-P*UxkxyHuYZrqh%N$!duSKO4X1NZTr{jgu_ zJj*^;sc)GMPdmGQxBiP9!kqd8kZZGY&{^UI_n*dBX|Gsh&( z_S@T1QMLG@AGLVR2iD0P%YW-;8@z&-WlPCu(UH08X5Mm@E3G_SxbmI;rs93hZN^0N zPGQHa#4kA(QRenQTY0}`a_<_nQHxTI6R?Qi1g-%ntZm0MU?&b}7tUjncLQXaMkGS! zpQbsjev34(>1AzTr@J$9Fh8utQq|)`*2U&t>U4|g(%+^E)zIIEo|f)jPBTxc9KX4< zid<>q-O>IUt~PebZR6-yLUhn$LXhZi=FD^eEuJ{fwba`THtWx%OdNN*=A{lzq5CpcPP~H)CD0@RZl$5KU@JrEDqjQ zxAi5C5<2x3%O4v#fCVyiRi3jA#OiP)xOMpCM&+keAelNb_i z)^_77Yh_v9+Yu@j3I!3=)N@g({k$IJ*PgbkNn+NW9v7`kE5LYC z-m#}ZcN>^(Y(=405(V|$021j;D`m91vl%>JhJU6P3Wq^+bxcpi= z1eULD8FG{rT2m!&r2t-`0%E)XR+rpK!3dnYa}z#>!nC}D7|-7Hx?JEYW8DdNY$m_`LfL%b--=}pe>WL8%T*s1Z6FH ztzNj;3L_h1T4HD)`<{~aWd#kSr19LWb~B%9Q5Q4YKJK$ToUS_SZFnu0v!}htvJcC_ zhPwpY@Lgwj7F;t&JEhEz)XqH7oOP{JmLy0DV^^ zvre%OeI%h{E!$)u=%>9DAgWl%tFW=mxkn<%RBc zLRSsNn0h(*K3k{bh_5bD>=L&`69hgUx{&z)P6$boRPugbdlC>gv3GR8~6Y zcPvvN(xS`TQ|j=~)2<~Eri*pMAA>xo=Cg=_Xej(m5ml>Rr4=plsL0{T0(;3I5-c>z zCMKu%e)GVwo)iEb8~*}L9H&nlsd*n)aSr%c2xyx(C>!(MF9ltTy9EBn1O3t*?&E;2 z;@1=w+dq(}fB#zc#<=tn;*!Vv`Izzhf;t32w61o3WuW+cl5?Fvoy@%-Zs4d*`I=l@ z)JpF!DF0)hx|$V+t(T9uON$^>ik3x zE#ehY^}XX7MU$@VD@f~Xdwr8uRNbapoB6m|-Q)1^36}4$^#geXZQzemlbE?c($A-n$Hh=L`(5>kD(L zzP5F&723OQj%rUI)&&))dAvC~1THd<9cQS~eUs%YJ6>ck3QI*n?>z%W$j)2gN-YU7 zI$@_iMY#qH%?yh;SCY=HnDOysf@Yy0rJq;4`xL+a{U`gjwq8qf^4WDpr43Ot?X~@8 zrED!+L|z+0Ik0SPZ99-W+IiPJlmAUrSBqr@w`5ZT}AHKk7DAe zd{k`JI@w4*`$n&CeA&!%(HZ!R0@e?s?ZwZ@764gRH>>5dt!Wcz_Mxztyn*085M}v{ z7Y}x}n$ejcJO=KLnNW@`A3X68cl?1rW*TC4!!D;S1tH`P7j9wXli#aqT8dzxduSiDSs$G=aZYi{uPOof z6l7Y}y+soI*uSCwlLm4`OByI<7QhpV=Gkdd-2?(uP-^#X7#D7NSRP}~8ztS=&-Y=W zLlnpiRWHIf0g?>X&>fU@$k4P>K7F<5eIuX=z}g%rDODE@-f^N=HQbI8kdQmT>-HGo zk^-}Wd?|?y!m?Q_rX!BwOF2h8`nR>7gr`V-(Cc$8VHR4aH6D1dAln_Ne936acRSh+ zg?>W=;x!x?uGP|O$>hK*E-~K_7`0n*^`KKaM+6#)O8Y5$R^u>wWo#q{+Risg&hDQo zk(X_wtmx>l_G+)BOU}D<=HE@Hh^5fldB1H`R?g8SFc;8>vvx z)5kA<5nAWRRo{P$!T_y){J(M*vvCcz4$>5FLnB6l7qUta!_sX2HDc$V8V-dWBU{%o z*tp*^W$%-_j4-6GNw_feJUL=mc|JnQX9$H2c~|J$6_vDUTm%<#e_rc&;rY|3a~4Oy zCk%J1L>rFiN?ap;5pa(h{sFxZXy+wMWNn|tXBWxvnE}`l!D&xJOn~2!*j2uRP#<&7 zx!p@wsM}>pT;0B#kK8veXl#P>#rDh_hMIeedg62MgDix91U)0|zV2If{ z9qjmeJjRlVhPId|qbH@II%rHl0NnTMe*Mi{RpQaR6uFgo7Z%7zUEm;poztY>;6Ski zpJ@+#^87yEy%UI?*CTdc;s)UHm-q9OOP|IlIM4am*{E6f#}GW_mR}3fVNxmwX?#?M zZ2utAOr%IA@W7H%Bj&%(*6(jF;KU{rdV!KBukZbR zWkl2n_bTyk9fTtdMuBS+hGIAQ-ayM+nBIwZni5S_4(-f$nELM?zy%BYOp=+o;Ww`E zW0FBHgb{xGg%K;W{e7?T;ahP7zR%lN6l?wwMWj;z;tVUTH{9I9Xhdox@edBoZS)sH zF|%q0ko>RwY879BM#UW@54?sD&ic3+mV~JKa{J=2Ve9DUr{Tl1_0=3{DS>yFy1oh~ zM$ea`FsToP>es#}d`LtH8%iS;hnTmtODluM1HLMVWicVtU_es?6Qn-TSLP4xlIMMw zPVr8*ySLg?i&TPqm#}!#O0OIT)gC^KenQOAstC_u@^o*79igTVQmXHfp+Hitu636x z1=S2I4Uv_}_a=twe^ze{vAK3|eUl}<%fR<52cCZ;dS2XXgl2e#Vm2LNSfxZ=tXJNq zNwL)l8F)jeV0hc<QaepM73RpuwOf#v8L+U^Jk> z(%uU$G9*0>*o@f-Lcg5qdN*Af46Kw=jss-bXNW(#X-d9? zm6|YtTxXgz5mFvX(0BHPrK8ls5yPOFOEH%~&|ly_+r_)k6sK#&^CGfk^9>Wt2|JQ{ zDkX06S_;`$F_;vkrd7jgtElwrUuU@(S$wFSElXFv-Xf<7xd$v#If^zN?!(MbOBZ*% zY(SA(Y!sypwN%f*>1$ukDWC3c4>q_l-oO=rcjGkbt87<#!pXM!x?tOTc#V@X#|W)E zZYb+g!A~fwaLhidfZ?!6N$y(dZ^NWu14C@u7qP zJ>x?1esPu8rpZ_{`pBi2l`7HY2I)A)DIl2y9%f=~fA$^&ZQm>35C>0&K1NB@qCZLh z$qF%cHIVBJsLTAws+snwXwg5z1Xc(CN_)lM{1l}(fr2}Q?qI{GZL9`yGk(K6dODqT&K1^4L?YcjigM{_2ns@$=B8TKDx@giOAWNr`& zH7rmq0KLE~M2ZL06jw(0zk{VWH{nQAU$GLV`o-d0?zk4h9l;Waxf5U ziR&4TFTre`heIoZE^ngrrJ8A$-~1Xnz^qy|F~((q#?Wgm%oqnJfvG>zLIy($r7@VX z=UU;Cm`_(ciyz_&k<%D|QF7<|k7giLNfw%-qYB$`pzOz%IUAUPlz7gKoEi8VRh{y% z#!8Nd@Txpv@TG|Bq{dFV^XXBh5<<%11yI@OcxP8-o-da?*RKOTVt&bG7|IHHGSH`= za}j-(wF5h4j$|4KJNi`@e(}eq&w`gc^3b;um!R(V&32n+fg6D+z9SF^TO#J(LJJ#9~2#K z7A0$>Q4uuWY^FgcgXbas@hIwY{#~oDM9X{OhhjCd=Ay))`*s z>%|N{D7gTfe6a84DL@hxef*+2t1GVJ?OV|&%jCu32Npf zM-zxgF&`EiR*YmbKBgCYD9jtXnuG6ID8Jd9z=3-&3cL3|wtLeo3W&tf_ob?CT@CpE zDX=0&KS2eVL6VvJx02PyUjcTh_1uxaG4|8#LnkX9$1ckUlg-$&S`F|+7Ie(jOQ?S7 zi?Vj;0I<%1yx*%1)0i71N})t{jde~CcfUQs*PlsjTQeOp=!5B~$ zPlpZ{sbxzgz2t#jJ)EAmd~jlVu8g(O`Z!XeNEpeip|r%*d_FL_x|Va$C{fE4EZz;NfbVzZbYr(WE8RaDTS+628_ zagBWo#s5dtTLwhceqW$NgNT%X(%s$Cf~YjYz#!e-jigEl2q;L$5K0U=bPf&DB^^Tv z2n;FZ5clx@{`cPVfe*tu=jrF{XYaMv&V?w7?Kl9KxyW2`00D{*h3Z|MNzRJUkzy*? zoVHj^m(7@~a3=T}t7{hoY)1-ywZgmYcb2j0R$^V*iWDTU3>Y{s0Sxkbl7*Ely*EF; z|IsH$?1+$hcJ@|idt~Dr7*0GYlDFhnd?S?4zIK_+lk+R~EBxZH1e6;JAZF*Y+VMOE z$cJ%2xw?H6W4+E%G5?Zp5RR23f$ff46q5!(0FRuU@Hv%;e|oP)r<81F#@ zI{wS&C8^jTng@R0(afVY-0XCVtBs6Zj}D{TidD=Os3V+4OV;)2Rx1`oEhC#7yJ4ns zZ<4v<3siZ|kpKWs;V}HPGKm|e$)7lXl!=eKm_iE*i+>7{k)UX{hV`EEG#HIVb}`l! zw@{3__DqBuD}O-vDHiweBm%RHi)K$syN59rQo*p$9g8^` zFx%%DPE|^D|8`Cd9g?3*{Sq@9Ak>{f9VeUIO_~&=>EnPSq7;5Foiv^b6-+ z2y1jQ;JJILAS3Xm>uGTWSk96eL{e7cB(y~hN&G@5YuiSH=V@< z{y=8cD@I|N&h1(izTsyKUqNQpLSxt=tzR5qSNUo0&FW=AA1(T&-QMrUE_0}wRy&Qg zcWJ0~%xK1D)?@st4)A0KZgbKg~=x+*h_$r(%k!nhW$-`F=@es~jQzR<@V2F|l zZx&c3$=r_*-hQW<%LSWDqWdeHz%zp$Vl@D!v{vEIl)t2vSc~*wdB@@f0llYzYjcF= zSoL=@PQ>IG3O9q87sgZGfb;Z*#V03$jUc5_FkMS4@YkOh7l<@9Cwd-P7bUQ82@iW0 zv{<@^5Bg{0o;*^OqVCbg)blv7i-kPDN+nMHm>Ybp`02MxZ&JRG`F_=t@-fiE7!$jI z)hb7X{5_oCspizC5?n0+`c$yL@F}3|0G7cr1WvNHAjM-N+}oQ?Pa4ttIqmTHD@mBbjc{*w2$fb5PYP#93*CM9ksB_9^|<9Nwsl)D ztH|0*m-+(GCm#UwiETQtND-oEQfUWMnKX|kOhSjNRS^*s-=!r|LrFSI(h^bGG_IV!9=md@4iZ%GUH(nD3d9Dp*vbgOgzpn; z&VL(;<6B{T;wtrz_nD11oQ!D+EO*}`mx0Ar7}^}n)H(b!rt?Ri@t(tmMU?tzPAVa|9jcYk-NaQXzClTO3x1u-VLo2Xt&%D!uXAFSR5k6 z47>fQ7q04wQCdLv>Y~?lIQYdUrY+1nu@-i+=Ke+27q_%ykBP~vK)7S^Ymj||kO_p0 z$w{I~;H_S0cG!Ek3$jwSUp(hg!d{x|(H#cBa~Zhs%G>kgySVqC7lr;S zB%lrrFx~a?DPvw3{i(}RAAy^P)kZZ@rK;yhUqCq($+4J-+gYG7NE=%H1>@9U`64#) z@UGBt(jF)lZJxCdwYPEpBlUI=d&z^pR-=nrvC-NR*lKzMG&|@7=FX1+RKENr>(Dbp zq`6Z1`d|duvlks~tN8HSzdq)P`dIAPv?X2~P_ryYz*Kw_haPXffK&zgqV?S~!rwcs z?jdXM9YSTKE_~>=MbX@fY*|*IVk7;N8{?hk>aouY+$pup2J6?FB51~Qa@8(2_Zray zM3qqBo#_LcT!Pe&?w5Ci_0h8cu~4wi1JIk8Q{0b08NZGgn0d6uZv*}mV7!$^42lj9 zxb@7Z~HYp2bs8Y%B*jEZIYiIsdQ>(-owFU12GS(BE~%M)auv`*1J@SApFNk zgLV;lgDzRMC??W-@fUmVW)kJd-{VS|=mT|V})_zIVA#ZfMs;ZE0< zfFg^y(s;_#vkNh!oLwuP1eJG@=_#O@DNqmk2DRnvt$0=B2~z$&V{Qx#;WB zYyxt=VwHX6m-SQL`G{G$wPBAUeQY&tc3l}~KhPJz7YXs5JIz#oHm0b~B$N1Ov|iH8 zL*VzkTGfvEPo z6?!OX;?Hw3-=owjQtsJGb{pTr zsOQeN-hZ9{G+%8?9wI9=oh?W(O9fiks-}B|19ot!>Y0z)OD5rOD)avlHz6Y*ebSrH zqv(Au*KUrUHd{=k7YtC?VId~HqPqcz#mz3rKDI#?7P1d)H=TjYeCc6-0cakG=*a0= zW|U0P$>1i({*{SaHj6pYS_K*&AP~#;R5(T zJN3nAq5dEcClz-Ry6diSlg$ow#Y3z1h7DUqb54?)e$g}jV3xUwh&aBLl)h2~iUHaw zn88!C?IPGg#7qXHkK@_BE|9RR5F7P6zswrg>5i#qe&<`U~~Gr zy=VeZ#}T0ImF!N%Z=J`y_}`xylW%rxx+QK#mZYnu)rVTN;we%3ntJ`%>4IZp8R&f zjLvo6&`rhEszVHrprC~*vYRbc&2$|Dvr<3g<&!cJ_G89@8t(e&Z`*NKOa4ZFurEuj zG5`ZNPt<@+u4lSl<@V@s{_Mp6ypaQz>OFv(JU0z~iDk2hf);b4?$qk=r`4o}O24(P zmdE|lsn@u9w^;87iaSwBhqzn@(EhLhNax(x833up_r|YxE4o$HW}c`(Zu<__uKDCK zx-G$nLz`?*BoJXUBG6TE_l!dl(_EpEze^v+onkHCcb<0}x`?-jEV0=~iq=KFLLnvI ze6@YqqT!N7eWH@#QVOlYV=$|)yz`-4- z6nxQifUUA4^f}MM2rtan0+Rx?V3EID&mJfaeG&K-17AWs@aIn~wtjG>aqqhxnl-0- zE)XZ!gbD@2U&#w~%q%KJw6#TZgGwmAKqJ` z?>S13j`v<$qR%#YLtspaeFW{$cHZ7E@P_;g6YeGl$TSY`ZFy)#XdAIQ3q-U zI#`=c5{G#IXDpIc<|7uj0(8qN`xI2}SKaiRqG2sihavuo1&?n(^CJ1&5KfUKUiE;p#H?bhOUt3>tz!SJOUr+PcM!`F^8JKLk6cQ+7rq`Gt zBa3B9qo&GDbnLqYx>NUPsSYZ4XBkJc9I_-lF4Us`uNCw%f4Hi1;O)0bE_92Gadm0R z>A9r1sSYXsRsEL_QLnFM@03ChrD?f6xGuy1p1h3Dw{hICxCmttP{+HJk>x{=AXL3O z){&7oyWw3{u;a#O0PP$wu|fZm84N6yngc+&B&iO`9T05S#TFl?B8=w7WGiZR_q1C) zLU*a4kPyr~qS1Z;5Ec!L0!C8w0k(Pw@2_&N_hb-KZjbf@lsh&^p=DFitZH?fZ;2^F zZe0=^^S{NicAa%6)_262-60Y1pVUE|{qN zKc?pyMiQ#6B0u8SF+Yy#Qlj?2Fd)j(5q4<}8>dpYosGQ!hGB`)aM>7u&T2wje=0F8 zr3H=j`N!QY{)!xnmOJno4Oam%X23Rh0NKPkm8zZq<)m!>2(=~Sj?Kn6wJvrUv3<53 zdenl-igEF#(wdPxm>Oz)?1MPE{aq2RW{jT}wAjZ0!%u7FFYE4R(WNn~y%>MBz3?z1 z7HyM9_Noe?;PoVO@w3;zKNzB*N~!`?F}amiSca4hzg1jZHg7MgId^|s8p?mL=r6Nm zFF^rf6#u|BH+XXzitpksT;A8sX4+)k?nE%@o+w-witeHJbCxN+O!{iF)s8HQi#3t$ ztU;dPfx}hhNDw~VAt`2DaY)mRItKW$8w!c81Z3!ReO}`$2Q30p7$x}BG7cLS7GGz( zFKtt~lZFW~INOiR!~{>CqwlUiR=CW9!c2z%LlnkVNEUeV(Ojj?vK<-{|Bo;)ws5yX zy*Ex06gJ}j!=us@zSBC|?l-@c9Irc&pWW4**ub~&_V`Y?ZX%s~2Q{1xi?0w@UL zCk@XXo)nxP^^33g?UaCB+{In))(9`CP{=#C{fnd2-C~m5M!Nhb_CGiK0Y)8h7pn*p z_$0Js?&a*6^gW!^KEc=n{xfZqB_>K+<;JtO7ZIfl{Po2H8C5sc@Q5FJ|9_S@g(3k8 zZd<&Wb#uUu2@>U-T_+)!6*bs(uVS6D4YE3|mqfyoJ|32CT(i#52XTUhkH17WoJkhm z9!Klky$wD_t3nU@YLLrC`)gioT1ahbhS{yw$!G}wRpgB+q9opkL^z!xcuh}5rdCvs zls({;EE)Ha|BpnU(xc&^9;2N(^a-FIIo@jQVWY?`#3ApQ=alxan;E_>1t@du3cm5E zvC}_kZRiQe+O;l+7yZslTm49F&bENXUKzrXPdDc34lQ%Y7B z4tx@|#-VQVFyqoX2HF!a9kv&&;lFq|$YUj=ck;J#e>y^rW)aYsj&dIu z&igWeb$*lnz-N5xitj2LAX2$8jJFOsi~60ny>X!)bFM)lVKF$N-`Qu|d` zp~|6R1DzV}T~ksU%mZa$DM~SZ+mUxLGo4=NAit@YEJ$sFB*-9nqabEN9aIF7T zcR>Q)FJ3pN4JNWm#gkca(?cWWL}f*VK|qLEM-~8hgAAEE*Ttze3BsMK(?XbfzQjiO zvp%Ne4vuG?5wc3A1h}shm)CW4HDmLs+kjEDN8EDWOsL4Re{XEAM3{6w9@j=UW2mKrUZ+R@QylzmrIJBoPYrWO4k& z=1t*Q5&EcN04n|(_0rjN&}jX$nyKeX4s_C#txbD6xO&qjToshtc9M8#hv?Ht<^o4k z@Op&2x#?fSK15T0s_NG0ZhR$qJlMsMKufI$7$<~@mr%Frk5v1?XO0g5%0e)(%-gx+ zq!w0bw+L^jP}?^zp@th}mKD`1B_wiJL=;R(u-t(bi^g_3OMB~dZ6-U2GCD(QnywL0 zA);wo=Tl@@`yfN`fo=J3{rb&;y;6j*P=mDmmYq^dCmx9TG(~b29D)d$k8exxLS$z( zFvARo0G(93?)Q^}yy1SylNHczyFsi-K}?)>osG+{F1)G8r?^K${H<)Na3gZE zxMr~1VugB}VQxbLJwt6r!^F5=aKYzjNl@;V13#`^zw|-+&bwlO_>Sw>PjH4yNOTJu z8wthZjgQA8AJ};I`lt_I0D=gLG&Q>Czo!#Zt+^L|XOSgVA^YP8OMf=u~C-;sDa>Nm~hkjAU3FY+Fmqcp}RK*U>OI^ zRD2nnkJCwTCHXufqA1@ATm!S>T+LH zG)it^DPa4`ZFPRVcaO6-diWkG)+Ls$v-LZuJ=S0c6{|?~B4ZvVs4nfLD749ZUrE((zXS-Ci;h3ScsXq;a8C`S^M}HHk%DG~3~6!hpgL z07{UX6)pbtqBk+!tmYUGEYK+&1<)|G7F8&C9jckT%ia-m^6^?P_PwGm))5{n{VsZZ zfeEU5UD4R5$ZOTB+?&|w*{h^R_AR>23`zoGjG3^nbt9(YF|DS-Bq>H}_Ijlj>yw!P zJqnrjd9$DCKW?Fct7a?gF&Ty9oaqmZ({e&{vz_YTsL|`y$jqH^oZq4*>G4G9x2lc< zD5%y-O25(e`4WKaV*#?W!KdFU_x{$Hrb8jpNMScle!xNa$ti!=eK%($*hX=Pe3=vOQtZSD!pw*TS!QP-B1vUA>ijc}DgkCZb&brHgqeqlzD4*94Z=#S17n4-ta zOa9i-7GQ`P_r81p3QM2!tL%Ry|4^sVb@(wAh1z<|)h&I2Ft=*YO68(w8xE*Vlsc~U z$NYcTf%EW%aGDQ8qowC1`iVU(m|@frGvhWcicN*jxqy#>lOwVG^Jf+uJRE7*)P;aL zs#*0h#`Ix352C*A@@SW>=3Ej=hT9vm%|HyW@28z(3%f&<01bw2um`+@?$tgGSw&O? zVGnuW`%vChQ{CQVk0KdR4+Uj6fRfuhCn{4kfi1L}km&%*4QD(p>_s4K)qtw+aYg!tAoF1p;B! zZ1Tr7@8kOf>U+E?XRXFY151u+tzy^MBO4f8Zs{B|Z6AXpndAv4UH$h$4ajcrC+@NY z8_ckO$#q4tWH3F93wx(3>prbp-?=cf6TkL}8@RSDdQj6h^vC4_{ld|g&RNAhKzdu& zs(s3gxI6(-kx!vx1aMM7wFKp)QmpC~@f5SAiVuKT!nrgssX}W|7z)%YWE_?Lx55(T zt{knQHW=9@UobJaKyY=Q92!D{TvR8SU*M!5?}t;S1#&`6wnN<@E?9D7eO(vVMjjSW zmItTy$ty>BfJ7H29^Lj+(pINMp9_Ye9`V@p4X`7WV*e60rtfChPcq3coX2|2cUb9tV^fI7@vWmb_ITV2ZedG2?f&O#)h zRfrPO3zAkev25rZP-=PDLlykqtfQ@h69Gt0=M$D2-0N~k)W-DL!e%TynQ&&h0Guvn zhRy6|_;0v&>IXIvKOFVBs+PPp1rM^NdR->Kb9Ji$ zNI&3(zgf+~R8ZHOF46(VD))N}83=nxn_F7-Yd+K>5p*a@!BGwQA=+#j-HF9+R*%d~ z&>|>b&tte-E^egh4wW|{0>}u!Xld;0j4q+xB*52OSiirJrWIxC6$%A(Lby5f==IOM zj)uC}s}m2&xm6gA<#piL_XW~6y}`QJ@vO48Jzr}EVAAR1l4#kWUwx{LLa06I444K7JD!7-&Z^JEEV~1y z=la_cpSfHax4~&Lc;ia-p=S6J*(r3du5p_o_@tFT_PvCubaIJs!XCF~Y~(X8mU;a| zgaH#RSe<4>+_#y07r47Q+wFQeZ|7$6m{yrQFa(HQS;~YxJ{q@{MVNAo}Rmk@A z2X@SZEtg752!+L>QNo>EU(5!(*T)VAaXwJ!-!K)be0 zsJ^1C1T_mVHfr5$bCuFbTYT5kj8iPl45e4a4^inwFKuZP?EYSRTAA-5R6BU}Aua)* z=2%e0-e<$b6;YV4I7|X$s(1uA%9{Tqt`~@P;dc2f8F*afvrwpIkV=nxWso5Z7*(Wc z>)WQoFC5DJD+m=1BRYQmA5hD_$^Ax&hZZz3Z&w86&{E5x_mce>poE_?d>N_r)0&X5 zi`7)`y&!=M?NL;-wDpNcUSj(z@tkzRq@WetLmCihROp`hPj5mU`B}430rU~;X6!)#<7FTxrV)lqIo`hE^_!h3SAzt^vpSnm;g1+ne z)ZjtW{l~t1U^}IZP>=uG+??6Qa9DHPB6qBjhRu@^p^k7~9EQ$clG8vRpiFQ_Rz8{$ zA4cH0-3}vuzbC6yS4_hOg{9#8Nfs6xCg%T8a|@@z%+U+t3b`;~+z+he=I4Ip{Bv6! z%4zT-J_{^r-`-poGkFND&}HcNt~X%>Y3Z` zlW4&p^uMpNtu`CzTYL13*0dEp>l;$)7jbR*I+~SZZe~Y_w_1&oA5!0$771p=jwHrb6!0>5MevaS5=#) z?G$~^LP3Ovq~m83uw4-CMlH+Ynn~dhx60{?}hoX6<0S z2$F&Q?Le?{+U7?<_bGdWYLJ3z%I9R4fGX{01?2*690l@O-Wv<#=?#;u9%*G?Kr{h- zy1cP!t#Y0~Y3+#=VS4R5q0j+r$Lv1!KK&TFo#90UANy**{^&D7&Uye&xSt)NMhWOK z6OQ5Ar@}#uvQVn0sWRKpR9%ZB{1je4N&9sQ^$@a`t{dmj7M=N?+ZzULp?To+X1I{6 z!tii|yvA+r{7+}%Tbrb}N8iQXCy_87*UQnf)4&#eBaPfR*sN2pMZgcrZP&}=W$Y76gJJC2dp-3H3X(HWZDU;~-Qxhf zhpPA$|E`qZhK(#Xn>5T$ka@tX$I4!Xr`cyeU~FQOFeLrf4`}d22fxxrUT4I_3Nf4# zuHVZ2JL(ufj>xV!&wuYc6_;bo&E8tBg0fnBLLT@599RZ8<^$UZ?cP)ap99E$z&4WO1 z$(36~sp{z2ANP848~i$C88Rg~uS=gtx7F2AuR=V zOy@*E@ZDDWm<4h9vJUkkqJ!bQ${kfsz_C{sL;gbstQVuBuPfjbI9rXwoK|HFx_b5A z>9SdKu$q>9Bv14X;R316t2{tI0Oi){H>Oog5lGu1DQqh^O|I-<$+hYL`;$w~jO5sz zfRH7MwTyYKq8Nva;Z%esRm`1$N4L(B#^`xPW4uRe_xL<~rMpyb`$*Zi3xV36^@)~oBu-d?{x zS1dqsW$acs0>#h1a5$HBBkEipxHyTpd`vjrg!+hfO!(G+ZKZ?|k+ZOY)w@{fS-J%x zw5A^6eUTZ?hRC$P!r$Yc<;mGd(_sPdjrN4Fl-viMiGK@Ke`>y#(H8zoDJgQOOD#_x zX7it~MBtci-*vqF*}mNcfLBj80+f|>n2wShk&AhMZ|E%K)hP}#V9L~zTZfSsfuD5r z3Nv8RI^h|b_)i+$%jECzpWx(-Q~**$xhq=Y&rb#VURUNg5HI+;wo7HNlDZi1a|tHF zEC~p=Iy~h8;ppX6s;Q>QqZXFRM?%Jy@}~|z_-=yY9ofoLtKao}p}Is)^@ITI_l>R> z4peUJN{i=YkiuP^u%qVnz!cSo9Vn}|LpM8aQ{h4l8>TXwO*X9}sg#SAL`OE$;5|U0 zQ*rIm%!fZX=X7xEGLWGHnZ#m{ICGKw#RUv~%;&xZWSFui#xwx5;_#`a?7nFhzK>Ab zw>wk$MX1W5b$wxhMFdVrdk8@Fc5mDl*4<~heu$;HtE>-#O`QBvc;ukhc5vEp)ak>! z;Y|J3%`&LX`rkeM9zdzJ)U9?|`jcVWPvi#R+6wn>p zwu6KV07+-6s};6?N8Rq2cnj;w!2Fe89d7#phB_o+$#* zn}Ktq$@z{0MwnGVq92gLELcOP{|lf{^7mYGzoHZ^p&(Des5d1C*SH8_zFR&!2S^{M96{5lk z+P=9w1LR%aw?J(6lmraSWU@JdpW?JX3Vxmbg=i?CCyc#8t5%*Rvvvu!M~4<6&t@~t zbtPBOJ=-rFd|-wHSzxcIjl5bj%#^olGTjM7A1ek)<;YJHiyWeABHVdLRdYrOda&%H zVKn8!q+RL``6pv>tOqs39K!X;q0i%?`(p}yuGRtDPg~pmq1TUI$tHAO)#>$Wd(c@#R$rphtJX}Nh&?Wn zXJa)j_yL|m#g5uYO zFJ~XFd$f0M+*GR^>Jv`K>*iPingR#KQvF2{;In^y4zQFmj#e`WkEtRsp5>PPtZr5^ z<^BV271NHxcO3v#0d?JA*WnLrfV*j%!-9;L0+tL$hfSJK&~oJ@dX3^T^)@&so*xU#do*F6xi;-`s#6x)`y%>uyPA-px zef4I^ziew9vxq~nljh}TMdF$C|2^$t=OlTUpML}ZT8WkJ zEzY^9!7zKafD%)$Ww3XAyW!Tqd)KQpE<+A#1qWiIu7iloZx zQjQ*Ya>J6p{ZV^Orl2)1G$>C93sxRqrtp^jA z1oOOoTJ9dU1rG(3UdP5xQM5}`@YV+kNl8QLiYmj}$*alkc~EfU>N4P{%_xr%bQ|n( zzPrqptZ&N(!w<#yrm}CwE?OX9XTK(D5=?%2=HuQqE60RUWPo(TGGB`kZ-jbpSE0bF zhF)!GQ^kv}Gq6k>T9)t?B@@M68b*_fBuzc?Unq7-Pfi=y8a+WxFbuzg9- z-fDP~sNQRLr$VIe?-nEk=T%s@s8!>VPikh(D$lFPP&eH8+s%r(KgcIQVT7zW|N zSfFu2o^Kc$F0cF!L=m(HPvWZ^X&2}(vpMaQ^unQ~jXQLube?s4ejlkLaANDvaxNl# z&FtUtEd2t84=JrV0Ib=jmC zBW}u9D{0clecL+(utIXxQuMsD!Wm`6Nmg32V^TLA?ML@QmTwX+`SLVXfR)ViHnZKV zT_;Fx{^U7E+J#!nYal5aC|9CY>Qi&&7lZbNtDaaG#Y!{6yEHg7*LT|SLK1fKAJQ;n$=uK0c z=b1B&R~~m*RN8{KE1XE4p@}h930QwHGH6t3ky7cXkY5nDlh-Qr>Fv|`7OT@jePT$a(LcuEO6{=p7=J9%Rn>PP4p54PM&|5!8k`RT#p zn91~`5gy|<4ej+d?E&y~|8qAgI1gy&2{B|eLT!+Q|84h!JTkxP0jFH_7Gg9)Y67>Y z?G`ba%Z=q;$pFN6=^xl!Hfg(3<|Sf0K(DanX#|rK$od!KO%H}v%Fh2@da^y7f&C>Hwpr0ve!Rm`}LmC08M?qz}; zn++ENI}^W@(Se)AtAU8_H8u*XOX~I&pg!>pVte@mG|b`-c=P$X0I8PW<$u|Lpc^3oz3`5O?~)VXXBa=$Dv+%j{>^HCEIz* zcx*_bl)YEu%_2Jhv$IXP@jGd_s-V%P9nxu~go*cZjD+8zr|EqiByDb|dwbD9!A}F+ z#&AI7k;h9LTPk-dt1aH>u5uaB#`mIr^9K-2``Z`eWno1DB}@lYtw}uIzCJVdPoQ~K z#TpNuR+V9V4xKz}8(V21=83!G1OZ@J5a^>qBWsCqxGG82q1YgnY0-i^o}MF<@njT? z%w#-+U>d9#;o#OgamGDmg+W)>6|#d7BTJOjAP>k8LnGAss6psw&}qlK#OGi?EJ0o# z(*!&5iuq&DS6EbXB0%C7z5s{PiuaH3)Dp3oaTy`h2?Uv{6ucHpbd4KmAO^>1u&T*S zl}AQPcHSnUsMI2Qtq$NDn2w4eR)&*_BX=yIQccyX(Y|h zDt3<+d5x>fdP40Y#BsM#L%|gCZpqJaJun_BNt(&mZQ3+orH3rhTDJ6v$%`2J5qU$Z zSZmz?cF$7n#W9EKMku9tGV3?1#SaZ#S3f|F_Y)C=fGSjOB7@K;bHP9BWWs>;o2?yE zjRgW1&=hkI&&W^L>rS`t=#r~mBzsk}~DQ#5%WX1SqH57cQY-yawqwHeR7tiV>J$sz_i z<}K>CJbp*QzS2<<&^P8?iX?V&Z(|!WiqZi+aNz=# zZPH(p^3PtZya-H_hO)CE#)tO^<76UXrpuh(8^8ATXwf?Qtc8CCKSTQC?AYbV5hb*^Qc%s7s=o&L zrSF|)5iSnu@t$ji>oEP=Oezk~5Em&`PbR#0Qa;myhy!-7_f>OBdo?&+P5)pN8|?LS zTNp`nKH+$(&X>zurArBg=v7$5>fXk4@QE=$#RmW;eg4s#)==LYibMDE+wGhDw0l+X41Ryd3V2uhFk zN=0}DEsgdA>(Vs5H6oJ3L1B=Qfe5`#?hk6bwKhx_npCpQSR6)r9A`vNDzrjVNwZZr>}T<%6Rz!wQ$n56GG z(ijSte_ox;kec)5+WVJX)WH-Y*SWop>4hTJC;DrfL6}yXN7Pjo{M>-nm_s`;cGnf; zoAS+#sqM|^;DQD~9+$Y^svpHA&n^{; zZ^^Pzx}jVPYvzr&#vsrtJy@GFc~Md&nXG3WZECP{A$;DX%?|O{ejIxvme!({V0F7( z$lO>9e^hTmO}G>7p0m(f4^|n*c{lq^&W8Iy=Psa8?IxToqh)I8Bda`Q0>Nl>)2{HE z3 znFWWdTx*`fXGAENR6qvlkQG9SKxZ8d?=og<&iIAD5tr>{aWpK&_(w^ zuH@Mp4~u_gk=+7i!HTz-o6Pd&}ty98ED{G-yj}3$o)F0o(b4 zRP|9&TG~?>qaF{pASP+f>~U%F|@1MqLNjx813J4Uncqx3sd2 z_TxP42M!t_eetR=6@E(i1epbLkqDimrAp)g4~1Fgg$^Rp^o#K~l1i*77MBcelyh0X zHlZ9}p`=sjPNn7MamP6jvWvbbit*NU$juvYD z7y0p^R(WWe0nj9xck>+9a_WSa@!3axTp@_Hter7>E;*Y~EGh1TlH!0I2X0B>f*dKg zI@yhCe>%_*>(Cz>?TrnZt4K2ayIX7tHE25ECSJ88QTFGWX?fZ5I`b3N110#UaZ>75 z|5(2L4}A+iIyvx@}E>U+kqqw6^oCed@s&`#M+oc^man8jAY zbC>9AKV9sNFfoOA<(1NkSEf+Q@s?OS-d3f}RTUy-I`(fSoVHHHcbRG`jMT9&FN?_c zcl~LW4MH5%XN%v5nR- zJMyF{5LXQrRDCO!ivG}Y^~N>rqCojdhIZ(;^?2m=$yEzA-OuggTjLN?L06x?od^Ix zHoHWdfv2%05!IY?C>J;1J4?-4B2guPhsSIn{IG#8RLs7beyHVGKF+A$LKat`g;ZE> zM57@)(DiNQl~2Nr_A6{sf6*Z4_LuX>a#2vKjZQ+I2#xa*r^jI9>w)PF2t zws+h>-{3l0(SNJHG2>wX>1UDhxQFN-CJl$WG;AHZ zo!#tTthEuDi)Qe4Uk6*<(!=QksxymT%nM0Eb! zD)6#R%-|%%oueF2O_hrn*F~CiS&CdxPT(Gk4_t!OEss)uRj>&WrXE=wzCb_1bCK3j zeH$AO{MKYl@Prs>$$yu*_4y?H`()kbX!B*xj=^M{)kHZJR-aPC|7G%fk}eD6YO7$& z>_izdL;%S|O|BfhITK16JSW!P3yqfp8}0q|(!P>TZ8z>{q3(O^guutI$Rz#`Y*75> zDt*;wWXtcE_S(WMrvCq%$2t@HoH~sm1%SzK@{E)&L!Dg=e4^UnZZi4*-qhz{)|uG) zUUI~S8f@atQ-ZD5?DhTITFiR^T7e5?pA`BqIyH)yr1$`8SeEbyHd z>I0krbW!(7WkBy%8UJgMT2m`|X?f`zN$=7~)p+F#$JxXS%*ZvH`wlc@0kFJ4eii{* zPJ>BFn$q%E4~0+)-fl?hc-?p3FiG<9P%6)MQy@jj!lYvrtNf4#*8Qt}*E)cvJ<*d+ zaqipQWj5&YkfTUu;H%E<- z5NLYeI}1k<{RF|0OFp1L5wdL^h0tFeQ-nZdvh?J-AX4>_av+ca5V+>*lzn+iB)axA zj)nkl9DYg=vq9kxZ$5`#UnOU;{;fp^WlQ7(ofYij%TuxfG!S^?M+B}Kb!7xJ#ISa> z#pZ}Gya9aX#_`EI^q<*&TJ0M1S7Lit z##_E)0@&~`a=d6qY-AV2i0+@5`=S4VO>YIiQXZr3>4u+KtsBoyY!Y0i&Z@@0N3ul3_)c6H%s<)oH`S^1@v9|E{*nmNqO_+jBhvK zw_AR&M8?;;`$wysOnmM~(y7>*#hc$kMzfFXw~!B0st87`*Yjd*kU5v5eUR*e-TyUX z=55t?YKO*6gguhsqns45XDqzVf)QZgr&i&Mf%6F;0cqP#vepN7Y_TXf)r5- znB`%rH!1Ix(m2G2b#%>ud5w%x0eE|^mCv=t%-HFg?gSkWhykwivQu*vv1<2$JbNVc z1Hy1fib4&@j)ej6LqXnU-#kTAXA2g+qT{xVf#v|WTXS_LI=)y-oRLo1yl|9GMdene z$dMJ1@mnz5`z55nSZr_G2cqg`3XBBqlL&$KyC(r6@#`)&lh0ix-h6)=k^h5X8(9UaTsFHy2mgT|YG=nSKUZ6G zdK>joE|B-4t6hxFHiiA}+Uv@vHItZOtXY1wdsLJO2u+;lJ+<-r%W`{GlzFz6=EL^K zGHAC=hVH&PRa!|qUt1+F5}JazB8x_0IWJ>R0=K?~M|K`vXsR!G>0r0&#V{t40=1YRwa&vt8f!N_T ze9-UXzxw>hp=NrLW78ROAO;KKdG)^y{LyzvXCf>e9VEVY^W;${nXi?unjcbn}FtP#CPh#rI`c=7{ zCa?lz+EUNdRVG1%~ z0d5Vvp!;ota>6G4yJxA?f^C7c= z&h&)jTQTG6r#HX;NoJAoK7}Ry_{K6Jq9GB>p?Hx9FWzu99o{}8C~yNxU6{HGaR1-Z ze2z;Fl*|9+3?8UL)d@ITwf~=@u05XV?vE==weD^u8;{<}9fm08?_H#nNg(RzQ@*QsB^i^QdJ_E$LEn^22zFl)`9mTV+XBGt_ z_}p7j&O;xoT{Kczq8|2?<;?kRG4*0Xg4roMQ1TpXDGP0ERYVS*h%5<9X!soe&4OD4 zRFhMUYC60V1yJia9jeczI_3Y`h1eNwHgg~V*v3UtxfDD?3j&m;njxkle-?GW?Lugf za6Cq9x7~8XHDhX2$Ze<`+s0YQC5Nw zdF8!7#*`9!%#5F2jmk|aNi<&EfEA7y5Nk79UtL&uR`9lW7TgI@(I)Djm7{eTatE4u zm>wSQ_`tnCgdXMO&pmtpCi(B=lFBg_`*ED`1$OIr41&NdQ`J0p&N zk>oT}lk#_;3uHl>%n*S)AQv3e<_kJcS<0FH70CgDOt=jVh>-V?ccMLS?tFap<5U_2 zI{6El?5)A0yA^}-EnHp;X8&!Zd_;H2ftC1)2}43)e>2$2Om`gk*0S*3xmQAD20R>m zC&8zC1Nz1oIwTZr6V~6H}QEnG|)V zC*@ubUif&eU6xHDgj2$-##lwM&S!Rn1kmYE2I?(HHPZK>kV9pC>eAAeLs+7FJpwEw zh;8R{R&zW0wEktSe>`rhPEWHm_UH$k{^o}@Up%m7DYphLlj^7zYMVXV|g)t6=@eZF}8aJU9Y>!DOvFP}9HhJegN7@|@`i@6}2jU2K9_`+8 z@9+tQXI~7FrJ!)K6`~Wd!h!#kB6Hpg|D0cIBdk$7l>gnAHeJVAiW^ZMk8TMAxBN&u zx}sWLY>T!>CXD-yWkHSvo3~yj1W<@R_^0(3N!klL+G-X-vFZPaknI_J-NKBqzeel- zGW+hDh^xEOa`(fGCZu>Ud*bvgU(?!TUt4K{+G2fG*MrZ!)thtkpX7nimO8iP&0}8X zK`~o@U*`tmjJbUtJ5}YtC6)HH+b}{FB+<}b`zeZ zePZchD_q$Z0(q`%aAqnZeZz$Wc*oN)#leEt%d zxiaX4^-OL&!aKunb`lg+U@HRlg?Cep9ABjmCY7dng!4+7bqhpSh1!7Y>OkPtuu%`5 zMxvaxd?Y^oacqcc;nT(xK&O++Pc7M5YhK0pug+XL*5Q!VYYZLftU=NgssUciK*G{) z(|=nQXTP>8SQxJG}uE?uUNeYj#YL z_5fPgIbcHMjzKM-PXB(py=G-}OPCwwFTqyTveOhU#w^Br*VB*EvLT?)lmK6*%e= z@Ag|{FSX%7MHn-Ge-!Jz-yI-o%d zelG>eX5cE9v2)REs6Ywh1b`99=YY^Vz^Jd+yQ76(4(i|(?KFb|wdE+J8yyL6kp5TO z9;S3?a5Kne!JBh8Pz|-76*-tpiWrL62%XQDRm#^}C(C*X%;vf@{CO zOMP`SCd?a`FS=O(18)!jY~|kVO+rVV?wfixLgcnQ0=fo1ZmNjqZ&6UPeP0J%U-mH~ z4WY&G{ul7EOGOM=Hv*+D@G>`@!v@gijbMyUrhbih5=h3&6W^4<0yP+edFmkQ?V^Wq z8_8~8ri~J@p9;k=FRL}ls9kZ_?%xrz%6aJAhlpF?RzaRv-#Y%h^>jg z{Fs8VOdB)SHP`Z8M&7nuXQprXh%Rh53<;p9=BqSRE=xbK6E&&qcFji&yPC;PVojIN z6F~y2Xp~U|{xirZ4H)~C>QGnbM*B9RUZ?!*@c=zUJ|{?6_)DE#32fR7ZEehP-@Rs6 z9)LfgbfQD`fo%o;U<%IY$*9-r|belXfNFo%?eUBj3iPng!je}Gr=9R};dgcSGlr&F4YLW%tpi8z(a2ZQ2x<)_` zDYYA>!HqVSgY0EM{sQwe_IU&>ETqbHupH-Xug7?W8fvvvF+~;EqpDZHJS|)WspmKG zdztbXZ&5O^p*cCQ}0~t$zjM7*Wx+OAQ?|1vCe`sql$H(#?Z?`4Sd00_>?`#7b z!3Sn4U?K2fnX{-AK3-`ab{gDn^XGWAJ-M&~RlX4fsa_m!qen98)X^utwjSQ9C|`KB zRDcHQ?I#OIDuSY>+X{{WTT-QI^gU3SoRmU_qO5nc9s1IJhS=q0>lLd`Y zoWqNyZv8dDy(PduXxO37?WXZL7lO8#Opa0Ps#_w4JNsZFLlx*`4c%H;>F{#mL */ +:root .lpx-brand-logo { + --lpx-logo: url('/images/logo/leptonx/logo-light.png'); + --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); +} +/* */ \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..621596bb5c1a301136d9ee2af5ffe1391a4af776 GIT binary patch literal 17592 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 */ +:root .lpx-brand-logo { + --lpx-logo: url('/images/logo/leptonx/logo-light.png'); + --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); +} +/* */ \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..621596bb5c1a301136d9ee2af5ffe1391a4af776 GIT binary patch literal 17592 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 Date: Thu, 25 Aug 2022 16:58:08 +0300 Subject: [PATCH 006/130] Improved the menu icon --- .../Menus/CmsKitAdminMenuContributor.cs | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs index bc9bbfb310..9d212f9c82 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs @@ -35,7 +35,8 @@ public class CmsKitAdminMenuContributor : IMenuContributor CmsKitAdminMenus.Pages.PagesMenu, l["Pages"].Value, "/Cms/Pages", - "fa fa-file-alt") + "fa fa-file-alt", + order: 6) .RequireGlobalFeatures(typeof(PagesFeature)) .RequirePermissions(CmsKitAdminPermissions.Pages.Default)); @@ -43,7 +44,8 @@ public class CmsKitAdminMenuContributor : IMenuContributor CmsKitAdminMenus.Blogs.BlogsMenu, l["Blogs"], "/Cms/Blogs", - "fa fa-blog") + "fa fa-blog", + order: 1) .RequireGlobalFeatures(typeof(BlogsFeature)) .RequirePermissions(CmsKitAdminPermissions.Blogs.Default)); @@ -51,7 +53,8 @@ public class CmsKitAdminMenuContributor : IMenuContributor CmsKitAdminMenus.BlogPosts.BlogPostsMenu, l["BlogPosts"], "/Cms/BlogPosts", - "fa fa-file-signature") + "fa fa-file-signature", + order: 2) .RequireGlobalFeatures(typeof(BlogsFeature)) .RequirePermissions(CmsKitAdminPermissions.BlogPosts.Default)); @@ -59,7 +62,8 @@ public class CmsKitAdminMenuContributor : IMenuContributor CmsKitAdminMenus.Tags.TagsMenu, l["Tags"].Value, "/Cms/Tags", - "fa fa-tags") + "fa fa-tags", + order: 7) .RequireGlobalFeatures(typeof(TagsFeature)) .RequirePermissions(CmsKitAdminPermissions.Tags.Default)); @@ -67,7 +71,8 @@ public class CmsKitAdminMenuContributor : IMenuContributor CmsKitAdminMenus.Comments.CommentsMenu, l["Comments"].Value, "/Cms/Comments", - "fa fa-comments") + "fa fa-comments", + order: 3) .RequireGlobalFeatures(typeof(CommentsFeature)) .RequirePermissions(CmsKitAdminPermissions.Comments.Default)); @@ -75,7 +80,8 @@ public class CmsKitAdminMenuContributor : IMenuContributor CmsKitAdminMenus.Menus.MenusMenu, l["Menus"], "/Cms/Menus/Items", - "fa fa-stream") + "fa fa-stream", + order: 5) .RequireGlobalFeatures(typeof(MenuFeature)) .RequirePermissions(CmsKitAdminPermissions.Menus.Default)); @@ -83,7 +89,8 @@ public class CmsKitAdminMenuContributor : IMenuContributor CmsKitAdminMenus.GlobalResources.GlobalResourcesMenu, l["GlobalResources"], "/Cms/GlobalResources", - "fa fa-newspaper") + "bi bi-code-slash", + order: 4) .RequireGlobalFeatures(typeof(GlobalResourcesFeature)) .RequirePermissions(CmsKitAdminPermissions.GlobalResources.Default)); @@ -105,6 +112,7 @@ public class CmsKitAdminMenuContributor : IMenuContributor { cmsMenu.AddItem(menu); } + } } } From 0368c951f26bb980f7d7c95929658bd44c9bbbcb Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Fri, 26 Aug 2022 17:31:37 +0300 Subject: [PATCH 007/130] Add grouping ability to extensible-form.component.html --- .../extensible-form.component.html | 53 +++++++++++++------ .../extensible-form.component.ts | 15 ++++-- .../extensions/src/lib/models/form-props.ts | 30 +++++++++++ 3 files changed, 78 insertions(+), 20 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.html b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.html index 259538820b..82d438b7cc 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.html +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.html @@ -1,23 +1,42 @@ - - - - - + + + + +

+ +
- - - - + + + + + + + + + + + + + + + + + + + + diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.ts index 17131e9aaf..4e95039889 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.ts @@ -12,7 +12,7 @@ import { } from '@angular/core'; import { ControlContainer, FormGroup } from '@angular/forms'; import { EXTRA_PROPERTIES_KEY } from '../../constants/extra-properties'; -import { FormPropList } from '../../models/form-props'; +import { FormPropList, GroupedFormPropList } from '../../models/form-props'; import { ExtensionsService } from '../../services/extensions.service'; import { EXTENSIONS_IDENTIFIER } from '../../tokens/extensions.token'; import { selfFactory } from '../../utils/factory.util'; @@ -38,14 +38,23 @@ export class ExtensibleFormComponent { @Input() set selectedRecord(record: R) { const type = !record || JSON.stringify(record) === '{}' ? 'create' : 'edit'; - this.propList = this.extensions[`${type}FormProps`].get(this.identifier).props; + const propList = this.extensions[`${type}FormProps`].get(this.identifier).props; + this.groupedPropList = this.createGroupedList(propList); this.record = record; } extraPropertiesKey = EXTRA_PROPERTIES_KEY; - propList!: FormPropList; + groupedPropList: GroupedFormPropList; record!: R; + createGroupedList(propList: FormPropList) { + const groupedFormPropList = new GroupedFormPropList(); + propList.forEach(item => { + groupedFormPropList.addItem(item.value); + }); + return groupedFormPropList; + } + get form(): FormGroup { return (this.container ? this.container.control : { controls: {} }) as FormGroup; } diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts index 44b309d0c2..9973974ab6 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/models/form-props.ts @@ -21,6 +21,34 @@ export class FormProps extends Props> { protected _ctor: Type> = FormPropList; } +export interface FormPropGroup { + name: string; + className?: string; +} + +export class GroupedFormPropList { + public readonly items: GroupedFormPropItem[] = []; + addItem(item: FormProp) { + const groupName = item.group?.name; + let group = this.items.find(i => i.group?.name === groupName); + if (group) { + group.formPropList.addTail(item); + } else { + group = { + formPropList: new FormPropList(), + group: item.group, + }; + group.formPropList.addHead(item); + this.items.push(group); + } + } +} + +export interface GroupedFormPropItem { + group: FormPropGroup; + formPropList: FormPropList; +} + export class CreateFormPropsFactory extends PropsFactory> { protected _ctor: Type> = FormProps; } @@ -38,6 +66,7 @@ export class FormProp extends Prop { readonly defaultValue: boolean | number | string | Date; readonly options: PropCallback[]>> | undefined; readonly id: string | undefined; + readonly group?: FormPropGroup | undefined; constructor(options: FormPropOptions) { super( @@ -48,6 +77,7 @@ export class FormProp extends Prop { options.visible, options.isExtra, ); + this.group = options.group; this.asyncValidators = options.asyncValidators || (_ => []); this.validators = options.validators || (_ => []); From 975b4dd8f4c6bdca9ed04f3ee2ee9e166cdefa0d Mon Sep 17 00:00:00 2001 From: halimekarayay Date: Fri, 26 Aug 2022 18:09:48 +0300 Subject: [PATCH 008/130] commit --- .../Pages/Documents/Project/Index.cshtml | 123 +++++++------- .../Pages/Documents/Shared/Styles/vs.css | 133 +++++++-------- .../Pages/Documents/Shared/Styles/vs.css.map | 2 +- .../Pages/Documents/Shared/Styles/vs.scss | 152 ++++++++++-------- 4 files changed, 222 insertions(+), 188 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml index d471603c2f..ec897eb73c 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml @@ -53,13 +53,13 @@
-
+
-
-
-
+
+
+ +
@if (Model.ShowProjectsCombobox && Model.ProjectSelectItems.Count > 1) {
@@ -108,11 +108,11 @@
}
-
-
+ +
@if (Model.VersionSelectItems.Any()) { -
+
Version
@@ -132,28 +132,32 @@
} +
- @if (Model.LanguageSelectListItems.Count > 1) - { -
-
- Language -
-
- @* - - *@ - -
-
+ +
+ + @if (Model.LanguageSelectListItems.Count > 1) + { +
+
+ Language +
+
+ @* + + *@ +
- } +
-
+ } +
+
@@ -170,6 +174,7 @@
+ @if (Model.Navigation == null || !Model.Navigation.HasChildItems) {
@@ -239,41 +244,45 @@
}
-
-
+
+
@if (Model.Document.Contributors != null && Model.Document.Contributors.Count > 0) { - - @(L["Contributors"].Value) - - @foreach (var contributor in Model.Document.Contributors.OrderByDescending(c => c.CommitCount).ToList()) - { - - Avatar - - } +
+ + @(L["Contributors"].Value): + + + @if (string.IsNullOrEmpty(Model.Document.EditLink)) + { + + + @(L["Edit"]) + @L["LastEditTime"]: @Model.Document.LastUpdatedTime.ToShortDateString() + + } +
+
+ @foreach (var contributor in Model.Document.Contributors.OrderByDescending(c => c.CommitCount).ToList()) + { + + Avatar + + } +
} +
-
-
- @if (!string.IsNullOrEmpty(Model.Document.EditLink)) - { - - - @(L["Edit"]) - @L["LastEditTime"]: @Model.Document.LastUpdatedTime.ToShortDateString() - - } + +
- -
@@ -295,7 +304,7 @@ @foreach (var parameter in Model.DocumentPreferences.Parameters) { - +
@(parameter.DisplayName) '; + for (var m = 0; m < 12; m++) { + if ((!inMinYear || (minDate && m >= minDate.month())) && (!inMaxYear || (maxDate && m <= maxDate.month()))) { + monthHtml += ""; + } else { + monthHtml += ""; + } + } + monthHtml += ""; + + var yearHtml = ''; + + dateHtml = monthHtml + yearHtml; + } + + html += '' + dateHtml + ''; + if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) { + html += ''; + } else { + html += ''; + } + + html += ''; + html += ''; + + // add week number label + if (this.showWeekNumbers || this.showISOWeekNumbers) + html += '' + this.locale.weekLabel + ''; + + $.each(this.locale.daysOfWeek, function(index, dayOfWeek) { + html += '' + dayOfWeek + ''; + }); + + html += ''; + html += ''; + html += ''; + + //adjust maxDate to reflect the maxSpan setting in order to + //grey out end dates beyond the maxSpan + if (this.endDate == null && this.maxSpan) { + var maxLimit = this.startDate.clone().add(this.maxSpan).endOf('day'); + if (!maxDate || maxLimit.isBefore(maxDate)) { + maxDate = maxLimit; + } + } + + for (var row = 0; row < 6; row++) { + html += ''; + + // add week number + if (this.showWeekNumbers) + html += '' + calendar[row][0].week() + ''; + else if (this.showISOWeekNumbers) + html += '' + calendar[row][0].isoWeek() + ''; + + for (var col = 0; col < 7; col++) { + + var classes = []; + + //highlight today's date + if (calendar[row][col].isSame(new Date(), "day")) + classes.push('today'); + + //highlight weekends + if (calendar[row][col].isoWeekday() > 5) + classes.push('weekend'); + + //grey out the dates in other months displayed at beginning and end of this calendar + if (calendar[row][col].month() != calendar[1][1].month()) + classes.push('off', 'ends'); + + //don't allow selection of dates before the minimum date + if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day')) + classes.push('off', 'disabled'); + + //don't allow selection of dates after the maximum date + if (maxDate && calendar[row][col].isAfter(maxDate, 'day')) + classes.push('off', 'disabled'); + + //don't allow selection of date if a custom function decides it's invalid + if (this.isInvalidDate(calendar[row][col])) + classes.push('off', 'disabled'); + + //highlight the currently selected start date + if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD')) + classes.push('active', 'start-date'); + + //highlight the currently selected end date + if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD')) + classes.push('active', 'end-date'); + + //highlight dates in-between the selected dates + if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate) + classes.push('in-range'); + + //apply custom classes for this date + var isCustom = this.isCustomDate(calendar[row][col]); + if (isCustom !== false) { + if (typeof isCustom === 'string') + classes.push(isCustom); + else + Array.prototype.push.apply(classes, isCustom); + } + + var cname = '', disabled = false; + for (var i = 0; i < classes.length; i++) { + cname += classes[i] + ' '; + if (classes[i] == 'disabled') + disabled = true; + } + if (!disabled) + cname += 'available'; + + html += '' + calendar[row][col].date() + ''; + + } + html += ''; + } + + html += ''; + html += ''; + + this.container.find('.drp-calendar.' + side + ' .calendar-table').html(html); + + }, + + renderTimePicker: function(side) { + + // Don't bother updating the time picker if it's currently disabled + // because an end date hasn't been clicked yet + if (side == 'right' && !this.endDate) return; + + var html, selected, minDate, maxDate = this.maxDate; + + if (this.maxSpan && (!this.maxDate || this.startDate.clone().add(this.maxSpan).isBefore(this.maxDate))) + maxDate = this.startDate.clone().add(this.maxSpan); + + if (side == 'left') { + selected = this.startDate.clone(); + minDate = this.minDate; + } else if (side == 'right') { + selected = this.endDate.clone(); + minDate = this.startDate; + + //Preserve the time already selected + var timeSelector = this.container.find('.drp-calendar.right .calendar-time'); + if (timeSelector.html() != '') { + + selected.hour(!isNaN(selected.hour()) ? selected.hour() : timeSelector.find('.hourselect option:selected').val()); + selected.minute(!isNaN(selected.minute()) ? selected.minute() : timeSelector.find('.minuteselect option:selected').val()); + selected.second(!isNaN(selected.second()) ? selected.second() : timeSelector.find('.secondselect option:selected').val()); + + if (!this.timePicker24Hour) { + var ampm = timeSelector.find('.ampmselect option:selected').val(); + if (ampm === 'PM' && selected.hour() < 12) + selected.hour(selected.hour() + 12); + if (ampm === 'AM' && selected.hour() === 12) + selected.hour(0); + } + + } + + if (selected.isBefore(this.startDate)) + selected = this.startDate.clone(); + + if (maxDate && selected.isAfter(maxDate)) + selected = maxDate.clone(); + + } + + // + // hours + // + + html = ' '; + + // + // minutes + // + + html += ': '; + + // + // seconds + // + + if (this.timePickerSeconds) { + html += ': '; + } + + // + // AM/PM + // + + if (!this.timePicker24Hour) { + html += ''; + } + + this.container.find('.drp-calendar.' + side + ' .calendar-time').html(html); + + }, + + updateFormInputs: function() { + + if (this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))) { + this.container.find('button.applyBtn').prop('disabled', false); + } else { + this.container.find('button.applyBtn').prop('disabled', true); + } + + }, + + move: function() { + var parentOffset = { top: 0, left: 0 }, + containerTop, + drops = this.drops; + + var parentRightEdge = $(window).width(); + if (!this.parentEl.is('body')) { + parentOffset = { + top: this.parentEl.offset().top - this.parentEl.scrollTop(), + left: this.parentEl.offset().left - this.parentEl.scrollLeft() + }; + parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left; + } + + switch (drops) { + case 'auto': + containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top; + if (containerTop + this.container.outerHeight() >= this.parentEl[0].scrollHeight) { + containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top; + drops = 'up'; + } + break; + case 'up': + containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top; + break; + default: + containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top; + break; + } + + // Force the container to it's actual width + this.container.css({ + top: 0, + left: 0, + right: 'auto' + }); + var containerWidth = this.container.outerWidth(); + + this.container.toggleClass('drop-up', drops == 'up'); + + if (this.opens == 'left') { + var containerRight = parentRightEdge - this.element.offset().left - this.element.outerWidth(); + if (containerWidth + containerRight > $(window).width()) { + this.container.css({ + top: containerTop, + right: 'auto', + left: 9 + }); + } else { + this.container.css({ + top: containerTop, + right: containerRight, + left: 'auto' + }); + } + } else if (this.opens == 'center') { + var containerLeft = this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2 + - containerWidth / 2; + if (containerLeft < 0) { + this.container.css({ + top: containerTop, + right: 'auto', + left: 9 + }); + } else if (containerLeft + containerWidth > $(window).width()) { + this.container.css({ + top: containerTop, + left: 'auto', + right: 0 + }); + } else { + this.container.css({ + top: containerTop, + left: containerLeft, + right: 'auto' + }); + } + } else { + var containerLeft = this.element.offset().left - parentOffset.left; + if (containerLeft + containerWidth > $(window).width()) { + this.container.css({ + top: containerTop, + left: 'auto', + right: 0 + }); + } else { + this.container.css({ + top: containerTop, + left: containerLeft, + right: 'auto' + }); + } + } + }, + + show: function(e) { + if (this.isShowing) return; + + // Create a click proxy that is private to this instance of datepicker, for unbinding + this._outsideClickProxy = $.proxy(function(e) { this.outsideClick(e); }, this); + + // Bind global datepicker mousedown for hiding and + $(document) + .on('mousedown.daterangepicker', this._outsideClickProxy) + // also support mobile devices + .on('touchend.daterangepicker', this._outsideClickProxy) + // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them + .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy) + // and also close when focus changes to outside the picker (eg. tabbing between controls) + .on('focusin.daterangepicker', this._outsideClickProxy); + + // Reposition the picker if the window is resized while it's open + $(window).on('resize.daterangepicker', $.proxy(function(e) { this.move(e); }, this)); + + this.oldStartDate = this.startDate.clone(); + this.oldEndDate = this.endDate.clone(); + this.previousRightTime = this.endDate.clone(); + + this.updateView(); + this.container.show(); + this.move(); + this.element.trigger('show.daterangepicker', this); + this.isShowing = true; + }, + + hide: function(e) { + if (!this.isShowing) return; + + //incomplete date selection, revert to last values + if (!this.endDate) { + this.startDate = this.oldStartDate.clone(); + this.endDate = this.oldEndDate.clone(); + } + + //if a new date range was selected, invoke the user callback function + if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate)) + this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel); + + //if picker is attached to a text input, update it + this.updateElement(); + + $(document).off('.daterangepicker'); + $(window).off('.daterangepicker'); + this.container.hide(); + this.element.trigger('hide.daterangepicker', this); + this.isShowing = false; + }, + + toggle: function(e) { + if (this.isShowing) { + this.hide(); + } else { + this.show(); + } + }, + + outsideClick: function(e) { + var target = $(e.target); + // if the page is clicked anywhere except within the daterangerpicker/button + // itself then call this.hide() + if ( + // ie modal dialog fix + e.type == "focusin" || + target.closest(this.element).length || + target.closest(this.container).length || + target.closest('.calendar-table').length + ) return; + this.hide(); + this.element.trigger('outsideClick.daterangepicker', this); + }, + + showCalendars: function() { + this.container.addClass('show-calendar'); + this.move(); + this.element.trigger('showCalendar.daterangepicker', this); + }, + + hideCalendars: function() { + this.container.removeClass('show-calendar'); + this.element.trigger('hideCalendar.daterangepicker', this); + }, + + clickRange: function(e) { + var label = e.target.getAttribute('data-range-key'); + this.chosenLabel = label; + if (label == this.locale.customRangeLabel) { + this.showCalendars(); + } else { + var dates = this.ranges[label]; + this.startDate = dates[0]; + this.endDate = dates[1]; + + if (!this.timePicker) { + this.startDate.startOf('day'); + this.endDate.endOf('day'); + } + + if (!this.alwaysShowCalendars) + this.hideCalendars(); + this.clickApply(); + } + }, + + clickPrev: function(e) { + var cal = $(e.target).parents('.drp-calendar'); + if (cal.hasClass('left')) { + this.leftCalendar.month.subtract(1, 'month'); + if (this.linkedCalendars) + this.rightCalendar.month.subtract(1, 'month'); + } else { + this.rightCalendar.month.subtract(1, 'month'); + } + this.updateCalendars(); + }, + + clickNext: function(e) { + var cal = $(e.target).parents('.drp-calendar'); + if (cal.hasClass('left')) { + this.leftCalendar.month.add(1, 'month'); + } else { + this.rightCalendar.month.add(1, 'month'); + if (this.linkedCalendars) + this.leftCalendar.month.add(1, 'month'); + } + this.updateCalendars(); + }, + + hoverDate: function(e) { + + //ignore dates that can't be selected + if (!$(e.target).hasClass('available')) return; + + var title = $(e.target).attr('data-title'); + var row = title.substr(1, 1); + var col = title.substr(3, 1); + var cal = $(e.target).parents('.drp-calendar'); + var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; + + //highlight the dates between the start date and the date being hovered as a potential end date + var leftCalendar = this.leftCalendar; + var rightCalendar = this.rightCalendar; + var startDate = this.startDate; + if (!this.endDate) { + this.container.find('.drp-calendar tbody td').each(function(index, el) { + + //skip week numbers, only look at dates + if ($(el).hasClass('week')) return; + + var title = $(el).attr('data-title'); + var row = title.substr(1, 1); + var col = title.substr(3, 1); + var cal = $(el).parents('.drp-calendar'); + var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col]; + + if ((dt.isAfter(startDate) && dt.isBefore(date)) || dt.isSame(date, 'day')) { + $(el).addClass('in-range'); + } else { + $(el).removeClass('in-range'); + } + + }); + } + + }, + + clickDate: function(e) { + + if (!$(e.target).hasClass('available')) return; + + var title = $(e.target).attr('data-title'); + var row = title.substr(1, 1); + var col = title.substr(3, 1); + var cal = $(e.target).parents('.drp-calendar'); + var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; + + // + // this function needs to do a few things: + // * alternate between selecting a start and end date for the range, + // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date + // * if autoapply is enabled, and an end date was chosen, apply the selection + // * if single date picker mode, and time picker isn't enabled, apply the selection immediately + // * if one of the inputs above the calendars was focused, cancel that manual input + // + + if (this.endDate || date.isBefore(this.startDate, 'day')) { //picking start + if (this.timePicker) { + var hour = parseInt(this.container.find('.left .hourselect').val(), 10); + if (!this.timePicker24Hour) { + var ampm = this.container.find('.left .ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + var minute = parseInt(this.container.find('.left .minuteselect').val(), 10); + if (isNaN(minute)) { + minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10); + } + var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0; + date = date.clone().hour(hour).minute(minute).second(second); + } + this.endDate = null; + this.setStartDate(date.clone()); + } else if (!this.endDate && date.isBefore(this.startDate)) { + //special case: clicking the same date for start/end, + //but the time of the end date is before the start date + this.setEndDate(this.startDate.clone()); + } else { // picking end + if (this.timePicker) { + var hour = parseInt(this.container.find('.right .hourselect').val(), 10); + if (!this.timePicker24Hour) { + var ampm = this.container.find('.right .ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + var minute = parseInt(this.container.find('.right .minuteselect').val(), 10); + if (isNaN(minute)) { + minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10); + } + var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0; + date = date.clone().hour(hour).minute(minute).second(second); + } + this.setEndDate(date.clone()); + if (this.autoApply) { + this.calculateChosenLabel(); + this.clickApply(); + } + } + + if (this.singleDatePicker) { + this.setEndDate(this.startDate); + if (!this.timePicker && this.autoApply) + this.clickApply(); + } + + this.updateView(); + + //This is to cancel the blur event handler if the mouse was in one of the inputs + e.stopPropagation(); + + }, + + calculateChosenLabel: function () { + var customRange = true; + var i = 0; + for (var range in this.ranges) { + if (this.timePicker) { + var format = this.timePickerSeconds ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD HH:mm"; + //ignore times when comparing dates if time picker seconds is not enabled + if (this.startDate.format(format) == this.ranges[range][0].format(format) && this.endDate.format(format) == this.ranges[range][1].format(format)) { + customRange = false; + this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key'); + break; + } + } else { + //ignore times when comparing dates if time picker is not enabled + if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) { + customRange = false; + this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key'); + break; + } + } + i++; + } + if (customRange) { + if (this.showCustomRangeLabel) { + this.chosenLabel = this.container.find('.ranges li:last').addClass('active').attr('data-range-key'); + } else { + this.chosenLabel = null; + } + this.showCalendars(); + } + }, + + clickApply: function(e) { + this.hide(); + this.element.trigger('apply.daterangepicker', this); + }, + + clickCancel: function(e) { + this.startDate = this.oldStartDate; + this.endDate = this.oldEndDate; + this.hide(); + this.element.trigger('cancel.daterangepicker', this); + }, + + monthOrYearChanged: function(e) { + var isLeft = $(e.target).closest('.drp-calendar').hasClass('left'), + leftOrRight = isLeft ? 'left' : 'right', + cal = this.container.find('.drp-calendar.'+leftOrRight); + + // Month must be Number for new moment versions + var month = parseInt(cal.find('.monthselect').val(), 10); + var year = cal.find('.yearselect').val(); + + if (!isLeft) { + if (year < this.startDate.year() || (year == this.startDate.year() && month < this.startDate.month())) { + month = this.startDate.month(); + year = this.startDate.year(); + } + } + + if (this.minDate) { + if (year < this.minDate.year() || (year == this.minDate.year() && month < this.minDate.month())) { + month = this.minDate.month(); + year = this.minDate.year(); + } + } + + if (this.maxDate) { + if (year > this.maxDate.year() || (year == this.maxDate.year() && month > this.maxDate.month())) { + month = this.maxDate.month(); + year = this.maxDate.year(); + } + } + + if (isLeft) { + this.leftCalendar.month.month(month).year(year); + if (this.linkedCalendars) + this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month'); + } else { + this.rightCalendar.month.month(month).year(year); + if (this.linkedCalendars) + this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month'); + } + this.updateCalendars(); + }, + + timeChanged: function(e) { + + var cal = $(e.target).closest('.drp-calendar'), + isLeft = cal.hasClass('left'); + + var hour = parseInt(cal.find('.hourselect').val(), 10); + var minute = parseInt(cal.find('.minuteselect').val(), 10); + if (isNaN(minute)) { + minute = parseInt(cal.find('.minuteselect option:last').val(), 10); + } + var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0; + + if (!this.timePicker24Hour) { + var ampm = cal.find('.ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + + if (isLeft) { + var start = this.startDate.clone(); + start.hour(hour); + start.minute(minute); + start.second(second); + this.setStartDate(start); + if (this.singleDatePicker) { + this.endDate = this.startDate.clone(); + } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) { + this.setEndDate(start.clone()); + } + } else if (this.endDate) { + var end = this.endDate.clone(); + end.hour(hour); + end.minute(minute); + end.second(second); + this.setEndDate(end); + } + + //update the calendars so all clickable dates reflect the new time component + this.updateCalendars(); + + //update the form inputs above the calendars with the new time + this.updateFormInputs(); + + //re-render the time pickers because changing one selection can affect what's enabled in another + this.renderTimePicker('left'); + this.renderTimePicker('right'); + + }, + + elementChanged: function() { + if (!this.element.is('input')) return; + if (!this.element.val().length) return; + + var dateString = this.element.val().split(this.locale.separator), + start = null, + end = null; + + if (dateString.length === 2) { + start = moment(dateString[0], this.locale.format); + end = moment(dateString[1], this.locale.format); + } + + if (this.singleDatePicker || start === null || end === null) { + start = moment(this.element.val(), this.locale.format); + end = start; + } + + if (!start.isValid() || !end.isValid()) return; + + this.setStartDate(start); + this.setEndDate(end); + this.updateView(); + }, + + keydown: function(e) { + //hide on tab or enter + if ((e.keyCode === 9) || (e.keyCode === 13)) { + this.hide(); + } + + //hide on esc and prevent propagation + if (e.keyCode === 27) { + e.preventDefault(); + e.stopPropagation(); + + this.hide(); + } + }, + + updateElement: function() { + if (this.element.is('input') && this.autoUpdateInput) { + var newValue = this.startDate.format(this.locale.format); + if (!this.singleDatePicker) { + newValue += this.locale.separator + this.endDate.format(this.locale.format); + } + if (newValue !== this.element.val()) { + this.element.val(newValue).trigger('change'); + } + } + }, + + remove: function() { + this.container.remove(); + this.element.off('.daterangepicker'); + this.element.removeData(); + } + + }; + + $.fn.daterangepicker = function(options, callback) { + var implementOptions = $.extend(true, {}, $.fn.daterangepicker.defaultOptions, options); + this.each(function() { + var el = $(this); + if (el.data('daterangepicker')) + el.data('daterangepicker').remove(); + el.data('daterangepicker', new DateRangePicker(el, implementOptions, callback)); + }); + return this; + }; + + return DateRangePicker; + +})); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/bootstrap-daterangepicker/moment.min.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/bootstrap-daterangepicker/moment.min.js new file mode 100644 index 0000000000..5787a40854 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/bootstrap-daterangepicker/moment.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,i;function c(){return e.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function u(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e){return void 0===e}function h(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function f(e,t){var n,s=[];for(n=0;n>>0,s=0;sSe(e)?(r=e+1,o-Se(e)):(r=e,o),{year:r,dayOfYear:a}}function Ie(e,t,n){var s,i,r=Ve(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+Ae(i=e.year()-1,t,n):a>Ae(e.year(),t,n)?(s=a-Ae(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function Ae(e,t,n){var s=Ve(e,t,n),i=Ve(e+1,t,n);return(Se(e)-s+i)/7}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),C("week","w"),C("isoWeek","W"),F("week",5),F("isoWeek",5),ue("w",B),ue("ww",B,z),ue("W",B),ue("WW",B,z),fe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=D(e)});function je(e,t){return e.slice(t,7).concat(e.slice(0,t))}I("d",0,"do","day"),I("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),I("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),I("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),C("day","d"),C("weekday","e"),C("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),ue("d",B),ue("e",B),ue("E",B),ue("dd",function(e,t){return t.weekdaysMinRegex(e)}),ue("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ue("dddd",function(e,t){return t.weekdaysRegex(e)}),fe(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:g(n).invalidWeekday=e}),fe(["d","e","E"],function(e,t,n,s){t[s]=D(e)});var Ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var $e="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var qe=ae;var Je=ae;var Be=ae;function Qe(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=y([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);for(a.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=he(o[t]),u[t]=he(u[t]),l[t]=he(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Xe(){return this.hours()%12||12}function Ke(e,t){I(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function et(e,t){return t._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,Xe),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+Xe.apply(this)+L(this.minutes(),2)}),I("hmmss",0,0,function(){return""+Xe.apply(this)+L(this.minutes(),2)+L(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+L(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+L(this.minutes(),2)+L(this.seconds(),2)}),Ke("a",!0),Ke("A",!1),C("hour","h"),F("hour",13),ue("a",et),ue("A",et),ue("H",B),ue("h",B),ue("k",B),ue("HH",B,z),ue("hh",B,z),ue("kk",B,z),ue("hmm",Q),ue("hmmss",X),ue("Hmm",Q),ue("Hmmss",X),ce(["H","HH"],ge),ce(["k","kk"],function(e,t,n){var s=D(e);t[ge]=24===s?0:s}),ce(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ce(["h","hh"],function(e,t,n){t[ge]=D(e),g(n).bigHour=!0}),ce("hmm",function(e,t,n){var s=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s)),g(n).bigHour=!0}),ce("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s,2)),t[pe]=D(e.substr(i)),g(n).bigHour=!0}),ce("Hmm",function(e,t,n){var s=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s))}),ce("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s,2)),t[pe]=D(e.substr(i))});var tt,nt=Te("Hours",!0),st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ce,monthsShort:He,week:{dow:0,doy:6},weekdays:Ze,weekdaysMin:$e,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},it={},rt={};function at(e){return e?e.toLowerCase().replace("_","-"):e}function ot(e){var t=null;if(!it[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=tt._abbr,require("./locale/"+e),ut(t)}catch(e){}return it[e]}function ut(e,t){var n;return e&&((n=l(t)?ht(e):lt(e,t))?tt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),tt._abbr}function lt(e,t){if(null===t)return delete it[e],null;var n,s=st;if(t.abbr=e,null!=it[e])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=it[e]._config;else if(null!=t.parentLocale)if(null!=it[t.parentLocale])s=it[t.parentLocale]._config;else{if(null==(n=ot(t.parentLocale)))return rt[t.parentLocale]||(rt[t.parentLocale]=[]),rt[t.parentLocale].push({name:e,config:t}),null;s=n._config}return it[e]=new P(x(s,t)),rt[e]&&rt[e].forEach(function(e){lt(e.name,e.config)}),ut(e),it[e]}function ht(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return tt;if(!o(e)){if(t=ot(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r=t&&a(i,n,!0)>=t-1)break;t--}r++}return tt}(e)}function dt(e){var t,n=e._a;return n&&-2===g(e).overflow&&(t=n[_e]<0||11Pe(n[me],n[_e])?ye:n[ge]<0||24Ae(n,r,a)?g(e)._overflowWeeks=!0:null!=u?g(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[me]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=ct(e._a[me],s[me]),(e._dayOfYear>Se(r)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),n=Ge(r,0,e._dayOfYear),e._a[_e]=n.getUTCMonth(),e._a[ye]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=s[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ge]&&0===e._a[ve]&&0===e._a[pe]&&0===e._a[we]&&(e._nextDay=!0,e._a[ge]=0),e._d=(e._useUTC?Ge:function(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}).apply(null,a),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(g(e).weekdayMismatch=!0)}}var mt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,yt=/Z|[+-]\d\d(?::?\d\d)?/,gt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],vt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pt=/^\/?Date\((\-?\d+)/i;function wt(e){var t,n,s,i,r,a,o=e._i,u=mt.exec(o)||_t.exec(o);if(u){for(g(e).iso=!0,t=0,n=gt.length;tn.valueOf():n.valueOf()this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},mn.isLocal=function(){return!!this.isValid()&&!this._isUTC},mn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},mn.isUtc=Et,mn.isUTC=Et,mn.zoneAbbr=function(){return this._isUTC?"UTC":""},mn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},mn.dates=n("dates accessor is deprecated. Use date instead.",un),mn.months=n("months accessor is deprecated. Use month instead",Ue),mn.years=n("years accessor is deprecated. Use year instead",Oe),mn.zone=n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),mn.isDSTShifted=n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!l(this._isDSTShifted))return this._isDSTShifted;var e={};if(w(e,this),(e=Ot(e))._a){var t=e._isUTC?y(e._a):bt(e._a);this._isDSTShifted=this.isValid()&&0= 20 ? 'ste' : 'de') + ); // Thanks to Joris Röling : https://github.com/jjupiter + }, + week: { + dow: 1, // Maandag is die eerste dag van die week. + doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar. + }, + }); + + return af; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-dz.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-dz.js new file mode 100644 index 0000000000..109f6158a9 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-dz.js @@ -0,0 +1,167 @@ +//! moment.js locale configuration +//! locale : Arabic (Algeria) [ar-dz] +//! author : Amine Roukh: https://github.com/Amine27 +//! author : Abdel Said: https://github.com/abdelsaid +//! author : Ahmed Elkhatib +//! author : forabi https://github.com/forabi +//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var pluralForm = function (n) { + return n === 0 + ? 0 + : n === 1 + ? 1 + : n === 2 + ? 2 + : n % 100 >= 3 && n % 100 <= 10 + ? 3 + : n % 100 >= 11 + ? 4 + : 5; + }, + plurals = { + s: [ + 'أقل من ثانية', + 'ثانية واحدة', + ['ثانيتان', 'ثانيتين'], + '%d ثوان', + '%d ثانية', + '%d ثانية', + ], + m: [ + 'أقل من دقيقة', + 'دقيقة واحدة', + ['دقيقتان', 'دقيقتين'], + '%d دقائق', + '%d دقيقة', + '%d دقيقة', + ], + h: [ + 'أقل من ساعة', + 'ساعة واحدة', + ['ساعتان', 'ساعتين'], + '%d ساعات', + '%d ساعة', + '%d ساعة', + ], + d: [ + 'أقل من يوم', + 'يوم واحد', + ['يومان', 'يومين'], + '%d أيام', + '%d يومًا', + '%d يوم', + ], + M: [ + 'أقل من شهر', + 'شهر واحد', + ['شهران', 'شهرين'], + '%d أشهر', + '%d شهرا', + '%d شهر', + ], + y: [ + 'أقل من عام', + 'عام واحد', + ['عامان', 'عامين'], + '%d أعوام', + '%d عامًا', + '%d عام', + ], + }, + pluralize = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }, + months = [ + 'جانفي', + 'فيفري', + 'مارس', + 'أفريل', + 'ماي', + 'جوان', + 'جويلية', + 'أوت', + 'سبتمبر', + 'أكتوبر', + 'نوفمبر', + 'ديسمبر', + ]; + + var arDz = moment.defineLocale('ar-dz', { + months: months, + monthsShort: months, + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'D/\u200FM/\u200FYYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + meridiemParse: /ص|م/, + isPM: function (input) { + return 'م' === input; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'م'; + } + }, + calendar: { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'بعد %s', + past: 'منذ %s', + s: pluralize('s'), + ss: pluralize('s'), + m: pluralize('m'), + mm: pluralize('m'), + h: pluralize('h'), + hh: pluralize('h'), + d: pluralize('d'), + dd: pluralize('d'), + M: pluralize('M'), + MM: pluralize('M'), + y: pluralize('y'), + yy: pluralize('y'), + }, + postformat: function (string) { + return string.replace(/,/g, '،'); + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return arDz; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-kw.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-kw.js new file mode 100644 index 0000000000..c6ecef89fe --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-kw.js @@ -0,0 +1,66 @@ +//! moment.js locale configuration +//! locale : Arabic (Kuwait) [ar-kw] +//! author : Nusret Parlak: https://github.com/nusretparlak + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var arKw = moment.defineLocale('ar-kw', { + months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( + '_' + ), + monthsShort: + 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( + '_' + ), + weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + ss: '%d ثانية', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات', + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 12, // The week that contains Jan 12th is the first week of the year. + }, + }); + + return arKw; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-ly.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-ly.js new file mode 100644 index 0000000000..436b8f31b6 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-ly.js @@ -0,0 +1,182 @@ +//! moment.js locale configuration +//! locale : Arabic (Libya) [ar-ly] +//! author : Ali Hmer: https://github.com/kikoanis + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '1', + 2: '2', + 3: '3', + 4: '4', + 5: '5', + 6: '6', + 7: '7', + 8: '8', + 9: '9', + 0: '0', + }, + pluralForm = function (n) { + return n === 0 + ? 0 + : n === 1 + ? 1 + : n === 2 + ? 2 + : n % 100 >= 3 && n % 100 <= 10 + ? 3 + : n % 100 >= 11 + ? 4 + : 5; + }, + plurals = { + s: [ + 'أقل من ثانية', + 'ثانية واحدة', + ['ثانيتان', 'ثانيتين'], + '%d ثوان', + '%d ثانية', + '%d ثانية', + ], + m: [ + 'أقل من دقيقة', + 'دقيقة واحدة', + ['دقيقتان', 'دقيقتين'], + '%d دقائق', + '%d دقيقة', + '%d دقيقة', + ], + h: [ + 'أقل من ساعة', + 'ساعة واحدة', + ['ساعتان', 'ساعتين'], + '%d ساعات', + '%d ساعة', + '%d ساعة', + ], + d: [ + 'أقل من يوم', + 'يوم واحد', + ['يومان', 'يومين'], + '%d أيام', + '%d يومًا', + '%d يوم', + ], + M: [ + 'أقل من شهر', + 'شهر واحد', + ['شهران', 'شهرين'], + '%d أشهر', + '%d شهرا', + '%d شهر', + ], + y: [ + 'أقل من عام', + 'عام واحد', + ['عامان', 'عامين'], + '%d أعوام', + '%d عامًا', + '%d عام', + ], + }, + pluralize = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }, + months = [ + 'يناير', + 'فبراير', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوفمبر', + 'ديسمبر', + ]; + + var arLy = moment.defineLocale('ar-ly', { + months: months, + monthsShort: months, + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'D/\u200FM/\u200FYYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + meridiemParse: /ص|م/, + isPM: function (input) { + return 'م' === input; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'م'; + } + }, + calendar: { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'بعد %s', + past: 'منذ %s', + s: pluralize('s'), + ss: pluralize('s'), + m: pluralize('m'), + mm: pluralize('m'), + h: pluralize('h'), + hh: pluralize('h'), + d: pluralize('d'), + dd: pluralize('d'), + M: pluralize('M'), + MM: pluralize('M'), + y: pluralize('y'), + yy: pluralize('y'), + }, + preparse: function (string) { + return string.replace(/،/g, ','); + }, + postformat: function (string) { + return string + .replace(/\d/g, function (match) { + return symbolMap[match]; + }) + .replace(/,/g, '،'); + }, + week: { + dow: 6, // Saturday is the first day of the week. + doy: 12, // The week that contains Jan 12th is the first week of the year. + }, + }); + + return arLy; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-ma.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-ma.js new file mode 100644 index 0000000000..11f061a19d --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-ma.js @@ -0,0 +1,67 @@ +//! moment.js locale configuration +//! locale : Arabic (Morocco) [ar-ma] +//! author : ElFadili Yassine : https://github.com/ElFadiliY +//! author : Abdel Said : https://github.com/abdelsaid + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var arMa = moment.defineLocale('ar-ma', { + months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( + '_' + ), + monthsShort: + 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( + '_' + ), + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + ss: '%d ثانية', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات', + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return arMa; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-sa.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-sa.js new file mode 100644 index 0000000000..e329df08b0 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-sa.js @@ -0,0 +1,116 @@ +//! moment.js locale configuration +//! locale : Arabic (Saudi Arabia) [ar-sa] +//! author : Suhail Alkowaileet : https://github.com/xsoh + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '١', + 2: '٢', + 3: '٣', + 4: '٤', + 5: '٥', + 6: '٦', + 7: '٧', + 8: '٨', + 9: '٩', + 0: '٠', + }, + numberMap = { + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + '٠': '0', + }; + + var arSa = moment.defineLocale('ar-sa', { + months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( + '_' + ), + monthsShort: + 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( + '_' + ), + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + meridiemParse: /ص|م/, + isPM: function (input) { + return 'م' === input; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'م'; + } + }, + calendar: { + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + ss: '%d ثانية', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات', + }, + preparse: function (string) { + return string + .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }) + .replace(/،/g, ','); + }, + postformat: function (string) { + return string + .replace(/\d/g, function (match) { + return symbolMap[match]; + }) + .replace(/,/g, '،'); + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return arSa; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-tn.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-tn.js new file mode 100644 index 0000000000..a390ed2294 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar-tn.js @@ -0,0 +1,66 @@ +//! moment.js locale configuration +//! locale : Arabic (Tunisia) [ar-tn] +//! author : Nader Toukabri : https://github.com/naderio + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var arTn = moment.defineLocale('ar-tn', { + months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( + '_' + ), + monthsShort: + 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( + '_' + ), + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'في %s', + past: 'منذ %s', + s: 'ثوان', + ss: '%d ثانية', + m: 'دقيقة', + mm: '%d دقائق', + h: 'ساعة', + hh: '%d ساعات', + d: 'يوم', + dd: '%d أيام', + M: 'شهر', + MM: '%d أشهر', + y: 'سنة', + yy: '%d سنوات', + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return arTn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar.js new file mode 100644 index 0000000000..7394244eba --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ar.js @@ -0,0 +1,200 @@ +//! moment.js locale configuration +//! locale : Arabic [ar] +//! author : Abdel Said: https://github.com/abdelsaid +//! author : Ahmed Elkhatib +//! author : forabi https://github.com/forabi + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '١', + 2: '٢', + 3: '٣', + 4: '٤', + 5: '٥', + 6: '٦', + 7: '٧', + 8: '٨', + 9: '٩', + 0: '٠', + }, + numberMap = { + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + '٠': '0', + }, + pluralForm = function (n) { + return n === 0 + ? 0 + : n === 1 + ? 1 + : n === 2 + ? 2 + : n % 100 >= 3 && n % 100 <= 10 + ? 3 + : n % 100 >= 11 + ? 4 + : 5; + }, + plurals = { + s: [ + 'أقل من ثانية', + 'ثانية واحدة', + ['ثانيتان', 'ثانيتين'], + '%d ثوان', + '%d ثانية', + '%d ثانية', + ], + m: [ + 'أقل من دقيقة', + 'دقيقة واحدة', + ['دقيقتان', 'دقيقتين'], + '%d دقائق', + '%d دقيقة', + '%d دقيقة', + ], + h: [ + 'أقل من ساعة', + 'ساعة واحدة', + ['ساعتان', 'ساعتين'], + '%d ساعات', + '%d ساعة', + '%d ساعة', + ], + d: [ + 'أقل من يوم', + 'يوم واحد', + ['يومان', 'يومين'], + '%d أيام', + '%d يومًا', + '%d يوم', + ], + M: [ + 'أقل من شهر', + 'شهر واحد', + ['شهران', 'شهرين'], + '%d أشهر', + '%d شهرا', + '%d شهر', + ], + y: [ + 'أقل من عام', + 'عام واحد', + ['عامان', 'عامين'], + '%d أعوام', + '%d عامًا', + '%d عام', + ], + }, + pluralize = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }, + months = [ + 'يناير', + 'فبراير', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوفمبر', + 'ديسمبر', + ]; + + var ar = moment.defineLocale('ar', { + months: months, + monthsShort: months, + weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'D/\u200FM/\u200FYYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + meridiemParse: /ص|م/, + isPM: function (input) { + return 'م' === input; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'م'; + } + }, + calendar: { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'بعد %s', + past: 'منذ %s', + s: pluralize('s'), + ss: pluralize('s'), + m: pluralize('m'), + mm: pluralize('m'), + h: pluralize('h'), + hh: pluralize('h'), + d: pluralize('d'), + dd: pluralize('d'), + M: pluralize('M'), + MM: pluralize('M'), + y: pluralize('y'), + yy: pluralize('y'), + }, + preparse: function (string) { + return string + .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }) + .replace(/،/g, ','); + }, + postformat: function (string) { + return string + .replace(/\d/g, function (match) { + return symbolMap[match]; + }) + .replace(/,/g, '،'); + }, + week: { + dow: 6, // Saturday is the first day of the week. + doy: 12, // The week that contains Jan 12th is the first week of the year. + }, + }); + + return ar; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/az.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/az.js new file mode 100644 index 0000000000..472bee160e --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/az.js @@ -0,0 +1,113 @@ +//! moment.js locale configuration +//! locale : Azerbaijani [az] +//! author : topchiyev : https://github.com/topchiyev + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var suffixes = { + 1: '-inci', + 5: '-inci', + 8: '-inci', + 70: '-inci', + 80: '-inci', + 2: '-nci', + 7: '-nci', + 20: '-nci', + 50: '-nci', + 3: '-üncü', + 4: '-üncü', + 100: '-üncü', + 6: '-ncı', + 9: '-uncu', + 10: '-uncu', + 30: '-uncu', + 60: '-ıncı', + 90: '-ıncı', + }; + + var az = moment.defineLocale('az', { + months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split( + '_' + ), + monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), + weekdays: + 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split( + '_' + ), + weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), + weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[bugün saat] LT', + nextDay: '[sabah saat] LT', + nextWeek: '[gələn həftə] dddd [saat] LT', + lastDay: '[dünən] LT', + lastWeek: '[keçən həftə] dddd [saat] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s sonra', + past: '%s əvvəl', + s: 'bir neçə saniyə', + ss: '%d saniyə', + m: 'bir dəqiqə', + mm: '%d dəqiqə', + h: 'bir saat', + hh: '%d saat', + d: 'bir gün', + dd: '%d gün', + M: 'bir ay', + MM: '%d ay', + y: 'bir il', + yy: '%d il', + }, + meridiemParse: /gecə|səhər|gündüz|axşam/, + isPM: function (input) { + return /^(gündüz|axşam)$/.test(input); + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'gecə'; + } else if (hour < 12) { + return 'səhər'; + } else if (hour < 17) { + return 'gündüz'; + } else { + return 'axşam'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, + ordinal: function (number) { + if (number === 0) { + // special case for zero + return number + '-ıncı'; + } + var a = number % 10, + b = (number % 100) - a, + c = number >= 100 ? 100 : null; + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return az; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/be.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/be.js new file mode 100644 index 0000000000..3631912216 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/be.js @@ -0,0 +1,153 @@ +//! moment.js locale configuration +//! locale : Belarusian [be] +//! author : Dmitry Demidov : https://github.com/demidov91 +//! author: Praleska: http://praleska.pro/ +//! Author : Menelion Elensúle : https://github.com/Oire + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 + ? forms[0] + : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) + ? forms[1] + : forms[2]; + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', + mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', + hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', + dd: 'дзень_дні_дзён', + MM: 'месяц_месяцы_месяцаў', + yy: 'год_гады_гадоў', + }; + if (key === 'm') { + return withoutSuffix ? 'хвіліна' : 'хвіліну'; + } else if (key === 'h') { + return withoutSuffix ? 'гадзіна' : 'гадзіну'; + } else { + return number + ' ' + plural(format[key], +number); + } + } + + var be = moment.defineLocale('be', { + months: { + format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split( + '_' + ), + standalone: + 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split( + '_' + ), + }, + monthsShort: + 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'), + weekdays: { + format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split( + '_' + ), + standalone: + 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split( + '_' + ), + isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/, + }, + weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), + weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY г.', + LLL: 'D MMMM YYYY г., HH:mm', + LLLL: 'dddd, D MMMM YYYY г., HH:mm', + }, + calendar: { + sameDay: '[Сёння ў] LT', + nextDay: '[Заўтра ў] LT', + lastDay: '[Учора ў] LT', + nextWeek: function () { + return '[У] dddd [ў] LT'; + }, + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return '[У мінулую] dddd [ў] LT'; + case 1: + case 2: + case 4: + return '[У мінулы] dddd [ў] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'праз %s', + past: '%s таму', + s: 'некалькі секунд', + m: relativeTimeWithPlural, + mm: relativeTimeWithPlural, + h: relativeTimeWithPlural, + hh: relativeTimeWithPlural, + d: 'дзень', + dd: relativeTimeWithPlural, + M: 'месяц', + MM: relativeTimeWithPlural, + y: 'год', + yy: relativeTimeWithPlural, + }, + meridiemParse: /ночы|раніцы|дня|вечара/, + isPM: function (input) { + return /^(дня|вечара)$/.test(input); + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'ночы'; + } else if (hour < 12) { + return 'раніцы'; + } else if (hour < 17) { + return 'дня'; + } else { + return 'вечара'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return (number % 10 === 2 || number % 10 === 3) && + number % 100 !== 12 && + number % 100 !== 13 + ? number + '-і' + : number + '-ы'; + case 'D': + return number + '-га'; + default: + return number; + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return be; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bg.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bg.js new file mode 100644 index 0000000000..5a1bda825b --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bg.js @@ -0,0 +1,98 @@ +//! moment.js locale configuration +//! locale : Bulgarian [bg] +//! author : Krasen Borisov : https://github.com/kraz + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var bg = moment.defineLocale('bg', { + months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split( + '_' + ), + monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'), + weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split( + '_' + ), + weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), + weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'D.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY H:mm', + LLLL: 'dddd, D MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[Днес в] LT', + nextDay: '[Утре в] LT', + nextWeek: 'dddd [в] LT', + lastDay: '[Вчера в] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Миналата] dddd [в] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Миналия] dddd [в] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'след %s', + past: 'преди %s', + s: 'няколко секунди', + ss: '%d секунди', + m: 'минута', + mm: '%d минути', + h: 'час', + hh: '%d часа', + d: 'ден', + dd: '%d дена', + w: 'седмица', + ww: '%d седмици', + M: 'месец', + MM: '%d месеца', + y: 'година', + yy: '%d години', + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, + ordinal: function (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return bg; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bm.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bm.js new file mode 100644 index 0000000000..302410cb00 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bm.js @@ -0,0 +1,62 @@ +//! moment.js locale configuration +//! locale : Bambara [bm] +//! author : Estelle Comment : https://github.com/estellecomment + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var bm = moment.defineLocale('bm', { + months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split( + '_' + ), + monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'), + weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), + weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'), + weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'MMMM [tile] D [san] YYYY', + LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', + LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', + }, + calendar: { + sameDay: '[Bi lɛrɛ] LT', + nextDay: '[Sini lɛrɛ] LT', + nextWeek: 'dddd [don lɛrɛ] LT', + lastDay: '[Kunu lɛrɛ] LT', + lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s kɔnɔ', + past: 'a bɛ %s bɔ', + s: 'sanga dama dama', + ss: 'sekondi %d', + m: 'miniti kelen', + mm: 'miniti %d', + h: 'lɛrɛ kelen', + hh: 'lɛrɛ %d', + d: 'tile kelen', + dd: 'tile %d', + M: 'kalo kelen', + MM: 'kalo %d', + y: 'san kelen', + yy: 'san %d', + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return bm; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bn-bd.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bn-bd.js new file mode 100644 index 0000000000..1154aa4efc --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bn-bd.js @@ -0,0 +1,140 @@ +//! moment.js locale configuration +//! locale : Bengali (Bangladesh) [bn-bd] +//! author : Asraf Hossain Patoary : https://github.com/ashwoolford + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '১', + 2: '২', + 3: '৩', + 4: '৪', + 5: '৫', + 6: '৬', + 7: '৭', + 8: '৮', + 9: '৯', + 0: '০', + }, + numberMap = { + '১': '1', + '২': '2', + '৩': '3', + '৪': '4', + '৫': '5', + '৬': '6', + '৭': '7', + '৮': '8', + '৯': '9', + '০': '0', + }; + + var bnBd = moment.defineLocale('bn-bd', { + months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( + '_' + ), + monthsShort: + 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( + '_' + ), + weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( + '_' + ), + weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), + weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), + longDateFormat: { + LT: 'A h:mm সময়', + LTS: 'A h:mm:ss সময়', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm সময়', + LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', + }, + calendar: { + sameDay: '[আজ] LT', + nextDay: '[আগামীকাল] LT', + nextWeek: 'dddd, LT', + lastDay: '[গতকাল] LT', + lastWeek: '[গত] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s পরে', + past: '%s আগে', + s: 'কয়েক সেকেন্ড', + ss: '%d সেকেন্ড', + m: 'এক মিনিট', + mm: '%d মিনিট', + h: 'এক ঘন্টা', + hh: '%d ঘন্টা', + d: 'এক দিন', + dd: '%d দিন', + M: 'এক মাস', + MM: '%d মাস', + y: 'এক বছর', + yy: '%d বছর', + }, + preparse: function (string) { + return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + + meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'রাত') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ভোর') { + return hour; + } else if (meridiem === 'সকাল') { + return hour; + } else if (meridiem === 'দুপুর') { + return hour >= 3 ? hour : hour + 12; + } else if (meridiem === 'বিকাল') { + return hour + 12; + } else if (meridiem === 'সন্ধ্যা') { + return hour + 12; + } + }, + + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'রাত'; + } else if (hour < 6) { + return 'ভোর'; + } else if (hour < 12) { + return 'সকাল'; + } else if (hour < 15) { + return 'দুপুর'; + } else if (hour < 18) { + return 'বিকাল'; + } else if (hour < 20) { + return 'সন্ধ্যা'; + } else { + return 'রাত'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return bnBd; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bn.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bn.js new file mode 100644 index 0000000000..e5e3e5f519 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bn.js @@ -0,0 +1,130 @@ +//! moment.js locale configuration +//! locale : Bengali [bn] +//! author : Kaushik Gandhi : https://github.com/kaushikgandhi + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '১', + 2: '২', + 3: '৩', + 4: '৪', + 5: '৫', + 6: '৬', + 7: '৭', + 8: '৮', + 9: '৯', + 0: '০', + }, + numberMap = { + '১': '1', + '২': '2', + '৩': '3', + '৪': '4', + '৫': '5', + '৬': '6', + '৭': '7', + '৮': '8', + '৯': '9', + '০': '0', + }; + + var bn = moment.defineLocale('bn', { + months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( + '_' + ), + monthsShort: + 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( + '_' + ), + weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( + '_' + ), + weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), + weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), + longDateFormat: { + LT: 'A h:mm সময়', + LTS: 'A h:mm:ss সময়', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm সময়', + LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', + }, + calendar: { + sameDay: '[আজ] LT', + nextDay: '[আগামীকাল] LT', + nextWeek: 'dddd, LT', + lastDay: '[গতকাল] LT', + lastWeek: '[গত] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s পরে', + past: '%s আগে', + s: 'কয়েক সেকেন্ড', + ss: '%d সেকেন্ড', + m: 'এক মিনিট', + mm: '%d মিনিট', + h: 'এক ঘন্টা', + hh: '%d ঘন্টা', + d: 'এক দিন', + dd: '%d দিন', + M: 'এক মাস', + MM: '%d মাস', + y: 'এক বছর', + yy: '%d বছর', + }, + preparse: function (string) { + return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ( + (meridiem === 'রাত' && hour >= 4) || + (meridiem === 'দুপুর' && hour < 5) || + meridiem === 'বিকাল' + ) { + return hour + 12; + } else { + return hour; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'রাত'; + } else if (hour < 10) { + return 'সকাল'; + } else if (hour < 17) { + return 'দুপুর'; + } else if (hour < 20) { + return 'বিকাল'; + } else { + return 'রাত'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return bn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bo.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bo.js new file mode 100644 index 0000000000..c4a7c52109 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bo.js @@ -0,0 +1,135 @@ +//! moment.js locale configuration +//! locale : Tibetan [bo] +//! author : Thupten N. Chakrishar : https://github.com/vajradog + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '༡', + 2: '༢', + 3: '༣', + 4: '༤', + 5: '༥', + 6: '༦', + 7: '༧', + 8: '༨', + 9: '༩', + 0: '༠', + }, + numberMap = { + '༡': '1', + '༢': '2', + '༣': '3', + '༤': '4', + '༥': '5', + '༦': '6', + '༧': '7', + '༨': '8', + '༩': '9', + '༠': '0', + }; + + var bo = moment.defineLocale('bo', { + months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split( + '_' + ), + monthsShort: + 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split( + '_' + ), + monthsShortRegex: /^(ཟླ་\d{1,2})/, + monthsParseExact: true, + weekdays: + 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split( + '_' + ), + weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split( + '_' + ), + weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'), + longDateFormat: { + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm', + LLLL: 'dddd, D MMMM YYYY, A h:mm', + }, + calendar: { + sameDay: '[དི་རིང] LT', + nextDay: '[སང་ཉིན] LT', + nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT', + lastDay: '[ཁ་སང] LT', + lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s ལ་', + past: '%s སྔན་ལ', + s: 'ལམ་སང', + ss: '%d སྐར་ཆ།', + m: 'སྐར་མ་གཅིག', + mm: '%d སྐར་མ', + h: 'ཆུ་ཚོད་གཅིག', + hh: '%d ཆུ་ཚོད', + d: 'ཉིན་གཅིག', + dd: '%d ཉིན་', + M: 'ཟླ་བ་གཅིག', + MM: '%d ཟླ་བ', + y: 'ལོ་གཅིག', + yy: '%d ལོ', + }, + preparse: function (string) { + return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ( + (meridiem === 'མཚན་མོ' && hour >= 4) || + (meridiem === 'ཉིན་གུང' && hour < 5) || + meridiem === 'དགོང་དག' + ) { + return hour + 12; + } else { + return hour; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'མཚན་མོ'; + } else if (hour < 10) { + return 'ཞོགས་ཀས'; + } else if (hour < 17) { + return 'ཉིན་གུང'; + } else if (hour < 20) { + return 'དགོང་དག'; + } else { + return 'མཚན་མོ'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return bo; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/br.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/br.js new file mode 100644 index 0000000000..bd047fe435 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/br.js @@ -0,0 +1,179 @@ +//! moment.js locale configuration +//! locale : Breton [br] +//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function relativeTimeWithMutation(number, withoutSuffix, key) { + var format = { + mm: 'munutenn', + MM: 'miz', + dd: 'devezh', + }; + return number + ' ' + mutation(format[key], number); + } + function specialMutationForYears(number) { + switch (lastNumber(number)) { + case 1: + case 3: + case 4: + case 5: + case 9: + return number + ' bloaz'; + default: + return number + ' vloaz'; + } + } + function lastNumber(number) { + if (number > 9) { + return lastNumber(number % 10); + } + return number; + } + function mutation(text, number) { + if (number === 2) { + return softMutation(text); + } + return text; + } + function softMutation(text) { + var mutationTable = { + m: 'v', + b: 'v', + d: 'z', + }; + if (mutationTable[text.charAt(0)] === undefined) { + return text; + } + return mutationTable[text.charAt(0)] + text.substring(1); + } + + var monthsParse = [ + /^gen/i, + /^c[ʼ\']hwe/i, + /^meu/i, + /^ebr/i, + /^mae/i, + /^(mez|eve)/i, + /^gou/i, + /^eos/i, + /^gwe/i, + /^her/i, + /^du/i, + /^ker/i, + ], + monthsRegex = + /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, + monthsStrictRegex = + /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i, + monthsShortStrictRegex = + /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, + fullWeekdaysParse = [ + /^sul/i, + /^lun/i, + /^meurzh/i, + /^merc[ʼ\']her/i, + /^yaou/i, + /^gwener/i, + /^sadorn/i, + ], + shortWeekdaysParse = [ + /^Sul/i, + /^Lun/i, + /^Meu/i, + /^Mer/i, + /^Yao/i, + /^Gwe/i, + /^Sad/i, + ], + minWeekdaysParse = [ + /^Su/i, + /^Lu/i, + /^Me([^r]|$)/i, + /^Mer/i, + /^Ya/i, + /^Gw/i, + /^Sa/i, + ]; + + var br = moment.defineLocale('br', { + months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split( + '_' + ), + monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), + weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), + weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), + weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), + weekdaysParse: minWeekdaysParse, + fullWeekdaysParse: fullWeekdaysParse, + shortWeekdaysParse: shortWeekdaysParse, + minWeekdaysParse: minWeekdaysParse, + + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: monthsStrictRegex, + monthsShortStrictRegex: monthsShortStrictRegex, + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [a viz] MMMM YYYY', + LLL: 'D [a viz] MMMM YYYY HH:mm', + LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Hiziv da] LT', + nextDay: '[Warcʼhoazh da] LT', + nextWeek: 'dddd [da] LT', + lastDay: '[Decʼh da] LT', + lastWeek: 'dddd [paset da] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'a-benn %s', + past: '%s ʼzo', + s: 'un nebeud segondennoù', + ss: '%d eilenn', + m: 'ur vunutenn', + mm: relativeTimeWithMutation, + h: 'un eur', + hh: '%d eur', + d: 'un devezh', + dd: relativeTimeWithMutation, + M: 'ur miz', + MM: relativeTimeWithMutation, + y: 'ur bloaz', + yy: specialMutationForYears, + }, + dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, + ordinal: function (number) { + var output = number === 1 ? 'añ' : 'vet'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn + isPM: function (token) { + return token === 'g.m.'; + }, + meridiem: function (hour, minute, isLower) { + return hour < 12 ? 'a.m.' : 'g.m.'; + }, + }); + + return br; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bs.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bs.js new file mode 100644 index 0000000000..e0d6c85115 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/bs.js @@ -0,0 +1,161 @@ +//! moment.js locale configuration +//! locale : Bosnian [bs] +//! author : Nedim Cholich : https://github.com/frontyard +//! based on (hr) translation by Bojan Marković + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + if (number === 1) { + result += 'sekunda'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sekunde'; + } else { + result += 'sekundi'; + } + return result; + case 'm': + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minuta'; + } + return result; + case 'h': + return withoutSuffix ? 'jedan sat' : 'jednog sata'; + case 'hh': + if (number === 1) { + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; + } else { + result += 'sati'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dana'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; + } else { + result += 'mjeseci'; + } + return result; + case 'yy': + if (number === 1) { + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; + } else { + result += 'godina'; + } + return result; + } + } + + var bs = moment.defineLocale('bs', { + months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split( + '_' + ), + monthsShort: + 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( + '_' + ), + weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay: '[jučer u] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + return '[prošlu] dddd [u] LT'; + case 6: + return '[prošle] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[prošli] dddd [u] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'prije %s', + s: 'par sekundi', + ss: translate, + m: translate, + mm: translate, + h: translate, + hh: translate, + d: 'dan', + dd: translate, + M: 'mjesec', + MM: translate, + y: 'godinu', + yy: translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return bs; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ca.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ca.js new file mode 100644 index 0000000000..133071f06e --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ca.js @@ -0,0 +1,111 @@ +//! moment.js locale configuration +//! locale : Catalan [ca] +//! author : Juan G. Hurtado : https://github.com/juanghurtado + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var ca = moment.defineLocale('ca', { + months: { + standalone: + 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split( + '_' + ), + format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split( + '_' + ), + isFormat: /D[oD]?(\s)+MMMM/, + }, + monthsShort: + 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split( + '_' + ), + monthsParseExact: true, + weekdays: + 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split( + '_' + ), + weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), + weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM [de] YYYY', + ll: 'D MMM YYYY', + LLL: 'D MMMM [de] YYYY [a les] H:mm', + lll: 'D MMM YYYY, H:mm', + LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm', + llll: 'ddd D MMM YYYY, H:mm', + }, + calendar: { + sameDay: function () { + return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; + }, + nextDay: function () { + return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; + }, + nextWeek: function () { + return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; + }, + lastDay: function () { + return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; + }, + lastWeek: function () { + return ( + '[el] dddd [passat a ' + + (this.hours() !== 1 ? 'les' : 'la') + + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: "d'aquí %s", + past: 'fa %s', + s: 'uns segons', + ss: '%d segons', + m: 'un minut', + mm: '%d minuts', + h: 'una hora', + hh: '%d hores', + d: 'un dia', + dd: '%d dies', + M: 'un mes', + MM: '%d mesos', + y: 'un any', + yy: '%d anys', + }, + dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, + ordinal: function (number, period) { + var output = + number === 1 + ? 'r' + : number === 2 + ? 'n' + : number === 3 + ? 'r' + : number === 4 + ? 't' + : 'è'; + if (period === 'w' || period === 'W') { + output = 'a'; + } + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return ca; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/cs.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/cs.js new file mode 100644 index 0000000000..43d0ebd3ba --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/cs.js @@ -0,0 +1,191 @@ +//! moment.js locale configuration +//! locale : Czech [cs] +//! author : petrbela : https://github.com/petrbela + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var months = { + format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split( + '_' + ), + standalone: + 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split( + '_' + ), + }, + monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'), + monthsParse = [ + /^led/i, + /^úno/i, + /^bře/i, + /^dub/i, + /^kvě/i, + /^(čvn|červen$|června)/i, + /^(čvc|červenec|července)/i, + /^srp/i, + /^zář/i, + /^říj/i, + /^lis/i, + /^pro/i, + ], + // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. + // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. + monthsRegex = + /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i; + + function plural(n) { + return n > 1 && n < 5 && ~~(n / 10) !== 1; + } + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami'; + case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'sekundy' : 'sekund'); + } else { + return result + 'sekundami'; + } + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou'; + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'minuty' : 'minut'); + } else { + return result + 'minutami'; + } + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'hodiny' : 'hodin'); + } else { + return result + 'hodinami'; + } + case 'd': // a day / in a day / a day ago + return withoutSuffix || isFuture ? 'den' : 'dnem'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'dny' : 'dní'); + } else { + return result + 'dny'; + } + case 'M': // a month / in a month / a month ago + return withoutSuffix || isFuture ? 'měsíc' : 'měsícem'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'měsíce' : 'měsíců'); + } else { + return result + 'měsíci'; + } + case 'y': // a year / in a year / a year ago + return withoutSuffix || isFuture ? 'rok' : 'rokem'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'roky' : 'let'); + } else { + return result + 'lety'; + } + } + } + + var cs = moment.defineLocale('cs', { + months: months, + monthsShort: monthsShort, + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched. + // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'. + monthsStrictRegex: + /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i, + monthsShortStrictRegex: + /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i, + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'), + weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), + weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd D. MMMM YYYY H:mm', + l: 'D. M. YYYY', + }, + calendar: { + sameDay: '[dnes v] LT', + nextDay: '[zítra v] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v neděli v] LT'; + case 1: + case 2: + return '[v] dddd [v] LT'; + case 3: + return '[ve středu v] LT'; + case 4: + return '[ve čtvrtek v] LT'; + case 5: + return '[v pátek v] LT'; + case 6: + return '[v sobotu v] LT'; + } + }, + lastDay: '[včera v] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulou neděli v] LT'; + case 1: + case 2: + return '[minulé] dddd [v] LT'; + case 3: + return '[minulou středu v] LT'; + case 4: + case 5: + return '[minulý] dddd [v] LT'; + case 6: + return '[minulou sobotu v] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'před %s', + s: translate, + ss: translate, + m: translate, + mm: translate, + h: translate, + hh: translate, + d: translate, + dd: translate, + M: translate, + MM: translate, + y: translate, + yy: translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return cs; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/cv.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/cv.js new file mode 100644 index 0000000000..abb1d4f50e --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/cv.js @@ -0,0 +1,74 @@ +//! moment.js locale configuration +//! locale : Chuvash [cv] +//! author : Anatoly Mironov : https://github.com/mirontoli + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var cv = moment.defineLocale('cv', { + months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split( + '_' + ), + monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), + weekdays: + 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split( + '_' + ), + weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), + weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD-MM-YYYY', + LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', + LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', + LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', + }, + calendar: { + sameDay: '[Паян] LT [сехетре]', + nextDay: '[Ыран] LT [сехетре]', + lastDay: '[Ӗнер] LT [сехетре]', + nextWeek: '[Ҫитес] dddd LT [сехетре]', + lastWeek: '[Иртнӗ] dddd LT [сехетре]', + sameElse: 'L', + }, + relativeTime: { + future: function (output) { + var affix = /сехет$/i.exec(output) + ? 'рен' + : /ҫул$/i.exec(output) + ? 'тан' + : 'ран'; + return output + affix; + }, + past: '%s каялла', + s: 'пӗр-ик ҫеккунт', + ss: '%d ҫеккунт', + m: 'пӗр минут', + mm: '%d минут', + h: 'пӗр сехет', + hh: '%d сехет', + d: 'пӗр кун', + dd: '%d кун', + M: 'пӗр уйӑх', + MM: '%d уйӑх', + y: 'пӗр ҫул', + yy: '%d ҫул', + }, + dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, + ordinal: '%d-мӗш', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return cv; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/cy.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/cy.js new file mode 100644 index 0000000000..3b987f277e --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/cy.js @@ -0,0 +1,109 @@ +//! moment.js locale configuration +//! locale : Welsh [cy] +//! author : Robert Allen : https://github.com/robgallen +//! author : https://github.com/ryangreaves + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var cy = moment.defineLocale('cy', { + months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split( + '_' + ), + monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split( + '_' + ), + weekdays: + 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split( + '_' + ), + weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), + weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), + weekdaysParseExact: true, + // time formats are the same as en-gb + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Heddiw am] LT', + nextDay: '[Yfory am] LT', + nextWeek: 'dddd [am] LT', + lastDay: '[Ddoe am] LT', + lastWeek: 'dddd [diwethaf am] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'mewn %s', + past: '%s yn ôl', + s: 'ychydig eiliadau', + ss: '%d eiliad', + m: 'munud', + mm: '%d munud', + h: 'awr', + hh: '%d awr', + d: 'diwrnod', + dd: '%d diwrnod', + M: 'mis', + MM: '%d mis', + y: 'blwyddyn', + yy: '%d flynedd', + }, + dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, + // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh + ordinal: function (number) { + var b = number, + output = '', + lookup = [ + '', + 'af', + 'il', + 'ydd', + 'ydd', + 'ed', + 'ed', + 'ed', + 'fed', + 'fed', + 'fed', // 1af to 10fed + 'eg', + 'fed', + 'eg', + 'eg', + 'fed', + 'eg', + 'eg', + 'fed', + 'eg', + 'fed', // 11eg to 20fed + ]; + if (b > 20) { + if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { + output = 'fed'; // not 30ain, 70ain or 90ain + } else { + output = 'ain'; + } + } else if (b > 0) { + output = lookup[b]; + } + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return cy; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/da.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/da.js new file mode 100644 index 0000000000..2ed05839c8 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/da.js @@ -0,0 +1,64 @@ +//! moment.js locale configuration +//! locale : Danish [da] +//! author : Ulrik Nielsen : https://github.com/mrbase + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var da = moment.defineLocale('da', { + months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split( + '_' + ), + monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), + weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY HH:mm', + LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm', + }, + calendar: { + sameDay: '[i dag kl.] LT', + nextDay: '[i morgen kl.] LT', + nextWeek: 'på dddd [kl.] LT', + lastDay: '[i går kl.] LT', + lastWeek: '[i] dddd[s kl.] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'om %s', + past: '%s siden', + s: 'få sekunder', + ss: '%d sekunder', + m: 'et minut', + mm: '%d minutter', + h: 'en time', + hh: '%d timer', + d: 'en dag', + dd: '%d dage', + M: 'en måned', + MM: '%d måneder', + y: 'et år', + yy: '%d år', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return da; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/de-at.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/de-at.js new file mode 100644 index 0000000000..7c3130284d --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/de-at.js @@ -0,0 +1,90 @@ +//! moment.js locale configuration +//! locale : German (Austria) [de-at] +//! author : lluchs : https://github.com/lluchs +//! author: Menelion Elensúle: https://github.com/Oire +//! author : Martin Groller : https://github.com/MadMG +//! author : Mikolaj Dadela : https://github.com/mik01aj + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + m: ['eine Minute', 'einer Minute'], + h: ['eine Stunde', 'einer Stunde'], + d: ['ein Tag', 'einem Tag'], + dd: [number + ' Tage', number + ' Tagen'], + w: ['eine Woche', 'einer Woche'], + M: ['ein Monat', 'einem Monat'], + MM: [number + ' Monate', number + ' Monaten'], + y: ['ein Jahr', 'einem Jahr'], + yy: [number + ' Jahre', number + ' Jahren'], + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + var deAt = moment.defineLocale('de-at', { + months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( + '_' + ), + monthsShort: + 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact: true, + weekdays: + 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( + '_' + ), + weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY HH:mm', + LLLL: 'dddd, D. MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]', + }, + relativeTime: { + future: 'in %s', + past: 'vor %s', + s: 'ein paar Sekunden', + ss: '%d Sekunden', + m: processRelativeTime, + mm: '%d Minuten', + h: processRelativeTime, + hh: '%d Stunden', + d: processRelativeTime, + dd: processRelativeTime, + w: processRelativeTime, + ww: '%d Wochen', + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return deAt; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/de-ch.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/de-ch.js new file mode 100644 index 0000000000..10fed176d2 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/de-ch.js @@ -0,0 +1,87 @@ +//! moment.js locale configuration +//! locale : German (Switzerland) [de-ch] +//! author : sschueller : https://github.com/sschueller + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + m: ['eine Minute', 'einer Minute'], + h: ['eine Stunde', 'einer Stunde'], + d: ['ein Tag', 'einem Tag'], + dd: [number + ' Tage', number + ' Tagen'], + w: ['eine Woche', 'einer Woche'], + M: ['ein Monat', 'einem Monat'], + MM: [number + ' Monate', number + ' Monaten'], + y: ['ein Jahr', 'einem Jahr'], + yy: [number + ' Jahre', number + ' Jahren'], + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + var deCh = moment.defineLocale('de-ch', { + months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( + '_' + ), + monthsShort: + 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact: true, + weekdays: + 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( + '_' + ), + weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY HH:mm', + LLLL: 'dddd, D. MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]', + }, + relativeTime: { + future: 'in %s', + past: 'vor %s', + s: 'ein paar Sekunden', + ss: '%d Sekunden', + m: processRelativeTime, + mm: '%d Minuten', + h: processRelativeTime, + hh: '%d Stunden', + d: processRelativeTime, + dd: processRelativeTime, + w: processRelativeTime, + ww: '%d Wochen', + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return deCh; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/de.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/de.js new file mode 100644 index 0000000000..cc061ebf46 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/de.js @@ -0,0 +1,89 @@ +//! moment.js locale configuration +//! locale : German [de] +//! author : lluchs : https://github.com/lluchs +//! author: Menelion Elensúle: https://github.com/Oire +//! author : Mikolaj Dadela : https://github.com/mik01aj + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + m: ['eine Minute', 'einer Minute'], + h: ['eine Stunde', 'einer Stunde'], + d: ['ein Tag', 'einem Tag'], + dd: [number + ' Tage', number + ' Tagen'], + w: ['eine Woche', 'einer Woche'], + M: ['ein Monat', 'einem Monat'], + MM: [number + ' Monate', number + ' Monaten'], + y: ['ein Jahr', 'einem Jahr'], + yy: [number + ' Jahre', number + ' Jahren'], + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + + var de = moment.defineLocale('de', { + months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( + '_' + ), + monthsShort: + 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), + monthsParseExact: true, + weekdays: + 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( + '_' + ), + weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY HH:mm', + LLLL: 'dddd, D. MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[heute um] LT [Uhr]', + sameElse: 'L', + nextDay: '[morgen um] LT [Uhr]', + nextWeek: 'dddd [um] LT [Uhr]', + lastDay: '[gestern um] LT [Uhr]', + lastWeek: '[letzten] dddd [um] LT [Uhr]', + }, + relativeTime: { + future: 'in %s', + past: 'vor %s', + s: 'ein paar Sekunden', + ss: '%d Sekunden', + m: processRelativeTime, + mm: '%d Minuten', + h: processRelativeTime, + hh: '%d Stunden', + d: processRelativeTime, + dd: processRelativeTime, + w: processRelativeTime, + ww: '%d Wochen', + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return de; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/dv.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/dv.js new file mode 100644 index 0000000000..e6cc8f6497 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/dv.js @@ -0,0 +1,101 @@ +//! moment.js locale configuration +//! locale : Maldivian [dv] +//! author : Jawish Hameed : https://github.com/jawish + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var months = [ + 'ޖެނުއަރީ', + 'ފެބްރުއަރީ', + 'މާރިޗު', + 'އޭޕްރީލު', + 'މޭ', + 'ޖޫން', + 'ޖުލައި', + 'އޯގަސްޓު', + 'ސެޕްޓެމްބަރު', + 'އޮކްޓޯބަރު', + 'ނޮވެމްބަރު', + 'ޑިސެމްބަރު', + ], + weekdays = [ + 'އާދިއްތަ', + 'ހޯމަ', + 'އަންގާރަ', + 'ބުދަ', + 'ބުރާސްފަތި', + 'ހުކުރު', + 'ހޮނިހިރު', + ]; + + var dv = moment.defineLocale('dv', { + months: months, + monthsShort: months, + weekdays: weekdays, + weekdaysShort: weekdays, + weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'D/M/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + meridiemParse: /މކ|މފ/, + isPM: function (input) { + return 'މފ' === input; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'މކ'; + } else { + return 'މފ'; + } + }, + calendar: { + sameDay: '[މިއަދު] LT', + nextDay: '[މާދަމާ] LT', + nextWeek: 'dddd LT', + lastDay: '[އިއްޔެ] LT', + lastWeek: '[ފާއިތުވި] dddd LT', + sameElse: 'L', + }, + relativeTime: { + future: 'ތެރޭގައި %s', + past: 'ކުރިން %s', + s: 'ސިކުންތުކޮޅެއް', + ss: 'd% ސިކުންތު', + m: 'މިނިޓެއް', + mm: 'މިނިޓު %d', + h: 'ގަޑިއިރެއް', + hh: 'ގަޑިއިރު %d', + d: 'ދުވަހެއް', + dd: 'ދުވަސް %d', + M: 'މަހެއް', + MM: 'މަސް %d', + y: 'އަހަރެއް', + yy: 'އަހަރު %d', + }, + preparse: function (string) { + return string.replace(/،/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, '،'); + }, + week: { + dow: 7, // Sunday is the first day of the week. + doy: 12, // The week that contains Jan 12th is the first week of the year. + }, + }); + + return dv; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/el.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/el.js new file mode 100644 index 0000000000..a14785979a --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/el.js @@ -0,0 +1,117 @@ +//! moment.js locale configuration +//! locale : Greek [el] +//! author : Aggelos Karalias : https://github.com/mehiel + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function isFunction(input) { + return ( + (typeof Function !== 'undefined' && input instanceof Function) || + Object.prototype.toString.call(input) === '[object Function]' + ); + } + + var el = moment.defineLocale('el', { + monthsNominativeEl: + 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split( + '_' + ), + monthsGenitiveEl: + 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split( + '_' + ), + months: function (momentToFormat, format) { + if (!momentToFormat) { + return this._monthsNominativeEl; + } else if ( + typeof format === 'string' && + /D/.test(format.substring(0, format.indexOf('MMMM'))) + ) { + // if there is a day number before 'MMMM' + return this._monthsGenitiveEl[momentToFormat.month()]; + } else { + return this._monthsNominativeEl[momentToFormat.month()]; + } + }, + monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'), + weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split( + '_' + ), + weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), + weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), + meridiem: function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'μμ' : 'ΜΜ'; + } else { + return isLower ? 'πμ' : 'ΠΜ'; + } + }, + isPM: function (input) { + return (input + '').toLowerCase()[0] === 'μ'; + }, + meridiemParse: /[ΠΜ]\.?Μ?\.?/i, + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendarEl: { + sameDay: '[Σήμερα {}] LT', + nextDay: '[Αύριο {}] LT', + nextWeek: 'dddd [{}] LT', + lastDay: '[Χθες {}] LT', + lastWeek: function () { + switch (this.day()) { + case 6: + return '[το προηγούμενο] dddd [{}] LT'; + default: + return '[την προηγούμενη] dddd [{}] LT'; + } + }, + sameElse: 'L', + }, + calendar: function (key, mom) { + var output = this._calendarEl[key], + hours = mom && mom.hours(); + if (isFunction(output)) { + output = output.apply(mom); + } + return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις'); + }, + relativeTime: { + future: 'σε %s', + past: '%s πριν', + s: 'λίγα δευτερόλεπτα', + ss: '%d δευτερόλεπτα', + m: 'ένα λεπτό', + mm: '%d λεπτά', + h: 'μία ώρα', + hh: '%d ώρες', + d: 'μία μέρα', + dd: '%d μέρες', + M: 'ένας μήνας', + MM: '%d μήνες', + y: 'ένας χρόνος', + yy: '%d χρόνια', + }, + dayOfMonthOrdinalParse: /\d{1,2}η/, + ordinal: '%dη', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4st is the first week of the year. + }, + }); + + return el; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-au.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-au.js new file mode 100644 index 0000000000..6e320ba598 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-au.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration +//! locale : English (Australia) [en-au] +//! author : Jared Morse : https://github.com/jarcoal + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var enAu = moment.defineLocale('en-au', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (number) { + var b = number % 10, + output = + ~~((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return enAu; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-ca.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-ca.js new file mode 100644 index 0000000000..bc574f1a41 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-ca.js @@ -0,0 +1,75 @@ +//! moment.js locale configuration +//! locale : English (Canada) [en-ca] +//! author : Jonathan Abourbih : https://github.com/jonbca + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var enCa = moment.defineLocale('en-ca', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'YYYY-MM-DD', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY h:mm A', + LLLL: 'dddd, MMMM D, YYYY h:mm A', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (number) { + var b = number % 10, + output = + ~~((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + }); + + return enCa; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-gb.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-gb.js new file mode 100644 index 0000000000..828791e259 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-gb.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration +//! locale : English (United Kingdom) [en-gb] +//! author : Chris Gedrim : https://github.com/chrisgedrim + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var enGb = moment.defineLocale('en-gb', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (number) { + var b = number % 10, + output = + ~~((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return enGb; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-ie.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-ie.js new file mode 100644 index 0000000000..086cf395d5 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-ie.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration +//! locale : English (Ireland) [en-ie] +//! author : Chris Cartlidge : https://github.com/chriscartlidge + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var enIe = moment.defineLocale('en-ie', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (number) { + var b = number % 10, + output = + ~~((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return enIe; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-il.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-il.js new file mode 100644 index 0000000000..e52503ce83 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-il.js @@ -0,0 +1,75 @@ +//! moment.js locale configuration +//! locale : English (Israel) [en-il] +//! author : Chris Gedrim : https://github.com/chrisgedrim + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var enIl = moment.defineLocale('en-il', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (number) { + var b = number % 10, + output = + ~~((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + }); + + return enIl; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-in.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-in.js new file mode 100644 index 0000000000..06b9abc41e --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-in.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration +//! locale : English (India) [en-in] +//! author : Jatin Agrawal : https://github.com/jatinag22 + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var enIn = moment.defineLocale('en-in', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (number) { + var b = number % 10, + output = + ~~((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 1st is the first week of the year. + }, + }); + + return enIn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-nz.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-nz.js new file mode 100644 index 0000000000..3bc7e9f60d --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-nz.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration +//! locale : English (New Zealand) [en-nz] +//! author : Luke McGregor : https://github.com/lukemcgregor + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var enNz = moment.defineLocale('en-nz', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (number) { + var b = number % 10, + output = + ~~((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return enNz; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-sg.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-sg.js new file mode 100644 index 0000000000..4de803c133 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/en-sg.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration +//! locale : English (Singapore) [en-sg] +//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var enSg = moment.defineLocale('en-sg', { + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( + '_' + ), + weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (number) { + var b = number % 10, + output = + ~~((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return enSg; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/eo.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/eo.js new file mode 100644 index 0000000000..799dad0cdc --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/eo.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration +//! locale : Esperanto [eo] +//! author : Colin Dean : https://github.com/colindean +//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia +//! comment : miestasmia corrected the translation by colindean +//! comment : Vivakvo corrected the translation by colindean and miestasmia + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var eo = moment.defineLocale('eo', { + months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split( + '_' + ), + monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'), + weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'), + weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), + weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: '[la] D[-an de] MMMM, YYYY', + LLL: '[la] D[-an de] MMMM, YYYY HH:mm', + LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm', + llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm', + }, + meridiemParse: /[ap]\.t\.m/i, + isPM: function (input) { + return input.charAt(0).toLowerCase() === 'p'; + }, + meridiem: function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'p.t.m.' : 'P.T.M.'; + } else { + return isLower ? 'a.t.m.' : 'A.T.M.'; + } + }, + calendar: { + sameDay: '[Hodiaŭ je] LT', + nextDay: '[Morgaŭ je] LT', + nextWeek: 'dddd[n je] LT', + lastDay: '[Hieraŭ je] LT', + lastWeek: '[pasintan] dddd[n je] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'post %s', + past: 'antaŭ %s', + s: 'kelkaj sekundoj', + ss: '%d sekundoj', + m: 'unu minuto', + mm: '%d minutoj', + h: 'unu horo', + hh: '%d horoj', + d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo + dd: '%d tagoj', + M: 'unu monato', + MM: '%d monatoj', + y: 'unu jaro', + yy: '%d jaroj', + }, + dayOfMonthOrdinalParse: /\d{1,2}a/, + ordinal: '%da', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return eo; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es-do.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es-do.js new file mode 100644 index 0000000000..8a557c3312 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es-do.js @@ -0,0 +1,119 @@ +//! moment.js locale configuration +//! locale : Spanish (Dominican Republic) [es-do] + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var monthsShortDot = + 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( + '_' + ), + monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), + monthsParse = [ + /^ene/i, + /^feb/i, + /^mar/i, + /^abr/i, + /^may/i, + /^jun/i, + /^jul/i, + /^ago/i, + /^sep/i, + /^oct/i, + /^nov/i, + /^dic/i, + ], + monthsRegex = + /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; + + var esDo = moment.defineLocale('es-do', { + months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( + '_' + ), + monthsShort: function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: + /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, + monthsShortStrictRegex: + /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), + weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY h:mm A', + LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', + }, + calendar: { + sameDay: function () { + return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextDay: function () { + return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextWeek: function () { + return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastDay: function () { + return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastWeek: function () { + return ( + '[el] dddd [pasado a la' + + (this.hours() !== 1 ? 's' : '') + + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: 'en %s', + past: 'hace %s', + s: 'unos segundos', + ss: '%d segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'una hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + w: 'una semana', + ww: '%d semanas', + M: 'un mes', + MM: '%d meses', + y: 'un año', + yy: '%d años', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return esDo; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es-mx.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es-mx.js new file mode 100644 index 0000000000..a233e402eb --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es-mx.js @@ -0,0 +1,121 @@ +//! moment.js locale configuration +//! locale : Spanish (Mexico) [es-mx] +//! author : JC Franco : https://github.com/jcfranco + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var monthsShortDot = + 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( + '_' + ), + monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), + monthsParse = [ + /^ene/i, + /^feb/i, + /^mar/i, + /^abr/i, + /^may/i, + /^jun/i, + /^jul/i, + /^ago/i, + /^sep/i, + /^oct/i, + /^nov/i, + /^dic/i, + ], + monthsRegex = + /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; + + var esMx = moment.defineLocale('es-mx', { + months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( + '_' + ), + monthsShort: function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: + /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, + monthsShortStrictRegex: + /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), + weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY H:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', + }, + calendar: { + sameDay: function () { + return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextDay: function () { + return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextWeek: function () { + return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastDay: function () { + return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastWeek: function () { + return ( + '[el] dddd [pasado a la' + + (this.hours() !== 1 ? 's' : '') + + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: 'en %s', + past: 'hace %s', + s: 'unos segundos', + ss: '%d segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'una hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + w: 'una semana', + ww: '%d semanas', + M: 'un mes', + MM: '%d meses', + y: 'un año', + yy: '%d años', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { + dow: 0, // Sunday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + invalidDate: 'Fecha inválida', + }); + + return esMx; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es-us.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es-us.js new file mode 100644 index 0000000000..2c52254cdf --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es-us.js @@ -0,0 +1,121 @@ +//! moment.js locale configuration +//! locale : Spanish (United States) [es-us] +//! author : bustta : https://github.com/bustta +//! author : chrisrodz : https://github.com/chrisrodz + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var monthsShortDot = + 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( + '_' + ), + monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), + monthsParse = [ + /^ene/i, + /^feb/i, + /^mar/i, + /^abr/i, + /^may/i, + /^jun/i, + /^jul/i, + /^ago/i, + /^sep/i, + /^oct/i, + /^nov/i, + /^dic/i, + ], + monthsRegex = + /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; + + var esUs = moment.defineLocale('es-us', { + months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( + '_' + ), + monthsShort: function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: + /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, + monthsShortStrictRegex: + /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), + weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'MM/DD/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY h:mm A', + LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', + }, + calendar: { + sameDay: function () { + return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextDay: function () { + return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextWeek: function () { + return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastDay: function () { + return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastWeek: function () { + return ( + '[el] dddd [pasado a la' + + (this.hours() !== 1 ? 's' : '') + + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: 'en %s', + past: 'hace %s', + s: 'unos segundos', + ss: '%d segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'una hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + w: 'una semana', + ww: '%d semanas', + M: 'un mes', + MM: '%d meses', + y: 'un año', + yy: '%d años', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return esUs; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es.js new file mode 100644 index 0000000000..7fc46286a2 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/es.js @@ -0,0 +1,121 @@ +//! moment.js locale configuration +//! locale : Spanish [es] +//! author : Julio Napurí : https://github.com/julionc + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var monthsShortDot = + 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( + '_' + ), + monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), + monthsParse = [ + /^ene/i, + /^feb/i, + /^mar/i, + /^abr/i, + /^may/i, + /^jun/i, + /^jul/i, + /^ago/i, + /^sep/i, + /^oct/i, + /^nov/i, + /^dic/i, + ], + monthsRegex = + /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; + + var es = moment.defineLocale('es', { + months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( + '_' + ), + monthsShort: function (m, format) { + if (!m) { + return monthsShortDot; + } else if (/-MMM-/.test(format)) { + return monthsShort[m.month()]; + } else { + return monthsShortDot[m.month()]; + } + }, + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: + /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, + monthsShortStrictRegex: + /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), + weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY H:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', + }, + calendar: { + sameDay: function () { + return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextDay: function () { + return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + nextWeek: function () { + return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastDay: function () { + return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; + }, + lastWeek: function () { + return ( + '[el] dddd [pasado a la' + + (this.hours() !== 1 ? 's' : '') + + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: 'en %s', + past: 'hace %s', + s: 'unos segundos', + ss: '%d segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'una hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + w: 'una semana', + ww: '%d semanas', + M: 'un mes', + MM: '%d meses', + y: 'un año', + yy: '%d años', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + invalidDate: 'Fecha inválida', + }); + + return es; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/et.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/et.js new file mode 100644 index 0000000000..7c8760d8bc --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/et.js @@ -0,0 +1,89 @@ +//! moment.js locale configuration +//! locale : Estonian [et] +//! author : Henry Kehlmann : https://github.com/madhenry +//! improvements : Illimar Tambek : https://github.com/ragulka + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'], + ss: [number + 'sekundi', number + 'sekundit'], + m: ['ühe minuti', 'üks minut'], + mm: [number + ' minuti', number + ' minutit'], + h: ['ühe tunni', 'tund aega', 'üks tund'], + hh: [number + ' tunni', number + ' tundi'], + d: ['ühe päeva', 'üks päev'], + M: ['kuu aja', 'kuu aega', 'üks kuu'], + MM: [number + ' kuu', number + ' kuud'], + y: ['ühe aasta', 'aasta', 'üks aasta'], + yy: [number + ' aasta', number + ' aastat'], + }; + if (withoutSuffix) { + return format[key][2] ? format[key][2] : format[key][1]; + } + return isFuture ? format[key][0] : format[key][1]; + } + + var et = moment.defineLocale('et', { + months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split( + '_' + ), + monthsShort: + 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), + weekdays: + 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split( + '_' + ), + weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), + weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[Täna,] LT', + nextDay: '[Homme,] LT', + nextWeek: '[Järgmine] dddd LT', + lastDay: '[Eile,] LT', + lastWeek: '[Eelmine] dddd LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s pärast', + past: '%s tagasi', + s: processRelativeTime, + ss: processRelativeTime, + m: processRelativeTime, + mm: processRelativeTime, + h: processRelativeTime, + hh: processRelativeTime, + d: processRelativeTime, + dd: '%d päeva', + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return et; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/eu.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/eu.js new file mode 100644 index 0000000000..ca2e547633 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/eu.js @@ -0,0 +1,76 @@ +//! moment.js locale configuration +//! locale : Basque [eu] +//! author : Eneko Illarramendi : https://github.com/eillarra + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var eu = moment.defineLocale('eu', { + months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split( + '_' + ), + monthsShort: + 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split( + '_' + ), + monthsParseExact: true, + weekdays: + 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split( + '_' + ), + weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), + weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY[ko] MMMM[ren] D[a]', + LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', + LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', + l: 'YYYY-M-D', + ll: 'YYYY[ko] MMM D[a]', + lll: 'YYYY[ko] MMM D[a] HH:mm', + llll: 'ddd, YYYY[ko] MMM D[a] HH:mm', + }, + calendar: { + sameDay: '[gaur] LT[etan]', + nextDay: '[bihar] LT[etan]', + nextWeek: 'dddd LT[etan]', + lastDay: '[atzo] LT[etan]', + lastWeek: '[aurreko] dddd LT[etan]', + sameElse: 'L', + }, + relativeTime: { + future: '%s barru', + past: 'duela %s', + s: 'segundo batzuk', + ss: '%d segundo', + m: 'minutu bat', + mm: '%d minutu', + h: 'ordu bat', + hh: '%d ordu', + d: 'egun bat', + dd: '%d egun', + M: 'hilabete bat', + MM: '%d hilabete', + y: 'urte bat', + yy: '%d urte', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return eu; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fa.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fa.js new file mode 100644 index 0000000000..845757b8db --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fa.js @@ -0,0 +1,124 @@ +//! moment.js locale configuration +//! locale : Persian [fa] +//! author : Ebrahim Byagowi : https://github.com/ebraminio + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '۱', + 2: '۲', + 3: '۳', + 4: '۴', + 5: '۵', + 6: '۶', + 7: '۷', + 8: '۸', + 9: '۹', + 0: '۰', + }, + numberMap = { + '۱': '1', + '۲': '2', + '۳': '3', + '۴': '4', + '۵': '5', + '۶': '6', + '۷': '7', + '۸': '8', + '۹': '9', + '۰': '0', + }; + + var fa = moment.defineLocale('fa', { + months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( + '_' + ), + monthsShort: + 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( + '_' + ), + weekdays: + 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( + '_' + ), + weekdaysShort: + 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split( + '_' + ), + weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + meridiemParse: /قبل از ظهر|بعد از ظهر/, + isPM: function (input) { + return /بعد از ظهر/.test(input); + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'قبل از ظهر'; + } else { + return 'بعد از ظهر'; + } + }, + calendar: { + sameDay: '[امروز ساعت] LT', + nextDay: '[فردا ساعت] LT', + nextWeek: 'dddd [ساعت] LT', + lastDay: '[دیروز ساعت] LT', + lastWeek: 'dddd [پیش] [ساعت] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'در %s', + past: '%s پیش', + s: 'چند ثانیه', + ss: '%d ثانیه', + m: 'یک دقیقه', + mm: '%d دقیقه', + h: 'یک ساعت', + hh: '%d ساعت', + d: 'یک روز', + dd: '%d روز', + M: 'یک ماه', + MM: '%d ماه', + y: 'یک سال', + yy: '%d سال', + }, + preparse: function (string) { + return string + .replace(/[۰-۹]/g, function (match) { + return numberMap[match]; + }) + .replace(/،/g, ','); + }, + postformat: function (string) { + return string + .replace(/\d/g, function (match) { + return symbolMap[match]; + }) + .replace(/,/g, '،'); + }, + dayOfMonthOrdinalParse: /\d{1,2}م/, + ordinal: '%dم', + week: { + dow: 6, // Saturday is the first day of the week. + doy: 12, // The week that contains Jan 12th is the first week of the year. + }, + }); + + return fa; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fi.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fi.js new file mode 100644 index 0000000000..07e57cf6e4 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fi.js @@ -0,0 +1,135 @@ +//! moment.js locale configuration +//! locale : Finnish [fi] +//! author : Tarmo Aidantausta : https://github.com/bleadof + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var numbersPast = + 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split( + ' ' + ), + numbersFuture = [ + 'nolla', + 'yhden', + 'kahden', + 'kolmen', + 'neljän', + 'viiden', + 'kuuden', + numbersPast[7], + numbersPast[8], + numbersPast[9], + ]; + function translate(number, withoutSuffix, key, isFuture) { + var result = ''; + switch (key) { + case 's': + return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; + case 'ss': + result = isFuture ? 'sekunnin' : 'sekuntia'; + break; + case 'm': + return isFuture ? 'minuutin' : 'minuutti'; + case 'mm': + result = isFuture ? 'minuutin' : 'minuuttia'; + break; + case 'h': + return isFuture ? 'tunnin' : 'tunti'; + case 'hh': + result = isFuture ? 'tunnin' : 'tuntia'; + break; + case 'd': + return isFuture ? 'päivän' : 'päivä'; + case 'dd': + result = isFuture ? 'päivän' : 'päivää'; + break; + case 'M': + return isFuture ? 'kuukauden' : 'kuukausi'; + case 'MM': + result = isFuture ? 'kuukauden' : 'kuukautta'; + break; + case 'y': + return isFuture ? 'vuoden' : 'vuosi'; + case 'yy': + result = isFuture ? 'vuoden' : 'vuotta'; + break; + } + result = verbalNumber(number, isFuture) + ' ' + result; + return result; + } + function verbalNumber(number, isFuture) { + return number < 10 + ? isFuture + ? numbersFuture[number] + : numbersPast[number] + : number; + } + + var fi = moment.defineLocale('fi', { + months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split( + '_' + ), + monthsShort: + 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split( + '_' + ), + weekdays: + 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split( + '_' + ), + weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), + weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD.MM.YYYY', + LL: 'Do MMMM[ta] YYYY', + LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm', + LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', + l: 'D.M.YYYY', + ll: 'Do MMM YYYY', + lll: 'Do MMM YYYY, [klo] HH.mm', + llll: 'ddd, Do MMM YYYY, [klo] HH.mm', + }, + calendar: { + sameDay: '[tänään] [klo] LT', + nextDay: '[huomenna] [klo] LT', + nextWeek: 'dddd [klo] LT', + lastDay: '[eilen] [klo] LT', + lastWeek: '[viime] dddd[na] [klo] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s päästä', + past: '%s sitten', + s: translate, + ss: translate, + m: translate, + mm: translate, + h: translate, + hh: translate, + d: translate, + dd: translate, + M: translate, + MM: translate, + y: translate, + yy: translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return fi; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fil.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fil.js new file mode 100644 index 0000000000..13103e8d34 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fil.js @@ -0,0 +1,69 @@ +//! moment.js locale configuration +//! locale : Filipino [fil] +//! author : Dan Hagman : https://github.com/hagmandan +//! author : Matthew Co : https://github.com/matthewdeeco + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var fil = moment.defineLocale('fil', { + months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( + '_' + ), + monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), + weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( + '_' + ), + weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), + weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'MM/D/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY HH:mm', + LLLL: 'dddd, MMMM DD, YYYY HH:mm', + }, + calendar: { + sameDay: 'LT [ngayong araw]', + nextDay: '[Bukas ng] LT', + nextWeek: 'LT [sa susunod na] dddd', + lastDay: 'LT [kahapon]', + lastWeek: 'LT [noong nakaraang] dddd', + sameElse: 'L', + }, + relativeTime: { + future: 'sa loob ng %s', + past: '%s ang nakalipas', + s: 'ilang segundo', + ss: '%d segundo', + m: 'isang minuto', + mm: '%d minuto', + h: 'isang oras', + hh: '%d oras', + d: 'isang araw', + dd: '%d araw', + M: 'isang buwan', + MM: '%d buwan', + y: 'isang taon', + yy: '%d taon', + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal: function (number) { + return number; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return fil; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fo.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fo.js new file mode 100644 index 0000000000..217fcfbb32 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fo.js @@ -0,0 +1,68 @@ +//! moment.js locale configuration +//! locale : Faroese [fo] +//! author : Ragnar Johannesen : https://github.com/ragnar123 +//! author : Kristian Sakarisson : https://github.com/sakarisson + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var fo = moment.defineLocale('fo', { + months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split( + '_' + ), + monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), + weekdays: + 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split( + '_' + ), + weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), + weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D. MMMM, YYYY HH:mm', + }, + calendar: { + sameDay: '[Í dag kl.] LT', + nextDay: '[Í morgin kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[Í gjár kl.] LT', + lastWeek: '[síðstu] dddd [kl] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'um %s', + past: '%s síðani', + s: 'fá sekund', + ss: '%d sekundir', + m: 'ein minuttur', + mm: '%d minuttir', + h: 'ein tími', + hh: '%d tímar', + d: 'ein dagur', + dd: '%d dagar', + M: 'ein mánaður', + MM: '%d mánaðir', + y: 'eitt ár', + yy: '%d ár', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return fo; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fr-ca.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fr-ca.js new file mode 100644 index 0000000000..7d48fd7b71 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fr-ca.js @@ -0,0 +1,81 @@ +//! moment.js locale configuration +//! locale : French (Canada) [fr-ca] +//! author : Jonathan Abourbih : https://github.com/jonbca + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var frCa = moment.defineLocale('fr-ca', { + months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( + '_' + ), + monthsShort: + 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Aujourd’hui à] LT', + nextDay: '[Demain à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[Hier à] LT', + lastWeek: 'dddd [dernier à] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dans %s', + past: 'il y a %s', + s: 'quelques secondes', + ss: '%d secondes', + m: 'une minute', + mm: '%d minutes', + h: 'une heure', + hh: '%d heures', + d: 'un jour', + dd: '%d jours', + M: 'un mois', + MM: '%d mois', + y: 'un an', + yy: '%d ans', + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal: function (number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + }); + + return frCa; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fr-ch.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fr-ch.js new file mode 100644 index 0000000000..c28d81cfb7 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fr-ch.js @@ -0,0 +1,85 @@ +//! moment.js locale configuration +//! locale : French (Switzerland) [fr-ch] +//! author : Gaspard Bucher : https://github.com/gaspard + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var frCh = moment.defineLocale('fr-ch', { + months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( + '_' + ), + monthsShort: + 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Aujourd’hui à] LT', + nextDay: '[Demain à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[Hier à] LT', + lastWeek: 'dddd [dernier à] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dans %s', + past: 'il y a %s', + s: 'quelques secondes', + ss: '%d secondes', + m: 'une minute', + mm: '%d minutes', + h: 'une heure', + hh: '%d heures', + d: 'un jour', + dd: '%d jours', + M: 'un mois', + MM: '%d mois', + y: 'un an', + yy: '%d ans', + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, + ordinal: function (number, period) { + switch (period) { + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'D': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return frCh; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fr.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fr.js new file mode 100644 index 0000000000..4e5536b49b --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fr.js @@ -0,0 +1,119 @@ +//! moment.js locale configuration +//! locale : French [fr] +//! author : John Fischer : https://github.com/jfroffice + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var monthsStrictRegex = + /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, + monthsShortStrictRegex = + /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, + monthsRegex = + /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, + monthsParse = [ + /^janv/i, + /^févr/i, + /^mars/i, + /^avr/i, + /^mai/i, + /^juin/i, + /^juil/i, + /^août/i, + /^sept/i, + /^oct/i, + /^nov/i, + /^déc/i, + ]; + + var fr = moment.defineLocale('fr', { + months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( + '_' + ), + monthsShort: + 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( + '_' + ), + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: monthsStrictRegex, + monthsShortStrictRegex: monthsShortStrictRegex, + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), + weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), + weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Aujourd’hui à] LT', + nextDay: '[Demain à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[Hier à] LT', + lastWeek: 'dddd [dernier à] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dans %s', + past: 'il y a %s', + s: 'quelques secondes', + ss: '%d secondes', + m: 'une minute', + mm: '%d minutes', + h: 'une heure', + hh: '%d heures', + d: 'un jour', + dd: '%d jours', + w: 'une semaine', + ww: '%d semaines', + M: 'un mois', + MM: '%d mois', + y: 'un an', + yy: '%d ans', + }, + dayOfMonthOrdinalParse: /\d{1,2}(er|)/, + ordinal: function (number, period) { + switch (period) { + // TODO: Return 'e' when day of month > 1. Move this case inside + // block for masculine words below. + // See https://github.com/moment/moment/issues/3375 + case 'D': + return number + (number === 1 ? 'er' : ''); + + // Words with masculine grammatical gender: mois, trimestre, jour + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + return number + (number === 1 ? 'er' : 'e'); + + // Words with feminine grammatical gender: semaine + case 'w': + case 'W': + return number + (number === 1 ? 're' : 'e'); + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return fr; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fy.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fy.js new file mode 100644 index 0000000000..46cac083d7 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/fy.js @@ -0,0 +1,86 @@ +//! moment.js locale configuration +//! locale : Frisian [fy] +//! author : Robin van der Vliet : https://github.com/robin0van0der0v + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var monthsShortWithDots = + 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'), + monthsShortWithoutDots = + 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); + + var fy = moment.defineLocale('fy', { + months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split( + '_' + ), + monthsShort: function (m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + monthsParseExact: true, + weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split( + '_' + ), + weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), + weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[hjoed om] LT', + nextDay: '[moarn om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[juster om] LT', + lastWeek: '[ôfrûne] dddd [om] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'oer %s', + past: '%s lyn', + s: 'in pear sekonden', + ss: '%d sekonden', + m: 'ien minút', + mm: '%d minuten', + h: 'ien oere', + hh: '%d oeren', + d: 'ien dei', + dd: '%d dagen', + M: 'ien moanne', + MM: '%d moannen', + y: 'ien jier', + yy: '%d jierren', + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal: function (number) { + return ( + number + + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') + ); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return fy; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ga.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ga.js new file mode 100644 index 0000000000..96f988c80f --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ga.js @@ -0,0 +1,106 @@ +//! moment.js locale configuration +//! locale : Irish or Irish Gaelic [ga] +//! author : André Silva : https://github.com/askpt + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var months = [ + 'Eanáir', + 'Feabhra', + 'Márta', + 'Aibreán', + 'Bealtaine', + 'Meitheamh', + 'Iúil', + 'Lúnasa', + 'Meán Fómhair', + 'Deireadh Fómhair', + 'Samhain', + 'Nollaig', + ], + monthsShort = [ + 'Ean', + 'Feabh', + 'Márt', + 'Aib', + 'Beal', + 'Meith', + 'Iúil', + 'Lún', + 'M.F.', + 'D.F.', + 'Samh', + 'Noll', + ], + weekdays = [ + 'Dé Domhnaigh', + 'Dé Luain', + 'Dé Máirt', + 'Dé Céadaoin', + 'Déardaoin', + 'Dé hAoine', + 'Dé Sathairn', + ], + weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'], + weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa']; + + var ga = moment.defineLocale('ga', { + months: months, + monthsShort: monthsShort, + monthsParseExact: true, + weekdays: weekdays, + weekdaysShort: weekdaysShort, + weekdaysMin: weekdaysMin, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Inniu ag] LT', + nextDay: '[Amárach ag] LT', + nextWeek: 'dddd [ag] LT', + lastDay: '[Inné ag] LT', + lastWeek: 'dddd [seo caite] [ag] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'i %s', + past: '%s ó shin', + s: 'cúpla soicind', + ss: '%d soicind', + m: 'nóiméad', + mm: '%d nóiméad', + h: 'uair an chloig', + hh: '%d uair an chloig', + d: 'lá', + dd: '%d lá', + M: 'mí', + MM: '%d míonna', + y: 'bliain', + yy: '%d bliain', + }, + dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, + ordinal: function (number) { + var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return ga; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gd.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gd.js new file mode 100644 index 0000000000..b053838e62 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gd.js @@ -0,0 +1,106 @@ +//! moment.js locale configuration +//! locale : Scottish Gaelic [gd] +//! author : Jon Ashdown : https://github.com/jonashdown + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var months = [ + 'Am Faoilleach', + 'An Gearran', + 'Am Màrt', + 'An Giblean', + 'An Cèitean', + 'An t-Ògmhios', + 'An t-Iuchar', + 'An Lùnastal', + 'An t-Sultain', + 'An Dàmhair', + 'An t-Samhain', + 'An Dùbhlachd', + ], + monthsShort = [ + 'Faoi', + 'Gear', + 'Màrt', + 'Gibl', + 'Cèit', + 'Ògmh', + 'Iuch', + 'Lùn', + 'Sult', + 'Dàmh', + 'Samh', + 'Dùbh', + ], + weekdays = [ + 'Didòmhnaich', + 'Diluain', + 'Dimàirt', + 'Diciadain', + 'Diardaoin', + 'Dihaoine', + 'Disathairne', + ], + weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'], + weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa']; + + var gd = moment.defineLocale('gd', { + months: months, + monthsShort: monthsShort, + monthsParseExact: true, + weekdays: weekdays, + weekdaysShort: weekdaysShort, + weekdaysMin: weekdaysMin, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[An-diugh aig] LT', + nextDay: '[A-màireach aig] LT', + nextWeek: 'dddd [aig] LT', + lastDay: '[An-dè aig] LT', + lastWeek: 'dddd [seo chaidh] [aig] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'ann an %s', + past: 'bho chionn %s', + s: 'beagan diogan', + ss: '%d diogan', + m: 'mionaid', + mm: '%d mionaidean', + h: 'uair', + hh: '%d uairean', + d: 'latha', + dd: '%d latha', + M: 'mìos', + MM: '%d mìosan', + y: 'bliadhna', + yy: '%d bliadhna', + }, + dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, + ordinal: function (number) { + var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return gd; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gl.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gl.js new file mode 100644 index 0000000000..16dcb5ab0f --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gl.js @@ -0,0 +1,86 @@ +//! moment.js locale configuration +//! locale : Galician [gl] +//! author : Juan G. Hurtado : https://github.com/juanghurtado + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var gl = moment.defineLocale('gl', { + months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split( + '_' + ), + monthsShort: + 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), + weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), + weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY H:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', + }, + calendar: { + sameDay: function () { + return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; + }, + nextDay: function () { + return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; + }, + nextWeek: function () { + return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'; + }, + lastDay: function () { + return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT'; + }, + lastWeek: function () { + return ( + '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT' + ); + }, + sameElse: 'L', + }, + relativeTime: { + future: function (str) { + if (str.indexOf('un') === 0) { + return 'n' + str; + } + return 'en ' + str; + }, + past: 'hai %s', + s: 'uns segundos', + ss: '%d segundos', + m: 'un minuto', + mm: '%d minutos', + h: 'unha hora', + hh: '%d horas', + d: 'un día', + dd: '%d días', + M: 'un mes', + MM: '%d meses', + y: 'un ano', + yy: '%d anos', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return gl; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gom-deva.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gom-deva.js new file mode 100644 index 0000000000..ae93d0d16b --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gom-deva.js @@ -0,0 +1,137 @@ +//! moment.js locale configuration +//! locale : Konkani Devanagari script [gom-deva] +//! author : The Discoverer : https://github.com/WikiDiscoverer + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'], + ss: [number + ' सॅकंडांनी', number + ' सॅकंड'], + m: ['एका मिणटान', 'एक मिनूट'], + mm: [number + ' मिणटांनी', number + ' मिणटां'], + h: ['एका वरान', 'एक वर'], + hh: [number + ' वरांनी', number + ' वरां'], + d: ['एका दिसान', 'एक दीस'], + dd: [number + ' दिसांनी', number + ' दीस'], + M: ['एका म्हयन्यान', 'एक म्हयनो'], + MM: [number + ' म्हयन्यानी', number + ' म्हयने'], + y: ['एका वर्सान', 'एक वर्स'], + yy: [number + ' वर्सांनी', number + ' वर्सां'], + }; + return isFuture ? format[key][0] : format[key][1]; + } + + var gomDeva = moment.defineLocale('gom-deva', { + months: { + standalone: + 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( + '_' + ), + format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split( + '_' + ), + isFormat: /MMMM(\s)+D[oD]?/, + }, + monthsShort: + 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'), + weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'), + weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'A h:mm [वाजतां]', + LTS: 'A h:mm:ss [वाजतां]', + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY A h:mm [वाजतां]', + LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]', + llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]', + }, + calendar: { + sameDay: '[आयज] LT', + nextDay: '[फाल्यां] LT', + nextWeek: '[फुडलो] dddd[,] LT', + lastDay: '[काल] LT', + lastWeek: '[फाटलो] dddd[,] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s', + past: '%s आदीं', + s: processRelativeTime, + ss: processRelativeTime, + m: processRelativeTime, + mm: processRelativeTime, + h: processRelativeTime, + hh: processRelativeTime, + d: processRelativeTime, + dd: processRelativeTime, + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime, + }, + dayOfMonthOrdinalParse: /\d{1,2}(वेर)/, + ordinal: function (number, period) { + switch (period) { + // the ordinal 'वेर' only applies to day of the month + case 'D': + return number + 'वेर'; + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + case 'w': + case 'W': + return number; + } + }, + week: { + dow: 0, // Sunday is the first day of the week + doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) + }, + meridiemParse: /राती|सकाळीं|दनपारां|सांजे/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'राती') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सकाळीं') { + return hour; + } else if (meridiem === 'दनपारां') { + return hour > 12 ? hour : hour + 12; + } else if (meridiem === 'सांजे') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'राती'; + } else if (hour < 12) { + return 'सकाळीं'; + } else if (hour < 16) { + return 'दनपारां'; + } else if (hour < 20) { + return 'सांजे'; + } else { + return 'राती'; + } + }, + }); + + return gomDeva; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gom-latn.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gom-latn.js new file mode 100644 index 0000000000..93cbe159bf --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gom-latn.js @@ -0,0 +1,135 @@ +//! moment.js locale configuration +//! locale : Konkani Latin script [gom-latn] +//! author : The Discoverer : https://github.com/WikiDiscoverer + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + s: ['thoddea sekondamni', 'thodde sekond'], + ss: [number + ' sekondamni', number + ' sekond'], + m: ['eka mintan', 'ek minut'], + mm: [number + ' mintamni', number + ' mintam'], + h: ['eka voran', 'ek vor'], + hh: [number + ' voramni', number + ' voram'], + d: ['eka disan', 'ek dis'], + dd: [number + ' disamni', number + ' dis'], + M: ['eka mhoinean', 'ek mhoino'], + MM: [number + ' mhoineamni', number + ' mhoine'], + y: ['eka vorsan', 'ek voros'], + yy: [number + ' vorsamni', number + ' vorsam'], + }; + return isFuture ? format[key][0] : format[key][1]; + } + + var gomLatn = moment.defineLocale('gom-latn', { + months: { + standalone: + 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split( + '_' + ), + format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split( + '_' + ), + isFormat: /MMMM(\s)+D[oD]?/, + }, + monthsShort: + 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'), + monthsParseExact: true, + weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'), + weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), + weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'A h:mm [vazta]', + LTS: 'A h:mm:ss [vazta]', + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY A h:mm [vazta]', + LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]', + llll: 'ddd, D MMM YYYY, A h:mm [vazta]', + }, + calendar: { + sameDay: '[Aiz] LT', + nextDay: '[Faleam] LT', + nextWeek: '[Fuddlo] dddd[,] LT', + lastDay: '[Kal] LT', + lastWeek: '[Fattlo] dddd[,] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s', + past: '%s adim', + s: processRelativeTime, + ss: processRelativeTime, + m: processRelativeTime, + mm: processRelativeTime, + h: processRelativeTime, + hh: processRelativeTime, + d: processRelativeTime, + dd: processRelativeTime, + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime, + }, + dayOfMonthOrdinalParse: /\d{1,2}(er)/, + ordinal: function (number, period) { + switch (period) { + // the ordinal 'er' only applies to day of the month + case 'D': + return number + 'er'; + default: + case 'M': + case 'Q': + case 'DDD': + case 'd': + case 'w': + case 'W': + return number; + } + }, + week: { + dow: 0, // Sunday is the first day of the week + doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) + }, + meridiemParse: /rati|sokallim|donparam|sanje/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'rati') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'sokallim') { + return hour; + } else if (meridiem === 'donparam') { + return hour > 12 ? hour : hour + 12; + } else if (meridiem === 'sanje') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'rati'; + } else if (hour < 12) { + return 'sokallim'; + } else if (hour < 16) { + return 'donparam'; + } else if (hour < 20) { + return 'sanje'; + } else { + return 'rati'; + } + }, + }); + + return gomLatn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gu.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gu.js new file mode 100644 index 0000000000..6583f7763a --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/gu.js @@ -0,0 +1,133 @@ +//! moment.js locale configuration +//! locale : Gujarati [gu] +//! author : Kaushik Thanki : https://github.com/Kaushik1987 + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '૧', + 2: '૨', + 3: '૩', + 4: '૪', + 5: '૫', + 6: '૬', + 7: '૭', + 8: '૮', + 9: '૯', + 0: '૦', + }, + numberMap = { + '૧': '1', + '૨': '2', + '૩': '3', + '૪': '4', + '૫': '5', + '૬': '6', + '૭': '7', + '૮': '8', + '૯': '9', + '૦': '0', + }; + + var gu = moment.defineLocale('gu', { + months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split( + '_' + ), + monthsShort: + 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split( + '_' + ), + weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'), + weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'), + longDateFormat: { + LT: 'A h:mm વાગ્યે', + LTS: 'A h:mm:ss વાગ્યે', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm વાગ્યે', + LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે', + }, + calendar: { + sameDay: '[આજ] LT', + nextDay: '[કાલે] LT', + nextWeek: 'dddd, LT', + lastDay: '[ગઇકાલે] LT', + lastWeek: '[પાછલા] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s મા', + past: '%s પહેલા', + s: 'અમુક પળો', + ss: '%d સેકંડ', + m: 'એક મિનિટ', + mm: '%d મિનિટ', + h: 'એક કલાક', + hh: '%d કલાક', + d: 'એક દિવસ', + dd: '%d દિવસ', + M: 'એક મહિનો', + MM: '%d મહિનો', + y: 'એક વર્ષ', + yy: '%d વર્ષ', + }, + preparse: function (string) { + return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Gujarati notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. + meridiemParse: /રાત|બપોર|સવાર|સાંજ/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'રાત') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'સવાર') { + return hour; + } else if (meridiem === 'બપોર') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'સાંજ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'રાત'; + } else if (hour < 10) { + return 'સવાર'; + } else if (hour < 17) { + return 'બપોર'; + } else if (hour < 20) { + return 'સાંજ'; + } else { + return 'રાત'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return gu; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/he.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/he.js new file mode 100644 index 0000000000..e19a0f984e --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/he.js @@ -0,0 +1,105 @@ +//! moment.js locale configuration +//! locale : Hebrew [he] +//! author : Tomer Cohen : https://github.com/tomer +//! author : Moshe Simantov : https://github.com/DevelopmentIL +//! author : Tal Ater : https://github.com/TalAter + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var he = moment.defineLocale('he', { + months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split( + '_' + ), + monthsShort: + 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'), + weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), + weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), + weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [ב]MMMM YYYY', + LLL: 'D [ב]MMMM YYYY HH:mm', + LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', + l: 'D/M/YYYY', + ll: 'D MMM YYYY', + lll: 'D MMM YYYY HH:mm', + llll: 'ddd, D MMM YYYY HH:mm', + }, + calendar: { + sameDay: '[היום ב־]LT', + nextDay: '[מחר ב־]LT', + nextWeek: 'dddd [בשעה] LT', + lastDay: '[אתמול ב־]LT', + lastWeek: '[ביום] dddd [האחרון בשעה] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'בעוד %s', + past: 'לפני %s', + s: 'מספר שניות', + ss: '%d שניות', + m: 'דקה', + mm: '%d דקות', + h: 'שעה', + hh: function (number) { + if (number === 2) { + return 'שעתיים'; + } + return number + ' שעות'; + }, + d: 'יום', + dd: function (number) { + if (number === 2) { + return 'יומיים'; + } + return number + ' ימים'; + }, + M: 'חודש', + MM: function (number) { + if (number === 2) { + return 'חודשיים'; + } + return number + ' חודשים'; + }, + y: 'שנה', + yy: function (number) { + if (number === 2) { + return 'שנתיים'; + } else if (number % 10 === 0 && number !== 10) { + return number + ' שנה'; + } + return number + ' שנים'; + }, + }, + meridiemParse: + /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i, + isPM: function (input) { + return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input); + }, + meridiem: function (hour, minute, isLower) { + if (hour < 5) { + return 'לפנות בוקר'; + } else if (hour < 10) { + return 'בבוקר'; + } else if (hour < 12) { + return isLower ? 'לפנה"צ' : 'לפני הצהריים'; + } else if (hour < 18) { + return isLower ? 'אחה"צ' : 'אחרי הצהריים'; + } else { + return 'בערב'; + } + }, + }); + + return he; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hi.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hi.js new file mode 100644 index 0000000000..56515bdc1e --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hi.js @@ -0,0 +1,179 @@ +//! moment.js locale configuration +//! locale : Hindi [hi] +//! author : Mayank Singhal : https://github.com/mayanksinghal + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '१', + 2: '२', + 3: '३', + 4: '४', + 5: '५', + 6: '६', + 7: '७', + 8: '८', + 9: '९', + 0: '०', + }, + numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + '७': '7', + '८': '8', + '९': '9', + '०': '0', + }, + monthsParse = [ + /^जन/i, + /^फ़र|फर/i, + /^मार्च/i, + /^अप्रै/i, + /^मई/i, + /^जून/i, + /^जुल/i, + /^अग/i, + /^सितं|सित/i, + /^अक्टू/i, + /^नव|नवं/i, + /^दिसं|दिस/i, + ], + shortMonthsParse = [ + /^जन/i, + /^फ़र/i, + /^मार्च/i, + /^अप्रै/i, + /^मई/i, + /^जून/i, + /^जुल/i, + /^अग/i, + /^सित/i, + /^अक्टू/i, + /^नव/i, + /^दिस/i, + ]; + + var hi = moment.defineLocale('hi', { + months: { + format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split( + '_' + ), + standalone: + 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split( + '_' + ), + }, + monthsShort: + 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'), + weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), + weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), + weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), + longDateFormat: { + LT: 'A h:mm बजे', + LTS: 'A h:mm:ss बजे', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm बजे', + LLLL: 'dddd, D MMMM YYYY, A h:mm बजे', + }, + + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: shortMonthsParse, + + monthsRegex: + /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, + + monthsShortRegex: + /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, + + monthsStrictRegex: + /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i, + + monthsShortStrictRegex: + /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i, + + calendar: { + sameDay: '[आज] LT', + nextDay: '[कल] LT', + nextWeek: 'dddd, LT', + lastDay: '[कल] LT', + lastWeek: '[पिछले] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s में', + past: '%s पहले', + s: 'कुछ ही क्षण', + ss: '%d सेकंड', + m: 'एक मिनट', + mm: '%d मिनट', + h: 'एक घंटा', + hh: '%d घंटे', + d: 'एक दिन', + dd: '%d दिन', + M: 'एक महीने', + MM: '%d महीने', + y: 'एक वर्ष', + yy: '%d वर्ष', + }, + preparse: function (string) { + return string.replace(/[१२३४५६७८९०]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Hindi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. + meridiemParse: /रात|सुबह|दोपहर|शाम/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'रात') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'सुबह') { + return hour; + } else if (meridiem === 'दोपहर') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'शाम') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'रात'; + } else if (hour < 10) { + return 'सुबह'; + } else if (hour < 17) { + return 'दोपहर'; + } else if (hour < 20) { + return 'शाम'; + } else { + return 'रात'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return hi; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hr.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hr.js new file mode 100644 index 0000000000..f41cce0616 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hr.js @@ -0,0 +1,167 @@ +//! moment.js locale configuration +//! locale : Croatian [hr] +//! author : Bojan Marković : https://github.com/bmarkovic + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + if (number === 1) { + result += 'sekunda'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sekunde'; + } else { + result += 'sekundi'; + } + return result; + case 'm': + return withoutSuffix ? 'jedna minuta' : 'jedne minute'; + case 'mm': + if (number === 1) { + result += 'minuta'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'minute'; + } else { + result += 'minuta'; + } + return result; + case 'h': + return withoutSuffix ? 'jedan sat' : 'jednog sata'; + case 'hh': + if (number === 1) { + result += 'sat'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'sata'; + } else { + result += 'sati'; + } + return result; + case 'dd': + if (number === 1) { + result += 'dan'; + } else { + result += 'dana'; + } + return result; + case 'MM': + if (number === 1) { + result += 'mjesec'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'mjeseca'; + } else { + result += 'mjeseci'; + } + return result; + case 'yy': + if (number === 1) { + result += 'godina'; + } else if (number === 2 || number === 3 || number === 4) { + result += 'godine'; + } else { + result += 'godina'; + } + return result; + } + } + + var hr = moment.defineLocale('hr', { + months: { + format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split( + '_' + ), + standalone: + 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split( + '_' + ), + }, + monthsShort: + 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( + '_' + ), + weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'Do MMMM YYYY', + LLL: 'Do MMMM YYYY H:mm', + LLLL: 'dddd, Do MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay: '[jučer u] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[prošlu] [nedjelju] [u] LT'; + case 3: + return '[prošlu] [srijedu] [u] LT'; + case 6: + return '[prošle] [subote] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[prošli] dddd [u] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'prije %s', + s: 'par sekundi', + ss: translate, + m: translate, + mm: translate, + h: translate, + hh: translate, + d: 'dan', + dd: translate, + M: 'mjesec', + MM: translate, + y: 'godinu', + yy: translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return hr; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hu.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hu.js new file mode 100644 index 0000000000..162959d848 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hu.js @@ -0,0 +1,129 @@ +//! moment.js locale configuration +//! locale : Hungarian [hu] +//! author : Adam Brunner : https://github.com/adambrunner +//! author : Peter Viszt : https://github.com/passatgt + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var weekEndings = + 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' '); + function translate(number, withoutSuffix, key, isFuture) { + var num = number; + switch (key) { + case 's': + return isFuture || withoutSuffix + ? 'néhány másodperc' + : 'néhány másodperce'; + case 'ss': + return num + (isFuture || withoutSuffix) + ? ' másodperc' + : ' másodperce'; + case 'm': + return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'mm': + return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); + case 'h': + return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'hh': + return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); + case 'd': + return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'dd': + return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); + case 'M': + return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'MM': + return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); + case 'y': + return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); + case 'yy': + return num + (isFuture || withoutSuffix ? ' év' : ' éve'); + } + return ''; + } + function week(isFuture) { + return ( + (isFuture ? '' : '[múlt] ') + + '[' + + weekEndings[this.day()] + + '] LT[-kor]' + ); + } + + var hu = moment.defineLocale('hu', { + months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split( + '_' + ), + monthsShort: + 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'), + weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), + weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'YYYY.MM.DD.', + LL: 'YYYY. MMMM D.', + LLL: 'YYYY. MMMM D. H:mm', + LLLL: 'YYYY. MMMM D., dddd H:mm', + }, + meridiemParse: /de|du/i, + isPM: function (input) { + return input.charAt(1).toLowerCase() === 'u'; + }, + meridiem: function (hours, minutes, isLower) { + if (hours < 12) { + return isLower === true ? 'de' : 'DE'; + } else { + return isLower === true ? 'du' : 'DU'; + } + }, + calendar: { + sameDay: '[ma] LT[-kor]', + nextDay: '[holnap] LT[-kor]', + nextWeek: function () { + return week.call(this, true); + }, + lastDay: '[tegnap] LT[-kor]', + lastWeek: function () { + return week.call(this, false); + }, + sameElse: 'L', + }, + relativeTime: { + future: '%s múlva', + past: '%s', + s: translate, + ss: translate, + m: translate, + mm: translate, + h: translate, + hh: translate, + d: translate, + dd: translate, + M: translate, + MM: translate, + y: translate, + yy: translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return hu; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hy-am.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hy-am.js new file mode 100644 index 0000000000..9c65b1e92d --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/hy-am.js @@ -0,0 +1,105 @@ +//! moment.js locale configuration +//! locale : Armenian [hy-am] +//! author : Armendarabyan : https://github.com/armendarabyan + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var hyAm = moment.defineLocale('hy-am', { + months: { + format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split( + '_' + ), + standalone: + 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split( + '_' + ), + }, + monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'), + weekdays: + 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split( + '_' + ), + weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), + weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY թ.', + LLL: 'D MMMM YYYY թ., HH:mm', + LLLL: 'dddd, D MMMM YYYY թ., HH:mm', + }, + calendar: { + sameDay: '[այսօր] LT', + nextDay: '[վաղը] LT', + lastDay: '[երեկ] LT', + nextWeek: function () { + return 'dddd [օրը ժամը] LT'; + }, + lastWeek: function () { + return '[անցած] dddd [օրը ժամը] LT'; + }, + sameElse: 'L', + }, + relativeTime: { + future: '%s հետո', + past: '%s առաջ', + s: 'մի քանի վայրկյան', + ss: '%d վայրկյան', + m: 'րոպե', + mm: '%d րոպե', + h: 'ժամ', + hh: '%d ժամ', + d: 'օր', + dd: '%d օր', + M: 'ամիս', + MM: '%d ամիս', + y: 'տարի', + yy: '%d տարի', + }, + meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/, + isPM: function (input) { + return /^(ցերեկվա|երեկոյան)$/.test(input); + }, + meridiem: function (hour) { + if (hour < 4) { + return 'գիշերվա'; + } else if (hour < 12) { + return 'առավոտվա'; + } else if (hour < 17) { + return 'ցերեկվա'; + } else { + return 'երեկոյան'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/, + ordinal: function (number, period) { + switch (period) { + case 'DDD': + case 'w': + case 'W': + case 'DDDo': + if (number === 1) { + return number + '-ին'; + } + return number + '-րդ'; + default: + return number; + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return hyAm; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/id.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/id.js new file mode 100644 index 0000000000..9f8ff0a05b --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/id.js @@ -0,0 +1,87 @@ +//! moment.js locale configuration +//! locale : Indonesian [id] +//! author : Mohammad Satrio Utomo : https://github.com/tyok +//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var id = moment.defineLocale('id', { + months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), + weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), + weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), + weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', + }, + meridiemParse: /pagi|siang|sore|malam/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'siang') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'sore' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem: function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'siang'; + } else if (hours < 19) { + return 'sore'; + } else { + return 'malam'; + } + }, + calendar: { + sameDay: '[Hari ini pukul] LT', + nextDay: '[Besok pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kemarin pukul] LT', + lastWeek: 'dddd [lalu pukul] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dalam %s', + past: '%s yang lalu', + s: 'beberapa detik', + ss: '%d detik', + m: 'semenit', + mm: '%d menit', + h: 'sejam', + hh: '%d jam', + d: 'sehari', + dd: '%d hari', + M: 'sebulan', + MM: '%d bulan', + y: 'setahun', + yy: '%d tahun', + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return id; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/is.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/is.js new file mode 100644 index 0000000000..02520062d4 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/is.js @@ -0,0 +1,151 @@ +//! moment.js locale configuration +//! locale : Icelandic [is] +//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function plural(n) { + if (n % 100 === 11) { + return true; + } else if (n % 10 === 1) { + return false; + } + return true; + } + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture + ? 'nokkrar sekúndur' + : 'nokkrum sekúndum'; + case 'ss': + if (plural(number)) { + return ( + result + + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum') + ); + } + return result + 'sekúnda'; + case 'm': + return withoutSuffix ? 'mínúta' : 'mínútu'; + case 'mm': + if (plural(number)) { + return ( + result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum') + ); + } else if (withoutSuffix) { + return result + 'mínúta'; + } + return result + 'mínútu'; + case 'hh': + if (plural(number)) { + return ( + result + + (withoutSuffix || isFuture + ? 'klukkustundir' + : 'klukkustundum') + ); + } + return result + 'klukkustund'; + case 'd': + if (withoutSuffix) { + return 'dagur'; + } + return isFuture ? 'dag' : 'degi'; + case 'dd': + if (plural(number)) { + if (withoutSuffix) { + return result + 'dagar'; + } + return result + (isFuture ? 'daga' : 'dögum'); + } else if (withoutSuffix) { + return result + 'dagur'; + } + return result + (isFuture ? 'dag' : 'degi'); + case 'M': + if (withoutSuffix) { + return 'mánuður'; + } + return isFuture ? 'mánuð' : 'mánuði'; + case 'MM': + if (plural(number)) { + if (withoutSuffix) { + return result + 'mánuðir'; + } + return result + (isFuture ? 'mánuði' : 'mánuðum'); + } else if (withoutSuffix) { + return result + 'mánuður'; + } + return result + (isFuture ? 'mánuð' : 'mánuði'); + case 'y': + return withoutSuffix || isFuture ? 'ár' : 'ári'; + case 'yy': + if (plural(number)) { + return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); + } + return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); + } + } + + var is = moment.defineLocale('is', { + months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split( + '_' + ), + monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'), + weekdays: + 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split( + '_' + ), + weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), + weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY [kl.] H:mm', + LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm', + }, + calendar: { + sameDay: '[í dag kl.] LT', + nextDay: '[á morgun kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[í gær kl.] LT', + lastWeek: '[síðasta] dddd [kl.] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'eftir %s', + past: 'fyrir %s síðan', + s: translate, + ss: translate, + m: translate, + mm: translate, + h: 'klukkustund', + hh: translate, + d: translate, + dd: translate, + M: translate, + MM: translate, + y: translate, + yy: translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return is; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/it-ch.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/it-ch.js new file mode 100644 index 0000000000..8042827dda --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/it-ch.js @@ -0,0 +1,75 @@ +//! moment.js locale configuration +//! locale : Italian (Switzerland) [it-ch] +//! author : xfh : https://github.com/xfh + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var itCh = moment.defineLocale('it-ch', { + months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( + '_' + ), + monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), + weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( + '_' + ), + weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Oggi alle] LT', + nextDay: '[Domani alle] LT', + nextWeek: 'dddd [alle] LT', + lastDay: '[Ieri alle] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[la scorsa] dddd [alle] LT'; + default: + return '[lo scorso] dddd [alle] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: function (s) { + return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s; + }, + past: '%s fa', + s: 'alcuni secondi', + ss: '%d secondi', + m: 'un minuto', + mm: '%d minuti', + h: "un'ora", + hh: '%d ore', + d: 'un giorno', + dd: '%d giorni', + M: 'un mese', + MM: '%d mesi', + y: 'un anno', + yy: '%d anni', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return itCh; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/it.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/it.js new file mode 100644 index 0000000000..2ac903775a --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/it.js @@ -0,0 +1,117 @@ +//! moment.js locale configuration +//! locale : Italian [it] +//! author : Lorenzo : https://github.com/aliem +//! author: Mattia Larentis: https://github.com/nostalgiaz +//! author: Marco : https://github.com/Manfre98 + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var it = moment.defineLocale('it', { + months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( + '_' + ), + monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), + weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( + '_' + ), + weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), + weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: function () { + return ( + '[Oggi a' + + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + + ']LT' + ); + }, + nextDay: function () { + return ( + '[Domani a' + + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + + ']LT' + ); + }, + nextWeek: function () { + return ( + 'dddd [a' + + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + + ']LT' + ); + }, + lastDay: function () { + return ( + '[Ieri a' + + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + + ']LT' + ); + }, + lastWeek: function () { + switch (this.day()) { + case 0: + return ( + '[La scorsa] dddd [a' + + (this.hours() > 1 + ? 'lle ' + : this.hours() === 0 + ? ' ' + : "ll'") + + ']LT' + ); + default: + return ( + '[Lo scorso] dddd [a' + + (this.hours() > 1 + ? 'lle ' + : this.hours() === 0 + ? ' ' + : "ll'") + + ']LT' + ); + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'tra %s', + past: '%s fa', + s: 'alcuni secondi', + ss: '%d secondi', + m: 'un minuto', + mm: '%d minuti', + h: "un'ora", + hh: '%d ore', + d: 'un giorno', + dd: '%d giorni', + w: 'una settimana', + ww: '%d settimane', + M: 'un mese', + MM: '%d mesi', + y: 'un anno', + yy: '%d anni', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return it; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ja.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ja.js new file mode 100644 index 0000000000..88d8454837 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ja.js @@ -0,0 +1,159 @@ +//! moment.js locale configuration +//! locale : Japanese [ja] +//! author : LI Long : https://github.com/baryon + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var ja = moment.defineLocale('ja', { + eras: [ + { + since: '2019-05-01', + offset: 1, + name: '令和', + narrow: '㋿', + abbr: 'R', + }, + { + since: '1989-01-08', + until: '2019-04-30', + offset: 1, + name: '平成', + narrow: '㍻', + abbr: 'H', + }, + { + since: '1926-12-25', + until: '1989-01-07', + offset: 1, + name: '昭和', + narrow: '㍼', + abbr: 'S', + }, + { + since: '1912-07-30', + until: '1926-12-24', + offset: 1, + name: '大正', + narrow: '㍽', + abbr: 'T', + }, + { + since: '1873-01-01', + until: '1912-07-29', + offset: 6, + name: '明治', + narrow: '㍾', + abbr: 'M', + }, + { + since: '0001-01-01', + until: '1873-12-31', + offset: 1, + name: '西暦', + narrow: 'AD', + abbr: 'AD', + }, + { + since: '0000-12-31', + until: -Infinity, + offset: 1, + name: '紀元前', + narrow: 'BC', + abbr: 'BC', + }, + ], + eraYearOrdinalRegex: /(元|\d+)年/, + eraYearOrdinalParse: function (input, match) { + return match[1] === '元' ? 1 : parseInt(match[1] || input, 10); + }, + months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( + '_' + ), + weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'), + weekdaysShort: '日_月_火_水_木_金_土'.split('_'), + weekdaysMin: '日_月_火_水_木_金_土'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY/MM/DD', + LL: 'YYYY年M月D日', + LLL: 'YYYY年M月D日 HH:mm', + LLLL: 'YYYY年M月D日 dddd HH:mm', + l: 'YYYY/MM/DD', + ll: 'YYYY年M月D日', + lll: 'YYYY年M月D日 HH:mm', + llll: 'YYYY年M月D日(ddd) HH:mm', + }, + meridiemParse: /午前|午後/i, + isPM: function (input) { + return input === '午後'; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return '午前'; + } else { + return '午後'; + } + }, + calendar: { + sameDay: '[今日] LT', + nextDay: '[明日] LT', + nextWeek: function (now) { + if (now.week() !== this.week()) { + return '[来週]dddd LT'; + } else { + return 'dddd LT'; + } + }, + lastDay: '[昨日] LT', + lastWeek: function (now) { + if (this.week() !== now.week()) { + return '[先週]dddd LT'; + } else { + return 'dddd LT'; + } + }, + sameElse: 'L', + }, + dayOfMonthOrdinalParse: /\d{1,2}日/, + ordinal: function (number, period) { + switch (period) { + case 'y': + return number === 1 ? '元年' : number + '年'; + case 'd': + case 'D': + case 'DDD': + return number + '日'; + default: + return number; + } + }, + relativeTime: { + future: '%s後', + past: '%s前', + s: '数秒', + ss: '%d秒', + m: '1分', + mm: '%d分', + h: '1時間', + hh: '%d時間', + d: '1日', + dd: '%d日', + M: '1ヶ月', + MM: '%dヶ月', + y: '1年', + yy: '%d年', + }, + }); + + return ja; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/jv.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/jv.js new file mode 100644 index 0000000000..ab6655fe9f --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/jv.js @@ -0,0 +1,87 @@ +//! moment.js locale configuration +//! locale : Javanese [jv] +//! author : Rony Lantip : https://github.com/lantip +//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var jv = moment.defineLocale('jv', { + months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), + weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), + weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), + weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', + }, + meridiemParse: /enjing|siyang|sonten|ndalu/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'enjing') { + return hour; + } else if (meridiem === 'siyang') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'sonten' || meridiem === 'ndalu') { + return hour + 12; + } + }, + meridiem: function (hours, minutes, isLower) { + if (hours < 11) { + return 'enjing'; + } else if (hours < 15) { + return 'siyang'; + } else if (hours < 19) { + return 'sonten'; + } else { + return 'ndalu'; + } + }, + calendar: { + sameDay: '[Dinten puniko pukul] LT', + nextDay: '[Mbenjang pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kala wingi pukul] LT', + lastWeek: 'dddd [kepengker pukul] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'wonten ing %s', + past: '%s ingkang kepengker', + s: 'sawetawis detik', + ss: '%d detik', + m: 'setunggal menit', + mm: '%d menit', + h: 'setunggal jam', + hh: '%d jam', + d: 'sedinten', + dd: '%d dinten', + M: 'sewulan', + MM: '%d wulan', + y: 'setaun', + yy: '%d taun', + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return jv; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ka.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ka.js new file mode 100644 index 0000000000..635766940f --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ka.js @@ -0,0 +1,103 @@ +//! moment.js locale configuration +//! locale : Georgian [ka] +//! author : Irakli Janiashvili : https://github.com/IrakliJani + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var ka = moment.defineLocale('ka', { + months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split( + '_' + ), + monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'), + weekdays: { + standalone: + 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split( + '_' + ), + format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split( + '_' + ), + isFormat: /(წინა|შემდეგ)/, + }, + weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), + weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[დღეს] LT[-ზე]', + nextDay: '[ხვალ] LT[-ზე]', + lastDay: '[გუშინ] LT[-ზე]', + nextWeek: '[შემდეგ] dddd LT[-ზე]', + lastWeek: '[წინა] dddd LT-ზე', + sameElse: 'L', + }, + relativeTime: { + future: function (s) { + return s.replace( + /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, + function ($0, $1, $2) { + return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში'; + } + ); + }, + past: function (s) { + if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) { + return s.replace(/(ი|ე)$/, 'ის წინ'); + } + if (/წელი/.test(s)) { + return s.replace(/წელი$/, 'წლის წინ'); + } + return s; + }, + s: 'რამდენიმე წამი', + ss: '%d წამი', + m: 'წუთი', + mm: '%d წუთი', + h: 'საათი', + hh: '%d საათი', + d: 'დღე', + dd: '%d დღე', + M: 'თვე', + MM: '%d თვე', + y: 'წელი', + yy: '%d წელი', + }, + dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, + ordinal: function (number) { + if (number === 0) { + return number; + } + if (number === 1) { + return number + '-ლი'; + } + if ( + number < 20 || + (number <= 100 && number % 20 === 0) || + number % 100 === 0 + ) { + return 'მე-' + number; + } + return number + '-ე'; + }, + week: { + dow: 1, + doy: 7, + }, + }); + + return ka; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/kk.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/kk.js new file mode 100644 index 0000000000..38f2e8c1ca --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/kk.js @@ -0,0 +1,93 @@ +//! moment.js locale configuration +//! locale : Kazakh [kk] +//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var suffixes = { + 0: '-ші', + 1: '-ші', + 2: '-ші', + 3: '-ші', + 4: '-ші', + 5: '-ші', + 6: '-шы', + 7: '-ші', + 8: '-ші', + 9: '-шы', + 10: '-шы', + 20: '-шы', + 30: '-шы', + 40: '-шы', + 50: '-ші', + 60: '-шы', + 70: '-ші', + 80: '-ші', + 90: '-шы', + 100: '-ші', + }; + + var kk = moment.defineLocale('kk', { + months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split( + '_' + ), + monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'), + weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split( + '_' + ), + weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'), + weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Бүгін сағат] LT', + nextDay: '[Ертең сағат] LT', + nextWeek: 'dddd [сағат] LT', + lastDay: '[Кеше сағат] LT', + lastWeek: '[Өткен аптаның] dddd [сағат] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s ішінде', + past: '%s бұрын', + s: 'бірнеше секунд', + ss: '%d секунд', + m: 'бір минут', + mm: '%d минут', + h: 'бір сағат', + hh: '%d сағат', + d: 'бір күн', + dd: '%d күн', + M: 'бір ай', + MM: '%d ай', + y: 'бір жыл', + yy: '%d жыл', + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/, + ordinal: function (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes[number] || suffixes[a] || suffixes[b]); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return kk; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/km.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/km.js new file mode 100644 index 0000000000..5306436e5e --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/km.js @@ -0,0 +1,114 @@ +//! moment.js locale configuration +//! locale : Cambodian [km] +//! author : Kruy Vanna : https://github.com/kruyvanna + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '១', + 2: '២', + 3: '៣', + 4: '៤', + 5: '៥', + 6: '៦', + 7: '៧', + 8: '៨', + 9: '៩', + 0: '០', + }, + numberMap = { + '១': '1', + '២': '2', + '៣': '3', + '៤': '4', + '៥': '5', + '៦': '6', + '៧': '7', + '៨': '8', + '៩': '9', + '០': '0', + }; + + var km = moment.defineLocale('km', { + months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + monthsShort: + 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( + '_' + ), + weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), + weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), + weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + meridiemParse: /ព្រឹក|ល្ងាច/, + isPM: function (input) { + return input === 'ល្ងាច'; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ព្រឹក'; + } else { + return 'ល្ងាច'; + } + }, + calendar: { + sameDay: '[ថ្ងៃនេះ ម៉ោង] LT', + nextDay: '[ស្អែក ម៉ោង] LT', + nextWeek: 'dddd [ម៉ោង] LT', + lastDay: '[ម្សិលមិញ ម៉ោង] LT', + lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%sទៀត', + past: '%sមុន', + s: 'ប៉ុន្មានវិនាទី', + ss: '%d វិនាទី', + m: 'មួយនាទី', + mm: '%d នាទី', + h: 'មួយម៉ោង', + hh: '%d ម៉ោង', + d: 'មួយថ្ងៃ', + dd: '%d ថ្ងៃ', + M: 'មួយខែ', + MM: '%d ខែ', + y: 'មួយឆ្នាំ', + yy: '%d ឆ្នាំ', + }, + dayOfMonthOrdinalParse: /ទី\d{1,2}/, + ordinal: 'ទី%d', + preparse: function (string) { + return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return km; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/kn.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/kn.js new file mode 100644 index 0000000000..5fe70b0ba8 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/kn.js @@ -0,0 +1,135 @@ +//! moment.js locale configuration +//! locale : Kannada [kn] +//! author : Rajeev Naik : https://github.com/rajeevnaikte + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '೧', + 2: '೨', + 3: '೩', + 4: '೪', + 5: '೫', + 6: '೬', + 7: '೭', + 8: '೮', + 9: '೯', + 0: '೦', + }, + numberMap = { + '೧': '1', + '೨': '2', + '೩': '3', + '೪': '4', + '೫': '5', + '೬': '6', + '೭': '7', + '೮': '8', + '೯': '9', + '೦': '0', + }; + + var kn = moment.defineLocale('kn', { + months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split( + '_' + ), + monthsShort: + 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split( + '_' + ), + weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'), + weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'), + longDateFormat: { + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm', + LLLL: 'dddd, D MMMM YYYY, A h:mm', + }, + calendar: { + sameDay: '[ಇಂದು] LT', + nextDay: '[ನಾಳೆ] LT', + nextWeek: 'dddd, LT', + lastDay: '[ನಿನ್ನೆ] LT', + lastWeek: '[ಕೊನೆಯ] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s ನಂತರ', + past: '%s ಹಿಂದೆ', + s: 'ಕೆಲವು ಕ್ಷಣಗಳು', + ss: '%d ಸೆಕೆಂಡುಗಳು', + m: 'ಒಂದು ನಿಮಿಷ', + mm: '%d ನಿಮಿಷ', + h: 'ಒಂದು ಗಂಟೆ', + hh: '%d ಗಂಟೆ', + d: 'ಒಂದು ದಿನ', + dd: '%d ದಿನ', + M: 'ಒಂದು ತಿಂಗಳು', + MM: '%d ತಿಂಗಳು', + y: 'ಒಂದು ವರ್ಷ', + yy: '%d ವರ್ಷ', + }, + preparse: function (string) { + return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ರಾತ್ರಿ') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') { + return hour; + } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ಸಂಜೆ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'ರಾತ್ರಿ'; + } else if (hour < 10) { + return 'ಬೆಳಿಗ್ಗೆ'; + } else if (hour < 17) { + return 'ಮಧ್ಯಾಹ್ನ'; + } else if (hour < 20) { + return 'ಸಂಜೆ'; + } else { + return 'ರಾತ್ರಿ'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, + ordinal: function (number) { + return number + 'ನೇ'; + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return kn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ko.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ko.js new file mode 100644 index 0000000000..c81c13ea6f --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ko.js @@ -0,0 +1,86 @@ +//! moment.js locale configuration +//! locale : Korean [ko] +//! author : Kyungwook, Park : https://github.com/kyungw00k +//! author : Jeeeyul Lee + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var ko = moment.defineLocale('ko', { + months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), + monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split( + '_' + ), + weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'), + weekdaysShort: '일_월_화_수_목_금_토'.split('_'), + weekdaysMin: '일_월_화_수_목_금_토'.split('_'), + longDateFormat: { + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'YYYY.MM.DD.', + LL: 'YYYY년 MMMM D일', + LLL: 'YYYY년 MMMM D일 A h:mm', + LLLL: 'YYYY년 MMMM D일 dddd A h:mm', + l: 'YYYY.MM.DD.', + ll: 'YYYY년 MMMM D일', + lll: 'YYYY년 MMMM D일 A h:mm', + llll: 'YYYY년 MMMM D일 dddd A h:mm', + }, + calendar: { + sameDay: '오늘 LT', + nextDay: '내일 LT', + nextWeek: 'dddd LT', + lastDay: '어제 LT', + lastWeek: '지난주 dddd LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s 후', + past: '%s 전', + s: '몇 초', + ss: '%d초', + m: '1분', + mm: '%d분', + h: '한 시간', + hh: '%d시간', + d: '하루', + dd: '%d일', + M: '한 달', + MM: '%d달', + y: '일 년', + yy: '%d년', + }, + dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '일'; + case 'M': + return number + '월'; + case 'w': + case 'W': + return number + '주'; + default: + return number; + } + }, + meridiemParse: /오전|오후/, + isPM: function (token) { + return token === '오후'; + }, + meridiem: function (hour, minute, isUpper) { + return hour < 12 ? '오전' : '오후'; + }, + }); + + return ko; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ku.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ku.js new file mode 100644 index 0000000000..71c56a1140 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ku.js @@ -0,0 +1,129 @@ +//! moment.js locale configuration +//! locale : Kurdish [ku] +//! author : Shahram Mebashar : https://github.com/ShahramMebashar + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '١', + 2: '٢', + 3: '٣', + 4: '٤', + 5: '٥', + 6: '٦', + 7: '٧', + 8: '٨', + 9: '٩', + 0: '٠', + }, + numberMap = { + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + '٠': '0', + }, + months = [ + 'کانونی دووەم', + 'شوبات', + 'ئازار', + 'نیسان', + 'ئایار', + 'حوزەیران', + 'تەمموز', + 'ئاب', + 'ئەیلوول', + 'تشرینی یەكەم', + 'تشرینی دووەم', + 'كانونی یەکەم', + ]; + + var ku = moment.defineLocale('ku', { + months: months, + monthsShort: months, + weekdays: + 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split( + '_' + ), + weekdaysShort: + 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'), + weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + meridiemParse: /ئێواره‌|به‌یانی/, + isPM: function (input) { + return /ئێواره‌/.test(input); + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'به‌یانی'; + } else { + return 'ئێواره‌'; + } + }, + calendar: { + sameDay: '[ئه‌مرۆ كاتژمێر] LT', + nextDay: '[به‌یانی كاتژمێر] LT', + nextWeek: 'dddd [كاتژمێر] LT', + lastDay: '[دوێنێ كاتژمێر] LT', + lastWeek: 'dddd [كاتژمێر] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'له‌ %s', + past: '%s', + s: 'چه‌ند چركه‌یه‌ك', + ss: 'چركه‌ %d', + m: 'یه‌ك خوله‌ك', + mm: '%d خوله‌ك', + h: 'یه‌ك كاتژمێر', + hh: '%d كاتژمێر', + d: 'یه‌ك ڕۆژ', + dd: '%d ڕۆژ', + M: 'یه‌ك مانگ', + MM: '%d مانگ', + y: 'یه‌ك ساڵ', + yy: '%d ساڵ', + }, + preparse: function (string) { + return string + .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }) + .replace(/،/g, ','); + }, + postformat: function (string) { + return string + .replace(/\d/g, function (match) { + return symbolMap[match]; + }) + .replace(/,/g, '،'); + }, + week: { + dow: 6, // Saturday is the first day of the week. + doy: 12, // The week that contains Jan 12th is the first week of the year. + }, + }); + + return ku; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ky.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ky.js new file mode 100644 index 0000000000..6dce606150 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ky.js @@ -0,0 +1,95 @@ +//! moment.js locale configuration +//! locale : Kyrgyz [ky] +//! author : Chyngyz Arystan uulu : https://github.com/chyngyz + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var suffixes = { + 0: '-чү', + 1: '-чи', + 2: '-чи', + 3: '-чү', + 4: '-чү', + 5: '-чи', + 6: '-чы', + 7: '-чи', + 8: '-чи', + 9: '-чу', + 10: '-чу', + 20: '-чы', + 30: '-чу', + 40: '-чы', + 50: '-чү', + 60: '-чы', + 70: '-чи', + 80: '-чи', + 90: '-чу', + 100: '-чү', + }; + + var ky = moment.defineLocale('ky', { + months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( + '_' + ), + monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split( + '_' + ), + weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split( + '_' + ), + weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), + weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Бүгүн саат] LT', + nextDay: '[Эртең саат] LT', + nextWeek: 'dddd [саат] LT', + lastDay: '[Кечээ саат] LT', + lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s ичинде', + past: '%s мурун', + s: 'бирнече секунд', + ss: '%d секунд', + m: 'бир мүнөт', + mm: '%d мүнөт', + h: 'бир саат', + hh: '%d саат', + d: 'бир күн', + dd: '%d күн', + M: 'бир ай', + MM: '%d ай', + y: 'бир жыл', + yy: '%d жыл', + }, + dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/, + ordinal: function (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes[number] || suffixes[a] || suffixes[b]); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return ky; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lb.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lb.js new file mode 100644 index 0000000000..ffcb7584fc --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lb.js @@ -0,0 +1,148 @@ +//! moment.js locale configuration +//! locale : Luxembourgish [lb] +//! author : mweimerskirch : https://github.com/mweimerskirch +//! author : David Raison : https://github.com/kwisatz + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + m: ['eng Minutt', 'enger Minutt'], + h: ['eng Stonn', 'enger Stonn'], + d: ['een Dag', 'engem Dag'], + M: ['ee Mount', 'engem Mount'], + y: ['ee Joer', 'engem Joer'], + }; + return withoutSuffix ? format[key][0] : format[key][1]; + } + function processFutureTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'a ' + string; + } + return 'an ' + string; + } + function processPastTime(string) { + var number = string.substr(0, string.indexOf(' ')); + if (eifelerRegelAppliesToNumber(number)) { + return 'viru ' + string; + } + return 'virun ' + string; + } + /** + * Returns true if the word before the given number loses the '-n' ending. + * e.g. 'an 10 Deeg' but 'a 5 Deeg' + * + * @param number {integer} + * @returns {boolean} + */ + function eifelerRegelAppliesToNumber(number) { + number = parseInt(number, 10); + if (isNaN(number)) { + return false; + } + if (number < 0) { + // Negative Number --> always true + return true; + } else if (number < 10) { + // Only 1 digit + if (4 <= number && number <= 7) { + return true; + } + return false; + } else if (number < 100) { + // 2 digits + var lastDigit = number % 10, + firstDigit = number / 10; + if (lastDigit === 0) { + return eifelerRegelAppliesToNumber(firstDigit); + } + return eifelerRegelAppliesToNumber(lastDigit); + } else if (number < 10000) { + // 3 or 4 digits --> recursively check first digit + while (number >= 10) { + number = number / 10; + } + return eifelerRegelAppliesToNumber(number); + } else { + // Anything larger than 4 digits: recursively check first n-3 digits + number = number / 1000; + return eifelerRegelAppliesToNumber(number); + } + } + + var lb = moment.defineLocale('lb', { + months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split( + '_' + ), + monthsShort: + 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split( + '_' + ), + monthsParseExact: true, + weekdays: + 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split( + '_' + ), + weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), + weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm [Auer]', + LTS: 'H:mm:ss [Auer]', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm [Auer]', + LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]', + }, + calendar: { + sameDay: '[Haut um] LT', + sameElse: 'L', + nextDay: '[Muer um] LT', + nextWeek: 'dddd [um] LT', + lastDay: '[Gëschter um] LT', + lastWeek: function () { + // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule + switch (this.day()) { + case 2: + case 4: + return '[Leschten] dddd [um] LT'; + default: + return '[Leschte] dddd [um] LT'; + } + }, + }, + relativeTime: { + future: processFutureTime, + past: processPastTime, + s: 'e puer Sekonnen', + ss: '%d Sekonnen', + m: processRelativeTime, + mm: '%d Minutten', + h: processRelativeTime, + hh: '%d Stonnen', + d: processRelativeTime, + dd: '%d Deeg', + M: processRelativeTime, + MM: '%d Méint', + y: processRelativeTime, + yy: '%d Joer', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return lb; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lo.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lo.js new file mode 100644 index 0000000000..18fc666d5c --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lo.js @@ -0,0 +1,77 @@ +//! moment.js locale configuration +//! locale : Lao [lo] +//! author : Ryan Hart : https://github.com/ryanhart2 + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var lo = moment.defineLocale('lo', { + months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( + '_' + ), + monthsShort: + 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( + '_' + ), + weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), + weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), + weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'ວັນdddd D MMMM YYYY HH:mm', + }, + meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, + isPM: function (input) { + return input === 'ຕອນແລງ'; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ຕອນເຊົ້າ'; + } else { + return 'ຕອນແລງ'; + } + }, + calendar: { + sameDay: '[ມື້ນີ້ເວລາ] LT', + nextDay: '[ມື້ອື່ນເວລາ] LT', + nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', + lastDay: '[ມື້ວານນີ້ເວລາ] LT', + lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'ອີກ %s', + past: '%sຜ່ານມາ', + s: 'ບໍ່ເທົ່າໃດວິນາທີ', + ss: '%d ວິນາທີ', + m: '1 ນາທີ', + mm: '%d ນາທີ', + h: '1 ຊົ່ວໂມງ', + hh: '%d ຊົ່ວໂມງ', + d: '1 ມື້', + dd: '%d ມື້', + M: '1 ເດືອນ', + MM: '%d ເດືອນ', + y: '1 ປີ', + yy: '%d ປີ', + }, + dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, + ordinal: function (number) { + return 'ທີ່' + number; + }, + }); + + return lo; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lt.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lt.js new file mode 100644 index 0000000000..e20d20801c --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lt.js @@ -0,0 +1,136 @@ +//! moment.js locale configuration +//! locale : Lithuanian [lt] +//! author : Mindaugas Mozūras : https://github.com/mmozuras + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var units = { + ss: 'sekundė_sekundžių_sekundes', + m: 'minutė_minutės_minutę', + mm: 'minutės_minučių_minutes', + h: 'valanda_valandos_valandą', + hh: 'valandos_valandų_valandas', + d: 'diena_dienos_dieną', + dd: 'dienos_dienų_dienas', + M: 'mėnuo_mėnesio_mėnesį', + MM: 'mėnesiai_mėnesių_mėnesius', + y: 'metai_metų_metus', + yy: 'metai_metų_metus', + }; + function translateSeconds(number, withoutSuffix, key, isFuture) { + if (withoutSuffix) { + return 'kelios sekundės'; + } else { + return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; + } + } + function translateSingular(number, withoutSuffix, key, isFuture) { + return withoutSuffix + ? forms(key)[0] + : isFuture + ? forms(key)[1] + : forms(key)[2]; + } + function special(number) { + return number % 10 === 0 || (number > 10 && number < 20); + } + function forms(key) { + return units[key].split('_'); + } + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + if (number === 1) { + return ( + result + translateSingular(number, withoutSuffix, key[0], isFuture) + ); + } else if (withoutSuffix) { + return result + (special(number) ? forms(key)[1] : forms(key)[0]); + } else { + if (isFuture) { + return result + forms(key)[1]; + } else { + return result + (special(number) ? forms(key)[1] : forms(key)[2]); + } + } + } + var lt = moment.defineLocale('lt', { + months: { + format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split( + '_' + ), + standalone: + 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split( + '_' + ), + isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/, + }, + monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), + weekdays: { + format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split( + '_' + ), + standalone: + 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split( + '_' + ), + isFormat: /dddd HH:mm/, + }, + weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), + weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY [m.] MMMM D [d.]', + LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', + LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', + l: 'YYYY-MM-DD', + ll: 'YYYY [m.] MMMM D [d.]', + lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', + llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]', + }, + calendar: { + sameDay: '[Šiandien] LT', + nextDay: '[Rytoj] LT', + nextWeek: 'dddd LT', + lastDay: '[Vakar] LT', + lastWeek: '[Praėjusį] dddd LT', + sameElse: 'L', + }, + relativeTime: { + future: 'po %s', + past: 'prieš %s', + s: translateSeconds, + ss: translate, + m: translateSingular, + mm: translate, + h: translateSingular, + hh: translate, + d: translateSingular, + dd: translate, + M: translateSingular, + MM: translate, + y: translateSingular, + yy: translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}-oji/, + ordinal: function (number) { + return number + '-oji'; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return lt; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lv.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lv.js new file mode 100644 index 0000000000..109fdfe3c6 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/lv.js @@ -0,0 +1,105 @@ +//! moment.js locale configuration +//! locale : Latvian [lv] +//! author : Kristaps Karlsons : https://github.com/skakri +//! author : Jānis Elmeris : https://github.com/JanisE + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var units = { + ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'), + m: 'minūtes_minūtēm_minūte_minūtes'.split('_'), + mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'), + h: 'stundas_stundām_stunda_stundas'.split('_'), + hh: 'stundas_stundām_stunda_stundas'.split('_'), + d: 'dienas_dienām_diena_dienas'.split('_'), + dd: 'dienas_dienām_diena_dienas'.split('_'), + M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), + MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), + y: 'gada_gadiem_gads_gadi'.split('_'), + yy: 'gada_gadiem_gads_gadi'.split('_'), + }; + /** + * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. + */ + function format(forms, number, withoutSuffix) { + if (withoutSuffix) { + // E.g. "21 minūte", "3 minūtes". + return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; + } else { + // E.g. "21 minūtes" as in "pēc 21 minūtes". + // E.g. "3 minūtēm" as in "pēc 3 minūtēm". + return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; + } + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + return number + ' ' + format(units[key], number, withoutSuffix); + } + function relativeTimeWithSingular(number, withoutSuffix, key) { + return format(units[key], number, withoutSuffix); + } + function relativeSeconds(number, withoutSuffix) { + return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm'; + } + + var lv = moment.defineLocale('lv', { + months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split( + '_' + ), + monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'), + weekdays: + 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split( + '_' + ), + weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY.', + LL: 'YYYY. [gada] D. MMMM', + LLL: 'YYYY. [gada] D. MMMM, HH:mm', + LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm', + }, + calendar: { + sameDay: '[Šodien pulksten] LT', + nextDay: '[Rīt pulksten] LT', + nextWeek: 'dddd [pulksten] LT', + lastDay: '[Vakar pulksten] LT', + lastWeek: '[Pagājušā] dddd [pulksten] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'pēc %s', + past: 'pirms %s', + s: relativeSeconds, + ss: relativeTimeWithPlural, + m: relativeTimeWithSingular, + mm: relativeTimeWithPlural, + h: relativeTimeWithSingular, + hh: relativeTimeWithPlural, + d: relativeTimeWithSingular, + dd: relativeTimeWithPlural, + M: relativeTimeWithSingular, + MM: relativeTimeWithPlural, + y: relativeTimeWithSingular, + yy: relativeTimeWithPlural, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return lv; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/me.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/me.js new file mode 100644 index 0000000000..21b6826895 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/me.js @@ -0,0 +1,128 @@ +//! moment.js locale configuration +//! locale : Montenegrin [me] +//! author : Miodrag Nikač : https://github.com/miodragnikac + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var translator = { + words: { + //Different grammatical cases + ss: ['sekund', 'sekunda', 'sekundi'], + m: ['jedan minut', 'jednog minuta'], + mm: ['minut', 'minuta', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + dd: ['dan', 'dana', 'dana'], + MM: ['mjesec', 'mjeseca', 'mjeseci'], + yy: ['godina', 'godine', 'godina'], + }, + correctGrammaticalCase: function (number, wordKey) { + return number === 1 + ? wordKey[0] + : number >= 2 && number <= 4 + ? wordKey[1] + : wordKey[2]; + }, + translate: function (number, withoutSuffix, key) { + var wordKey = translator.words[key]; + if (key.length === 1) { + return withoutSuffix ? wordKey[0] : wordKey[1]; + } else { + return ( + number + + ' ' + + translator.correctGrammaticalCase(number, wordKey) + ); + } + }, + }; + + var me = moment.defineLocale('me', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( + '_' + ), + monthsShort: + 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( + '_' + ), + weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[danas u] LT', + nextDay: '[sjutra u] LT', + + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedjelju] [u] LT'; + case 3: + return '[u] [srijedu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay: '[juče u] LT', + lastWeek: function () { + var lastWeekDays = [ + '[prošle] [nedjelje] [u] LT', + '[prošlog] [ponedjeljka] [u] LT', + '[prošlog] [utorka] [u] LT', + '[prošle] [srijede] [u] LT', + '[prošlog] [četvrtka] [u] LT', + '[prošlog] [petka] [u] LT', + '[prošle] [subote] [u] LT', + ]; + return lastWeekDays[this.day()]; + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'prije %s', + s: 'nekoliko sekundi', + ss: translator.translate, + m: translator.translate, + mm: translator.translate, + h: translator.translate, + hh: translator.translate, + d: 'dan', + dd: translator.translate, + M: 'mjesec', + MM: translator.translate, + y: 'godinu', + yy: translator.translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return me; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mi.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mi.js new file mode 100644 index 0000000000..f95f9cb678 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mi.js @@ -0,0 +1,71 @@ +//! moment.js locale configuration +//! locale : Maori [mi] +//! author : John Corrigan : https://github.com/johnideal + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var mi = moment.defineLocale('mi', { + months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split( + '_' + ), + monthsShort: + 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split( + '_' + ), + monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, + monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, + weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'), + weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), + weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [i] HH:mm', + LLLL: 'dddd, D MMMM YYYY [i] HH:mm', + }, + calendar: { + sameDay: '[i teie mahana, i] LT', + nextDay: '[apopo i] LT', + nextWeek: 'dddd [i] LT', + lastDay: '[inanahi i] LT', + lastWeek: 'dddd [whakamutunga i] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'i roto i %s', + past: '%s i mua', + s: 'te hēkona ruarua', + ss: '%d hēkona', + m: 'he meneti', + mm: '%d meneti', + h: 'te haora', + hh: '%d haora', + d: 'he ra', + dd: '%d ra', + M: 'he marama', + MM: '%d marama', + y: 'he tau', + yy: '%d tau', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return mi; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mk.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mk.js new file mode 100644 index 0000000000..c66500dcc4 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mk.js @@ -0,0 +1,97 @@ +//! moment.js locale configuration +//! locale : Macedonian [mk] +//! author : Borislav Mickov : https://github.com/B0k0 +//! author : Sashko Todorov : https://github.com/bkyceh + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var mk = moment.defineLocale('mk', { + months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split( + '_' + ), + monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'), + weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split( + '_' + ), + weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'), + weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'D.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY H:mm', + LLLL: 'dddd, D MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[Денес во] LT', + nextDay: '[Утре во] LT', + nextWeek: '[Во] dddd [во] LT', + lastDay: '[Вчера во] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[Изминатата] dddd [во] LT'; + case 1: + case 2: + case 4: + case 5: + return '[Изминатиот] dddd [во] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'за %s', + past: 'пред %s', + s: 'неколку секунди', + ss: '%d секунди', + m: 'една минута', + mm: '%d минути', + h: 'еден час', + hh: '%d часа', + d: 'еден ден', + dd: '%d дена', + M: 'еден месец', + MM: '%d месеци', + y: 'една година', + yy: '%d години', + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, + ordinal: function (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return mk; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ml.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ml.js new file mode 100644 index 0000000000..6a7298cebf --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ml.js @@ -0,0 +1,93 @@ +//! moment.js locale configuration +//! locale : Malayalam [ml] +//! author : Floyd Pink : https://github.com/floydpink + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var ml = moment.defineLocale('ml', { + months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split( + '_' + ), + monthsShort: + 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split( + '_' + ), + monthsParseExact: true, + weekdays: + 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split( + '_' + ), + weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'), + weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'), + longDateFormat: { + LT: 'A h:mm -നു', + LTS: 'A h:mm:ss -നു', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm -നു', + LLLL: 'dddd, D MMMM YYYY, A h:mm -നു', + }, + calendar: { + sameDay: '[ഇന്ന്] LT', + nextDay: '[നാളെ] LT', + nextWeek: 'dddd, LT', + lastDay: '[ഇന്നലെ] LT', + lastWeek: '[കഴിഞ്ഞ] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s കഴിഞ്ഞ്', + past: '%s മുൻപ്', + s: 'അൽപ നിമിഷങ്ങൾ', + ss: '%d സെക്കൻഡ്', + m: 'ഒരു മിനിറ്റ്', + mm: '%d മിനിറ്റ്', + h: 'ഒരു മണിക്കൂർ', + hh: '%d മണിക്കൂർ', + d: 'ഒരു ദിവസം', + dd: '%d ദിവസം', + M: 'ഒരു മാസം', + MM: '%d മാസം', + y: 'ഒരു വർഷം', + yy: '%d വർഷം', + }, + meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ( + (meridiem === 'രാത്രി' && hour >= 4) || + meridiem === 'ഉച്ച കഴിഞ്ഞ്' || + meridiem === 'വൈകുന്നേരം' + ) { + return hour + 12; + } else { + return hour; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'രാത്രി'; + } else if (hour < 12) { + return 'രാവിലെ'; + } else if (hour < 17) { + return 'ഉച്ച കഴിഞ്ഞ്'; + } else if (hour < 20) { + return 'വൈകുന്നേരം'; + } else { + return 'രാത്രി'; + } + }, + }); + + return ml; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mn.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mn.js new file mode 100644 index 0000000000..a37b792b43 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mn.js @@ -0,0 +1,111 @@ +//! moment.js locale configuration +//! locale : Mongolian [mn] +//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7 + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function translate(number, withoutSuffix, key, isFuture) { + switch (key) { + case 's': + return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын'; + case 'ss': + return number + (withoutSuffix ? ' секунд' : ' секундын'); + case 'm': + case 'mm': + return number + (withoutSuffix ? ' минут' : ' минутын'); + case 'h': + case 'hh': + return number + (withoutSuffix ? ' цаг' : ' цагийн'); + case 'd': + case 'dd': + return number + (withoutSuffix ? ' өдөр' : ' өдрийн'); + case 'M': + case 'MM': + return number + (withoutSuffix ? ' сар' : ' сарын'); + case 'y': + case 'yy': + return number + (withoutSuffix ? ' жил' : ' жилийн'); + default: + return number; + } + } + + var mn = moment.defineLocale('mn', { + months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split( + '_' + ), + monthsShort: + '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'), + weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'), + weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY оны MMMMын D', + LLL: 'YYYY оны MMMMын D HH:mm', + LLLL: 'dddd, YYYY оны MMMMын D HH:mm', + }, + meridiemParse: /ҮӨ|ҮХ/i, + isPM: function (input) { + return input === 'ҮХ'; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ҮӨ'; + } else { + return 'ҮХ'; + } + }, + calendar: { + sameDay: '[Өнөөдөр] LT', + nextDay: '[Маргааш] LT', + nextWeek: '[Ирэх] dddd LT', + lastDay: '[Өчигдөр] LT', + lastWeek: '[Өнгөрсөн] dddd LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s дараа', + past: '%s өмнө', + s: translate, + ss: translate, + m: translate, + mm: translate, + h: translate, + hh: translate, + d: translate, + dd: translate, + M: translate, + MM: translate, + y: translate, + yy: translate, + }, + dayOfMonthOrdinalParse: /\d{1,2} өдөр/, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + ' өдөр'; + default: + return number; + } + }, + }); + + return mn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mr.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mr.js new file mode 100644 index 0000000000..73d5762333 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mr.js @@ -0,0 +1,214 @@ +//! moment.js locale configuration +//! locale : Marathi [mr] +//! author : Harshad Kale : https://github.com/kalehv +//! author : Vivek Athalye : https://github.com/vnathalye + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '१', + 2: '२', + 3: '३', + 4: '४', + 5: '५', + 6: '६', + 7: '७', + 8: '८', + 9: '९', + 0: '०', + }, + numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + '७': '7', + '८': '8', + '९': '9', + '०': '0', + }; + + function relativeTimeMr(number, withoutSuffix, string, isFuture) { + var output = ''; + if (withoutSuffix) { + switch (string) { + case 's': + output = 'काही सेकंद'; + break; + case 'ss': + output = '%d सेकंद'; + break; + case 'm': + output = 'एक मिनिट'; + break; + case 'mm': + output = '%d मिनिटे'; + break; + case 'h': + output = 'एक तास'; + break; + case 'hh': + output = '%d तास'; + break; + case 'd': + output = 'एक दिवस'; + break; + case 'dd': + output = '%d दिवस'; + break; + case 'M': + output = 'एक महिना'; + break; + case 'MM': + output = '%d महिने'; + break; + case 'y': + output = 'एक वर्ष'; + break; + case 'yy': + output = '%d वर्षे'; + break; + } + } else { + switch (string) { + case 's': + output = 'काही सेकंदां'; + break; + case 'ss': + output = '%d सेकंदां'; + break; + case 'm': + output = 'एका मिनिटा'; + break; + case 'mm': + output = '%d मिनिटां'; + break; + case 'h': + output = 'एका तासा'; + break; + case 'hh': + output = '%d तासां'; + break; + case 'd': + output = 'एका दिवसा'; + break; + case 'dd': + output = '%d दिवसां'; + break; + case 'M': + output = 'एका महिन्या'; + break; + case 'MM': + output = '%d महिन्यां'; + break; + case 'y': + output = 'एका वर्षा'; + break; + case 'yy': + output = '%d वर्षां'; + break; + } + } + return output.replace(/%d/i, number); + } + + var mr = moment.defineLocale('mr', { + months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( + '_' + ), + monthsShort: + 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), + weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'), + weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), + longDateFormat: { + LT: 'A h:mm वाजता', + LTS: 'A h:mm:ss वाजता', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm वाजता', + LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता', + }, + calendar: { + sameDay: '[आज] LT', + nextDay: '[उद्या] LT', + nextWeek: 'dddd, LT', + lastDay: '[काल] LT', + lastWeek: '[मागील] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%sमध्ये', + past: '%sपूर्वी', + s: relativeTimeMr, + ss: relativeTimeMr, + m: relativeTimeMr, + mm: relativeTimeMr, + h: relativeTimeMr, + hh: relativeTimeMr, + d: relativeTimeMr, + dd: relativeTimeMr, + M: relativeTimeMr, + MM: relativeTimeMr, + y: relativeTimeMr, + yy: relativeTimeMr, + }, + preparse: function (string) { + return string.replace(/[१२३४५६७८९०]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'पहाटे' || meridiem === 'सकाळी') { + return hour; + } else if ( + meridiem === 'दुपारी' || + meridiem === 'सायंकाळी' || + meridiem === 'रात्री' + ) { + return hour >= 12 ? hour : hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour >= 0 && hour < 6) { + return 'पहाटे'; + } else if (hour < 12) { + return 'सकाळी'; + } else if (hour < 17) { + return 'दुपारी'; + } else if (hour < 20) { + return 'सायंकाळी'; + } else { + return 'रात्री'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return mr; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ms-my.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ms-my.js new file mode 100644 index 0000000000..8d66c2b035 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ms-my.js @@ -0,0 +1,87 @@ +//! moment.js locale configuration +//! locale : Malay [ms-my] +//! note : DEPRECATED, the correct one is [ms] +//! author : Weldan Jamili : https://github.com/weldan + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var msMy = moment.defineLocale('ms-my', { + months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'tengahari') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'petang' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem: function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; + } else { + return 'malam'; + } + }, + calendar: { + sameDay: '[Hari ini pukul] LT', + nextDay: '[Esok pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kelmarin pukul] LT', + lastWeek: 'dddd [lepas pukul] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dalam %s', + past: '%s yang lepas', + s: 'beberapa saat', + ss: '%d saat', + m: 'seminit', + mm: '%d minit', + h: 'sejam', + hh: '%d jam', + d: 'sehari', + dd: '%d hari', + M: 'sebulan', + MM: '%d bulan', + y: 'setahun', + yy: '%d tahun', + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return msMy; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ms.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ms.js new file mode 100644 index 0000000000..37782fb40c --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ms.js @@ -0,0 +1,86 @@ +//! moment.js locale configuration +//! locale : Malay [ms] +//! author : Weldan Jamili : https://github.com/weldan + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var ms = moment.defineLocale('ms', { + months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), + weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), + weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), + weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [pukul] HH.mm', + LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', + }, + meridiemParse: /pagi|tengahari|petang|malam/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'pagi') { + return hour; + } else if (meridiem === 'tengahari') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'petang' || meridiem === 'malam') { + return hour + 12; + } + }, + meridiem: function (hours, minutes, isLower) { + if (hours < 11) { + return 'pagi'; + } else if (hours < 15) { + return 'tengahari'; + } else if (hours < 19) { + return 'petang'; + } else { + return 'malam'; + } + }, + calendar: { + sameDay: '[Hari ini pukul] LT', + nextDay: '[Esok pukul] LT', + nextWeek: 'dddd [pukul] LT', + lastDay: '[Kelmarin pukul] LT', + lastWeek: 'dddd [lepas pukul] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dalam %s', + past: '%s yang lepas', + s: 'beberapa saat', + ss: '%d saat', + m: 'seminit', + mm: '%d minit', + h: 'sejam', + hh: '%d jam', + d: 'sehari', + dd: '%d hari', + M: 'sebulan', + MM: '%d bulan', + y: 'setahun', + yy: '%d tahun', + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return ms; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mt.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mt.js new file mode 100644 index 0000000000..94b2559a27 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/mt.js @@ -0,0 +1,67 @@ +//! moment.js locale configuration +//! locale : Maltese (Malta) [mt] +//! author : Alessandro Maruccia : https://github.com/alesma + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var mt = moment.defineLocale('mt', { + months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split( + '_' + ), + monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'), + weekdays: + 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split( + '_' + ), + weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'), + weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Illum fil-]LT', + nextDay: '[Għada fil-]LT', + nextWeek: 'dddd [fil-]LT', + lastDay: '[Il-bieraħ fil-]LT', + lastWeek: 'dddd [li għadda] [fil-]LT', + sameElse: 'L', + }, + relativeTime: { + future: 'f’ %s', + past: '%s ilu', + s: 'ftit sekondi', + ss: '%d sekondi', + m: 'minuta', + mm: '%d minuti', + h: 'siegħa', + hh: '%d siegħat', + d: 'ġurnata', + dd: '%d ġranet', + M: 'xahar', + MM: '%d xhur', + y: 'sena', + yy: '%d sni', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return mt; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/my.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/my.js new file mode 100644 index 0000000000..c1ef2dff5f --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/my.js @@ -0,0 +1,102 @@ +//! moment.js locale configuration +//! locale : Burmese [my] +//! author : Squar team, mysquar.com +//! author : David Rossellat : https://github.com/gholadr +//! author : Tin Aung Lin : https://github.com/thanyawzinmin + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '၁', + 2: '၂', + 3: '၃', + 4: '၄', + 5: '၅', + 6: '၆', + 7: '၇', + 8: '၈', + 9: '၉', + 0: '၀', + }, + numberMap = { + '၁': '1', + '၂': '2', + '၃': '3', + '၄': '4', + '၅': '5', + '၆': '6', + '၇': '7', + '၈': '8', + '၉': '9', + '၀': '0', + }; + + var my = moment.defineLocale('my', { + months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split( + '_' + ), + monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'), + weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split( + '_' + ), + weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), + weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), + + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[ယနေ.] LT [မှာ]', + nextDay: '[မနက်ဖြန်] LT [မှာ]', + nextWeek: 'dddd LT [မှာ]', + lastDay: '[မနေ.က] LT [မှာ]', + lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', + sameElse: 'L', + }, + relativeTime: { + future: 'လာမည့် %s မှာ', + past: 'လွန်ခဲ့သော %s က', + s: 'စက္ကန်.အနည်းငယ်', + ss: '%d စက္ကန့်', + m: 'တစ်မိနစ်', + mm: '%d မိနစ်', + h: 'တစ်နာရီ', + hh: '%d နာရီ', + d: 'တစ်ရက်', + dd: '%d ရက်', + M: 'တစ်လ', + MM: '%d လ', + y: 'တစ်နှစ်', + yy: '%d နှစ်', + }, + preparse: function (string) { + return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return my; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nb.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nb.js new file mode 100644 index 0000000000..74da7aff52 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nb.js @@ -0,0 +1,71 @@ +//! moment.js locale configuration +//! locale : Norwegian Bokmål [nb] +//! authors : Espen Hovlandsdal : https://github.com/rexxars +//! Sigurd Gartmann : https://github.com/sigurdga +//! Stephen Ramthun : https://github.com/stephenramthun + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var nb = moment.defineLocale('nb', { + months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( + '_' + ), + monthsShort: + 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), + monthsParseExact: true, + weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), + weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), + weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY [kl.] HH:mm', + LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', + }, + calendar: { + sameDay: '[i dag kl.] LT', + nextDay: '[i morgen kl.] LT', + nextWeek: 'dddd [kl.] LT', + lastDay: '[i går kl.] LT', + lastWeek: '[forrige] dddd [kl.] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'om %s', + past: '%s siden', + s: 'noen sekunder', + ss: '%d sekunder', + m: 'ett minutt', + mm: '%d minutter', + h: 'en time', + hh: '%d timer', + d: 'en dag', + dd: '%d dager', + w: 'en uke', + ww: '%d uker', + M: 'en måned', + MM: '%d måneder', + y: 'ett år', + yy: '%d år', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return nb; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ne.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ne.js new file mode 100644 index 0000000000..d455e004ba --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ne.js @@ -0,0 +1,132 @@ +//! moment.js locale configuration +//! locale : Nepalese [ne] +//! author : suvash : https://github.com/suvash + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '१', + 2: '२', + 3: '३', + 4: '४', + 5: '५', + 6: '६', + 7: '७', + 8: '८', + 9: '९', + 0: '०', + }, + numberMap = { + '१': '1', + '२': '2', + '३': '3', + '४': '4', + '५': '5', + '६': '6', + '७': '7', + '८': '8', + '९': '9', + '०': '0', + }; + + var ne = moment.defineLocale('ne', { + months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split( + '_' + ), + monthsShort: + 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split( + '_' + ), + weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'), + weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'Aको h:mm बजे', + LTS: 'Aको h:mm:ss बजे', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, Aको h:mm बजे', + LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे', + }, + preparse: function (string) { + return string.replace(/[१२३४५६७८९०]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + meridiemParse: /राति|बिहान|दिउँसो|साँझ/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'राति') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'बिहान') { + return hour; + } else if (meridiem === 'दिउँसो') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'साँझ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 3) { + return 'राति'; + } else if (hour < 12) { + return 'बिहान'; + } else if (hour < 16) { + return 'दिउँसो'; + } else if (hour < 20) { + return 'साँझ'; + } else { + return 'राति'; + } + }, + calendar: { + sameDay: '[आज] LT', + nextDay: '[भोलि] LT', + nextWeek: '[आउँदो] dddd[,] LT', + lastDay: '[हिजो] LT', + lastWeek: '[गएको] dddd[,] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%sमा', + past: '%s अगाडि', + s: 'केही क्षण', + ss: '%d सेकेण्ड', + m: 'एक मिनेट', + mm: '%d मिनेट', + h: 'एक घण्टा', + hh: '%d घण्टा', + d: 'एक दिन', + dd: '%d दिन', + M: 'एक महिना', + MM: '%d महिना', + y: 'एक बर्ष', + yy: '%d बर्ष', + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return ne; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nl-be.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nl-be.js new file mode 100644 index 0000000000..2079383948 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nl-be.js @@ -0,0 +1,113 @@ +//! moment.js locale configuration +//! locale : Dutch (Belgium) [nl-be] +//! author : Joris Röling : https://github.com/jorisroling +//! author : Jacob Middag : https://github.com/middagj + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var monthsShortWithDots = + 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsShortWithoutDots = + 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'), + monthsParse = [ + /^jan/i, + /^feb/i, + /^maart|mrt.?$/i, + /^apr/i, + /^mei$/i, + /^jun[i.]?$/i, + /^jul[i.]?$/i, + /^aug/i, + /^sep/i, + /^okt/i, + /^nov/i, + /^dec/i, + ], + monthsRegex = + /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + + var nlBe = moment.defineLocale('nl-be', { + months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( + '_' + ), + monthsShort: function (m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: + /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: + /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + + weekdays: + 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), + weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), + weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[vandaag om] LT', + nextDay: '[morgen om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[gisteren om] LT', + lastWeek: '[afgelopen] dddd [om] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'over %s', + past: '%s geleden', + s: 'een paar seconden', + ss: '%d seconden', + m: 'één minuut', + mm: '%d minuten', + h: 'één uur', + hh: '%d uur', + d: 'één dag', + dd: '%d dagen', + M: 'één maand', + MM: '%d maanden', + y: 'één jaar', + yy: '%d jaar', + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal: function (number) { + return ( + number + + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') + ); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return nlBe; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nl.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nl.js new file mode 100644 index 0000000000..770e90fe9e --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nl.js @@ -0,0 +1,115 @@ +//! moment.js locale configuration +//! locale : Dutch [nl] +//! author : Joris Röling : https://github.com/jorisroling +//! author : Jacob Middag : https://github.com/middagj + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var monthsShortWithDots = + 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), + monthsShortWithoutDots = + 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'), + monthsParse = [ + /^jan/i, + /^feb/i, + /^maart|mrt.?$/i, + /^apr/i, + /^mei$/i, + /^jun[i.]?$/i, + /^jul[i.]?$/i, + /^aug/i, + /^sep/i, + /^okt/i, + /^nov/i, + /^dec/i, + ], + monthsRegex = + /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; + + var nl = moment.defineLocale('nl', { + months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( + '_' + ), + monthsShort: function (m, format) { + if (!m) { + return monthsShortWithDots; + } else if (/-MMM-/.test(format)) { + return monthsShortWithoutDots[m.month()]; + } else { + return monthsShortWithDots[m.month()]; + } + }, + + monthsRegex: monthsRegex, + monthsShortRegex: monthsRegex, + monthsStrictRegex: + /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, + monthsShortStrictRegex: + /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, + + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + + weekdays: + 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), + weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), + weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD-MM-YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[vandaag om] LT', + nextDay: '[morgen om] LT', + nextWeek: 'dddd [om] LT', + lastDay: '[gisteren om] LT', + lastWeek: '[afgelopen] dddd [om] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'over %s', + past: '%s geleden', + s: 'een paar seconden', + ss: '%d seconden', + m: 'één minuut', + mm: '%d minuten', + h: 'één uur', + hh: '%d uur', + d: 'één dag', + dd: '%d dagen', + w: 'één week', + ww: '%d weken', + M: 'één maand', + MM: '%d maanden', + y: 'één jaar', + yy: '%d jaar', + }, + dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, + ordinal: function (number) { + return ( + number + + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') + ); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return nl; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nn.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nn.js new file mode 100644 index 0000000000..c65268ea80 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/nn.js @@ -0,0 +1,70 @@ +//! moment.js locale configuration +//! locale : Nynorsk [nn] +//! authors : https://github.com/mechuwind +//! Stephen Ramthun : https://github.com/stephenramthun + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var nn = moment.defineLocale('nn', { + months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( + '_' + ), + monthsShort: + 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), + monthsParseExact: true, + weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), + weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'), + weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY [kl.] H:mm', + LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', + }, + calendar: { + sameDay: '[I dag klokka] LT', + nextDay: '[I morgon klokka] LT', + nextWeek: 'dddd [klokka] LT', + lastDay: '[I går klokka] LT', + lastWeek: '[Føregåande] dddd [klokka] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'om %s', + past: '%s sidan', + s: 'nokre sekund', + ss: '%d sekund', + m: 'eit minutt', + mm: '%d minutt', + h: 'ein time', + hh: '%d timar', + d: 'ein dag', + dd: '%d dagar', + w: 'ei veke', + ww: '%d veker', + M: 'ein månad', + MM: '%d månader', + y: 'eit år', + yy: '%d år', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return nn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/oc-lnc.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/oc-lnc.js new file mode 100644 index 0000000000..ba8f433241 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/oc-lnc.js @@ -0,0 +1,96 @@ +//! moment.js locale configuration +//! locale : Occitan, lengadocian dialecte [oc-lnc] +//! author : Quentin PAGÈS : https://github.com/Quenty31 + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var ocLnc = moment.defineLocale('oc-lnc', { + months: { + standalone: + 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split( + '_' + ), + format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split( + '_' + ), + isFormat: /D[oD]?(\s)+MMMM/, + }, + monthsShort: + 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split( + '_' + ), + weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'), + weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM [de] YYYY', + ll: 'D MMM YYYY', + LLL: 'D MMMM [de] YYYY [a] H:mm', + lll: 'D MMM YYYY, H:mm', + LLLL: 'dddd D MMMM [de] YYYY [a] H:mm', + llll: 'ddd D MMM YYYY, H:mm', + }, + calendar: { + sameDay: '[uèi a] LT', + nextDay: '[deman a] LT', + nextWeek: 'dddd [a] LT', + lastDay: '[ièr a] LT', + lastWeek: 'dddd [passat a] LT', + sameElse: 'L', + }, + relativeTime: { + future: "d'aquí %s", + past: 'fa %s', + s: 'unas segondas', + ss: '%d segondas', + m: 'una minuta', + mm: '%d minutas', + h: 'una ora', + hh: '%d oras', + d: 'un jorn', + dd: '%d jorns', + M: 'un mes', + MM: '%d meses', + y: 'un an', + yy: '%d ans', + }, + dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, + ordinal: function (number, period) { + var output = + number === 1 + ? 'r' + : number === 2 + ? 'n' + : number === 3 + ? 'r' + : number === 4 + ? 't' + : 'è'; + if (period === 'w' || period === 'W') { + output = 'a'; + } + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, + }, + }); + + return ocLnc; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pa-in.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pa-in.js new file mode 100644 index 0000000000..d57eb7501b --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pa-in.js @@ -0,0 +1,133 @@ +//! moment.js locale configuration +//! locale : Punjabi (India) [pa-in] +//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '੧', + 2: '੨', + 3: '੩', + 4: '੪', + 5: '੫', + 6: '੬', + 7: '੭', + 8: '੮', + 9: '੯', + 0: '੦', + }, + numberMap = { + '੧': '1', + '੨': '2', + '੩': '3', + '੪': '4', + '੫': '5', + '੬': '6', + '੭': '7', + '੮': '8', + '੯': '9', + '੦': '0', + }; + + var paIn = moment.defineLocale('pa-in', { + // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. + months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( + '_' + ), + monthsShort: + 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( + '_' + ), + weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split( + '_' + ), + weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), + weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), + longDateFormat: { + LT: 'A h:mm ਵਜੇ', + LTS: 'A h:mm:ss ਵਜੇ', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm ਵਜੇ', + LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ', + }, + calendar: { + sameDay: '[ਅਜ] LT', + nextDay: '[ਕਲ] LT', + nextWeek: '[ਅਗਲਾ] dddd, LT', + lastDay: '[ਕਲ] LT', + lastWeek: '[ਪਿਛਲੇ] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s ਵਿੱਚ', + past: '%s ਪਿਛਲੇ', + s: 'ਕੁਝ ਸਕਿੰਟ', + ss: '%d ਸਕਿੰਟ', + m: 'ਇਕ ਮਿੰਟ', + mm: '%d ਮਿੰਟ', + h: 'ਇੱਕ ਘੰਟਾ', + hh: '%d ਘੰਟੇ', + d: 'ਇੱਕ ਦਿਨ', + dd: '%d ਦਿਨ', + M: 'ਇੱਕ ਮਹੀਨਾ', + MM: '%d ਮਹੀਨੇ', + y: 'ਇੱਕ ਸਾਲ', + yy: '%d ਸਾਲ', + }, + preparse: function (string) { + return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // Punjabi notation for meridiems are quite fuzzy in practice. While there exists + // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. + meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ਰਾਤ') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ਸਵੇਰ') { + return hour; + } else if (meridiem === 'ਦੁਪਹਿਰ') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'ਸ਼ਾਮ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'ਰਾਤ'; + } else if (hour < 10) { + return 'ਸਵੇਰ'; + } else if (hour < 17) { + return 'ਦੁਪਹਿਰ'; + } else if (hour < 20) { + return 'ਸ਼ਾਮ'; + } else { + return 'ਰਾਤ'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return paIn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pl.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pl.js new file mode 100644 index 0000000000..0750bb3bc1 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pl.js @@ -0,0 +1,151 @@ +//! moment.js locale configuration +//! locale : Polish [pl] +//! author : Rafal Hirsz : https://github.com/evoL + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var monthsNominative = + 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split( + '_' + ), + monthsSubjective = + 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split( + '_' + ), + monthsParse = [ + /^sty/i, + /^lut/i, + /^mar/i, + /^kwi/i, + /^maj/i, + /^cze/i, + /^lip/i, + /^sie/i, + /^wrz/i, + /^paź/i, + /^lis/i, + /^gru/i, + ]; + function plural(n) { + return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1; + } + function translate(number, withoutSuffix, key) { + var result = number + ' '; + switch (key) { + case 'ss': + return result + (plural(number) ? 'sekundy' : 'sekund'); + case 'm': + return withoutSuffix ? 'minuta' : 'minutę'; + case 'mm': + return result + (plural(number) ? 'minuty' : 'minut'); + case 'h': + return withoutSuffix ? 'godzina' : 'godzinę'; + case 'hh': + return result + (plural(number) ? 'godziny' : 'godzin'); + case 'ww': + return result + (plural(number) ? 'tygodnie' : 'tygodni'); + case 'MM': + return result + (plural(number) ? 'miesiące' : 'miesięcy'); + case 'yy': + return result + (plural(number) ? 'lata' : 'lat'); + } + } + + var pl = moment.defineLocale('pl', { + months: function (momentToFormat, format) { + if (!momentToFormat) { + return monthsNominative; + } else if (/D MMMM/.test(format)) { + return monthsSubjective[momentToFormat.month()]; + } else { + return monthsNominative[momentToFormat.month()]; + } + }, + monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + weekdays: + 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'), + weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'), + weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Dziś o] LT', + nextDay: '[Jutro o] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[W niedzielę o] LT'; + + case 2: + return '[We wtorek o] LT'; + + case 3: + return '[W środę o] LT'; + + case 6: + return '[W sobotę o] LT'; + + default: + return '[W] dddd [o] LT'; + } + }, + lastDay: '[Wczoraj o] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[W zeszłą niedzielę o] LT'; + case 3: + return '[W zeszłą środę o] LT'; + case 6: + return '[W zeszłą sobotę o] LT'; + default: + return '[W zeszły] dddd [o] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: '%s temu', + s: 'kilka sekund', + ss: translate, + m: translate, + mm: translate, + h: translate, + hh: translate, + d: '1 dzień', + dd: '%d dni', + w: 'tydzień', + ww: translate, + M: 'miesiąc', + MM: translate, + y: 'rok', + yy: translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return pl; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pt-br.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pt-br.js new file mode 100644 index 0000000000..ee123bda72 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pt-br.js @@ -0,0 +1,69 @@ +//! moment.js locale configuration +//! locale : Portuguese (Brazil) [pt-br] +//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var ptBr = moment.defineLocale('pt-br', { + months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( + '_' + ), + monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), + weekdays: + 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split( + '_' + ), + weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), + weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm', + }, + calendar: { + sameDay: '[Hoje às] LT', + nextDay: '[Amanhã às] LT', + nextWeek: 'dddd [às] LT', + lastDay: '[Ontem às] LT', + lastWeek: function () { + return this.day() === 0 || this.day() === 6 + ? '[Último] dddd [às] LT' // Saturday + Sunday + : '[Última] dddd [às] LT'; // Monday - Friday + }, + sameElse: 'L', + }, + relativeTime: { + future: 'em %s', + past: 'há %s', + s: 'poucos segundos', + ss: '%d segundos', + m: 'um minuto', + mm: '%d minutos', + h: 'uma hora', + hh: '%d horas', + d: 'um dia', + dd: '%d dias', + M: 'um mês', + MM: '%d meses', + y: 'um ano', + yy: '%d anos', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + invalidDate: 'Data inválida', + }); + + return ptBr; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pt.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pt.js new file mode 100644 index 0000000000..a113ed7b9b --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/pt.js @@ -0,0 +1,74 @@ +//! moment.js locale configuration +//! locale : Portuguese [pt] +//! author : Jefferson : https://github.com/jalex79 + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var pt = moment.defineLocale('pt', { + months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( + '_' + ), + monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), + weekdays: + 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split( + '_' + ), + weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), + weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D [de] MMMM [de] YYYY', + LLL: 'D [de] MMMM [de] YYYY HH:mm', + LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm', + }, + calendar: { + sameDay: '[Hoje às] LT', + nextDay: '[Amanhã às] LT', + nextWeek: 'dddd [às] LT', + lastDay: '[Ontem às] LT', + lastWeek: function () { + return this.day() === 0 || this.day() === 6 + ? '[Último] dddd [às] LT' // Saturday + Sunday + : '[Última] dddd [às] LT'; // Monday - Friday + }, + sameElse: 'L', + }, + relativeTime: { + future: 'em %s', + past: 'há %s', + s: 'segundos', + ss: '%d segundos', + m: 'um minuto', + mm: '%d minutos', + h: 'uma hora', + hh: '%d horas', + d: 'um dia', + dd: '%d dias', + w: 'uma semana', + ww: '%d semanas', + M: 'um mês', + MM: '%d meses', + y: 'um ano', + yy: '%d anos', + }, + dayOfMonthOrdinalParse: /\d{1,2}º/, + ordinal: '%dº', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return pt; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ro.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ro.js new file mode 100644 index 0000000000..c2a9dd87e2 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ro.js @@ -0,0 +1,87 @@ +//! moment.js locale configuration +//! locale : Romanian [ro] +//! author : Vlad Gurdiga : https://github.com/gurdiga +//! author : Valentin Agachi : https://github.com/avaly +//! author : Emanuel Cepoi : https://github.com/cepem + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + ss: 'secunde', + mm: 'minute', + hh: 'ore', + dd: 'zile', + ww: 'săptămâni', + MM: 'luni', + yy: 'ani', + }, + separator = ' '; + if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { + separator = ' de '; + } + return number + separator + format[key]; + } + + var ro = moment.defineLocale('ro', { + months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split( + '_' + ), + monthsShort: + 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'), + weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), + weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY H:mm', + LLLL: 'dddd, D MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[azi la] LT', + nextDay: '[mâine la] LT', + nextWeek: 'dddd [la] LT', + lastDay: '[ieri la] LT', + lastWeek: '[fosta] dddd [la] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'peste %s', + past: '%s în urmă', + s: 'câteva secunde', + ss: relativeTimeWithPlural, + m: 'un minut', + mm: relativeTimeWithPlural, + h: 'o oră', + hh: relativeTimeWithPlural, + d: 'o zi', + dd: relativeTimeWithPlural, + w: 'o săptămână', + ww: relativeTimeWithPlural, + M: 'o lună', + MM: relativeTimeWithPlural, + y: 'un an', + yy: relativeTimeWithPlural, + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return ro; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ru.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ru.js new file mode 100644 index 0000000000..918e9d5e03 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ru.js @@ -0,0 +1,224 @@ +//! moment.js locale configuration +//! locale : Russian [ru] +//! author : Viktorminator : https://github.com/Viktorminator +//! author : Menelion Elensúle : https://github.com/Oire +//! author : Коренберг Марк : https://github.com/socketpair + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 + ? forms[0] + : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) + ? forms[1] + : forms[2]; + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', + mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', + hh: 'час_часа_часов', + dd: 'день_дня_дней', + ww: 'неделя_недели_недель', + MM: 'месяц_месяца_месяцев', + yy: 'год_года_лет', + }; + if (key === 'm') { + return withoutSuffix ? 'минута' : 'минуту'; + } else { + return number + ' ' + plural(format[key], +number); + } + } + var monthsParse = [ + /^янв/i, + /^фев/i, + /^мар/i, + /^апр/i, + /^ма[йя]/i, + /^июн/i, + /^июл/i, + /^авг/i, + /^сен/i, + /^окт/i, + /^ноя/i, + /^дек/i, + ]; + + // http://new.gramota.ru/spravka/rules/139-prop : § 103 + // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 + // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 + var ru = moment.defineLocale('ru', { + months: { + format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split( + '_' + ), + standalone: + 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( + '_' + ), + }, + monthsShort: { + // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку? + format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split( + '_' + ), + standalone: + 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split( + '_' + ), + }, + weekdays: { + standalone: + 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split( + '_' + ), + format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split( + '_' + ), + isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/, + }, + weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), + weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, + + // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки + monthsRegex: + /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, + + // копия предыдущего + monthsShortRegex: + /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, + + // полные названия с падежами + monthsStrictRegex: + /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i, + + // Выражение, которое соответствует только сокращённым формам + monthsShortStrictRegex: + /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY г.', + LLL: 'D MMMM YYYY г., H:mm', + LLLL: 'dddd, D MMMM YYYY г., H:mm', + }, + calendar: { + sameDay: '[Сегодня, в] LT', + nextDay: '[Завтра, в] LT', + lastDay: '[Вчера, в] LT', + nextWeek: function (now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[В следующее] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[В следующий] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[В следующую] dddd, [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd, [в] LT'; + } else { + return '[В] dddd, [в] LT'; + } + } + }, + lastWeek: function (now) { + if (now.week() !== this.week()) { + switch (this.day()) { + case 0: + return '[В прошлое] dddd, [в] LT'; + case 1: + case 2: + case 4: + return '[В прошлый] dddd, [в] LT'; + case 3: + case 5: + case 6: + return '[В прошлую] dddd, [в] LT'; + } + } else { + if (this.day() === 2) { + return '[Во] dddd, [в] LT'; + } else { + return '[В] dddd, [в] LT'; + } + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'через %s', + past: '%s назад', + s: 'несколько секунд', + ss: relativeTimeWithPlural, + m: relativeTimeWithPlural, + mm: relativeTimeWithPlural, + h: 'час', + hh: relativeTimeWithPlural, + d: 'день', + dd: relativeTimeWithPlural, + w: 'неделя', + ww: relativeTimeWithPlural, + M: 'месяц', + MM: relativeTimeWithPlural, + y: 'год', + yy: relativeTimeWithPlural, + }, + meridiemParse: /ночи|утра|дня|вечера/i, + isPM: function (input) { + return /^(дня|вечера)$/.test(input); + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'ночи'; + } else if (hour < 12) { + return 'утра'; + } else if (hour < 17) { + return 'дня'; + } else { + return 'вечера'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + return number + '-й'; + case 'D': + return number + '-го'; + case 'w': + case 'W': + return number + '-я'; + default: + return number; + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return ru; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sd.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sd.js new file mode 100644 index 0000000000..56ff8c7f40 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sd.js @@ -0,0 +1,92 @@ +//! moment.js locale configuration +//! locale : Sindhi [sd] +//! author : Narain Sagar : https://github.com/narainsagar + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var months = [ + 'جنوري', + 'فيبروري', + 'مارچ', + 'اپريل', + 'مئي', + 'جون', + 'جولاءِ', + 'آگسٽ', + 'سيپٽمبر', + 'آڪٽوبر', + 'نومبر', + 'ڊسمبر', + ], + days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر']; + + var sd = moment.defineLocale('sd', { + months: months, + monthsShort: months, + weekdays: days, + weekdaysShort: days, + weekdaysMin: days, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd، D MMMM YYYY HH:mm', + }, + meridiemParse: /صبح|شام/, + isPM: function (input) { + return 'شام' === input; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'صبح'; + } + return 'شام'; + }, + calendar: { + sameDay: '[اڄ] LT', + nextDay: '[سڀاڻي] LT', + nextWeek: 'dddd [اڳين هفتي تي] LT', + lastDay: '[ڪالهه] LT', + lastWeek: '[گزريل هفتي] dddd [تي] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s پوء', + past: '%s اڳ', + s: 'چند سيڪنڊ', + ss: '%d سيڪنڊ', + m: 'هڪ منٽ', + mm: '%d منٽ', + h: 'هڪ ڪلاڪ', + hh: '%d ڪلاڪ', + d: 'هڪ ڏينهن', + dd: '%d ڏينهن', + M: 'هڪ مهينو', + MM: '%d مهينا', + y: 'هڪ سال', + yy: '%d سال', + }, + preparse: function (string) { + return string.replace(/،/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, '،'); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return sd; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/se.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/se.js new file mode 100644 index 0000000000..289929a48b --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/se.js @@ -0,0 +1,68 @@ +//! moment.js locale configuration +//! locale : Northern Sami [se] +//! authors : Bård Rolstad Henriksen : https://github.com/karamell + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var se = moment.defineLocale('se', { + months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split( + '_' + ), + monthsShort: + 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'), + weekdays: + 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split( + '_' + ), + weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), + weekdaysMin: 's_v_m_g_d_b_L'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'MMMM D. [b.] YYYY', + LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', + LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm', + }, + calendar: { + sameDay: '[otne ti] LT', + nextDay: '[ihttin ti] LT', + nextWeek: 'dddd [ti] LT', + lastDay: '[ikte ti] LT', + lastWeek: '[ovddit] dddd [ti] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s geažes', + past: 'maŋit %s', + s: 'moadde sekunddat', + ss: '%d sekunddat', + m: 'okta minuhta', + mm: '%d minuhtat', + h: 'okta diimmu', + hh: '%d diimmut', + d: 'okta beaivi', + dd: '%d beaivvit', + M: 'okta mánnu', + MM: '%d mánut', + y: 'okta jahki', + yy: '%d jagit', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return se; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/si.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/si.js new file mode 100644 index 0000000000..4421d044f3 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/si.js @@ -0,0 +1,80 @@ +//! moment.js locale configuration +//! locale : Sinhalese [si] +//! author : Sampath Sitinamaluwa : https://github.com/sampathsris + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + /*jshint -W100*/ + var si = moment.defineLocale('si', { + months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split( + '_' + ), + monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split( + '_' + ), + weekdays: + 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split( + '_' + ), + weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'), + weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'a h:mm', + LTS: 'a h:mm:ss', + L: 'YYYY/MM/DD', + LL: 'YYYY MMMM D', + LLL: 'YYYY MMMM D, a h:mm', + LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss', + }, + calendar: { + sameDay: '[අද] LT[ට]', + nextDay: '[හෙට] LT[ට]', + nextWeek: 'dddd LT[ට]', + lastDay: '[ඊයේ] LT[ට]', + lastWeek: '[පසුගිය] dddd LT[ට]', + sameElse: 'L', + }, + relativeTime: { + future: '%sකින්', + past: '%sකට පෙර', + s: 'තත්පර කිහිපය', + ss: 'තත්පර %d', + m: 'මිනිත්තුව', + mm: 'මිනිත්තු %d', + h: 'පැය', + hh: 'පැය %d', + d: 'දිනය', + dd: 'දින %d', + M: 'මාසය', + MM: 'මාස %d', + y: 'වසර', + yy: 'වසර %d', + }, + dayOfMonthOrdinalParse: /\d{1,2} වැනි/, + ordinal: function (number) { + return number + ' වැනි'; + }, + meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./, + isPM: function (input) { + return input === 'ප.ව.' || input === 'පස් වරු'; + }, + meridiem: function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'ප.ව.' : 'පස් වරු'; + } else { + return isLower ? 'පෙ.ව.' : 'පෙර වරු'; + } + }, + }); + + return si; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sk.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sk.js new file mode 100644 index 0000000000..99edae7717 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sk.js @@ -0,0 +1,156 @@ +//! moment.js locale configuration +//! locale : Slovak [sk] +//! author : Martin Minka : https://github.com/k2s +//! based on work of petrbela : https://github.com/petrbela + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var months = + 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split( + '_' + ), + monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); + function plural(n) { + return n > 1 && n < 5; + } + function translate(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': // a few seconds / in a few seconds / a few seconds ago + return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami'; + case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'sekundy' : 'sekúnd'); + } else { + return result + 'sekundami'; + } + case 'm': // a minute / in a minute / a minute ago + return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou'; + case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'minúty' : 'minút'); + } else { + return result + 'minútami'; + } + case 'h': // an hour / in an hour / an hour ago + return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; + case 'hh': // 9 hours / in 9 hours / 9 hours ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'hodiny' : 'hodín'); + } else { + return result + 'hodinami'; + } + case 'd': // a day / in a day / a day ago + return withoutSuffix || isFuture ? 'deň' : 'dňom'; + case 'dd': // 9 days / in 9 days / 9 days ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'dni' : 'dní'); + } else { + return result + 'dňami'; + } + case 'M': // a month / in a month / a month ago + return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom'; + case 'MM': // 9 months / in 9 months / 9 months ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'mesiace' : 'mesiacov'); + } else { + return result + 'mesiacmi'; + } + case 'y': // a year / in a year / a year ago + return withoutSuffix || isFuture ? 'rok' : 'rokom'; + case 'yy': // 9 years / in 9 years / 9 years ago + if (withoutSuffix || isFuture) { + return result + (plural(number) ? 'roky' : 'rokov'); + } else { + return result + 'rokmi'; + } + } + } + + var sk = moment.defineLocale('sk', { + months: months, + monthsShort: monthsShort, + weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'), + weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'), + weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'), + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd D. MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[dnes o] LT', + nextDay: '[zajtra o] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v nedeľu o] LT'; + case 1: + case 2: + return '[v] dddd [o] LT'; + case 3: + return '[v stredu o] LT'; + case 4: + return '[vo štvrtok o] LT'; + case 5: + return '[v piatok o] LT'; + case 6: + return '[v sobotu o] LT'; + } + }, + lastDay: '[včera o] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[minulú nedeľu o] LT'; + case 1: + case 2: + return '[minulý] dddd [o] LT'; + case 3: + return '[minulú stredu o] LT'; + case 4: + case 5: + return '[minulý] dddd [o] LT'; + case 6: + return '[minulú sobotu o] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'pred %s', + s: translate, + ss: translate, + m: translate, + mm: translate, + h: translate, + hh: translate, + d: translate, + dd: translate, + M: translate, + MM: translate, + y: translate, + yy: translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return sk; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sl.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sl.js new file mode 100644 index 0000000000..38f12109a1 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sl.js @@ -0,0 +1,182 @@ +//! moment.js locale configuration +//! locale : Slovenian [sl] +//! author : Robert Sedovšek : https://github.com/sedovsek + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var result = number + ' '; + switch (key) { + case 's': + return withoutSuffix || isFuture + ? 'nekaj sekund' + : 'nekaj sekundami'; + case 'ss': + if (number === 1) { + result += withoutSuffix ? 'sekundo' : 'sekundi'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; + } else { + result += 'sekund'; + } + return result; + case 'm': + return withoutSuffix ? 'ena minuta' : 'eno minuto'; + case 'mm': + if (number === 1) { + result += withoutSuffix ? 'minuta' : 'minuto'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'minute' : 'minutami'; + } else { + result += withoutSuffix || isFuture ? 'minut' : 'minutami'; + } + return result; + case 'h': + return withoutSuffix ? 'ena ura' : 'eno uro'; + case 'hh': + if (number === 1) { + result += withoutSuffix ? 'ura' : 'uro'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'uri' : 'urama'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'ure' : 'urami'; + } else { + result += withoutSuffix || isFuture ? 'ur' : 'urami'; + } + return result; + case 'd': + return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; + case 'dd': + if (number === 1) { + result += withoutSuffix || isFuture ? 'dan' : 'dnem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; + } else { + result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; + } + return result; + case 'M': + return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; + case 'MM': + if (number === 1) { + result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; + } else { + result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; + } + return result; + case 'y': + return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; + case 'yy': + if (number === 1) { + result += withoutSuffix || isFuture ? 'leto' : 'letom'; + } else if (number === 2) { + result += withoutSuffix || isFuture ? 'leti' : 'letoma'; + } else if (number < 5) { + result += withoutSuffix || isFuture ? 'leta' : 'leti'; + } else { + result += withoutSuffix || isFuture ? 'let' : 'leti'; + } + return result; + } + } + + var sl = moment.defineLocale('sl', { + months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split( + '_' + ), + monthsShort: + 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'), + weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'), + weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD. MM. YYYY', + LL: 'D. MMMM YYYY', + LLL: 'D. MMMM YYYY H:mm', + LLLL: 'dddd, D. MMMM YYYY H:mm', + }, + calendar: { + sameDay: '[danes ob] LT', + nextDay: '[jutri ob] LT', + + nextWeek: function () { + switch (this.day()) { + case 0: + return '[v] [nedeljo] [ob] LT'; + case 3: + return '[v] [sredo] [ob] LT'; + case 6: + return '[v] [soboto] [ob] LT'; + case 1: + case 2: + case 4: + case 5: + return '[v] dddd [ob] LT'; + } + }, + lastDay: '[včeraj ob] LT', + lastWeek: function () { + switch (this.day()) { + case 0: + return '[prejšnjo] [nedeljo] [ob] LT'; + case 3: + return '[prejšnjo] [sredo] [ob] LT'; + case 6: + return '[prejšnjo] [soboto] [ob] LT'; + case 1: + case 2: + case 4: + case 5: + return '[prejšnji] dddd [ob] LT'; + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'čez %s', + past: 'pred %s', + s: processRelativeTime, + ss: processRelativeTime, + m: processRelativeTime, + mm: processRelativeTime, + h: processRelativeTime, + hh: processRelativeTime, + d: processRelativeTime, + dd: processRelativeTime, + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return sl; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sq.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sq.js new file mode 100644 index 0000000000..154e3d6037 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sq.js @@ -0,0 +1,76 @@ +//! moment.js locale configuration +//! locale : Albanian [sq] +//! author : Flakërim Ismani : https://github.com/flakerimi +//! author : Menelion Elensúle : https://github.com/Oire +//! author : Oerd Cukalla : https://github.com/oerd + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var sq = moment.defineLocale('sq', { + months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split( + '_' + ), + monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), + weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split( + '_' + ), + weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), + weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), + weekdaysParseExact: true, + meridiemParse: /PD|MD/, + isPM: function (input) { + return input.charAt(0) === 'M'; + }, + meridiem: function (hours, minutes, isLower) { + return hours < 12 ? 'PD' : 'MD'; + }, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Sot në] LT', + nextDay: '[Nesër në] LT', + nextWeek: 'dddd [në] LT', + lastDay: '[Dje në] LT', + lastWeek: 'dddd [e kaluar në] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'në %s', + past: '%s më parë', + s: 'disa sekonda', + ss: '%d sekonda', + m: 'një minutë', + mm: '%d minuta', + h: 'një orë', + hh: '%d orë', + d: 'një ditë', + dd: '%d ditë', + M: 'një muaj', + MM: '%d muaj', + y: 'një vit', + yy: '%d vite', + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return sq; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sr-cyrl.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sr-cyrl.js new file mode 100644 index 0000000000..9da10fa60d --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sr-cyrl.js @@ -0,0 +1,138 @@ +//! moment.js locale configuration +//! locale : Serbian Cyrillic [sr-cyrl] +//! author : Milan Janačković : https://github.com/milan-j +//! author : Stefan Crnjaković : https://github.com/crnjakovic + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var translator = { + words: { + //Different grammatical cases + ss: ['секунда', 'секунде', 'секунди'], + m: ['један минут', 'једног минута'], + mm: ['минут', 'минута', 'минута'], + h: ['један сат', 'једног сата'], + hh: ['сат', 'сата', 'сати'], + d: ['један дан', 'једног дана'], + dd: ['дан', 'дана', 'дана'], + M: ['један месец', 'једног месеца'], + MM: ['месец', 'месеца', 'месеци'], + y: ['једну годину', 'једне године'], + yy: ['годину', 'године', 'година'], + }, + correctGrammaticalCase: function (number, wordKey) { + if ( + number % 10 >= 1 && + number % 10 <= 4 && + (number % 100 < 10 || number % 100 >= 20) + ) { + return number % 10 === 1 ? wordKey[0] : wordKey[1]; + } + return wordKey[2]; + }, + translate: function (number, withoutSuffix, key, isFuture) { + var wordKey = translator.words[key], + word; + + if (key.length === 1) { + // Nominativ + if (key === 'y' && withoutSuffix) return 'једна година'; + return isFuture || withoutSuffix ? wordKey[0] : wordKey[1]; + } + + word = translator.correctGrammaticalCase(number, wordKey); + // Nominativ + if (key === 'yy' && withoutSuffix && word === 'годину') { + return number + ' година'; + } + + return number + ' ' + word; + }, + }; + + var srCyrl = moment.defineLocale('sr-cyrl', { + months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split( + '_' + ), + monthsShort: + 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'), + monthsParseExact: true, + weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'), + weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'), + weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'D. M. YYYY.', + LL: 'D. MMMM YYYY.', + LLL: 'D. MMMM YYYY. H:mm', + LLLL: 'dddd, D. MMMM YYYY. H:mm', + }, + calendar: { + sameDay: '[данас у] LT', + nextDay: '[сутра у] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[у] [недељу] [у] LT'; + case 3: + return '[у] [среду] [у] LT'; + case 6: + return '[у] [суботу] [у] LT'; + case 1: + case 2: + case 4: + case 5: + return '[у] dddd [у] LT'; + } + }, + lastDay: '[јуче у] LT', + lastWeek: function () { + var lastWeekDays = [ + '[прошле] [недеље] [у] LT', + '[прошлог] [понедељка] [у] LT', + '[прошлог] [уторка] [у] LT', + '[прошле] [среде] [у] LT', + '[прошлог] [четвртка] [у] LT', + '[прошлог] [петка] [у] LT', + '[прошле] [суботе] [у] LT', + ]; + return lastWeekDays[this.day()]; + }, + sameElse: 'L', + }, + relativeTime: { + future: 'за %s', + past: 'пре %s', + s: 'неколико секунди', + ss: translator.translate, + m: translator.translate, + mm: translator.translate, + h: translator.translate, + hh: translator.translate, + d: translator.translate, + dd: translator.translate, + M: translator.translate, + MM: translator.translate, + y: translator.translate, + yy: translator.translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 1st is the first week of the year. + }, + }); + + return srCyrl; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sr.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sr.js new file mode 100644 index 0000000000..8f53e7ccf6 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sr.js @@ -0,0 +1,140 @@ +//! moment.js locale configuration +//! locale : Serbian [sr] +//! author : Milan Janačković : https://github.com/milan-j +//! author : Stefan Crnjaković : https://github.com/crnjakovic + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var translator = { + words: { + //Different grammatical cases + ss: ['sekunda', 'sekunde', 'sekundi'], + m: ['jedan minut', 'jednog minuta'], + mm: ['minut', 'minuta', 'minuta'], + h: ['jedan sat', 'jednog sata'], + hh: ['sat', 'sata', 'sati'], + d: ['jedan dan', 'jednog dana'], + dd: ['dan', 'dana', 'dana'], + M: ['jedan mesec', 'jednog meseca'], + MM: ['mesec', 'meseca', 'meseci'], + y: ['jednu godinu', 'jedne godine'], + yy: ['godinu', 'godine', 'godina'], + }, + correctGrammaticalCase: function (number, wordKey) { + if ( + number % 10 >= 1 && + number % 10 <= 4 && + (number % 100 < 10 || number % 100 >= 20) + ) { + return number % 10 === 1 ? wordKey[0] : wordKey[1]; + } + return wordKey[2]; + }, + translate: function (number, withoutSuffix, key, isFuture) { + var wordKey = translator.words[key], + word; + + if (key.length === 1) { + // Nominativ + if (key === 'y' && withoutSuffix) return 'jedna godina'; + return isFuture || withoutSuffix ? wordKey[0] : wordKey[1]; + } + + word = translator.correctGrammaticalCase(number, wordKey); + // Nominativ + if (key === 'yy' && withoutSuffix && word === 'godinu') { + return number + ' godina'; + } + + return number + ' ' + word; + }, + }; + + var sr = moment.defineLocale('sr', { + months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( + '_' + ), + monthsShort: + 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), + monthsParseExact: true, + weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split( + '_' + ), + weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), + weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'D. M. YYYY.', + LL: 'D. MMMM YYYY.', + LLL: 'D. MMMM YYYY. H:mm', + LLLL: 'dddd, D. MMMM YYYY. H:mm', + }, + calendar: { + sameDay: '[danas u] LT', + nextDay: '[sutra u] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[u] [nedelju] [u] LT'; + case 3: + return '[u] [sredu] [u] LT'; + case 6: + return '[u] [subotu] [u] LT'; + case 1: + case 2: + case 4: + case 5: + return '[u] dddd [u] LT'; + } + }, + lastDay: '[juče u] LT', + lastWeek: function () { + var lastWeekDays = [ + '[prošle] [nedelje] [u] LT', + '[prošlog] [ponedeljka] [u] LT', + '[prošlog] [utorka] [u] LT', + '[prošle] [srede] [u] LT', + '[prošlog] [četvrtka] [u] LT', + '[prošlog] [petka] [u] LT', + '[prošle] [subote] [u] LT', + ]; + return lastWeekDays[this.day()]; + }, + sameElse: 'L', + }, + relativeTime: { + future: 'za %s', + past: 'pre %s', + s: 'nekoliko sekundi', + ss: translator.translate, + m: translator.translate, + mm: translator.translate, + h: translator.translate, + hh: translator.translate, + d: translator.translate, + dd: translator.translate, + M: translator.translate, + MM: translator.translate, + y: translator.translate, + yy: translator.translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return sr; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ss.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ss.js new file mode 100644 index 0000000000..ce8a657c19 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ss.js @@ -0,0 +1,95 @@ +//! moment.js locale configuration +//! locale : siSwati [ss] +//! author : Nicolai Davies : https://github.com/nicolaidavies + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var ss = moment.defineLocale('ss', { + months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split( + '_' + ), + monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), + weekdays: + 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split( + '_' + ), + weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), + weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendar: { + sameDay: '[Namuhla nga] LT', + nextDay: '[Kusasa nga] LT', + nextWeek: 'dddd [nga] LT', + lastDay: '[Itolo nga] LT', + lastWeek: 'dddd [leliphelile] [nga] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'nga %s', + past: 'wenteka nga %s', + s: 'emizuzwana lomcane', + ss: '%d mzuzwana', + m: 'umzuzu', + mm: '%d emizuzu', + h: 'lihora', + hh: '%d emahora', + d: 'lilanga', + dd: '%d emalanga', + M: 'inyanga', + MM: '%d tinyanga', + y: 'umnyaka', + yy: '%d iminyaka', + }, + meridiemParse: /ekuseni|emini|entsambama|ebusuku/, + meridiem: function (hours, minutes, isLower) { + if (hours < 11) { + return 'ekuseni'; + } else if (hours < 15) { + return 'emini'; + } else if (hours < 19) { + return 'entsambama'; + } else { + return 'ebusuku'; + } + }, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'ekuseni') { + return hour; + } else if (meridiem === 'emini') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { + if (hour === 0) { + return 0; + } + return hour + 12; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal: '%d', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return ss; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sv.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sv.js new file mode 100644 index 0000000000..90fe441fcb --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sv.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration +//! locale : Swedish [sv] +//! author : Jens Alm : https://github.com/ulmus + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var sv = moment.defineLocale('sv', { + months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split( + '_' + ), + monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), + weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), + weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'), + weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY [kl.] HH:mm', + LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', + lll: 'D MMM YYYY HH:mm', + llll: 'ddd D MMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Idag] LT', + nextDay: '[Imorgon] LT', + lastDay: '[Igår] LT', + nextWeek: '[På] dddd LT', + lastWeek: '[I] dddd[s] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'om %s', + past: 'för %s sedan', + s: 'några sekunder', + ss: '%d sekunder', + m: 'en minut', + mm: '%d minuter', + h: 'en timme', + hh: '%d timmar', + d: 'en dag', + dd: '%d dagar', + M: 'en månad', + MM: '%d månader', + y: 'ett år', + yy: '%d år', + }, + dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/, + ordinal: function (number) { + var b = number % 10, + output = + ~~((number % 100) / 10) === 1 + ? ':e' + : b === 1 + ? ':a' + : b === 2 + ? ':a' + : b === 3 + ? ':e' + : ':e'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return sv; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sw.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sw.js new file mode 100644 index 0000000000..1a5ac64382 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/sw.js @@ -0,0 +1,66 @@ +//! moment.js locale configuration +//! locale : Swahili [sw] +//! author : Fahad Kassim : https://github.com/fadsel + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var sw = moment.defineLocale('sw', { + months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split( + '_' + ), + monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), + weekdays: + 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split( + '_' + ), + weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), + weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'hh:mm A', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[leo saa] LT', + nextDay: '[kesho saa] LT', + nextWeek: '[wiki ijayo] dddd [saat] LT', + lastDay: '[jana] LT', + lastWeek: '[wiki iliyopita] dddd [saat] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s baadaye', + past: 'tokea %s', + s: 'hivi punde', + ss: 'sekunde %d', + m: 'dakika moja', + mm: 'dakika %d', + h: 'saa limoja', + hh: 'masaa %d', + d: 'siku moja', + dd: 'siku %d', + M: 'mwezi mmoja', + MM: 'miezi %d', + y: 'mwaka mmoja', + yy: 'miaka %d', + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return sw; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ta.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ta.js new file mode 100644 index 0000000000..0f288320e6 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ta.js @@ -0,0 +1,142 @@ +//! moment.js locale configuration +//! locale : Tamil [ta] +//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404 + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var symbolMap = { + 1: '௧', + 2: '௨', + 3: '௩', + 4: '௪', + 5: '௫', + 6: '௬', + 7: '௭', + 8: '௮', + 9: '௯', + 0: '௦', + }, + numberMap = { + '௧': '1', + '௨': '2', + '௩': '3', + '௪': '4', + '௫': '5', + '௬': '6', + '௭': '7', + '௮': '8', + '௯': '9', + '௦': '0', + }; + + var ta = moment.defineLocale('ta', { + months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( + '_' + ), + monthsShort: + 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( + '_' + ), + weekdays: + 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split( + '_' + ), + weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split( + '_' + ), + weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, HH:mm', + LLLL: 'dddd, D MMMM YYYY, HH:mm', + }, + calendar: { + sameDay: '[இன்று] LT', + nextDay: '[நாளை] LT', + nextWeek: 'dddd, LT', + lastDay: '[நேற்று] LT', + lastWeek: '[கடந்த வாரம்] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s இல்', + past: '%s முன்', + s: 'ஒரு சில விநாடிகள்', + ss: '%d விநாடிகள்', + m: 'ஒரு நிமிடம்', + mm: '%d நிமிடங்கள்', + h: 'ஒரு மணி நேரம்', + hh: '%d மணி நேரம்', + d: 'ஒரு நாள்', + dd: '%d நாட்கள்', + M: 'ஒரு மாதம்', + MM: '%d மாதங்கள்', + y: 'ஒரு வருடம்', + yy: '%d ஆண்டுகள்', + }, + dayOfMonthOrdinalParse: /\d{1,2}வது/, + ordinal: function (number) { + return number + 'வது'; + }, + preparse: function (string) { + return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) { + return numberMap[match]; + }); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }); + }, + // refer http://ta.wikipedia.org/s/1er1 + meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/, + meridiem: function (hour, minute, isLower) { + if (hour < 2) { + return ' யாமம்'; + } else if (hour < 6) { + return ' வைகறை'; // வைகறை + } else if (hour < 10) { + return ' காலை'; // காலை + } else if (hour < 14) { + return ' நண்பகல்'; // நண்பகல் + } else if (hour < 18) { + return ' எற்பாடு'; // எற்பாடு + } else if (hour < 22) { + return ' மாலை'; // மாலை + } else { + return ' யாமம்'; + } + }, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'யாமம்') { + return hour < 2 ? hour : hour + 12; + } else if (meridiem === 'வைகறை' || meridiem === 'காலை') { + return hour; + } else if (meridiem === 'நண்பகல்') { + return hour >= 10 ? hour : hour + 12; + } else { + return hour + 12; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return ta; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/te.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/te.js new file mode 100644 index 0000000000..85bab7efd8 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/te.js @@ -0,0 +1,99 @@ +//! moment.js locale configuration +//! locale : Telugu [te] +//! author : Krishna Chaitanya Thota : https://github.com/kcthota + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var te = moment.defineLocale('te', { + months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split( + '_' + ), + monthsShort: + 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split( + '_' + ), + monthsParseExact: true, + weekdays: + 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split( + '_' + ), + weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'), + weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'), + longDateFormat: { + LT: 'A h:mm', + LTS: 'A h:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY, A h:mm', + LLLL: 'dddd, D MMMM YYYY, A h:mm', + }, + calendar: { + sameDay: '[నేడు] LT', + nextDay: '[రేపు] LT', + nextWeek: 'dddd, LT', + lastDay: '[నిన్న] LT', + lastWeek: '[గత] dddd, LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s లో', + past: '%s క్రితం', + s: 'కొన్ని క్షణాలు', + ss: '%d సెకన్లు', + m: 'ఒక నిమిషం', + mm: '%d నిమిషాలు', + h: 'ఒక గంట', + hh: '%d గంటలు', + d: 'ఒక రోజు', + dd: '%d రోజులు', + M: 'ఒక నెల', + MM: '%d నెలలు', + y: 'ఒక సంవత్సరం', + yy: '%d సంవత్సరాలు', + }, + dayOfMonthOrdinalParse: /\d{1,2}వ/, + ordinal: '%dవ', + meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'రాత్రి') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'ఉదయం') { + return hour; + } else if (meridiem === 'మధ్యాహ్నం') { + return hour >= 10 ? hour : hour + 12; + } else if (meridiem === 'సాయంత్రం') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'రాత్రి'; + } else if (hour < 10) { + return 'ఉదయం'; + } else if (hour < 17) { + return 'మధ్యాహ్నం'; + } else if (hour < 20) { + return 'సాయంత్రం'; + } else { + return 'రాత్రి'; + } + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }, + }); + + return te; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tet.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tet.js new file mode 100644 index 0000000000..931384a600 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tet.js @@ -0,0 +1,79 @@ +//! moment.js locale configuration +//! locale : Tetun Dili (East Timor) [tet] +//! author : Joshua Brooks : https://github.com/joshbrooks +//! author : Onorio De J. Afonso : https://github.com/marobo +//! author : Sonia Simoes : https://github.com/soniasimoes + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var tet = moment.defineLocale('tet', { + months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split( + '_' + ), + monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), + weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), + weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), + weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Ohin iha] LT', + nextDay: '[Aban iha] LT', + nextWeek: 'dddd [iha] LT', + lastDay: '[Horiseik iha] LT', + lastWeek: 'dddd [semana kotuk] [iha] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'iha %s', + past: '%s liuba', + s: 'segundu balun', + ss: 'segundu %d', + m: 'minutu ida', + mm: 'minutu %d', + h: 'oras ida', + hh: 'oras %d', + d: 'loron ida', + dd: 'loron %d', + M: 'fulan ida', + MM: 'fulan %d', + y: 'tinan ida', + yy: 'tinan %d', + }, + dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, + ordinal: function (number) { + var b = number % 10, + output = + ~~((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return tet; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tg.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tg.js new file mode 100644 index 0000000000..bde72ad136 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tg.js @@ -0,0 +1,128 @@ +//! moment.js locale configuration +//! locale : Tajik [tg] +//! author : Orif N. Jr. : https://github.com/orif-jr + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var suffixes = { + 0: '-ум', + 1: '-ум', + 2: '-юм', + 3: '-юм', + 4: '-ум', + 5: '-ум', + 6: '-ум', + 7: '-ум', + 8: '-ум', + 9: '-ум', + 10: '-ум', + 12: '-ум', + 13: '-ум', + 20: '-ум', + 30: '-юм', + 40: '-ум', + 50: '-ум', + 60: '-ум', + 70: '-ум', + 80: '-ум', + 90: '-ум', + 100: '-ум', + }; + + var tg = moment.defineLocale('tg', { + months: { + format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split( + '_' + ), + standalone: + 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( + '_' + ), + }, + monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), + weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split( + '_' + ), + weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'), + weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Имрӯз соати] LT', + nextDay: '[Фардо соати] LT', + lastDay: '[Дирӯз соати] LT', + nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT', + lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'баъди %s', + past: '%s пеш', + s: 'якчанд сония', + m: 'як дақиқа', + mm: '%d дақиқа', + h: 'як соат', + hh: '%d соат', + d: 'як рӯз', + dd: '%d рӯз', + M: 'як моҳ', + MM: '%d моҳ', + y: 'як сол', + yy: '%d сол', + }, + meridiemParse: /шаб|субҳ|рӯз|бегоҳ/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === 'шаб') { + return hour < 4 ? hour : hour + 12; + } else if (meridiem === 'субҳ') { + return hour; + } else if (meridiem === 'рӯз') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === 'бегоҳ') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'шаб'; + } else if (hour < 11) { + return 'субҳ'; + } else if (hour < 16) { + return 'рӯз'; + } else if (hour < 19) { + return 'бегоҳ'; + } else { + return 'шаб'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, + ordinal: function (number) { + var a = number % 10, + b = number >= 100 ? 100 : null; + return number + (suffixes[number] || suffixes[a] || suffixes[b]); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 1th is the first week of the year. + }, + }); + + return tg; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/th.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/th.js new file mode 100644 index 0000000000..f83bad95e6 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/th.js @@ -0,0 +1,76 @@ +//! moment.js locale configuration +//! locale : Thai [th] +//! author : Kridsada Thanabulpong : https://github.com/sirn + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var th = moment.defineLocale('th', { + months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split( + '_' + ), + monthsShort: + 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), + weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference + weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'H:mm', + LTS: 'H:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY เวลา H:mm', + LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm', + }, + meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, + isPM: function (input) { + return input === 'หลังเที่ยง'; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'ก่อนเที่ยง'; + } else { + return 'หลังเที่ยง'; + } + }, + calendar: { + sameDay: '[วันนี้ เวลา] LT', + nextDay: '[พรุ่งนี้ เวลา] LT', + nextWeek: 'dddd[หน้า เวลา] LT', + lastDay: '[เมื่อวานนี้ เวลา] LT', + lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'อีก %s', + past: '%sที่แล้ว', + s: 'ไม่กี่วินาที', + ss: '%d วินาที', + m: '1 นาที', + mm: '%d นาที', + h: '1 ชั่วโมง', + hh: '%d ชั่วโมง', + d: '1 วัน', + dd: '%d วัน', + w: '1 สัปดาห์', + ww: '%d สัปดาห์', + M: '1 เดือน', + MM: '%d เดือน', + y: '1 ปี', + yy: '%d ปี', + }, + }); + + return th; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tk.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tk.js new file mode 100644 index 0000000000..24d4ede908 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tk.js @@ -0,0 +1,102 @@ +//! moment.js locale configuration +//! locale : Turkmen [tk] +//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var suffixes = { + 1: "'inji", + 5: "'inji", + 8: "'inji", + 70: "'inji", + 80: "'inji", + 2: "'nji", + 7: "'nji", + 20: "'nji", + 50: "'nji", + 3: "'ünji", + 4: "'ünji", + 100: "'ünji", + 6: "'njy", + 9: "'unjy", + 10: "'unjy", + 30: "'unjy", + 60: "'ynjy", + 90: "'ynjy", + }; + + var tk = moment.defineLocale('tk', { + months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split( + '_' + ), + monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'), + weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split( + '_' + ), + weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'), + weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[bugün sagat] LT', + nextDay: '[ertir sagat] LT', + nextWeek: '[indiki] dddd [sagat] LT', + lastDay: '[düýn] LT', + lastWeek: '[geçen] dddd [sagat] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s soň', + past: '%s öň', + s: 'birnäçe sekunt', + m: 'bir minut', + mm: '%d minut', + h: 'bir sagat', + hh: '%d sagat', + d: 'bir gün', + dd: '%d gün', + M: 'bir aý', + MM: '%d aý', + y: 'bir ýyl', + yy: '%d ýyl', + }, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'Do': + case 'DD': + return number; + default: + if (number === 0) { + // special case for zero + return number + "'unjy"; + } + var a = number % 10, + b = (number % 100) - a, + c = number >= 100 ? 100 : null; + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return tk; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tl-ph.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tl-ph.js new file mode 100644 index 0000000000..871b07841e --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tl-ph.js @@ -0,0 +1,68 @@ +//! moment.js locale configuration +//! locale : Tagalog (Philippines) [tl-ph] +//! author : Dan Hagman : https://github.com/hagmandan + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var tlPh = moment.defineLocale('tl-ph', { + months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( + '_' + ), + monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), + weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( + '_' + ), + weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), + weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'MM/D/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY HH:mm', + LLLL: 'dddd, MMMM DD, YYYY HH:mm', + }, + calendar: { + sameDay: 'LT [ngayong araw]', + nextDay: '[Bukas ng] LT', + nextWeek: 'LT [sa susunod na] dddd', + lastDay: 'LT [kahapon]', + lastWeek: 'LT [noong nakaraang] dddd', + sameElse: 'L', + }, + relativeTime: { + future: 'sa loob ng %s', + past: '%s ang nakalipas', + s: 'ilang segundo', + ss: '%d segundo', + m: 'isang minuto', + mm: '%d minuto', + h: 'isang oras', + hh: '%d oras', + d: 'isang araw', + dd: '%d araw', + M: 'isang buwan', + MM: '%d buwan', + y: 'isang taon', + yy: '%d taon', + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal: function (number) { + return number; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return tlPh; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tlh.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tlh.js new file mode 100644 index 0000000000..ee39f1eb6d --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tlh.js @@ -0,0 +1,135 @@ +//! moment.js locale configuration +//! locale : Klingon [tlh] +//! author : Dominika Kruk : https://github.com/amaranthrose + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); + + function translateFuture(output) { + var time = output; + time = + output.indexOf('jaj') !== -1 + ? time.slice(0, -3) + 'leS' + : output.indexOf('jar') !== -1 + ? time.slice(0, -3) + 'waQ' + : output.indexOf('DIS') !== -1 + ? time.slice(0, -3) + 'nem' + : time + ' pIq'; + return time; + } + + function translatePast(output) { + var time = output; + time = + output.indexOf('jaj') !== -1 + ? time.slice(0, -3) + 'Hu’' + : output.indexOf('jar') !== -1 + ? time.slice(0, -3) + 'wen' + : output.indexOf('DIS') !== -1 + ? time.slice(0, -3) + 'ben' + : time + ' ret'; + return time; + } + + function translate(number, withoutSuffix, string, isFuture) { + var numberNoun = numberAsNoun(number); + switch (string) { + case 'ss': + return numberNoun + ' lup'; + case 'mm': + return numberNoun + ' tup'; + case 'hh': + return numberNoun + ' rep'; + case 'dd': + return numberNoun + ' jaj'; + case 'MM': + return numberNoun + ' jar'; + case 'yy': + return numberNoun + ' DIS'; + } + } + + function numberAsNoun(number) { + var hundred = Math.floor((number % 1000) / 100), + ten = Math.floor((number % 100) / 10), + one = number % 10, + word = ''; + if (hundred > 0) { + word += numbersNouns[hundred] + 'vatlh'; + } + if (ten > 0) { + word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH'; + } + if (one > 0) { + word += (word !== '' ? ' ' : '') + numbersNouns[one]; + } + return word === '' ? 'pagh' : word; + } + + var tlh = moment.defineLocale('tlh', { + months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split( + '_' + ), + monthsShort: + 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( + '_' + ), + weekdaysShort: + 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + weekdaysMin: + 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[DaHjaj] LT', + nextDay: '[wa’leS] LT', + nextWeek: 'LLL', + lastDay: '[wa’Hu’] LT', + lastWeek: 'LLL', + sameElse: 'L', + }, + relativeTime: { + future: translateFuture, + past: translatePast, + s: 'puS lup', + ss: translate, + m: 'wa’ tup', + mm: translate, + h: 'wa’ rep', + hh: translate, + d: 'wa’ jaj', + dd: translate, + M: 'wa’ jar', + MM: translate, + y: 'wa’ DIS', + yy: translate, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return tlh; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tr.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tr.js new file mode 100644 index 0000000000..663778e994 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tr.js @@ -0,0 +1,117 @@ +//! moment.js locale configuration +//! locale : Turkish [tr] +//! authors : Erhan Gundogan : https://github.com/erhangundogan, +//! Burak Yiğit Kaya: https://github.com/BYK + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var suffixes = { + 1: "'inci", + 5: "'inci", + 8: "'inci", + 70: "'inci", + 80: "'inci", + 2: "'nci", + 7: "'nci", + 20: "'nci", + 50: "'nci", + 3: "'üncü", + 4: "'üncü", + 100: "'üncü", + 6: "'ncı", + 9: "'uncu", + 10: "'uncu", + 30: "'uncu", + 60: "'ıncı", + 90: "'ıncı", + }; + + var tr = moment.defineLocale('tr', { + months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split( + '_' + ), + monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'), + weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split( + '_' + ), + weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'), + weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), + meridiem: function (hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'öö' : 'ÖÖ'; + } else { + return isLower ? 'ös' : 'ÖS'; + } + }, + meridiemParse: /öö|ÖÖ|ös|ÖS/, + isPM: function (input) { + return input === 'ös' || input === 'ÖS'; + }, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[bugün saat] LT', + nextDay: '[yarın saat] LT', + nextWeek: '[gelecek] dddd [saat] LT', + lastDay: '[dün] LT', + lastWeek: '[geçen] dddd [saat] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s sonra', + past: '%s önce', + s: 'birkaç saniye', + ss: '%d saniye', + m: 'bir dakika', + mm: '%d dakika', + h: 'bir saat', + hh: '%d saat', + d: 'bir gün', + dd: '%d gün', + w: 'bir hafta', + ww: '%d hafta', + M: 'bir ay', + MM: '%d ay', + y: 'bir yıl', + yy: '%d yıl', + }, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'Do': + case 'DD': + return number; + default: + if (number === 0) { + // special case for zero + return number + "'ıncı"; + } + var a = number % 10, + b = (number % 100) - a, + c = number >= 100 ? 100 : null; + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return tr; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tzl.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tzl.js new file mode 100644 index 0000000000..5eb1c067ee --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tzl.js @@ -0,0 +1,100 @@ +//! moment.js locale configuration +//! locale : Talossan [tzl] +//! author : Robin van der Vliet : https://github.com/robin0van0der0v +//! author : Iustì Canun + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. + // This is currently too difficult (maybe even impossible) to add. + var tzl = moment.defineLocale('tzl', { + months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split( + '_' + ), + monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), + weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), + weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), + weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), + longDateFormat: { + LT: 'HH.mm', + LTS: 'HH.mm.ss', + L: 'DD.MM.YYYY', + LL: 'D. MMMM [dallas] YYYY', + LLL: 'D. MMMM [dallas] YYYY HH.mm', + LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm', + }, + meridiemParse: /d\'o|d\'a/i, + isPM: function (input) { + return "d'o" === input.toLowerCase(); + }, + meridiem: function (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? "d'o" : "D'O"; + } else { + return isLower ? "d'a" : "D'A"; + } + }, + calendar: { + sameDay: '[oxhi à] LT', + nextDay: '[demà à] LT', + nextWeek: 'dddd [à] LT', + lastDay: '[ieiri à] LT', + lastWeek: '[sür el] dddd [lasteu à] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'osprei %s', + past: 'ja%s', + s: processRelativeTime, + ss: processRelativeTime, + m: processRelativeTime, + mm: processRelativeTime, + h: processRelativeTime, + hh: processRelativeTime, + d: processRelativeTime, + dd: processRelativeTime, + M: processRelativeTime, + MM: processRelativeTime, + y: processRelativeTime, + yy: processRelativeTime, + }, + dayOfMonthOrdinalParse: /\d{1,2}\./, + ordinal: '%d.', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + function processRelativeTime(number, withoutSuffix, key, isFuture) { + var format = { + s: ['viensas secunds', "'iensas secunds"], + ss: [number + ' secunds', '' + number + ' secunds'], + m: ["'n míut", "'iens míut"], + mm: [number + ' míuts', '' + number + ' míuts'], + h: ["'n þora", "'iensa þora"], + hh: [number + ' þoras', '' + number + ' þoras'], + d: ["'n ziua", "'iensa ziua"], + dd: [number + ' ziuas', '' + number + ' ziuas'], + M: ["'n mes", "'iens mes"], + MM: [number + ' mesen', '' + number + ' mesen'], + y: ["'n ar", "'iens ar"], + yy: [number + ' ars', '' + number + ' ars'], + }; + return isFuture + ? format[key][0] + : withoutSuffix + ? format[key][0] + : format[key][1]; + } + + return tzl; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tzm-latn.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tzm-latn.js new file mode 100644 index 0000000000..34425a7e4d --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tzm-latn.js @@ -0,0 +1,65 @@ +//! moment.js locale configuration +//! locale : Central Atlas Tamazight Latin [tzm-latn] +//! author : Abdel Said : https://github.com/abdelsaid + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var tzmLatn = moment.defineLocale('tzm-latn', { + months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( + '_' + ), + monthsShort: + 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( + '_' + ), + weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), + weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), + weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[asdkh g] LT', + nextDay: '[aska g] LT', + nextWeek: 'dddd [g] LT', + lastDay: '[assant g] LT', + lastWeek: 'dddd [g] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'dadkh s yan %s', + past: 'yan %s', + s: 'imik', + ss: '%d imik', + m: 'minuḍ', + mm: '%d minuḍ', + h: 'saɛa', + hh: '%d tassaɛin', + d: 'ass', + dd: '%d ossan', + M: 'ayowr', + MM: '%d iyyirn', + y: 'asgas', + yy: '%d isgasn', + }, + week: { + dow: 6, // Saturday is the first day of the week. + doy: 12, // The week that contains Jan 12th is the first week of the year. + }, + }); + + return tzmLatn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tzm.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tzm.js new file mode 100644 index 0000000000..5db61f946d --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/tzm.js @@ -0,0 +1,65 @@ +//! moment.js locale configuration +//! locale : Central Atlas Tamazight [tzm] +//! author : Abdel Said : https://github.com/abdelsaid + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var tzm = moment.defineLocale('tzm', { + months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( + '_' + ), + monthsShort: + 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( + '_' + ), + weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), + weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), + weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', + nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', + nextWeek: 'dddd [ⴴ] LT', + lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', + lastWeek: 'dddd [ⴴ] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', + past: 'ⵢⴰⵏ %s', + s: 'ⵉⵎⵉⴽ', + ss: '%d ⵉⵎⵉⴽ', + m: 'ⵎⵉⵏⵓⴺ', + mm: '%d ⵎⵉⵏⵓⴺ', + h: 'ⵙⴰⵄⴰ', + hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', + d: 'ⴰⵙⵙ', + dd: '%d oⵙⵙⴰⵏ', + M: 'ⴰⵢoⵓⵔ', + MM: '%d ⵉⵢⵢⵉⵔⵏ', + y: 'ⴰⵙⴳⴰⵙ', + yy: '%d ⵉⵙⴳⴰⵙⵏ', + }, + week: { + dow: 6, // Saturday is the first day of the week. + doy: 12, // The week that contains Jan 12th is the first week of the year. + }, + }); + + return tzm; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ug-cn.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ug-cn.js new file mode 100644 index 0000000000..5efffdd457 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ug-cn.js @@ -0,0 +1,122 @@ +//! moment.js locale configuration +//! locale : Uyghur (China) [ug-cn] +//! author: boyaq : https://github.com/boyaq + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var ugCn = moment.defineLocale('ug-cn', { + months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( + '_' + ), + monthsShort: + 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( + '_' + ), + weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( + '_' + ), + weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), + weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY-MM-DD', + LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى', + LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', + LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', + }, + meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if ( + meridiem === 'يېرىم كېچە' || + meridiem === 'سەھەر' || + meridiem === 'چۈشتىن بۇرۇن' + ) { + return hour; + } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') { + return hour + 12; + } else { + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return 'يېرىم كېچە'; + } else if (hm < 900) { + return 'سەھەر'; + } else if (hm < 1130) { + return 'چۈشتىن بۇرۇن'; + } else if (hm < 1230) { + return 'چۈش'; + } else if (hm < 1800) { + return 'چۈشتىن كېيىن'; + } else { + return 'كەچ'; + } + }, + calendar: { + sameDay: '[بۈگۈن سائەت] LT', + nextDay: '[ئەتە سائەت] LT', + nextWeek: '[كېلەركى] dddd [سائەت] LT', + lastDay: '[تۆنۈگۈن] LT', + lastWeek: '[ئالدىنقى] dddd [سائەت] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s كېيىن', + past: '%s بۇرۇن', + s: 'نەچچە سېكونت', + ss: '%d سېكونت', + m: 'بىر مىنۇت', + mm: '%d مىنۇت', + h: 'بىر سائەت', + hh: '%d سائەت', + d: 'بىر كۈن', + dd: '%d كۈن', + M: 'بىر ئاي', + MM: '%d ئاي', + y: 'بىر يىل', + yy: '%d يىل', + }, + + dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '-كۈنى'; + case 'w': + case 'W': + return number + '-ھەپتە'; + default: + return number; + } + }, + preparse: function (string) { + return string.replace(/،/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, '،'); + }, + week: { + // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 1st is the first week of the year. + }, + }); + + return ugCn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/uk.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/uk.js new file mode 100644 index 0000000000..89e04316e1 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/uk.js @@ -0,0 +1,178 @@ +//! moment.js locale configuration +//! locale : Ukrainian [uk] +//! author : zemlanin : https://github.com/zemlanin +//! Author : Menelion Elensúle : https://github.com/Oire + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + function plural(word, num) { + var forms = word.split('_'); + return num % 10 === 1 && num % 100 !== 11 + ? forms[0] + : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) + ? forms[1] + : forms[2]; + } + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд', + mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', + hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин', + dd: 'день_дні_днів', + MM: 'місяць_місяці_місяців', + yy: 'рік_роки_років', + }; + if (key === 'm') { + return withoutSuffix ? 'хвилина' : 'хвилину'; + } else if (key === 'h') { + return withoutSuffix ? 'година' : 'годину'; + } else { + return number + ' ' + plural(format[key], +number); + } + } + function weekdaysCaseReplace(m, format) { + var weekdays = { + nominative: + 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split( + '_' + ), + accusative: + 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split( + '_' + ), + genitive: + 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split( + '_' + ), + }, + nounCase; + + if (m === true) { + return weekdays['nominative'] + .slice(1, 7) + .concat(weekdays['nominative'].slice(0, 1)); + } + if (!m) { + return weekdays['nominative']; + } + + nounCase = /(\[[ВвУу]\]) ?dddd/.test(format) + ? 'accusative' + : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format) + ? 'genitive' + : 'nominative'; + return weekdays[nounCase][m.day()]; + } + function processHoursFunction(str) { + return function () { + return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; + }; + } + + var uk = moment.defineLocale('uk', { + months: { + format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split( + '_' + ), + standalone: + 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split( + '_' + ), + }, + monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split( + '_' + ), + weekdays: weekdaysCaseReplace, + weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), + weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD.MM.YYYY', + LL: 'D MMMM YYYY р.', + LLL: 'D MMMM YYYY р., HH:mm', + LLLL: 'dddd, D MMMM YYYY р., HH:mm', + }, + calendar: { + sameDay: processHoursFunction('[Сьогодні '), + nextDay: processHoursFunction('[Завтра '), + lastDay: processHoursFunction('[Вчора '), + nextWeek: processHoursFunction('[У] dddd ['), + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return processHoursFunction('[Минулої] dddd [').call(this); + case 1: + case 2: + case 4: + return processHoursFunction('[Минулого] dddd [').call(this); + } + }, + sameElse: 'L', + }, + relativeTime: { + future: 'за %s', + past: '%s тому', + s: 'декілька секунд', + ss: relativeTimeWithPlural, + m: relativeTimeWithPlural, + mm: relativeTimeWithPlural, + h: 'годину', + hh: relativeTimeWithPlural, + d: 'день', + dd: relativeTimeWithPlural, + M: 'місяць', + MM: relativeTimeWithPlural, + y: 'рік', + yy: relativeTimeWithPlural, + }, + // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason + meridiemParse: /ночі|ранку|дня|вечора/, + isPM: function (input) { + return /^(дня|вечора)$/.test(input); + }, + meridiem: function (hour, minute, isLower) { + if (hour < 4) { + return 'ночі'; + } else if (hour < 12) { + return 'ранку'; + } else if (hour < 17) { + return 'дня'; + } else { + return 'вечора'; + } + }, + dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return number + '-й'; + case 'D': + return number + '-го'; + default: + return number; + } + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return uk; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ur.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ur.js new file mode 100644 index 0000000000..9720dcf52f --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/ur.js @@ -0,0 +1,93 @@ +//! moment.js locale configuration +//! locale : Urdu [ur] +//! author : Sawood Alam : https://github.com/ibnesayeed +//! author : Zack : https://github.com/ZackVision + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var months = [ + 'جنوری', + 'فروری', + 'مارچ', + 'اپریل', + 'مئی', + 'جون', + 'جولائی', + 'اگست', + 'ستمبر', + 'اکتوبر', + 'نومبر', + 'دسمبر', + ], + days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ']; + + var ur = moment.defineLocale('ur', { + months: months, + monthsShort: months, + weekdays: days, + weekdaysShort: days, + weekdaysMin: days, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd، D MMMM YYYY HH:mm', + }, + meridiemParse: /صبح|شام/, + isPM: function (input) { + return 'شام' === input; + }, + meridiem: function (hour, minute, isLower) { + if (hour < 12) { + return 'صبح'; + } + return 'شام'; + }, + calendar: { + sameDay: '[آج بوقت] LT', + nextDay: '[کل بوقت] LT', + nextWeek: 'dddd [بوقت] LT', + lastDay: '[گذشتہ روز بوقت] LT', + lastWeek: '[گذشتہ] dddd [بوقت] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s بعد', + past: '%s قبل', + s: 'چند سیکنڈ', + ss: '%d سیکنڈ', + m: 'ایک منٹ', + mm: '%d منٹ', + h: 'ایک گھنٹہ', + hh: '%d گھنٹے', + d: 'ایک دن', + dd: '%d دن', + M: 'ایک ماہ', + MM: '%d ماہ', + y: 'ایک سال', + yy: '%d سال', + }, + preparse: function (string) { + return string.replace(/،/g, ','); + }, + postformat: function (string) { + return string.replace(/,/g, '،'); + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return ur; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/uz-latn.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/uz-latn.js new file mode 100644 index 0000000000..af08e60f01 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/uz-latn.js @@ -0,0 +1,65 @@ +//! moment.js locale configuration +//! locale : Uzbek Latin [uz-latn] +//! author : Rasulbek Mirzayev : github.com/Rasulbeeek + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var uzLatn = moment.defineLocale('uz-latn', { + months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split( + '_' + ), + monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), + weekdays: + 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split( + '_' + ), + weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), + weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'D MMMM YYYY, dddd HH:mm', + }, + calendar: { + sameDay: '[Bugun soat] LT [da]', + nextDay: '[Ertaga] LT [da]', + nextWeek: 'dddd [kuni soat] LT [da]', + lastDay: '[Kecha soat] LT [da]', + lastWeek: "[O'tgan] dddd [kuni soat] LT [da]", + sameElse: 'L', + }, + relativeTime: { + future: 'Yaqin %s ichida', + past: 'Bir necha %s oldin', + s: 'soniya', + ss: '%d soniya', + m: 'bir daqiqa', + mm: '%d daqiqa', + h: 'bir soat', + hh: '%d soat', + d: 'bir kun', + dd: '%d kun', + M: 'bir oy', + MM: '%d oy', + y: 'bir yil', + yy: '%d yil', + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 7th is the first week of the year. + }, + }); + + return uzLatn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/uz.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/uz.js new file mode 100644 index 0000000000..a8a87fc892 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/uz.js @@ -0,0 +1,62 @@ +//! moment.js locale configuration +//! locale : Uzbek [uz] +//! author : Sardor Muminov : https://github.com/muminoff + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var uz = moment.defineLocale('uz', { + months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( + '_' + ), + monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), + weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), + weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), + weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'D MMMM YYYY, dddd HH:mm', + }, + calendar: { + sameDay: '[Бугун соат] LT [да]', + nextDay: '[Эртага] LT [да]', + nextWeek: 'dddd [куни соат] LT [да]', + lastDay: '[Кеча соат] LT [да]', + lastWeek: '[Утган] dddd [куни соат] LT [да]', + sameElse: 'L', + }, + relativeTime: { + future: 'Якин %s ичида', + past: 'Бир неча %s олдин', + s: 'фурсат', + ss: '%d фурсат', + m: 'бир дакика', + mm: '%d дакика', + h: 'бир соат', + hh: '%d соат', + d: 'бир кун', + dd: '%d кун', + M: 'бир ой', + MM: '%d ой', + y: 'бир йил', + yy: '%d йил', + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 7, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return uz; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/vi.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/vi.js new file mode 100644 index 0000000000..fb6b4b40bb --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/vi.js @@ -0,0 +1,91 @@ +//! moment.js locale configuration +//! locale : Vietnamese [vi] +//! author : Bang Nguyen : https://github.com/bangnk +//! author : Chien Kira : https://github.com/chienkira + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var vi = moment.defineLocale('vi', { + months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split( + '_' + ), + monthsShort: + 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split( + '_' + ), + monthsParseExact: true, + weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split( + '_' + ), + weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), + weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), + weekdaysParseExact: true, + meridiemParse: /sa|ch/i, + isPM: function (input) { + return /^ch$/i.test(input); + }, + meridiem: function (hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'sa' : 'SA'; + } else { + return isLower ? 'ch' : 'CH'; + } + }, + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM [năm] YYYY', + LLL: 'D MMMM [năm] YYYY HH:mm', + LLLL: 'dddd, D MMMM [năm] YYYY HH:mm', + l: 'DD/M/YYYY', + ll: 'D MMM YYYY', + lll: 'D MMM YYYY HH:mm', + llll: 'ddd, D MMM YYYY HH:mm', + }, + calendar: { + sameDay: '[Hôm nay lúc] LT', + nextDay: '[Ngày mai lúc] LT', + nextWeek: 'dddd [tuần tới lúc] LT', + lastDay: '[Hôm qua lúc] LT', + lastWeek: 'dddd [tuần trước lúc] LT', + sameElse: 'L', + }, + relativeTime: { + future: '%s tới', + past: '%s trước', + s: 'vài giây', + ss: '%d giây', + m: 'một phút', + mm: '%d phút', + h: 'một giờ', + hh: '%d giờ', + d: 'một ngày', + dd: '%d ngày', + w: 'một tuần', + ww: '%d tuần', + M: 'một tháng', + MM: '%d tháng', + y: 'một năm', + yy: '%d năm', + }, + dayOfMonthOrdinalParse: /\d{1,2}/, + ordinal: function (number) { + return number; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return vi; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/x-pseudo.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/x-pseudo.js new file mode 100644 index 0000000000..f67a2bfb88 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/x-pseudo.js @@ -0,0 +1,84 @@ +//! moment.js locale configuration +//! locale : Pseudo [x-pseudo] +//! author : Andrew Hood : https://github.com/andrewhood125 + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var xPseudo = moment.defineLocale('x-pseudo', { + months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split( + '_' + ), + monthsShort: + 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split( + '_' + ), + monthsParseExact: true, + weekdays: + 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split( + '_' + ), + weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), + weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), + weekdaysParseExact: true, + longDateFormat: { + LT: 'HH:mm', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY HH:mm', + LLLL: 'dddd, D MMMM YYYY HH:mm', + }, + calendar: { + sameDay: '[T~ódá~ý át] LT', + nextDay: '[T~ómó~rró~w át] LT', + nextWeek: 'dddd [át] LT', + lastDay: '[Ý~ést~érdá~ý át] LT', + lastWeek: '[L~ást] dddd [át] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'í~ñ %s', + past: '%s á~gó', + s: 'á ~féw ~sécó~ñds', + ss: '%d s~écóñ~ds', + m: 'á ~míñ~úté', + mm: '%d m~íñú~tés', + h: 'á~ñ hó~úr', + hh: '%d h~óúrs', + d: 'á ~dáý', + dd: '%d d~áýs', + M: 'á ~móñ~th', + MM: '%d m~óñt~hs', + y: 'á ~ýéár', + yy: '%d ý~éárs', + }, + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function (number) { + var b = number % 10, + output = + ~~((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return xPseudo; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/yo.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/yo.js new file mode 100644 index 0000000000..9fe818b580 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/yo.js @@ -0,0 +1,64 @@ +//! moment.js locale configuration +//! locale : Yoruba Nigeria [yo] +//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var yo = moment.defineLocale('yo', { + months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split( + '_' + ), + monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'), + weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), + weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), + weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), + longDateFormat: { + LT: 'h:mm A', + LTS: 'h:mm:ss A', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL: 'D MMMM YYYY h:mm A', + LLLL: 'dddd, D MMMM YYYY h:mm A', + }, + calendar: { + sameDay: '[Ònì ni] LT', + nextDay: '[Ọ̀la ni] LT', + nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT", + lastDay: '[Àna ni] LT', + lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', + sameElse: 'L', + }, + relativeTime: { + future: 'ní %s', + past: '%s kọjá', + s: 'ìsẹjú aayá die', + ss: 'aayá %d', + m: 'ìsẹjú kan', + mm: 'ìsẹjú %d', + h: 'wákati kan', + hh: 'wákati %d', + d: 'ọjọ́ kan', + dd: 'ọjọ́ %d', + M: 'osù kan', + MM: 'osù %d', + y: 'ọdún kan', + yy: 'ọdún %d', + }, + dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/, + ordinal: 'ọjọ́ %d', + week: { + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return yo; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-cn.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-cn.js new file mode 100644 index 0000000000..c14ca47cac --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-cn.js @@ -0,0 +1,131 @@ +//! moment.js locale configuration +//! locale : Chinese (China) [zh-cn] +//! author : suupic : https://github.com/suupic +//! author : Zeno Zeng : https://github.com/zenozeng +//! author : uu109 : https://github.com/uu109 + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var zhCn = moment.defineLocale('zh-cn', { + months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( + '_' + ), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( + '_' + ), + weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), + weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), + weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY/MM/DD', + LL: 'YYYY年M月D日', + LLL: 'YYYY年M月D日Ah点mm分', + LLLL: 'YYYY年M月D日ddddAh点mm分', + l: 'YYYY/M/D', + ll: 'YYYY年M月D日', + lll: 'YYYY年M月D日 HH:mm', + llll: 'YYYY年M月D日dddd HH:mm', + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { + return hour; + } else if (meridiem === '下午' || meridiem === '晚上') { + return hour + 12; + } else { + // '中午' + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上午'; + } else if (hm < 1230) { + return '中午'; + } else if (hm < 1800) { + return '下午'; + } else { + return '晚上'; + } + }, + calendar: { + sameDay: '[今天]LT', + nextDay: '[明天]LT', + nextWeek: function (now) { + if (now.week() !== this.week()) { + return '[下]dddLT'; + } else { + return '[本]dddLT'; + } + }, + lastDay: '[昨天]LT', + lastWeek: function (now) { + if (this.week() !== now.week()) { + return '[上]dddLT'; + } else { + return '[本]dddLT'; + } + }, + sameElse: 'L', + }, + dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '日'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '周'; + default: + return number; + } + }, + relativeTime: { + future: '%s后', + past: '%s前', + s: '几秒', + ss: '%d 秒', + m: '1 分钟', + mm: '%d 分钟', + h: '1 小时', + hh: '%d 小时', + d: '1 天', + dd: '%d 天', + w: '1 周', + ww: '%d 周', + M: '1 个月', + MM: '%d 个月', + y: '1 年', + yy: '%d 年', + }, + week: { + // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 + dow: 1, // Monday is the first day of the week. + doy: 4, // The week that contains Jan 4th is the first week of the year. + }, + }); + + return zhCn; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-hk.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-hk.js new file mode 100644 index 0000000000..de900fd15d --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-hk.js @@ -0,0 +1,112 @@ +//! moment.js locale configuration +//! locale : Chinese (Hong Kong) [zh-hk] +//! author : Ben : https://github.com/ben-lin +//! author : Chris Lam : https://github.com/hehachris +//! author : Konstantin : https://github.com/skfd +//! author : Anthony : https://github.com/anthonylau + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var zhHk = moment.defineLocale('zh-hk', { + months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( + '_' + ), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( + '_' + ), + weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), + weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), + weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY/MM/DD', + LL: 'YYYY年M月D日', + LLL: 'YYYY年M月D日 HH:mm', + LLLL: 'YYYY年M月D日dddd HH:mm', + l: 'YYYY/M/D', + ll: 'YYYY年M月D日', + lll: 'YYYY年M月D日 HH:mm', + llll: 'YYYY年M月D日dddd HH:mm', + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { + return hour; + } else if (meridiem === '中午') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下午' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1200) { + return '上午'; + } else if (hm === 1200) { + return '中午'; + } else if (hm < 1800) { + return '下午'; + } else { + return '晚上'; + } + }, + calendar: { + sameDay: '[今天]LT', + nextDay: '[明天]LT', + nextWeek: '[下]ddddLT', + lastDay: '[昨天]LT', + lastWeek: '[上]ddddLT', + sameElse: 'L', + }, + dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '日'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '週'; + default: + return number; + } + }, + relativeTime: { + future: '%s後', + past: '%s前', + s: '幾秒', + ss: '%d 秒', + m: '1 分鐘', + mm: '%d 分鐘', + h: '1 小時', + hh: '%d 小時', + d: '1 天', + dd: '%d 天', + M: '1 個月', + MM: '%d 個月', + y: '1 年', + yy: '%d 年', + }, + }); + + return zhHk; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-mo.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-mo.js new file mode 100644 index 0000000000..b32feab01a --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-mo.js @@ -0,0 +1,111 @@ +//! moment.js locale configuration +//! locale : Chinese (Macau) [zh-mo] +//! author : Ben : https://github.com/ben-lin +//! author : Chris Lam : https://github.com/hehachris +//! author : Tan Yuanhong : https://github.com/le0tan + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var zhMo = moment.defineLocale('zh-mo', { + months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( + '_' + ), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( + '_' + ), + weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), + weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), + weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'YYYY年M月D日', + LLL: 'YYYY年M月D日 HH:mm', + LLLL: 'YYYY年M月D日dddd HH:mm', + l: 'D/M/YYYY', + ll: 'YYYY年M月D日', + lll: 'YYYY年M月D日 HH:mm', + llll: 'YYYY年M月D日dddd HH:mm', + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { + return hour; + } else if (meridiem === '中午') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下午' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上午'; + } else if (hm < 1230) { + return '中午'; + } else if (hm < 1800) { + return '下午'; + } else { + return '晚上'; + } + }, + calendar: { + sameDay: '[今天] LT', + nextDay: '[明天] LT', + nextWeek: '[下]dddd LT', + lastDay: '[昨天] LT', + lastWeek: '[上]dddd LT', + sameElse: 'L', + }, + dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '日'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '週'; + default: + return number; + } + }, + relativeTime: { + future: '%s內', + past: '%s前', + s: '幾秒', + ss: '%d 秒', + m: '1 分鐘', + mm: '%d 分鐘', + h: '1 小時', + hh: '%d 小時', + d: '1 天', + dd: '%d 天', + M: '1 個月', + MM: '%d 個月', + y: '1 年', + yy: '%d 年', + }, + }); + + return zhMo; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-tw.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-tw.js new file mode 100644 index 0000000000..4f80ecec9d --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/locale/zh-tw.js @@ -0,0 +1,110 @@ +//! moment.js locale configuration +//! locale : Chinese (Taiwan) [zh-tw] +//! author : Ben : https://github.com/ben-lin +//! author : Chris Lam : https://github.com/hehachris + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, (function (moment) { 'use strict'; + + //! moment.js locale configuration + + var zhTw = moment.defineLocale('zh-tw', { + months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( + '_' + ), + monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( + '_' + ), + weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), + weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), + weekdaysMin: '日_一_二_三_四_五_六'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'YYYY/MM/DD', + LL: 'YYYY年M月D日', + LLL: 'YYYY年M月D日 HH:mm', + LLLL: 'YYYY年M月D日dddd HH:mm', + l: 'YYYY/M/D', + ll: 'YYYY年M月D日', + lll: 'YYYY年M月D日 HH:mm', + llll: 'YYYY年M月D日dddd HH:mm', + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') { + return hour; + } else if (meridiem === '中午') { + return hour >= 11 ? hour : hour + 12; + } else if (meridiem === '下午' || meridiem === '晚上') { + return hour + 12; + } + }, + meridiem: function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上午'; + } else if (hm < 1230) { + return '中午'; + } else if (hm < 1800) { + return '下午'; + } else { + return '晚上'; + } + }, + calendar: { + sameDay: '[今天] LT', + nextDay: '[明天] LT', + nextWeek: '[下]dddd LT', + lastDay: '[昨天] LT', + lastWeek: '[上]dddd LT', + sameElse: 'L', + }, + dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, + ordinal: function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '日'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '週'; + default: + return number; + } + }, + relativeTime: { + future: '%s後', + past: '%s前', + s: '幾秒', + ss: '%d 秒', + m: '1 分鐘', + mm: '%d 分鐘', + h: '1 小時', + hh: '%d 小時', + d: '1 天', + dd: '%d 天', + M: '1 個月', + MM: '%d 個月', + y: '1 年', + yy: '%d 年', + }, + }); + + return zhTw; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/moment.js b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/moment.js new file mode 100644 index 0000000000..05a63b1413 --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/moment/moment.js @@ -0,0 +1,5685 @@ +//! moment.js +//! version : 2.29.4 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + global.moment = factory() +}(this, (function () { 'use strict'; + + var hookCallback; + + function hooks() { + return hookCallback.apply(null, arguments); + } + + // This is done to register the method called with moment() + // without creating circular dependencies. + function setHookCallback(callback) { + hookCallback = callback; + } + + function isArray(input) { + return ( + input instanceof Array || + Object.prototype.toString.call(input) === '[object Array]' + ); + } + + function isObject(input) { + // IE8 will treat undefined and null as object if it wasn't for + // input != null + return ( + input != null && + Object.prototype.toString.call(input) === '[object Object]' + ); + } + + function hasOwnProp(a, b) { + return Object.prototype.hasOwnProperty.call(a, b); + } + + function isObjectEmpty(obj) { + if (Object.getOwnPropertyNames) { + return Object.getOwnPropertyNames(obj).length === 0; + } else { + var k; + for (k in obj) { + if (hasOwnProp(obj, k)) { + return false; + } + } + return true; + } + } + + function isUndefined(input) { + return input === void 0; + } + + function isNumber(input) { + return ( + typeof input === 'number' || + Object.prototype.toString.call(input) === '[object Number]' + ); + } + + function isDate(input) { + return ( + input instanceof Date || + Object.prototype.toString.call(input) === '[object Date]' + ); + } + + function map(arr, fn) { + var res = [], + i, + arrLen = arr.length; + for (i = 0; i < arrLen; ++i) { + res.push(fn(arr[i], i)); + } + return res; + } + + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } + } + + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } + + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } + + return a; + } + + function createUTC(input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, true).utc(); + } + + function defaultParsingFlags() { + // We need to deep clone this object. + return { + empty: false, + unusedTokens: [], + unusedInput: [], + overflow: -2, + charsLeftOver: 0, + nullInput: false, + invalidEra: null, + invalidMonth: null, + invalidFormat: false, + userInvalidated: false, + iso: false, + parsedDateParts: [], + era: null, + meridiem: null, + rfc2822: false, + weekdayMismatch: false, + }; + } + + function getParsingFlags(m) { + if (m._pf == null) { + m._pf = defaultParsingFlags(); + } + return m._pf; + } + + var some; + if (Array.prototype.some) { + some = Array.prototype.some; + } else { + some = function (fun) { + var t = Object(this), + len = t.length >>> 0, + i; + + for (i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return true; + } + } + + return false; + }; + } + + function isValid(m) { + if (m._isValid == null) { + var flags = getParsingFlags(m), + parsedParts = some.call(flags.parsedDateParts, function (i) { + return i != null; + }), + isNowValid = + !isNaN(m._d.getTime()) && + flags.overflow < 0 && + !flags.empty && + !flags.invalidEra && + !flags.invalidMonth && + !flags.invalidWeekday && + !flags.weekdayMismatch && + !flags.nullInput && + !flags.invalidFormat && + !flags.userInvalidated && + (!flags.meridiem || (flags.meridiem && parsedParts)); + + if (m._strict) { + isNowValid = + isNowValid && + flags.charsLeftOver === 0 && + flags.unusedTokens.length === 0 && + flags.bigHour === undefined; + } + + if (Object.isFrozen == null || !Object.isFrozen(m)) { + m._isValid = isNowValid; + } else { + return isNowValid; + } + } + return m._isValid; + } + + function createInvalid(flags) { + var m = createUTC(NaN); + if (flags != null) { + extend(getParsingFlags(m), flags); + } else { + getParsingFlags(m).userInvalidated = true; + } + + return m; + } + + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + var momentProperties = (hooks.momentProperties = []), + updateInProgress = false; + + function copyConfig(to, from) { + var i, + prop, + val, + momentPropertiesLen = momentProperties.length; + + if (!isUndefined(from._isAMomentObject)) { + to._isAMomentObject = from._isAMomentObject; + } + if (!isUndefined(from._i)) { + to._i = from._i; + } + if (!isUndefined(from._f)) { + to._f = from._f; + } + if (!isUndefined(from._l)) { + to._l = from._l; + } + if (!isUndefined(from._strict)) { + to._strict = from._strict; + } + if (!isUndefined(from._tzm)) { + to._tzm = from._tzm; + } + if (!isUndefined(from._isUTC)) { + to._isUTC = from._isUTC; + } + if (!isUndefined(from._offset)) { + to._offset = from._offset; + } + if (!isUndefined(from._pf)) { + to._pf = getParsingFlags(from); + } + if (!isUndefined(from._locale)) { + to._locale = from._locale; + } + + if (momentPropertiesLen > 0) { + for (i = 0; i < momentPropertiesLen; i++) { + prop = momentProperties[i]; + val = from[prop]; + if (!isUndefined(val)) { + to[prop] = val; + } + } + } + + return to; + } + + // Moment prototype object + function Moment(config) { + copyConfig(this, config); + this._d = new Date(config._d != null ? config._d.getTime() : NaN); + if (!this.isValid()) { + this._d = new Date(NaN); + } + // Prevent infinite loop in case updateOffset creates new moment + // objects. + if (updateInProgress === false) { + updateInProgress = true; + hooks.updateOffset(this); + updateInProgress = false; + } + } + + function isMoment(obj) { + return ( + obj instanceof Moment || (obj != null && obj._isAMomentObject != null) + ); + } + + function warn(msg) { + if ( + hooks.suppressDeprecationWarnings === false && + typeof console !== 'undefined' && + console.warn + ) { + console.warn('Deprecation warning: ' + msg); + } + } + + function deprecate(msg, fn) { + var firstTime = true; + + return extend(function () { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(null, msg); + } + if (firstTime) { + var args = [], + arg, + i, + key, + argLen = arguments.length; + for (i = 0; i < argLen; i++) { + arg = ''; + if (typeof arguments[i] === 'object') { + arg += '\n[' + i + '] '; + for (key in arguments[0]) { + if (hasOwnProp(arguments[0], key)) { + arg += key + ': ' + arguments[0][key] + ', '; + } + } + arg = arg.slice(0, -2); // Remove trailing comma and space + } else { + arg = arguments[i]; + } + args.push(arg); + } + warn( + msg + + '\nArguments: ' + + Array.prototype.slice.call(args).join('') + + '\n' + + new Error().stack + ); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); + } + + var deprecations = {}; + + function deprecateSimple(name, msg) { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(name, msg); + } + if (!deprecations[name]) { + warn(msg); + deprecations[name] = true; + } + } + + hooks.suppressDeprecationWarnings = false; + hooks.deprecationHandler = null; + + function isFunction(input) { + return ( + (typeof Function !== 'undefined' && input instanceof Function) || + Object.prototype.toString.call(input) === '[object Function]' + ); + } + + function set(config) { + var prop, i; + for (i in config) { + if (hasOwnProp(config, i)) { + prop = config[i]; + if (isFunction(prop)) { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + } + this._config = config; + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. + // TODO: Remove "ordinalParse" fallback in next major release. + this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + '|' + + /\d{1,2}/.source + ); + } + + function mergeConfigs(parentConfig, childConfig) { + var res = extend({}, parentConfig), + prop; + for (prop in childConfig) { + if (hasOwnProp(childConfig, prop)) { + if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { + res[prop] = {}; + extend(res[prop], parentConfig[prop]); + extend(res[prop], childConfig[prop]); + } else if (childConfig[prop] != null) { + res[prop] = childConfig[prop]; + } else { + delete res[prop]; + } + } + } + for (prop in parentConfig) { + if ( + hasOwnProp(parentConfig, prop) && + !hasOwnProp(childConfig, prop) && + isObject(parentConfig[prop]) + ) { + // make sure changes to properties don't modify parent config + res[prop] = extend({}, res[prop]); + } + } + return res; + } + + function Locale(config) { + if (config != null) { + this.set(config); + } + } + + var keys; + + if (Object.keys) { + keys = Object.keys; + } else { + keys = function (obj) { + var i, + res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; + } + + var defaultCalendar = { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }; + + function calendar(key, mom, now) { + var output = this._calendar[key] || this._calendar['sameElse']; + return isFunction(output) ? output.call(mom, now) : output; + } + + function zeroFill(number, targetLength, forceSign) { + var absNumber = '' + Math.abs(number), + zerosToFill = targetLength - absNumber.length, + sign = number >= 0; + return ( + (sign ? (forceSign ? '+' : '') : '-') + + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + + absNumber + ); + } + + var formattingTokens = + /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, + localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, + formatFunctions = {}, + formatTokenFunctions = {}; + + // token: 'M' + // padded: ['MM', 2] + // ordinal: 'Mo' + // callback: function () { this.month() + 1 } + function addFormatToken(token, padded, ordinal, callback) { + var func = callback; + if (typeof callback === 'string') { + func = function () { + return this[callback](); + }; + } + if (token) { + formatTokenFunctions[token] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function () { + return zeroFill(func.apply(this, arguments), padded[1], padded[2]); + }; + } + if (ordinal) { + formatTokenFunctions[ordinal] = function () { + return this.localeData().ordinal( + func.apply(this, arguments), + token + ); + }; + } + } + + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } + + function makeFormatFunction(format) { + var array = format.match(formattingTokens), + i, + length; + + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + + return function (mom) { + var output = '', + i; + for (i = 0; i < length; i++) { + output += isFunction(array[i]) + ? array[i].call(mom, format) + : array[i]; + } + return output; + }; + } + + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + + format = expandFormat(format, m.localeData()); + formatFunctions[format] = + formatFunctions[format] || makeFormatFunction(format); + + return formatFunctions[format](m); + } + + function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace( + localFormattingTokens, + replaceLongDateFormatTokens + ); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + + return format; + } + + var defaultLongDateFormat = { + LTS: 'h:mm:ss A', + LT: 'h:mm A', + L: 'MM/DD/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY h:mm A', + LLLL: 'dddd, MMMM D, YYYY h:mm A', + }; + + function longDateFormat(key) { + var format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + + if (format || !formatUpper) { + return format; + } + + this._longDateFormat[key] = formatUpper + .match(formattingTokens) + .map(function (tok) { + if ( + tok === 'MMMM' || + tok === 'MM' || + tok === 'DD' || + tok === 'dddd' + ) { + return tok.slice(1); + } + return tok; + }) + .join(''); + + return this._longDateFormat[key]; + } + + var defaultInvalidDate = 'Invalid date'; + + function invalidDate() { + return this._invalidDate; + } + + var defaultOrdinal = '%d', + defaultDayOfMonthOrdinalParse = /\d{1,2}/; + + function ordinal(number) { + return this._ordinal.replace('%d', number); + } + + var defaultRelativeTime = { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + w: 'a week', + ww: '%d weeks', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }; + + function relativeTime(number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return isFunction(output) + ? output(number, withoutSuffix, string, isFuture) + : output.replace(/%d/i, number); + } + + function pastFuture(diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return isFunction(format) ? format(output) : format.replace(/%s/i, output); + } + + var aliases = {}; + + function addUnitAlias(unit, shorthand) { + var lowerCase = unit.toLowerCase(); + aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; + } + + function normalizeUnits(units) { + return typeof units === 'string' + ? aliases[units] || aliases[units.toLowerCase()] + : undefined; + } + + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; + + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + + return normalizedInput; + } + + var priorities = {}; + + function addUnitPriority(unit, priority) { + priorities[unit] = priority; + } + + function getPrioritizedUnits(unitsObj) { + var units = [], + u; + for (u in unitsObj) { + if (hasOwnProp(unitsObj, u)) { + units.push({ unit: u, priority: priorities[u] }); + } + } + units.sort(function (a, b) { + return a.priority - b.priority; + }); + return units; + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + + function absFloor(number) { + if (number < 0) { + // -0 -> 0 + return Math.ceil(number) || 0; + } else { + return Math.floor(number); + } + } + + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + value = absFloor(coercedNumber); + } + + return value; + } + + function makeGetSet(unit, keepTime) { + return function (value) { + if (value != null) { + set$1(this, unit, value); + hooks.updateOffset(this, keepTime); + return this; + } else { + return get(this, unit); + } + }; + } + + function get(mom, unit) { + return mom.isValid() + ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() + : NaN; + } + + function set$1(mom, unit, value) { + if (mom.isValid() && !isNaN(value)) { + if ( + unit === 'FullYear' && + isLeapYear(mom.year()) && + mom.month() === 1 && + mom.date() === 29 + ) { + value = toInt(value); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit]( + value, + mom.month(), + daysInMonth(value, mom.month()) + ); + } else { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } + } + } + + // MOMENTS + + function stringGet(units) { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](); + } + return this; + } + + function stringSet(units, value) { + if (typeof units === 'object') { + units = normalizeObjectUnits(units); + var prioritized = getPrioritizedUnits(units), + i, + prioritizedLen = prioritized.length; + for (i = 0; i < prioritizedLen; i++) { + this[prioritized[i].unit](units[prioritized[i].unit]); + } + } else { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](value); + } + } + return this; + } + + var match1 = /\d/, // 0 - 9 + match2 = /\d\d/, // 00 - 99 + match3 = /\d{3}/, // 000 - 999 + match4 = /\d{4}/, // 0000 - 9999 + match6 = /[+-]?\d{6}/, // -999999 - 999999 + match1to2 = /\d\d?/, // 0 - 99 + match3to4 = /\d\d\d\d?/, // 999 - 9999 + match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999 + match1to3 = /\d{1,3}/, // 0 - 999 + match1to4 = /\d{1,4}/, // 0 - 9999 + match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999 + matchUnsigned = /\d+/, // 0 - inf + matchSigned = /[+-]?\d+/, // -inf - inf + matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z + matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z + matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 + // any word (or two) characters or numbers including two/three word month in arabic. + // includes scottish gaelic two word and hyphenated months + matchWord = + /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, + regexes; + + regexes = {}; + + function addRegexToken(token, regex, strictRegex) { + regexes[token] = isFunction(regex) + ? regex + : function (isStrict, localeData) { + return isStrict && strictRegex ? strictRegex : regex; + }; + } + + function getParseRegexForToken(token, config) { + if (!hasOwnProp(regexes, token)) { + return new RegExp(unescapeFormat(token)); + } + + return regexes[token](config._strict, config._locale); + } + + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function unescapeFormat(s) { + return regexEscape( + s + .replace('\\', '') + .replace( + /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, + function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + } + ) + ); + } + + function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + var tokens = {}; + + function addParseToken(token, callback) { + var i, + func = callback, + tokenLen; + if (typeof token === 'string') { + token = [token]; + } + if (isNumber(callback)) { + func = function (input, array) { + array[callback] = toInt(input); + }; + } + tokenLen = token.length; + for (i = 0; i < tokenLen; i++) { + tokens[token[i]] = func; + } + } + + function addWeekParseToken(token, callback) { + addParseToken(token, function (input, array, config, token) { + config._w = config._w || {}; + callback(input, config._w, config, token); + }); + } + + function addTimeToArrayFromToken(token, input, config) { + if (input != null && hasOwnProp(tokens, token)) { + tokens[token](input, config._a, config, token); + } + } + + var YEAR = 0, + MONTH = 1, + DATE = 2, + HOUR = 3, + MINUTE = 4, + SECOND = 5, + MILLISECOND = 6, + WEEK = 7, + WEEKDAY = 8; + + function mod(n, x) { + return ((n % x) + x) % x; + } + + var indexOf; + + if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; + } else { + indexOf = function (o) { + // I know + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; + } + + function daysInMonth(year, month) { + if (isNaN(year) || isNaN(month)) { + return NaN; + } + var modMonth = mod(month, 12); + year += (month - modMonth) / 12; + return modMonth === 1 + ? isLeapYear(year) + ? 29 + : 28 + : 31 - ((modMonth % 7) % 2); + } + + // FORMATTING + + addFormatToken('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; + }); + + addFormatToken('MMM', 0, 0, function (format) { + return this.localeData().monthsShort(this, format); + }); + + addFormatToken('MMMM', 0, 0, function (format) { + return this.localeData().months(this, format); + }); + + // ALIASES + + addUnitAlias('month', 'M'); + + // PRIORITY + + addUnitPriority('month', 8); + + // PARSING + + addRegexToken('M', match1to2); + addRegexToken('MM', match1to2, match2); + addRegexToken('MMM', function (isStrict, locale) { + return locale.monthsShortRegex(isStrict); + }); + addRegexToken('MMMM', function (isStrict, locale) { + return locale.monthsRegex(isStrict); + }); + + addParseToken(['M', 'MM'], function (input, array) { + array[MONTH] = toInt(input) - 1; + }); + + addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { + var month = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } + }); + + // LOCALES + + var defaultLocaleMonths = + 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + defaultLocaleMonthsShort = + 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, + defaultMonthsShortRegex = matchWord, + defaultMonthsRegex = matchWord; + + function localeMonths(m, format) { + if (!m) { + return isArray(this._months) + ? this._months + : this._months['standalone']; + } + return isArray(this._months) + ? this._months[m.month()] + : this._months[ + (this._months.isFormat || MONTHS_IN_FORMAT).test(format) + ? 'format' + : 'standalone' + ][m.month()]; + } + + function localeMonthsShort(m, format) { + if (!m) { + return isArray(this._monthsShort) + ? this._monthsShort + : this._monthsShort['standalone']; + } + return isArray(this._monthsShort) + ? this._monthsShort[m.month()] + : this._monthsShort[ + MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone' + ][m.month()]; + } + + function handleStrictParse(monthName, format, strict) { + var i, + ii, + mom, + llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + // this is not used + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort( + mom, + '' + ).toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeMonthsParse(monthName, format, strict) { + var i, mom, regex; + + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format, strict); + } + + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + + // TODO: add sorting + // Sorting makes sure if one month (or abbr) is a prefix of another + // see sorting in computeMonthsParse + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp( + '^' + this.months(mom, '').replace('.', '') + '$', + 'i' + ); + this._shortMonthsParse[i] = new RegExp( + '^' + this.monthsShort(mom, '').replace('.', '') + '$', + 'i' + ); + } + if (!strict && !this._monthsParse[i]) { + regex = + '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if ( + strict && + format === 'MMMM' && + this._longMonthsParse[i].test(monthName) + ) { + return i; + } else if ( + strict && + format === 'MMM' && + this._shortMonthsParse[i].test(monthName) + ) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + } + + // MOMENTS + + function setMonth(mom, value) { + var dayOfMonth; + + if (!mom.isValid()) { + // No op + return mom; + } + + if (typeof value === 'string') { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (!isNumber(value)) { + return mom; + } + } + } + + dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; + } + + function getSetMonth(value) { + if (value != null) { + setMonth(this, value); + hooks.updateOffset(this, true); + return this; + } else { + return get(this, 'Month'); + } + } + + function getDaysInMonth() { + return daysInMonth(this.year(), this.month()); + } + + function monthsShortRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsShortStrictRegex; + } else { + return this._monthsShortRegex; + } + } else { + if (!hasOwnProp(this, '_monthsShortRegex')) { + this._monthsShortRegex = defaultMonthsShortRegex; + } + return this._monthsShortStrictRegex && isStrict + ? this._monthsShortStrictRegex + : this._monthsShortRegex; + } + } + + function monthsRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsStrictRegex; + } else { + return this._monthsRegex; + } + } else { + if (!hasOwnProp(this, '_monthsRegex')) { + this._monthsRegex = defaultMonthsRegex; + } + return this._monthsStrictRegex && isStrict + ? this._monthsStrictRegex + : this._monthsRegex; + } + } + + function computeMonthsParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var shortPieces = [], + longPieces = [], + mixedPieces = [], + i, + mom; + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + shortPieces.push(this.monthsShort(mom, '')); + longPieces.push(this.months(mom, '')); + mixedPieces.push(this.months(mom, '')); + mixedPieces.push(this.monthsShort(mom, '')); + } + // Sorting makes sure if one month (or abbr) is a prefix of another it + // will match the longer piece. + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 12; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + } + for (i = 0; i < 24; i++) { + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._monthsShortRegex = this._monthsRegex; + this._monthsStrictRegex = new RegExp( + '^(' + longPieces.join('|') + ')', + 'i' + ); + this._monthsShortStrictRegex = new RegExp( + '^(' + shortPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + addFormatToken('Y', 0, 0, function () { + var y = this.year(); + return y <= 9999 ? zeroFill(y, 4) : '+' + y; + }); + + addFormatToken(0, ['YY', 2], 0, function () { + return this.year() % 100; + }); + + addFormatToken(0, ['YYYY', 4], 0, 'year'); + addFormatToken(0, ['YYYYY', 5], 0, 'year'); + addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); + + // ALIASES + + addUnitAlias('year', 'y'); + + // PRIORITIES + + addUnitPriority('year', 1); + + // PARSING + + addRegexToken('Y', matchSigned); + addRegexToken('YY', match1to2, match2); + addRegexToken('YYYY', match1to4, match4); + addRegexToken('YYYYY', match1to6, match6); + addRegexToken('YYYYYY', match1to6, match6); + + addParseToken(['YYYYY', 'YYYYYY'], YEAR); + addParseToken('YYYY', function (input, array) { + array[YEAR] = + input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); + }); + addParseToken('YY', function (input, array) { + array[YEAR] = hooks.parseTwoDigitYear(input); + }); + addParseToken('Y', function (input, array) { + array[YEAR] = parseInt(input, 10); + }); + + // HELPERS + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + // HOOKS + + hooks.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; + + // MOMENTS + + var getSetYear = makeGetSet('FullYear', true); + + function getIsLeapYear() { + return isLeapYear(this.year()); + } + + function createDate(y, m, d, h, M, s, ms) { + // can't just apply() to create a date: + // https://stackoverflow.com/q/181348 + var date; + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + date = new Date(y + 400, m, d, h, M, s, ms); + if (isFinite(date.getFullYear())) { + date.setFullYear(y); + } + } else { + date = new Date(y, m, d, h, M, s, ms); + } + + return date; + } + + function createUTCDate(y) { + var date, args; + // the Date.UTC function remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + args = Array.prototype.slice.call(arguments); + // preserve leap years using a full 400 year cycle, then reset + args[0] = y + 400; + date = new Date(Date.UTC.apply(null, args)); + if (isFinite(date.getUTCFullYear())) { + date.setUTCFullYear(y); + } + } else { + date = new Date(Date.UTC.apply(null, arguments)); + } + + return date; + } + + // start-of-first-week - start-of-year + function firstWeekOffset(year, dow, doy) { + var // first-week day -- which january is always in the first week (4 for iso, 1 for other) + fwd = 7 + dow - doy, + // first-week day local weekday -- which local weekday is fwd + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + + return -fwdlw + fwd - 1; + } + + // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, + weekOffset = firstWeekOffset(year, dow, doy), + dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, + resYear, + resDayOfYear; + + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; + } + + return { + year: resYear, + dayOfYear: resDayOfYear, + }; + } + + function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), + week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, + resWeek, + resYear; + + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; + } + + return { + week: resWeek, + year: resYear, + }; + } + + function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), + weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; + } + + // FORMATTING + + addFormatToken('w', ['ww', 2], 'wo', 'week'); + addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + + // ALIASES + + addUnitAlias('week', 'w'); + addUnitAlias('isoWeek', 'W'); + + // PRIORITIES + + addUnitPriority('week', 5); + addUnitPriority('isoWeek', 5); + + // PARSING + + addRegexToken('w', match1to2); + addRegexToken('ww', match1to2, match2); + addRegexToken('W', match1to2); + addRegexToken('WW', match1to2, match2); + + addWeekParseToken( + ['w', 'ww', 'W', 'WW'], + function (input, week, config, token) { + week[token.substr(0, 1)] = toInt(input); + } + ); + + // HELPERS + + // LOCALES + + function localeWeek(mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + } + + var defaultLocaleWeek = { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }; + + function localeFirstDayOfWeek() { + return this._week.dow; + } + + function localeFirstDayOfYear() { + return this._week.doy; + } + + // MOMENTS + + function getSetWeek(input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + function getSetISOWeek(input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + // FORMATTING + + addFormatToken('d', 0, 'do', 'day'); + + addFormatToken('dd', 0, 0, function (format) { + return this.localeData().weekdaysMin(this, format); + }); + + addFormatToken('ddd', 0, 0, function (format) { + return this.localeData().weekdaysShort(this, format); + }); + + addFormatToken('dddd', 0, 0, function (format) { + return this.localeData().weekdays(this, format); + }); + + addFormatToken('e', 0, 0, 'weekday'); + addFormatToken('E', 0, 0, 'isoWeekday'); + + // ALIASES + + addUnitAlias('day', 'd'); + addUnitAlias('weekday', 'e'); + addUnitAlias('isoWeekday', 'E'); + + // PRIORITY + addUnitPriority('day', 11); + addUnitPriority('weekday', 11); + addUnitPriority('isoWeekday', 11); + + // PARSING + + addRegexToken('d', match1to2); + addRegexToken('e', match1to2); + addRegexToken('E', match1to2); + addRegexToken('dd', function (isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); + }); + addRegexToken('ddd', function (isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); + }); + addRegexToken('dddd', function (isStrict, locale) { + return locale.weekdaysRegex(isStrict); + }); + + addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { + var weekday = config._locale.weekdaysParse(input, token, config._strict); + // if we didn't get a weekday name, mark the date as invalid + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } + }); + + addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { + week[token] = toInt(input); + }); + + // HELPERS + + function parseWeekday(input, locale) { + if (typeof input !== 'string') { + return input; + } + + if (!isNaN(input)) { + return parseInt(input, 10); + } + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; + } + + return null; + } + + function parseIsoWeekday(input, locale) { + if (typeof input === 'string') { + return locale.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; + } + + // LOCALES + function shiftWeekdays(ws, n) { + return ws.slice(n, 7).concat(ws.slice(0, n)); + } + + var defaultLocaleWeekdays = + 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + defaultWeekdaysRegex = matchWord, + defaultWeekdaysShortRegex = matchWord, + defaultWeekdaysMinRegex = matchWord; + + function localeWeekdays(m, format) { + var weekdays = isArray(this._weekdays) + ? this._weekdays + : this._weekdays[ + m && m !== true && this._weekdays.isFormat.test(format) + ? 'format' + : 'standalone' + ]; + return m === true + ? shiftWeekdays(weekdays, this._week.dow) + : m + ? weekdays[m.day()] + : weekdays; + } + + function localeWeekdaysShort(m) { + return m === true + ? shiftWeekdays(this._weekdaysShort, this._week.dow) + : m + ? this._weekdaysShort[m.day()] + : this._weekdaysShort; + } + + function localeWeekdaysMin(m) { + return m === true + ? shiftWeekdays(this._weekdaysMin, this._week.dow) + : m + ? this._weekdaysMin[m.day()] + : this._weekdaysMin; + } + + function handleStrictParse$1(weekdayName, format, strict) { + var i, + ii, + mom, + llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + + for (i = 0; i < 7; ++i) { + mom = createUTC([2000, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin( + mom, + '' + ).toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort( + mom, + '' + ).toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeWeekdaysParse(weekdayName, format, strict) { + var i, mom, regex; + + if (this._weekdaysParseExact) { + return handleStrictParse$1.call(this, weekdayName, format, strict); + } + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + + mom = createUTC([2000, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp( + '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + this._shortWeekdaysParse[i] = new RegExp( + '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + this._minWeekdaysParse[i] = new RegExp( + '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + } + if (!this._weekdaysParse[i]) { + regex = + '^' + + this.weekdays(mom, '') + + '|^' + + this.weekdaysShort(mom, '') + + '|^' + + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if ( + strict && + format === 'dddd' && + this._fullWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === 'ddd' && + this._shortWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === 'dd' && + this._minWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + } + + // MOMENTS + + function getSetDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; + } + } + + function getSetLocaleDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); + } + + function getSetISODayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + + if (input != null) { + var weekday = parseIsoWeekday(input, this.localeData()); + return this.day(this.day() % 7 ? weekday : weekday - 7); + } else { + return this.day() || 7; + } + } + + function weekdaysRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysRegex')) { + this._weekdaysRegex = defaultWeekdaysRegex; + } + return this._weekdaysStrictRegex && isStrict + ? this._weekdaysStrictRegex + : this._weekdaysRegex; + } + } + + function weekdaysShortRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysShortRegex')) { + this._weekdaysShortRegex = defaultWeekdaysShortRegex; + } + return this._weekdaysShortStrictRegex && isStrict + ? this._weekdaysShortStrictRegex + : this._weekdaysShortRegex; + } + } + + function weekdaysMinRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysMinRegex')) { + this._weekdaysMinRegex = defaultWeekdaysMinRegex; + } + return this._weekdaysMinStrictRegex && isStrict + ? this._weekdaysMinStrictRegex + : this._weekdaysMinRegex; + } + } + + function computeWeekdaysParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var minPieces = [], + shortPieces = [], + longPieces = [], + mixedPieces = [], + i, + mom, + minp, + shortp, + longp; + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, 1]).day(i); + minp = regexEscape(this.weekdaysMin(mom, '')); + shortp = regexEscape(this.weekdaysShort(mom, '')); + longp = regexEscape(this.weekdays(mom, '')); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + // Sorting makes sure if one weekday (or abbr) is a prefix of another it + // will match the longer piece. + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + + this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + + this._weekdaysStrictRegex = new RegExp( + '^(' + longPieces.join('|') + ')', + 'i' + ); + this._weekdaysShortStrictRegex = new RegExp( + '^(' + shortPieces.join('|') + ')', + 'i' + ); + this._weekdaysMinStrictRegex = new RegExp( + '^(' + minPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + function hFormat() { + return this.hours() % 12 || 12; + } + + function kFormat() { + return this.hours() || 24; + } + + addFormatToken('H', ['HH', 2], 0, 'hour'); + addFormatToken('h', ['hh', 2], 0, hFormat); + addFormatToken('k', ['kk', 2], 0, kFormat); + + addFormatToken('hmm', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); + }); + + addFormatToken('hmmss', 0, 0, function () { + return ( + '' + + hFormat.apply(this) + + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2) + ); + }); + + addFormatToken('Hmm', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2); + }); + + addFormatToken('Hmmss', 0, 0, function () { + return ( + '' + + this.hours() + + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2) + ); + }); + + function meridiem(token, lowercase) { + addFormatToken(token, 0, 0, function () { + return this.localeData().meridiem( + this.hours(), + this.minutes(), + lowercase + ); + }); + } + + meridiem('a', true); + meridiem('A', false); + + // ALIASES + + addUnitAlias('hour', 'h'); + + // PRIORITY + addUnitPriority('hour', 13); + + // PARSING + + function matchMeridiem(isStrict, locale) { + return locale._meridiemParse; + } + + addRegexToken('a', matchMeridiem); + addRegexToken('A', matchMeridiem); + addRegexToken('H', match1to2); + addRegexToken('h', match1to2); + addRegexToken('k', match1to2); + addRegexToken('HH', match1to2, match2); + addRegexToken('hh', match1to2, match2); + addRegexToken('kk', match1to2, match2); + + addRegexToken('hmm', match3to4); + addRegexToken('hmmss', match5to6); + addRegexToken('Hmm', match3to4); + addRegexToken('Hmmss', match5to6); + + addParseToken(['H', 'HH'], HOUR); + addParseToken(['k', 'kk'], function (input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; + }); + addParseToken(['a', 'A'], function (input, array, config) { + config._isPm = config._locale.isPM(input); + config._meridiem = input; + }); + addParseToken(['h', 'hh'], function (input, array, config) { + array[HOUR] = toInt(input); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmmss', function (input, array, config) { + var pos1 = input.length - 4, + pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('Hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + }); + addParseToken('Hmmss', function (input, array, config) { + var pos1 = input.length - 4, + pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + }); + + // LOCALES + + function localeIsPM(input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return (input + '').toLowerCase().charAt(0) === 'p'; + } + + var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, + // Setting the hour should keep the time, because the user explicitly + // specified which hour they want. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + getSetHour = makeGetSet('Hours', true); + + function localeMeridiem(hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + } + + var baseConfig = { + calendar: defaultCalendar, + longDateFormat: defaultLongDateFormat, + invalidDate: defaultInvalidDate, + ordinal: defaultOrdinal, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, + relativeTime: defaultRelativeTime, + + months: defaultLocaleMonths, + monthsShort: defaultLocaleMonthsShort, + + week: defaultLocaleWeek, + + weekdays: defaultLocaleWeekdays, + weekdaysMin: defaultLocaleWeekdaysMin, + weekdaysShort: defaultLocaleWeekdaysShort, + + meridiemParse: defaultLocaleMeridiemParse, + }; + + // internal storage for locale config files + var locales = {}, + localeFamilies = {}, + globalLocale; + + function commonPrefix(arr1, arr2) { + var i, + minl = Math.min(arr1.length, arr2.length); + for (i = 0; i < minl; i += 1) { + if (arr1[i] !== arr2[i]) { + return i; + } + } + return minl; + } + + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } + + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, + j, + next, + locale, + split; + + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if ( + next && + next.length >= j && + commonPrefix(split, next) >= j - 1 + ) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return globalLocale; + } + + function isLocaleNameSane(name) { + // Prevent names that look like filesystem paths, i.e contain '/' or '\' + return name.match('^[^/\\\\]*$') != null; + } + + function loadLocale(name) { + var oldLocale = null, + aliasedRequire; + // TODO: Find a better way to register and load all the locales in Node + if ( + locales[name] === undefined && + typeof module !== 'undefined' && + module && + module.exports && + isLocaleNameSane(name) + ) { + try { + oldLocale = globalLocale._abbr; + aliasedRequire = require; + aliasedRequire('./locale/' + name); + getSetGlobalLocale(oldLocale); + } catch (e) { + // mark as not found to avoid repeating expensive file require call causing high CPU + // when trying to find en-US, en_US, en-us for every format call + locales[name] = null; // null means not found + } + } + return locales[name]; + } + + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + function getSetGlobalLocale(key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } else { + data = defineLocale(key, values); + } + + if (data) { + // moment.duration._locale = moment._locale = data; + globalLocale = data; + } else { + if (typeof console !== 'undefined' && console.warn) { + //warn user if arguments are passed but the locale could not be set + console.warn( + 'Locale ' + key + ' not found. Did you forget to load it?' + ); + } + } + } + + return globalLocale._abbr; + } + + function defineLocale(name, config) { + if (config !== null) { + var locale, + parentConfig = baseConfig; + config.abbr = name; + if (locales[name] != null) { + deprecateSimple( + 'defineLocaleOverride', + 'use moment.updateLocale(localeName, config) to change ' + + 'an existing locale. moment.defineLocale(localeName, ' + + 'config) should only be used for creating a new locale ' + + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' + ); + parentConfig = locales[name]._config; + } else if (config.parentLocale != null) { + if (locales[config.parentLocale] != null) { + parentConfig = locales[config.parentLocale]._config; + } else { + locale = loadLocale(config.parentLocale); + if (locale != null) { + parentConfig = locale._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name: name, + config: config, + }); + return null; + } + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + + if (localeFamilies[name]) { + localeFamilies[name].forEach(function (x) { + defineLocale(x.name, x.config); + }); + } + + // backwards compat for now: also set the locale + // make sure we set the locale AFTER all child locales have been + // created, so we won't end up with the child locale set. + getSetGlobalLocale(name); + + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; + } + } + + function updateLocale(name, config) { + if (config != null) { + var locale, + tmpLocale, + parentConfig = baseConfig; + + if (locales[name] != null && locales[name].parentLocale != null) { + // Update existing child locale in-place to avoid memory-leaks + locales[name].set(mergeConfigs(locales[name]._config, config)); + } else { + // MERGE + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + if (tmpLocale == null) { + // updateLocale is called for creating a new locale + // Set abbr so it will have a name (getters return + // undefined otherwise). + config.abbr = name; + } + locale = new Locale(config); + locale.parentLocale = locales[name]; + locales[name] = locale; + } + + // backwards compat for now: also set the locale + getSetGlobalLocale(name); + } else { + // pass null for config to unupdate, useful for tests + if (locales[name] != null) { + if (locales[name].parentLocale != null) { + locales[name] = locales[name].parentLocale; + if (name === getSetGlobalLocale()) { + getSetGlobalLocale(name); + } + } else if (locales[name] != null) { + delete locales[name]; + } + } + } + return locales[name]; + } + + // returns locale data + function getLocale(key) { + var locale; + + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + + if (!key) { + return globalLocale; + } + + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } + + return chooseLocale(key); + } + + function listLocales() { + return keys(locales); + } + + function checkOverflow(m) { + var overflow, + a = m._a; + + if (a && getParsingFlags(m).overflow === -2) { + overflow = + a[MONTH] < 0 || a[MONTH] > 11 + ? MONTH + : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) + ? DATE + : a[HOUR] < 0 || + a[HOUR] > 24 || + (a[HOUR] === 24 && + (a[MINUTE] !== 0 || + a[SECOND] !== 0 || + a[MILLISECOND] !== 0)) + ? HOUR + : a[MINUTE] < 0 || a[MINUTE] > 59 + ? MINUTE + : a[SECOND] < 0 || a[SECOND] > 59 + ? SECOND + : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 + ? MILLISECOND + : -1; + + if ( + getParsingFlags(m)._overflowDayOfYear && + (overflow < YEAR || overflow > DATE) + ) { + overflow = DATE; + } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } + + getParsingFlags(m).overflow = overflow; + } + + return m; + } + + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + var extendedIsoRegex = + /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + basicIsoRegex = + /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, + isoDates = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, false], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, false], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, false], + ['YYYYDDD', /\d{7}/], + ['YYYYMM', /\d{6}/, false], + ['YYYY', /\d{4}/, false], + ], + // iso time formats and regexes + isoTimes = [ + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/], + ], + aspNetJsonRegex = /^\/?Date\((-?\d+)/i, + // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 + rfc2822 = + /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, + obsOffsets = { + UT: 0, + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60, + }; + + // date from iso format + function configFromISO(config) { + var i, + l, + string = config._i, + match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), + allowTime, + dateFormat, + timeFormat, + tzFormat, + isoDatesLen = isoDates.length, + isoTimesLen = isoTimes.length; + + if (match) { + getParsingFlags(config).iso = true; + for (i = 0, l = isoDatesLen; i < l; i++) { + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== false; + break; + } + } + if (dateFormat == null) { + config._isValid = false; + return; + } + if (match[3]) { + for (i = 0, l = isoTimesLen; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + // match[2] should be 'T' or space + timeFormat = (match[2] || ' ') + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = false; + return; + } + } + if (!allowTime && timeFormat != null) { + config._isValid = false; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = 'Z'; + } else { + config._isValid = false; + return; + } + } + config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); + configFromStringAndFormat(config); + } else { + config._isValid = false; + } + } + + function extractFromRFC2822Strings( + yearStr, + monthStr, + dayStr, + hourStr, + minuteStr, + secondStr + ) { + var result = [ + untruncateYear(yearStr), + defaultLocaleMonthsShort.indexOf(monthStr), + parseInt(dayStr, 10), + parseInt(hourStr, 10), + parseInt(minuteStr, 10), + ]; + + if (secondStr) { + result.push(parseInt(secondStr, 10)); + } + + return result; + } + + function untruncateYear(yearStr) { + var year = parseInt(yearStr, 10); + if (year <= 49) { + return 2000 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; + } + + function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s + .replace(/\([^()]*\)|[\n\t]/g, ' ') + .replace(/(\s\s+)/g, ' ') + .replace(/^\s\s*/, '') + .replace(/\s\s*$/, ''); + } + + function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + // TODO: Replace the vanilla JS Date object with an independent day-of-week check. + var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), + weekdayActual = new Date( + parsedInput[0], + parsedInput[1], + parsedInput[2] + ).getDay(); + if (weekdayProvided !== weekdayActual) { + getParsingFlags(config).weekdayMismatch = true; + config._isValid = false; + return false; + } + } + return true; + } + + function calculateOffset(obsOffset, militaryOffset, numOffset) { + if (obsOffset) { + return obsOffsets[obsOffset]; + } else if (militaryOffset) { + // the only allowed military tz is Z + return 0; + } else { + var hm = parseInt(numOffset, 10), + m = hm % 100, + h = (hm - m) / 100; + return h * 60 + m; + } + } + + // date and time from ref 2822 format + function configFromRFC2822(config) { + var match = rfc2822.exec(preprocessRFC2822(config._i)), + parsedArray; + if (match) { + parsedArray = extractFromRFC2822Strings( + match[4], + match[3], + match[2], + match[5], + match[6], + match[7] + ); + if (!checkWeekday(match[1], parsedArray, config)) { + return; + } + + config._a = parsedArray; + config._tzm = calculateOffset(match[8], match[9], match[10]); + + config._d = createUTCDate.apply(null, config._a); + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + + getParsingFlags(config).rfc2822 = true; + } else { + config._isValid = false; + } + } + + // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict + function configFromString(config) { + var matched = aspNetJsonRegex.exec(config._i); + if (matched !== null) { + config._d = new Date(+matched[1]); + return; + } + + configFromISO(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + configFromRFC2822(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + if (config._strict) { + config._isValid = false; + } else { + // Final attempt, use Input Fallback + hooks.createFromInputFallback(config); + } + } + + hooks.createFromInputFallback = deprecate( + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + + 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', + function (config) { + config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); + } + ); + + // Pick the first defined of two or three arguments. + function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; + } + + function currentDateArray(config) { + // hooks is actually the exported moment object + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [ + nowValue.getUTCFullYear(), + nowValue.getUTCMonth(), + nowValue.getUTCDate(), + ]; + } + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; + } + + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function configFromArray(config) { + var i, + date, + input = [], + currentDate, + expectedWeekday, + yearToUse; + + if (config._d) { + return; + } + + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + + //if the day of the year is set, figure out what it is + if (config._dayOfYear != null) { + yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); + + if ( + config._dayOfYear > daysInYear(yearToUse) || + config._dayOfYear === 0 + ) { + getParsingFlags(config)._overflowDayOfYear = true; + } + + date = createUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = + config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i]; + } + + // Check for 24:00:00.000 + if ( + config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0 + ) { + config._nextDay = true; + config._a[HOUR] = 0; + } + + config._d = (config._useUTC ? createUTCDate : createDate).apply( + null, + input + ); + expectedWeekday = config._useUTC + ? config._d.getUTCDay() + : config._d.getDay(); + + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + + if (config._nextDay) { + config._a[HOUR] = 24; + } + + // check for mismatching day of week + if ( + config._w && + typeof config._w.d !== 'undefined' && + config._w.d !== expectedWeekday + ) { + getParsingFlags(config).weekdayMismatch = true; + } + } + + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek; + + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = defaults( + w.GG, + config._a[YEAR], + weekOfYear(createLocal(), 1, 4).year + ); + week = defaults(w.W, 1); + weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = true; + } + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + + curWeek = weekOfYear(createLocal(), dow, doy); + + weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); + + // Default to current week. + week = defaults(w.w, curWeek.week); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; + } + } else if (w.e != null) { + // local weekday -- counting starts from beginning of week + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } + } else { + // default to beginning of week + weekday = dow; + } + } + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = true; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = true; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } + } + + // constant that refers to the ISO standard + hooks.ISO_8601 = function () {}; + + // constant that refers to the RFC 2822 form + hooks.RFC_2822 = function () {}; + + // date from string and format string + function configFromStringAndFormat(config) { + // TODO: Move this to another part of the creation flow to prevent circular deps + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = true; + + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, + parsedInput, + tokens, + token, + skipped, + stringLength = string.length, + totalParsedInputLength = 0, + era, + tokenLen; + + tokens = + expandFormat(config._f, config._locale).match(formattingTokens) || []; + tokenLen = tokens.length; + for (i = 0; i < tokenLen; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || + [])[0]; + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + getParsingFlags(config).unusedInput.push(skipped); + } + string = string.slice( + string.indexOf(parsedInput) + parsedInput.length + ); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + getParsingFlags(config).empty = false; + } else { + getParsingFlags(config).unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token); + } + } + + // add remaining unparsed input length to the string + getParsingFlags(config).charsLeftOver = + stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + + // clear _12h flag if hour is <= 12 + if ( + config._a[HOUR] <= 12 && + getParsingFlags(config).bigHour === true && + config._a[HOUR] > 0 + ) { + getParsingFlags(config).bigHour = undefined; + } + + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + // handle meridiem + config._a[HOUR] = meridiemFixWrap( + config._locale, + config._a[HOUR], + config._meridiem + ); + + // handle era + era = getParsingFlags(config).era; + if (era !== null) { + config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]); + } + + configFromArray(config); + checkOverflow(config); + } + + function meridiemFixWrap(locale, hour, meridiem) { + var isPm; + + if (meridiem == null) { + // nothing to do + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // this is not supposed to happen + return hour; + } + } + + // date from string and array of format strings + function configFromStringAndArray(config) { + var tempConfig, + bestMoment, + scoreToBeat, + i, + currentScore, + validFormatFound, + bestFormatIsValid = false, + configfLen = config._f.length; + + if (configfLen === 0) { + getParsingFlags(config).invalidFormat = true; + config._d = new Date(NaN); + return; + } + + for (i = 0; i < configfLen; i++) { + currentScore = 0; + validFormatFound = false; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._f = config._f[i]; + configFromStringAndFormat(tempConfig); + + if (isValid(tempConfig)) { + validFormatFound = true; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += getParsingFlags(tempConfig).charsLeftOver; + + //or tokens + currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; + + getParsingFlags(tempConfig).score = currentScore; + + if (!bestFormatIsValid) { + if ( + scoreToBeat == null || + currentScore < scoreToBeat || + validFormatFound + ) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + if (validFormatFound) { + bestFormatIsValid = true; + } + } + } else { + if (currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + } + + extend(config, bestMoment || tempConfig); + } + + function configFromObject(config) { + if (config._d) { + return; + } + + var i = normalizeObjectUnits(config._i), + dayOrDate = i.day === undefined ? i.date : i.day; + config._a = map( + [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], + function (obj) { + return obj && parseInt(obj, 10); + } + ); + + configFromArray(config); + } + + function createFromConfig(config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } + + return res; + } + + function prepareConfig(config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || getLocale(config._l); + + if (input === null || (format === undefined && input === '')) { + return createInvalid({ nullInput: true }); + } + + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } + + if (isMoment(input)) { + return new Moment(checkOverflow(input)); + } else if (isDate(input)) { + config._d = input; + } else if (isArray(format)) { + configFromStringAndArray(config); + } else if (format) { + configFromStringAndFormat(config); + } else { + configFromInput(config); + } + + if (!isValid(config)) { + config._d = null; + } + + return config; + } + + function configFromInput(config) { + var input = config._i; + if (isUndefined(input)) { + config._d = new Date(hooks.now()); + } else if (isDate(input)) { + config._d = new Date(input.valueOf()); + } else if (typeof input === 'string') { + configFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + configFromArray(config); + } else if (isObject(input)) { + configFromObject(config); + } else if (isNumber(input)) { + // from milliseconds + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } + } + + function createLocalOrUTC(input, format, locale, strict, isUTC) { + var c = {}; + + if (format === true || format === false) { + strict = format; + format = undefined; + } + + if (locale === true || locale === false) { + strict = locale; + locale = undefined; + } + + if ( + (isObject(input) && isObjectEmpty(input)) || + (isArray(input) && input.length === 0) + ) { + input = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c._isAMomentObject = true; + c._useUTC = c._isUTC = isUTC; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + + return createFromConfig(c); + } + + function createLocal(input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, false); + } + + var prototypeMin = deprecate( + 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return createInvalid(); + } + } + ), + prototypeMax = deprecate( + 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return createInvalid(); + } + } + ); + + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return createLocal(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (!moments[i].isValid() || moments[i][fn](res)) { + res = moments[i]; + } + } + return res; + } + + // TODO: Use [].sort instead? + function min() { + var args = [].slice.call(arguments, 0); + + return pickBy('isBefore', args); + } + + function max() { + var args = [].slice.call(arguments, 0); + + return pickBy('isAfter', args); + } + + var now = function () { + return Date.now ? Date.now() : +new Date(); + }; + + var ordering = [ + 'year', + 'quarter', + 'month', + 'week', + 'day', + 'hour', + 'minute', + 'second', + 'millisecond', + ]; + + function isDurationValid(m) { + var key, + unitHasDecimal = false, + i, + orderLen = ordering.length; + for (key in m) { + if ( + hasOwnProp(m, key) && + !( + indexOf.call(ordering, key) !== -1 && + (m[key] == null || !isNaN(m[key])) + ) + ) { + return false; + } + } + + for (i = 0; i < orderLen; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; + } + + function isValid$1() { + return this._isValid; + } + + function createInvalid$1() { + return createDuration(NaN); + } + + function Duration(duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || normalizedInput.isoWeek || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + this._isValid = isDurationValid(normalizedInput); + + // representation for dateAddRemove + this._milliseconds = + +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + weeks * 7; + // It is impossible to translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + quarters * 3 + years * 12; + + this._data = {}; + + this._locale = getLocale(); + + this._bubble(); + } + + function isDuration(obj) { + return obj instanceof Duration; + } + + function absRound(number) { + if (number < 0) { + return Math.round(-1 * number) * -1; + } else { + return Math.round(number); + } + } + + // compare two arrays, return the number of differences + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ( + (dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i])) + ) { + diffs++; + } + } + return diffs + lengthDiff; + } + + // FORMATTING + + function offset(token, separator) { + addFormatToken(token, 0, 0, function () { + var offset = this.utcOffset(), + sign = '+'; + if (offset < 0) { + offset = -offset; + sign = '-'; + } + return ( + sign + + zeroFill(~~(offset / 60), 2) + + separator + + zeroFill(~~offset % 60, 2) + ); + }); + } + + offset('Z', ':'); + offset('ZZ', ''); + + // PARSING + + addRegexToken('Z', matchShortOffset); + addRegexToken('ZZ', matchShortOffset); + addParseToken(['Z', 'ZZ'], function (input, array, config) { + config._useUTC = true; + config._tzm = offsetFromString(matchShortOffset, input); + }); + + // HELPERS + + // timezone chunker + // '+10:00' > ['10', '00'] + // '-1530' > ['-15', '30'] + var chunkOffset = /([\+\-]|\d\d)/gi; + + function offsetFromString(matcher, string) { + var matches = (string || '').match(matcher), + chunk, + parts, + minutes; + + if (matches === null) { + return null; + } + + chunk = matches[matches.length - 1] || []; + parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; + minutes = +(parts[1] * 60) + toInt(parts[2]); + + return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes; + } + + // Return a moment from input, that is local/utc/zone equivalent to model. + function cloneWithOffset(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = + (isMoment(input) || isDate(input) + ? input.valueOf() + : createLocal(input).valueOf()) - res.valueOf(); + // Use low-level api, because this fn is low-level api. + res._d.setTime(res._d.valueOf() + diff); + hooks.updateOffset(res, false); + return res; + } else { + return createLocal(input).local(); + } + } + + function getDateOffset(m) { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return -Math.round(m._d.getTimezoneOffset()); + } + + // HOOKS + + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + hooks.updateOffset = function () {}; + + // MOMENTS + + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + function getSetOffset(input, keepLocalTime, keepMinutes) { + var offset = this._offset || 0, + localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + if (typeof input === 'string') { + input = offsetFromString(matchShortOffset, input); + if (input === null) { + return this; + } + } else if (Math.abs(input) < 16 && !keepMinutes) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = getDateOffset(this); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract( + this, + createDuration(input - offset, 'm'), + 1, + false + ); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + hooks.updateOffset(this, true); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset : getDateOffset(this); + } + } + + function getSetZone(input, keepLocalTime) { + if (input != null) { + if (typeof input !== 'string') { + input = -input; + } + + this.utcOffset(input, keepLocalTime); + + return this; + } else { + return -this.utcOffset(); + } + } + + function setOffsetToUTC(keepLocalTime) { + return this.utcOffset(0, keepLocalTime); + } + + function setOffsetToLocal(keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.subtract(getDateOffset(this), 'm'); + } + } + return this; + } + + function setOffsetToParsedOffset() { + if (this._tzm != null) { + this.utcOffset(this._tzm, false, true); + } else if (typeof this._i === 'string') { + var tZone = offsetFromString(matchOffset, this._i); + if (tZone != null) { + this.utcOffset(tZone); + } else { + this.utcOffset(0, true); + } + } + return this; + } + + function hasAlignedHourOffset(input) { + if (!this.isValid()) { + return false; + } + input = input ? createLocal(input).utcOffset() : 0; + + return (this.utcOffset() - input) % 60 === 0; + } + + function isDaylightSavingTime() { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); + } + + function isDaylightSavingTimeShifted() { + if (!isUndefined(this._isDSTShifted)) { + return this._isDSTShifted; + } + + var c = {}, + other; + + copyConfig(c, this); + c = prepareConfig(c); + + if (c._a) { + other = c._isUTC ? createUTC(c._a) : createLocal(c._a); + this._isDSTShifted = + this.isValid() && compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = false; + } + + return this._isDSTShifted; + } + + function isLocal() { + return this.isValid() ? !this._isUTC : false; + } + + function isUtcOffset() { + return this.isValid() ? this._isUTC : false; + } + + function isUtc() { + return this.isValid() ? this._isUTC && this._offset === 0 : false; + } + + // ASP.NET json date format regex + var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + // and further modified to allow for strings containing both week and day + isoRegex = + /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + + function createDuration(input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + diffRes; + + if (isDuration(input)) { + duration = { + ms: input._milliseconds, + d: input._days, + M: input._months, + }; + } else if (isNumber(input) || !isNaN(+input)) { + duration = {}; + if (key) { + duration[key] = +input; + } else { + duration.milliseconds = +input; + } + } else if ((match = aspNetRegex.exec(input))) { + sign = match[1] === '-' ? -1 : 1; + duration = { + y: 0, + d: toInt(match[DATE]) * sign, + h: toInt(match[HOUR]) * sign, + m: toInt(match[MINUTE]) * sign, + s: toInt(match[SECOND]) * sign, + ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match + }; + } else if ((match = isoRegex.exec(input))) { + sign = match[1] === '-' ? -1 : 1; + duration = { + y: parseIso(match[2], sign), + M: parseIso(match[3], sign), + w: parseIso(match[4], sign), + d: parseIso(match[5], sign), + h: parseIso(match[6], sign), + m: parseIso(match[7], sign), + s: parseIso(match[8], sign), + }; + } else if (duration == null) { + // checks for null or undefined + duration = {}; + } else if ( + typeof duration === 'object' && + ('from' in duration || 'to' in duration) + ) { + diffRes = momentsDifference( + createLocal(duration.from), + createLocal(duration.to) + ); + + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + + ret = new Duration(duration); + + if (isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } + + if (isDuration(input) && hasOwnProp(input, '_isValid')) { + ret._isValid = input._isValid; + } + + return ret; + } + + createDuration.fn = Duration.prototype; + createDuration.invalid = createInvalid$1; + + function parseIso(inp, sign) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + } + + function positiveMomentsDifference(base, other) { + var res = {}; + + res.months = + other.month() - base.month() + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } + + res.milliseconds = +other - +base.clone().add(res.months, 'M'); + + return res; + } + + function momentsDifference(base, other) { + var res; + if (!(base.isValid() && other.isValid())) { + return { milliseconds: 0, months: 0 }; + } + + other = cloneWithOffset(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + + return res; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple( + name, + 'moment().' + + name + + '(period, number) is deprecated. Please use moment().' + + name + + '(number, period). ' + + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' + ); + tmp = val; + val = period; + period = tmp; + } + + dur = createDuration(val, period); + addSubtract(this, dur, direction); + return this; + }; + } + + function addSubtract(mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = absRound(duration._days), + months = absRound(duration._months); + + if (!mom.isValid()) { + // No op + return; + } + + updateOffset = updateOffset == null ? true : updateOffset; + + if (months) { + setMonth(mom, get(mom, 'Month') + months * isAdding); + } + if (days) { + set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); + } + if (milliseconds) { + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days || months); + } + } + + var add = createAdder(1, 'add'), + subtract = createAdder(-1, 'subtract'); + + function isString(input) { + return typeof input === 'string' || input instanceof String; + } + + // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined + function isMomentInput(input) { + return ( + isMoment(input) || + isDate(input) || + isString(input) || + isNumber(input) || + isNumberOrStringArray(input) || + isMomentInputObject(input) || + input === null || + input === undefined + ); + } + + function isMomentInputObject(input) { + var objectTest = isObject(input) && !isObjectEmpty(input), + propertyTest = false, + properties = [ + 'years', + 'year', + 'y', + 'months', + 'month', + 'M', + 'days', + 'day', + 'd', + 'dates', + 'date', + 'D', + 'hours', + 'hour', + 'h', + 'minutes', + 'minute', + 'm', + 'seconds', + 'second', + 's', + 'milliseconds', + 'millisecond', + 'ms', + ], + i, + property, + propertyLen = properties.length; + + for (i = 0; i < propertyLen; i += 1) { + property = properties[i]; + propertyTest = propertyTest || hasOwnProp(input, property); + } + + return objectTest && propertyTest; + } + + function isNumberOrStringArray(input) { + var arrayTest = isArray(input), + dataTypeTest = false; + if (arrayTest) { + dataTypeTest = + input.filter(function (item) { + return !isNumber(item) && isString(input); + }).length === 0; + } + return arrayTest && dataTypeTest; + } + + function isCalendarSpec(input) { + var objectTest = isObject(input) && !isObjectEmpty(input), + propertyTest = false, + properties = [ + 'sameDay', + 'nextDay', + 'lastDay', + 'nextWeek', + 'lastWeek', + 'sameElse', + ], + i, + property; + + for (i = 0; i < properties.length; i += 1) { + property = properties[i]; + propertyTest = propertyTest || hasOwnProp(input, property); + } + + return objectTest && propertyTest; + } + + function getCalendarFormat(myMoment, now) { + var diff = myMoment.diff(now, 'days', true); + return diff < -6 + ? 'sameElse' + : diff < -1 + ? 'lastWeek' + : diff < 0 + ? 'lastDay' + : diff < 1 + ? 'sameDay' + : diff < 2 + ? 'nextDay' + : diff < 7 + ? 'nextWeek' + : 'sameElse'; + } + + function calendar$1(time, formats) { + // Support for single parameter, formats only overload to the calendar function + if (arguments.length === 1) { + if (!arguments[0]) { + time = undefined; + formats = undefined; + } else if (isMomentInput(arguments[0])) { + time = arguments[0]; + formats = undefined; + } else if (isCalendarSpec(arguments[0])) { + formats = arguments[0]; + time = undefined; + } + } + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're local/utc/offset or not. + var now = time || createLocal(), + sod = cloneWithOffset(now, this).startOf('day'), + format = hooks.calendarFormat(this, sod) || 'sameElse', + output = + formats && + (isFunction(formats[format]) + ? formats[format].call(this, now) + : formats[format]); + + return this.format( + output || this.localeData().calendar(format, this, createLocal(now)) + ); + } + + function clone() { + return new Moment(this); + } + + function isAfter(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() > localInput.valueOf(); + } else { + return localInput.valueOf() < this.clone().startOf(units).valueOf(); + } + } + + function isBefore(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() < localInput.valueOf(); + } else { + return this.clone().endOf(units).valueOf() < localInput.valueOf(); + } + } + + function isBetween(from, to, units, inclusivity) { + var localFrom = isMoment(from) ? from : createLocal(from), + localTo = isMoment(to) ? to : createLocal(to); + if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { + return false; + } + inclusivity = inclusivity || '()'; + return ( + (inclusivity[0] === '(' + ? this.isAfter(localFrom, units) + : !this.isBefore(localFrom, units)) && + (inclusivity[1] === ')' + ? this.isBefore(localTo, units) + : !this.isAfter(localTo, units)) + ); + } + + function isSame(input, units) { + var localInput = isMoment(input) ? input : createLocal(input), + inputMs; + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() === localInput.valueOf(); + } else { + inputMs = localInput.valueOf(); + return ( + this.clone().startOf(units).valueOf() <= inputMs && + inputMs <= this.clone().endOf(units).valueOf() + ); + } + } + + function isSameOrAfter(input, units) { + return this.isSame(input, units) || this.isAfter(input, units); + } + + function isSameOrBefore(input, units) { + return this.isSame(input, units) || this.isBefore(input, units); + } + + function diff(input, units, asFloat) { + var that, zoneDelta, output; + + if (!this.isValid()) { + return NaN; + } + + that = cloneWithOffset(input, this); + + if (!that.isValid()) { + return NaN; + } + + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + + units = normalizeUnits(units); + + switch (units) { + case 'year': + output = monthDiff(this, that) / 12; + break; + case 'month': + output = monthDiff(this, that); + break; + case 'quarter': + output = monthDiff(this, that) / 3; + break; + case 'second': + output = (this - that) / 1e3; + break; // 1000 + case 'minute': + output = (this - that) / 6e4; + break; // 1000 * 60 + case 'hour': + output = (this - that) / 36e5; + break; // 1000 * 60 * 60 + case 'day': + output = (this - that - zoneDelta) / 864e5; + break; // 1000 * 60 * 60 * 24, negate dst + case 'week': + output = (this - that - zoneDelta) / 6048e5; + break; // 1000 * 60 * 60 * 24 * 7, negate dst + default: + output = this - that; + } + + return asFloat ? output : absFloor(output); + } + + function monthDiff(a, b) { + if (a.date() < b.date()) { + // end-of-month calculations work correct when the start month has more + // days than the end month. + return -monthDiff(b, a); + } + // difference in months + var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, + adjust; + + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); + } + + //check for negative zero, return zero if negative zero + return -(wholeMonthDiff + adjust) || 0; + } + + hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; + hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; + + function toString() { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + } + + function toISOString(keepOffset) { + if (!this.isValid()) { + return null; + } + var utc = keepOffset !== true, + m = utc ? this.clone().utc() : this; + if (m.year() < 0 || m.year() > 9999) { + return formatMoment( + m, + utc + ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' + : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' + ); + } + if (isFunction(Date.prototype.toISOString)) { + // native implementation is ~50x faster, use it when we can + if (utc) { + return this.toDate().toISOString(); + } else { + return new Date(this.valueOf() + this.utcOffset() * 60 * 1000) + .toISOString() + .replace('Z', formatMoment(m, 'Z')); + } + } + return formatMoment( + m, + utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' + ); + } + + /** + * Return a human readable representation of a moment that can + * also be evaluated to get a new moment which is the same + * + * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects + */ + function inspect() { + if (!this.isValid()) { + return 'moment.invalid(/* ' + this._i + ' */)'; + } + var func = 'moment', + zone = '', + prefix, + year, + datetime, + suffix; + if (!this.isLocal()) { + func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; + zone = 'Z'; + } + prefix = '[' + func + '("]'; + year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'; + datetime = '-MM-DD[T]HH:mm:ss.SSS'; + suffix = zone + '[")]'; + + return this.format(prefix + year + datetime + suffix); + } + + function format(inputString) { + if (!inputString) { + inputString = this.isUtc() + ? hooks.defaultFormatUtc + : hooks.defaultFormat; + } + var output = formatMoment(this, inputString); + return this.localeData().postformat(output); + } + + function from(time, withoutSuffix) { + if ( + this.isValid() && + ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) + ) { + return createDuration({ to: this, from: time }) + .locale(this.locale()) + .humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function fromNow(withoutSuffix) { + return this.from(createLocal(), withoutSuffix); + } + + function to(time, withoutSuffix) { + if ( + this.isValid() && + ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) + ) { + return createDuration({ from: this, to: time }) + .locale(this.locale()) + .humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function toNow(withoutSuffix) { + return this.to(createLocal(), withoutSuffix); + } + + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + function locale(key) { + var newLocaleData; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = getLocale(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + } + + var lang = deprecate( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ); + + function localeData() { + return this._locale; + } + + var MS_PER_SECOND = 1000, + MS_PER_MINUTE = 60 * MS_PER_SECOND, + MS_PER_HOUR = 60 * MS_PER_MINUTE, + MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; + + // actual modulo - handles negative numbers (for dates before 1970): + function mod$1(dividend, divisor) { + return ((dividend % divisor) + divisor) % divisor; + } + + function localStartOfDate(y, m, d) { + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return new Date(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return new Date(y, m, d).valueOf(); + } + } + + function utcStartOfDate(y, m, d) { + // Date.UTC remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return Date.UTC(y, m, d); + } + } + + function startOf(units) { + var time, startOfDate; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year(), 0, 1); + break; + case 'quarter': + time = startOfDate( + this.year(), + this.month() - (this.month() % 3), + 1 + ); + break; + case 'month': + time = startOfDate(this.year(), this.month(), 1); + break; + case 'week': + time = startOfDate( + this.year(), + this.month(), + this.date() - this.weekday() + ); + break; + case 'isoWeek': + time = startOfDate( + this.year(), + this.month(), + this.date() - (this.isoWeekday() - 1) + ); + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date()); + break; + case 'hour': + time = this._d.valueOf(); + time -= mod$1( + time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), + MS_PER_HOUR + ); + break; + case 'minute': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_MINUTE); + break; + case 'second': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_SECOND); + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function endOf(units) { + var time, startOfDate; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year() + 1, 0, 1) - 1; + break; + case 'quarter': + time = + startOfDate( + this.year(), + this.month() - (this.month() % 3) + 3, + 1 + ) - 1; + break; + case 'month': + time = startOfDate(this.year(), this.month() + 1, 1) - 1; + break; + case 'week': + time = + startOfDate( + this.year(), + this.month(), + this.date() - this.weekday() + 7 + ) - 1; + break; + case 'isoWeek': + time = + startOfDate( + this.year(), + this.month(), + this.date() - (this.isoWeekday() - 1) + 7 + ) - 1; + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; + break; + case 'hour': + time = this._d.valueOf(); + time += + MS_PER_HOUR - + mod$1( + time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), + MS_PER_HOUR + ) - + 1; + break; + case 'minute': + time = this._d.valueOf(); + time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; + break; + case 'second': + time = this._d.valueOf(); + time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function valueOf() { + return this._d.valueOf() - (this._offset || 0) * 60000; + } + + function unix() { + return Math.floor(this.valueOf() / 1000); + } + + function toDate() { + return new Date(this.valueOf()); + } + + function toArray() { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hour(), + m.minute(), + m.second(), + m.millisecond(), + ]; + } + + function toObject() { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds(), + }; + } + + function toJSON() { + // new Date(NaN).toJSON() === null + return this.isValid() ? this.toISOString() : null; + } + + function isValid$2() { + return isValid(this); + } + + function parsingFlags() { + return extend({}, getParsingFlags(this)); + } + + function invalidAt() { + return getParsingFlags(this).overflow; + } + + function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict, + }; + } + + addFormatToken('N', 0, 0, 'eraAbbr'); + addFormatToken('NN', 0, 0, 'eraAbbr'); + addFormatToken('NNN', 0, 0, 'eraAbbr'); + addFormatToken('NNNN', 0, 0, 'eraName'); + addFormatToken('NNNNN', 0, 0, 'eraNarrow'); + + addFormatToken('y', ['y', 1], 'yo', 'eraYear'); + addFormatToken('y', ['yy', 2], 0, 'eraYear'); + addFormatToken('y', ['yyy', 3], 0, 'eraYear'); + addFormatToken('y', ['yyyy', 4], 0, 'eraYear'); + + addRegexToken('N', matchEraAbbr); + addRegexToken('NN', matchEraAbbr); + addRegexToken('NNN', matchEraAbbr); + addRegexToken('NNNN', matchEraName); + addRegexToken('NNNNN', matchEraNarrow); + + addParseToken( + ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], + function (input, array, config, token) { + var era = config._locale.erasParse(input, token, config._strict); + if (era) { + getParsingFlags(config).era = era; + } else { + getParsingFlags(config).invalidEra = input; + } + } + ); + + addRegexToken('y', matchUnsigned); + addRegexToken('yy', matchUnsigned); + addRegexToken('yyy', matchUnsigned); + addRegexToken('yyyy', matchUnsigned); + addRegexToken('yo', matchEraYearOrdinal); + + addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR); + addParseToken(['yo'], function (input, array, config, token) { + var match; + if (config._locale._eraYearOrdinalRegex) { + match = input.match(config._locale._eraYearOrdinalRegex); + } + + if (config._locale.eraYearOrdinalParse) { + array[YEAR] = config._locale.eraYearOrdinalParse(input, match); + } else { + array[YEAR] = parseInt(input, 10); + } + }); + + function localeEras(m, format) { + var i, + l, + date, + eras = this._eras || getLocale('en')._eras; + for (i = 0, l = eras.length; i < l; ++i) { + switch (typeof eras[i].since) { + case 'string': + // truncate time + date = hooks(eras[i].since).startOf('day'); + eras[i].since = date.valueOf(); + break; + } + + switch (typeof eras[i].until) { + case 'undefined': + eras[i].until = +Infinity; + break; + case 'string': + // truncate time + date = hooks(eras[i].until).startOf('day').valueOf(); + eras[i].until = date.valueOf(); + break; + } + } + return eras; + } + + function localeErasParse(eraName, format, strict) { + var i, + l, + eras = this.eras(), + name, + abbr, + narrow; + eraName = eraName.toUpperCase(); + + for (i = 0, l = eras.length; i < l; ++i) { + name = eras[i].name.toUpperCase(); + abbr = eras[i].abbr.toUpperCase(); + narrow = eras[i].narrow.toUpperCase(); + + if (strict) { + switch (format) { + case 'N': + case 'NN': + case 'NNN': + if (abbr === eraName) { + return eras[i]; + } + break; + + case 'NNNN': + if (name === eraName) { + return eras[i]; + } + break; + + case 'NNNNN': + if (narrow === eraName) { + return eras[i]; + } + break; + } + } else if ([name, abbr, narrow].indexOf(eraName) >= 0) { + return eras[i]; + } + } + } + + function localeErasConvertYear(era, year) { + var dir = era.since <= era.until ? +1 : -1; + if (year === undefined) { + return hooks(era.since).year(); + } else { + return hooks(era.since).year() + (year - era.offset) * dir; + } + } + + function getEraName() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].name; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].name; + } + } + + return ''; + } + + function getEraNarrow() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].narrow; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].narrow; + } + } + + return ''; + } + + function getEraAbbr() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].abbr; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].abbr; + } + } + + return ''; + } + + function getEraYear() { + var i, + l, + dir, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + dir = eras[i].since <= eras[i].until ? +1 : -1; + + // truncate time + val = this.clone().startOf('day').valueOf(); + + if ( + (eras[i].since <= val && val <= eras[i].until) || + (eras[i].until <= val && val <= eras[i].since) + ) { + return ( + (this.year() - hooks(eras[i].since).year()) * dir + + eras[i].offset + ); + } + } + + return this.year(); + } + + function erasNameRegex(isStrict) { + if (!hasOwnProp(this, '_erasNameRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasNameRegex : this._erasRegex; + } + + function erasAbbrRegex(isStrict) { + if (!hasOwnProp(this, '_erasAbbrRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasAbbrRegex : this._erasRegex; + } + + function erasNarrowRegex(isStrict) { + if (!hasOwnProp(this, '_erasNarrowRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasNarrowRegex : this._erasRegex; + } + + function matchEraAbbr(isStrict, locale) { + return locale.erasAbbrRegex(isStrict); + } + + function matchEraName(isStrict, locale) { + return locale.erasNameRegex(isStrict); + } + + function matchEraNarrow(isStrict, locale) { + return locale.erasNarrowRegex(isStrict); + } + + function matchEraYearOrdinal(isStrict, locale) { + return locale._eraYearOrdinalRegex || matchUnsigned; + } + + function computeErasParse() { + var abbrPieces = [], + namePieces = [], + narrowPieces = [], + mixedPieces = [], + i, + l, + eras = this.eras(); + + for (i = 0, l = eras.length; i < l; ++i) { + namePieces.push(regexEscape(eras[i].name)); + abbrPieces.push(regexEscape(eras[i].abbr)); + narrowPieces.push(regexEscape(eras[i].narrow)); + + mixedPieces.push(regexEscape(eras[i].name)); + mixedPieces.push(regexEscape(eras[i].abbr)); + mixedPieces.push(regexEscape(eras[i].narrow)); + } + + this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i'); + this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i'); + this._erasNarrowRegex = new RegExp( + '^(' + narrowPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + addFormatToken(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; + }); + + addFormatToken(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; + }); + + function addWeekYearFormatToken(token, getter) { + addFormatToken(0, [token, token.length], 0, getter); + } + + addWeekYearFormatToken('gggg', 'weekYear'); + addWeekYearFormatToken('ggggg', 'weekYear'); + addWeekYearFormatToken('GGGG', 'isoWeekYear'); + addWeekYearFormatToken('GGGGG', 'isoWeekYear'); + + // ALIASES + + addUnitAlias('weekYear', 'gg'); + addUnitAlias('isoWeekYear', 'GG'); + + // PRIORITY + + addUnitPriority('weekYear', 1); + addUnitPriority('isoWeekYear', 1); + + // PARSING + + addRegexToken('G', matchSigned); + addRegexToken('g', matchSigned); + addRegexToken('GG', match1to2, match2); + addRegexToken('gg', match1to2, match2); + addRegexToken('GGGG', match1to4, match4); + addRegexToken('gggg', match1to4, match4); + addRegexToken('GGGGG', match1to6, match6); + addRegexToken('ggggg', match1to6, match6); + + addWeekParseToken( + ['gggg', 'ggggg', 'GGGG', 'GGGGG'], + function (input, week, config, token) { + week[token.substr(0, 2)] = toInt(input); + } + ); + + addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { + week[token] = hooks.parseTwoDigitYear(input); + }); + + // MOMENTS + + function getSetWeekYear(input) { + return getSetWeekYearHelper.call( + this, + input, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy + ); + } + + function getSetISOWeekYear(input) { + return getSetWeekYearHelper.call( + this, + input, + this.isoWeek(), + this.isoWeekday(), + 1, + 4 + ); + } + + function getISOWeeksInYear() { + return weeksInYear(this.year(), 1, 4); + } + + function getISOWeeksInISOWeekYear() { + return weeksInYear(this.isoWeekYear(), 1, 4); + } + + function getWeeksInYear() { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + } + + function getWeeksInWeekYear() { + var weekInfo = this.localeData()._week; + return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy); + } + + function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } + } + + function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), + date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); + + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; + } + + // FORMATTING + + addFormatToken('Q', 0, 'Qo', 'quarter'); + + // ALIASES + + addUnitAlias('quarter', 'Q'); + + // PRIORITY + + addUnitPriority('quarter', 7); + + // PARSING + + addRegexToken('Q', match1); + addParseToken('Q', function (input, array) { + array[MONTH] = (toInt(input) - 1) * 3; + }); + + // MOMENTS + + function getSetQuarter(input) { + return input == null + ? Math.ceil((this.month() + 1) / 3) + : this.month((input - 1) * 3 + (this.month() % 3)); + } + + // FORMATTING + + addFormatToken('D', ['DD', 2], 'Do', 'date'); + + // ALIASES + + addUnitAlias('date', 'D'); + + // PRIORITY + addUnitPriority('date', 9); + + // PARSING + + addRegexToken('D', match1to2); + addRegexToken('DD', match1to2, match2); + addRegexToken('Do', function (isStrict, locale) { + // TODO: Remove "ordinalParse" fallback in next major release. + return isStrict + ? locale._dayOfMonthOrdinalParse || locale._ordinalParse + : locale._dayOfMonthOrdinalParseLenient; + }); + + addParseToken(['D', 'DD'], DATE); + addParseToken('Do', function (input, array) { + array[DATE] = toInt(input.match(match1to2)[0]); + }); + + // MOMENTS + + var getSetDayOfMonth = makeGetSet('Date', true); + + // FORMATTING + + addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); + + // ALIASES + + addUnitAlias('dayOfYear', 'DDD'); + + // PRIORITY + addUnitPriority('dayOfYear', 4); + + // PARSING + + addRegexToken('DDD', match1to3); + addRegexToken('DDDD', match3); + addParseToken(['DDD', 'DDDD'], function (input, array, config) { + config._dayOfYear = toInt(input); + }); + + // HELPERS + + // MOMENTS + + function getSetDayOfYear(input) { + var dayOfYear = + Math.round( + (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 + ) + 1; + return input == null ? dayOfYear : this.add(input - dayOfYear, 'd'); + } + + // FORMATTING + + addFormatToken('m', ['mm', 2], 0, 'minute'); + + // ALIASES + + addUnitAlias('minute', 'm'); + + // PRIORITY + + addUnitPriority('minute', 14); + + // PARSING + + addRegexToken('m', match1to2); + addRegexToken('mm', match1to2, match2); + addParseToken(['m', 'mm'], MINUTE); + + // MOMENTS + + var getSetMinute = makeGetSet('Minutes', false); + + // FORMATTING + + addFormatToken('s', ['ss', 2], 0, 'second'); + + // ALIASES + + addUnitAlias('second', 's'); + + // PRIORITY + + addUnitPriority('second', 15); + + // PARSING + + addRegexToken('s', match1to2); + addRegexToken('ss', match1to2, match2); + addParseToken(['s', 'ss'], SECOND); + + // MOMENTS + + var getSetSecond = makeGetSet('Seconds', false); + + // FORMATTING + + addFormatToken('S', 0, 0, function () { + return ~~(this.millisecond() / 100); + }); + + addFormatToken(0, ['SS', 2], 0, function () { + return ~~(this.millisecond() / 10); + }); + + addFormatToken(0, ['SSS', 3], 0, 'millisecond'); + addFormatToken(0, ['SSSS', 4], 0, function () { + return this.millisecond() * 10; + }); + addFormatToken(0, ['SSSSS', 5], 0, function () { + return this.millisecond() * 100; + }); + addFormatToken(0, ['SSSSSS', 6], 0, function () { + return this.millisecond() * 1000; + }); + addFormatToken(0, ['SSSSSSS', 7], 0, function () { + return this.millisecond() * 10000; + }); + addFormatToken(0, ['SSSSSSSS', 8], 0, function () { + return this.millisecond() * 100000; + }); + addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { + return this.millisecond() * 1000000; + }); + + // ALIASES + + addUnitAlias('millisecond', 'ms'); + + // PRIORITY + + addUnitPriority('millisecond', 16); + + // PARSING + + addRegexToken('S', match1to3, match1); + addRegexToken('SS', match1to3, match2); + addRegexToken('SSS', match1to3, match3); + + var token, getSetMillisecond; + for (token = 'SSSS'; token.length <= 9; token += 'S') { + addRegexToken(token, matchUnsigned); + } + + function parseMs(input, array) { + array[MILLISECOND] = toInt(('0.' + input) * 1000); + } + + for (token = 'S'; token.length <= 9; token += 'S') { + addParseToken(token, parseMs); + } + + getSetMillisecond = makeGetSet('Milliseconds', false); + + // FORMATTING + + addFormatToken('z', 0, 0, 'zoneAbbr'); + addFormatToken('zz', 0, 0, 'zoneName'); + + // MOMENTS + + function getZoneAbbr() { + return this._isUTC ? 'UTC' : ''; + } + + function getZoneName() { + return this._isUTC ? 'Coordinated Universal Time' : ''; + } + + var proto = Moment.prototype; + + proto.add = add; + proto.calendar = calendar$1; + proto.clone = clone; + proto.diff = diff; + proto.endOf = endOf; + proto.format = format; + proto.from = from; + proto.fromNow = fromNow; + proto.to = to; + proto.toNow = toNow; + proto.get = stringGet; + proto.invalidAt = invalidAt; + proto.isAfter = isAfter; + proto.isBefore = isBefore; + proto.isBetween = isBetween; + proto.isSame = isSame; + proto.isSameOrAfter = isSameOrAfter; + proto.isSameOrBefore = isSameOrBefore; + proto.isValid = isValid$2; + proto.lang = lang; + proto.locale = locale; + proto.localeData = localeData; + proto.max = prototypeMax; + proto.min = prototypeMin; + proto.parsingFlags = parsingFlags; + proto.set = stringSet; + proto.startOf = startOf; + proto.subtract = subtract; + proto.toArray = toArray; + proto.toObject = toObject; + proto.toDate = toDate; + proto.toISOString = toISOString; + proto.inspect = inspect; + if (typeof Symbol !== 'undefined' && Symbol.for != null) { + proto[Symbol.for('nodejs.util.inspect.custom')] = function () { + return 'Moment<' + this.format() + '>'; + }; + } + proto.toJSON = toJSON; + proto.toString = toString; + proto.unix = unix; + proto.valueOf = valueOf; + proto.creationData = creationData; + proto.eraName = getEraName; + proto.eraNarrow = getEraNarrow; + proto.eraAbbr = getEraAbbr; + proto.eraYear = getEraYear; + proto.year = getSetYear; + proto.isLeapYear = getIsLeapYear; + proto.weekYear = getSetWeekYear; + proto.isoWeekYear = getSetISOWeekYear; + proto.quarter = proto.quarters = getSetQuarter; + proto.month = getSetMonth; + proto.daysInMonth = getDaysInMonth; + proto.week = proto.weeks = getSetWeek; + proto.isoWeek = proto.isoWeeks = getSetISOWeek; + proto.weeksInYear = getWeeksInYear; + proto.weeksInWeekYear = getWeeksInWeekYear; + proto.isoWeeksInYear = getISOWeeksInYear; + proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear; + proto.date = getSetDayOfMonth; + proto.day = proto.days = getSetDayOfWeek; + proto.weekday = getSetLocaleDayOfWeek; + proto.isoWeekday = getSetISODayOfWeek; + proto.dayOfYear = getSetDayOfYear; + proto.hour = proto.hours = getSetHour; + proto.minute = proto.minutes = getSetMinute; + proto.second = proto.seconds = getSetSecond; + proto.millisecond = proto.milliseconds = getSetMillisecond; + proto.utcOffset = getSetOffset; + proto.utc = setOffsetToUTC; + proto.local = setOffsetToLocal; + proto.parseZone = setOffsetToParsedOffset; + proto.hasAlignedHourOffset = hasAlignedHourOffset; + proto.isDST = isDaylightSavingTime; + proto.isLocal = isLocal; + proto.isUtcOffset = isUtcOffset; + proto.isUtc = isUtc; + proto.isUTC = isUtc; + proto.zoneAbbr = getZoneAbbr; + proto.zoneName = getZoneName; + proto.dates = deprecate( + 'dates accessor is deprecated. Use date instead.', + getSetDayOfMonth + ); + proto.months = deprecate( + 'months accessor is deprecated. Use month instead', + getSetMonth + ); + proto.years = deprecate( + 'years accessor is deprecated. Use year instead', + getSetYear + ); + proto.zone = deprecate( + 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', + getSetZone + ); + proto.isDSTShifted = deprecate( + 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', + isDaylightSavingTimeShifted + ); + + function createUnix(input) { + return createLocal(input * 1000); + } + + function createInZone() { + return createLocal.apply(null, arguments).parseZone(); + } + + function preParsePostFormat(string) { + return string; + } + + var proto$1 = Locale.prototype; + + proto$1.calendar = calendar; + proto$1.longDateFormat = longDateFormat; + proto$1.invalidDate = invalidDate; + proto$1.ordinal = ordinal; + proto$1.preparse = preParsePostFormat; + proto$1.postformat = preParsePostFormat; + proto$1.relativeTime = relativeTime; + proto$1.pastFuture = pastFuture; + proto$1.set = set; + proto$1.eras = localeEras; + proto$1.erasParse = localeErasParse; + proto$1.erasConvertYear = localeErasConvertYear; + proto$1.erasAbbrRegex = erasAbbrRegex; + proto$1.erasNameRegex = erasNameRegex; + proto$1.erasNarrowRegex = erasNarrowRegex; + + proto$1.months = localeMonths; + proto$1.monthsShort = localeMonthsShort; + proto$1.monthsParse = localeMonthsParse; + proto$1.monthsRegex = monthsRegex; + proto$1.monthsShortRegex = monthsShortRegex; + proto$1.week = localeWeek; + proto$1.firstDayOfYear = localeFirstDayOfYear; + proto$1.firstDayOfWeek = localeFirstDayOfWeek; + + proto$1.weekdays = localeWeekdays; + proto$1.weekdaysMin = localeWeekdaysMin; + proto$1.weekdaysShort = localeWeekdaysShort; + proto$1.weekdaysParse = localeWeekdaysParse; + + proto$1.weekdaysRegex = weekdaysRegex; + proto$1.weekdaysShortRegex = weekdaysShortRegex; + proto$1.weekdaysMinRegex = weekdaysMinRegex; + + proto$1.isPM = localeIsPM; + proto$1.meridiem = localeMeridiem; + + function get$1(format, index, field, setter) { + var locale = getLocale(), + utc = createUTC().set(setter, index); + return locale[field](utc, format); + } + + function listMonthsImpl(format, index, field) { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + + if (index != null) { + return get$1(format, index, field, 'month'); + } + + var i, + out = []; + for (i = 0; i < 12; i++) { + out[i] = get$1(format, i, field, 'month'); + } + return out; + } + + // () + // (5) + // (fmt, 5) + // (fmt) + // (true) + // (true, 5) + // (true, fmt, 5) + // (true, fmt) + function listWeekdaysImpl(localeSorted, format, index, field) { + if (typeof localeSorted === 'boolean') { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } else { + format = localeSorted; + index = format; + localeSorted = false; + + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } + + var locale = getLocale(), + shift = localeSorted ? locale._week.dow : 0, + i, + out = []; + + if (index != null) { + return get$1(format, (index + shift) % 7, field, 'day'); + } + + for (i = 0; i < 7; i++) { + out[i] = get$1(format, (i + shift) % 7, field, 'day'); + } + return out; + } + + function listMonths(format, index) { + return listMonthsImpl(format, index, 'months'); + } + + function listMonthsShort(format, index) { + return listMonthsImpl(format, index, 'monthsShort'); + } + + function listWeekdays(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); + } + + function listWeekdaysShort(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); + } + + function listWeekdaysMin(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); + } + + getSetGlobalLocale('en', { + eras: [ + { + since: '0001-01-01', + until: +Infinity, + offset: 1, + name: 'Anno Domini', + narrow: 'AD', + abbr: 'AD', + }, + { + since: '0000-12-31', + until: -Infinity, + offset: 1, + name: 'Before Christ', + narrow: 'BC', + abbr: 'BC', + }, + ], + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function (number) { + var b = number % 10, + output = + toInt((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + }); + + // Side effect imports + + hooks.lang = deprecate( + 'moment.lang is deprecated. Use moment.locale instead.', + getSetGlobalLocale + ); + hooks.langData = deprecate( + 'moment.langData is deprecated. Use moment.localeData instead.', + getLocale + ); + + var mathAbs = Math.abs; + + function abs() { + var data = this._data; + + this._milliseconds = mathAbs(this._milliseconds); + this._days = mathAbs(this._days); + this._months = mathAbs(this._months); + + data.milliseconds = mathAbs(data.milliseconds); + data.seconds = mathAbs(data.seconds); + data.minutes = mathAbs(data.minutes); + data.hours = mathAbs(data.hours); + data.months = mathAbs(data.months); + data.years = mathAbs(data.years); + + return this; + } + + function addSubtract$1(duration, input, value, direction) { + var other = createDuration(input, value); + + duration._milliseconds += direction * other._milliseconds; + duration._days += direction * other._days; + duration._months += direction * other._months; + + return duration._bubble(); + } + + // supports only 2.0-style add(1, 's') or add(duration) + function add$1(input, value) { + return addSubtract$1(this, input, value, 1); + } + + // supports only 2.0-style subtract(1, 's') or subtract(duration) + function subtract$1(input, value) { + return addSubtract$1(this, input, value, -1); + } + + function absCeil(number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } + } + + function bubble() { + var milliseconds = this._milliseconds, + days = this._days, + months = this._months, + data = this._data, + seconds, + minutes, + hours, + years, + monthsFromDays; + + // if we have a mix of positive and negative values, bubble down first + // check: https://github.com/moment/moment/issues/2166 + if ( + !( + (milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0) + ) + ) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absFloor(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absFloor(seconds / 60); + data.minutes = minutes % 60; + + hours = absFloor(minutes / 60); + data.hours = hours % 24; + + days += absFloor(hours / 24); + + // convert days to months + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + + return this; + } + + function daysToMonths(days) { + // 400 years have 146097 days (taking into account leap year rules) + // 400 years have 12 months === 4800 + return (days * 4800) / 146097; + } + + function monthsToDays(months) { + // the reverse of daysToMonths + return (months * 146097) / 4800; + } + + function as(units) { + if (!this.isValid()) { + return NaN; + } + var days, + months, + milliseconds = this._milliseconds; + + units = normalizeUnits(units); + + if (units === 'month' || units === 'quarter' || units === 'year') { + days = this._days + milliseconds / 864e5; + months = this._months + daysToMonths(days); + switch (units) { + case 'month': + return months; + case 'quarter': + return months / 3; + case 'year': + return months / 12; + } + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case 'week': + return days / 7 + milliseconds / 6048e5; + case 'day': + return days + milliseconds / 864e5; + case 'hour': + return days * 24 + milliseconds / 36e5; + case 'minute': + return days * 1440 + milliseconds / 6e4; + case 'second': + return days * 86400 + milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': + return Math.floor(days * 864e5) + milliseconds; + default: + throw new Error('Unknown unit ' + units); + } + } + } + + // TODO: Use this.as('ms')? + function valueOf$1() { + if (!this.isValid()) { + return NaN; + } + return ( + this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6 + ); + } + + function makeAs(alias) { + return function () { + return this.as(alias); + }; + } + + var asMilliseconds = makeAs('ms'), + asSeconds = makeAs('s'), + asMinutes = makeAs('m'), + asHours = makeAs('h'), + asDays = makeAs('d'), + asWeeks = makeAs('w'), + asMonths = makeAs('M'), + asQuarters = makeAs('Q'), + asYears = makeAs('y'); + + function clone$1() { + return createDuration(this); + } + + function get$2(units) { + units = normalizeUnits(units); + return this.isValid() ? this[units + 's']() : NaN; + } + + function makeGetter(name) { + return function () { + return this.isValid() ? this._data[name] : NaN; + }; + } + + var milliseconds = makeGetter('milliseconds'), + seconds = makeGetter('seconds'), + minutes = makeGetter('minutes'), + hours = makeGetter('hours'), + days = makeGetter('days'), + months = makeGetter('months'), + years = makeGetter('years'); + + function weeks() { + return absFloor(this.days() / 7); + } + + var round = Math.round, + thresholds = { + ss: 44, // a few seconds to seconds + s: 45, // seconds to minute + m: 45, // minutes to hour + h: 22, // hours to day + d: 26, // days to month/week + w: null, // weeks to month + M: 11, // months to year + }; + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) { + var duration = createDuration(posNegDuration).abs(), + seconds = round(duration.as('s')), + minutes = round(duration.as('m')), + hours = round(duration.as('h')), + days = round(duration.as('d')), + months = round(duration.as('M')), + weeks = round(duration.as('w')), + years = round(duration.as('y')), + a = + (seconds <= thresholds.ss && ['s', seconds]) || + (seconds < thresholds.s && ['ss', seconds]) || + (minutes <= 1 && ['m']) || + (minutes < thresholds.m && ['mm', minutes]) || + (hours <= 1 && ['h']) || + (hours < thresholds.h && ['hh', hours]) || + (days <= 1 && ['d']) || + (days < thresholds.d && ['dd', days]); + + if (thresholds.w != null) { + a = + a || + (weeks <= 1 && ['w']) || + (weeks < thresholds.w && ['ww', weeks]); + } + a = a || + (months <= 1 && ['M']) || + (months < thresholds.M && ['MM', months]) || + (years <= 1 && ['y']) || ['yy', years]; + + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale; + return substituteTimeAgo.apply(null, a); + } + + // This function allows you to set the rounding function for relative time strings + function getSetRelativeTimeRounding(roundingFunction) { + if (roundingFunction === undefined) { + return round; + } + if (typeof roundingFunction === 'function') { + round = roundingFunction; + return true; + } + return false; + } + + // This function allows you to set a threshold for relative time strings + function getSetRelativeTimeThreshold(threshold, limit) { + if (thresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + return thresholds[threshold]; + } + thresholds[threshold] = limit; + if (threshold === 's') { + thresholds.ss = limit - 1; + } + return true; + } + + function humanize(argWithSuffix, argThresholds) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var withSuffix = false, + th = thresholds, + locale, + output; + + if (typeof argWithSuffix === 'object') { + argThresholds = argWithSuffix; + argWithSuffix = false; + } + if (typeof argWithSuffix === 'boolean') { + withSuffix = argWithSuffix; + } + if (typeof argThresholds === 'object') { + th = Object.assign({}, thresholds, argThresholds); + if (argThresholds.s != null && argThresholds.ss == null) { + th.ss = argThresholds.s - 1; + } + } + + locale = this.localeData(); + output = relativeTime$1(this, !withSuffix, th, locale); + + if (withSuffix) { + output = locale.pastFuture(+this, output); + } + + return locale.postformat(output); + } + + var abs$1 = Math.abs; + + function sign(x) { + return (x > 0) - (x < 0) || +x; + } + + function toISOString$1() { + // for ISO strings we do not use the normal bubbling rules: + // * milliseconds bubble up until they become hours + // * days do not bubble at all + // * months bubble up until they become years + // This is because there is no context-free conversion between hours and days + // (think of clock changes) + // and also not between days and months (28-31 days per month) + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var seconds = abs$1(this._milliseconds) / 1000, + days = abs$1(this._days), + months = abs$1(this._months), + minutes, + hours, + years, + s, + total = this.asSeconds(), + totalSign, + ymSign, + daysSign, + hmsSign; + + if (!total) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + // 3600 seconds -> 60 minutes -> 1 hour + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; + + totalSign = total < 0 ? '-' : ''; + ymSign = sign(this._months) !== sign(total) ? '-' : ''; + daysSign = sign(this._days) !== sign(total) ? '-' : ''; + hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; + + return ( + totalSign + + 'P' + + (years ? ymSign + years + 'Y' : '') + + (months ? ymSign + months + 'M' : '') + + (days ? daysSign + days + 'D' : '') + + (hours || minutes || seconds ? 'T' : '') + + (hours ? hmsSign + hours + 'H' : '') + + (minutes ? hmsSign + minutes + 'M' : '') + + (seconds ? hmsSign + s + 'S' : '') + ); + } + + var proto$2 = Duration.prototype; + + proto$2.isValid = isValid$1; + proto$2.abs = abs; + proto$2.add = add$1; + proto$2.subtract = subtract$1; + proto$2.as = as; + proto$2.asMilliseconds = asMilliseconds; + proto$2.asSeconds = asSeconds; + proto$2.asMinutes = asMinutes; + proto$2.asHours = asHours; + proto$2.asDays = asDays; + proto$2.asWeeks = asWeeks; + proto$2.asMonths = asMonths; + proto$2.asQuarters = asQuarters; + proto$2.asYears = asYears; + proto$2.valueOf = valueOf$1; + proto$2._bubble = bubble; + proto$2.clone = clone$1; + proto$2.get = get$2; + proto$2.milliseconds = milliseconds; + proto$2.seconds = seconds; + proto$2.minutes = minutes; + proto$2.hours = hours; + proto$2.days = days; + proto$2.weeks = weeks; + proto$2.months = months; + proto$2.years = years; + proto$2.humanize = humanize; + proto$2.toISOString = toISOString$1; + proto$2.toString = toISOString$1; + proto$2.toJSON = toISOString$1; + proto$2.locale = locale; + proto$2.localeData = localeData; + + proto$2.toIsoString = deprecate( + 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', + toISOString$1 + ); + proto$2.lang = lang; + + // FORMATTING + + addFormatToken('X', 0, 0, 'unix'); + addFormatToken('x', 0, 0, 'valueOf'); + + // PARSING + + addRegexToken('x', matchSigned); + addRegexToken('X', matchTimestamp); + addParseToken('X', function (input, array, config) { + config._d = new Date(parseFloat(input) * 1000); + }); + addParseToken('x', function (input, array, config) { + config._d = new Date(toInt(input)); + }); + + //! moment.js + + hooks.version = '2.29.4'; + + setHookCallback(createLocal); + + hooks.fn = proto; + hooks.min = min; + hooks.max = max; + hooks.now = now; + hooks.utc = createUTC; + hooks.unix = createUnix; + hooks.months = listMonths; + hooks.isDate = isDate; + hooks.locale = getSetGlobalLocale; + hooks.invalid = createInvalid; + hooks.duration = createDuration; + hooks.isMoment = isMoment; + hooks.weekdays = listWeekdays; + hooks.parseZone = createInZone; + hooks.localeData = getLocale; + hooks.isDuration = isDuration; + hooks.monthsShort = listMonthsShort; + hooks.weekdaysMin = listWeekdaysMin; + hooks.defineLocale = defineLocale; + hooks.updateLocale = updateLocale; + hooks.locales = listLocales; + hooks.weekdaysShort = listWeekdaysShort; + hooks.normalizeUnits = normalizeUnits; + hooks.relativeTimeRounding = getSetRelativeTimeRounding; + hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; + hooks.calendarFormat = getCalendarFormat; + hooks.prototype = proto; + + // currently HTML5 input type only supports 24-hour formats + hooks.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // + DATE: 'YYYY-MM-DD', // + TIME: 'HH:mm', // + TIME_SECONDS: 'HH:mm:ss', // + TIME_MS: 'HH:mm:ss.SSS', // + WEEK: 'GGGG-[W]WW', // + MONTH: 'YYYY-MM', // + }; + + return hooks; + +}))); diff --git a/modules/docs/app/VoloDocs.Web/wwwroot/libs/prismjs/LICENSE b/modules/docs/app/VoloDocs.Web/wwwroot/libs/prismjs/LICENSE new file mode 100644 index 0000000000..528949f42d --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/wwwroot/libs/prismjs/LICENSE @@ -0,0 +1,21 @@ +MIT LICENSE + +Copyright (c) 2012 Lea Verou + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/modules/docs/app/VoloDocs.Web/yarn.lock b/modules/docs/app/VoloDocs.Web/yarn.lock index 6bcbfd7051..b921ed7b60 100644 --- a/modules/docs/app/VoloDocs.Web/yarn.lock +++ b/modules/docs/app/VoloDocs.Web/yarn.lock @@ -10,21 +10,18 @@ "@abp/core" "~6.0.0-rc.3" anchor-js "^4.3.1" -"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0-rc.3": +"@abp/aspnetcore.mvc.ui.theme.basic@file:../../../../npm/packs/aspnetcore.mvc.ui.theme.basic": version "6.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0-rc.3.tgz#b95266387e562c635de795442f90470f8e9e6318" - integrity sha512-vVkEpotDST455E3rynvRQpBKPcNNJ2m1wLkz/B9dQNdUjvm8L4F6s0ls0XFlKUNvQfCVfedkRtGayuvNje/Oxg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0-rc.3" + "@abp/aspnetcore.mvc.ui.theme.shared" "file:../../../../../../Users/salih.ozkara/AppData/Local/Yarn/Cache/v6/npm-@abp-aspnetcore-mvc-ui-theme-basic-6.0.0-rc.3-717a9c42-fbcf-4502-a205-1eb7eff7b35d-1661949513108/node_modules/@abp/aspnetcore.mvc.ui.theme.shared" -"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0-rc.3": +"@abp/aspnetcore.mvc.ui.theme.shared@file:../../../../npm/packs/aspnetcore.mvc.ui.theme.shared": version "6.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0-rc.3.tgz#664ca2ee712b7d9e66103c00beb41eb9648a6075" - integrity sha512-KxCsGuoUWKaDo7Oo9aKp51pli2m0DZ2tG8m+zK+m4M9U7g96uC+DOFy3gc7MdPlszvrw32Wwm7I0AughstByNA== dependencies: "@abp/aspnetcore.mvc.ui" "~6.0.0-rc.3" "@abp/bootstrap" "~6.0.0-rc.3" "@abp/bootstrap-datepicker" "~6.0.0-rc.3" + "@abp/bootstrap-daterangepicker" "file:../../../../../../Users/salih.ozkara/AppData/Local/Yarn/Cache/v6/npm-@abp-aspnetcore-mvc-ui-theme-shared-6.0.0-rc.3-c0e8639f-c1a8-4e44-aff5-40eddad4f846-1661949513111/node_modules/@abp/bootstrap-daterangepicker" "@abp/datatables.net-bs5" "~6.0.0-rc.3" "@abp/font-awesome" "~6.0.0-rc.3" "@abp/jquery-form" "~6.0.0-rc.3" @@ -32,6 +29,7 @@ "@abp/lodash" "~6.0.0-rc.3" "@abp/luxon" "~6.0.0-rc.3" "@abp/malihu-custom-scrollbar-plugin" "~6.0.0-rc.3" + "@abp/moment" "file:../../../../../../Users/salih.ozkara/AppData/Local/Yarn/Cache/v6/npm-@abp-aspnetcore-mvc-ui-theme-shared-6.0.0-rc.3-c0e8639f-c1a8-4e44-aff5-40eddad4f846-1661949513111/node_modules/@abp/moment" "@abp/select2" "~6.0.0-rc.3" "@abp/sweetalert2" "~6.0.0-rc.3" "@abp/timeago" "~6.0.0-rc.3" @@ -56,6 +54,11 @@ dependencies: bootstrap-datepicker "^1.9.0" +"@abp/bootstrap-daterangepicker@file:../../../../npm/packs/bootstrap-daterangepicker": + version "6.0.0-rc.3" + dependencies: + bootstrap-daterangepicker "^3.1.0" + "@abp/bootstrap@~6.0.0-rc.3": version "6.0.0-rc.3" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0-rc.3.tgz#4574bf574cc3484869e8ff8bc592f6212d20a969" @@ -170,6 +173,11 @@ "@abp/core" "~6.0.0-rc.3" malihu-custom-scrollbar-plugin "^3.1.5" +"@abp/moment@file:../../../../npm/packs/moment": + version "6.0.0-rc.3" + dependencies: + moment "^2.9.0" + "@abp/popper.js@~6.0.0-rc.3": version "6.0.0-rc.3" resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-6.0.0-rc.3.tgz#de55a85186f720e16607a3d2445885accb8c1527" @@ -444,6 +452,14 @@ bootstrap-datepicker@^1.9.0: dependencies: jquery ">=1.7.1 <4.0.0" +bootstrap-daterangepicker@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bootstrap-daterangepicker/-/bootstrap-daterangepicker-3.1.0.tgz#632e6fb2de4b6360c5c0a9d5f6adb9aace051fe8" + integrity sha512-oaQZx6ZBDo/dZNyXGVi2rx5GmFXThyQLAxdtIqjtLlYVaQUfQALl5JZMJJZzyDIX7blfy4ppZPAJ10g8Ma4d/g== + dependencies: + jquery ">=1.10" + moment "^2.9.0" + bootstrap@^5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.1.3.tgz#ba081b0c130f810fa70900acbc1c6d3c28fa8f34" @@ -1454,6 +1470,11 @@ jquery-validation@^1.19.3: resolved "https://registry.yarnpkg.com/jquery-validation/-/jquery-validation-1.19.3.tgz#50b350eba8b02bcfd119ba15f199487b7eb64086" integrity sha512-iXxCS5W7STthSTMFX/NDZfWHBLbJ1behVK3eAgHXAV8/0vRa9M4tiqHvJMr39VGWHMGdlkhrtrkBuaL2UlE8yw== +jquery@>=1.10: + version "3.6.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.1.tgz#fab0408f8b45fc19f956205773b62b292c147a16" + integrity sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw== + jquery@>=1.12.0, jquery@>=1.7, jquery@>=1.7.2, "jquery@^1.7 || ^2.0 || ^3.1": version "3.3.1" resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca" @@ -1674,6 +1695,11 @@ mkdirp@^0.5.0, mkdirp@^0.5.1: dependencies: minimist "0.0.8" +moment@^2.9.0: + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" From 7b37a0561c20c00b23aade4970b4ee55aac3e6a2 Mon Sep 17 00:00:00 2001 From: Salih Date: Wed, 31 Aug 2022 15:57:37 +0300 Subject: [PATCH 016/130] Inputs with date type in the doc module have been changed to daterangepicker single --- .../Pages/Docs/Admin/Documents/Index.cshtml | 32 +++++++++---------- .../Pages/Docs/Admin/Documents/index.js | 26 ++++++++++++++- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/Index.cshtml b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/Index.cshtml index 738327def9..c7f1fcb3c8 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/Index.cshtml +++ b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/Index.cshtml @@ -89,34 +89,34 @@
@L["CreationTime"].Value
- - + class="form-control daterangesinglepicker">
@L["LastUpdateTime"].Value
- - - + class="form-control daterangesinglepicker">
@@ -124,17 +124,17 @@
@L["LastCachedTime"].Value
- - + class="form-control daterangesinglepicker">
@@ -156,17 +156,17 @@
@L["LastSignificantUpdateTime"].Value
- - + class="form-control daterangesinglepicker">
diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/index.js b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/index.js index 5f4dc9b8d7..4f6bd5f61b 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/index.js +++ b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/index.js @@ -3,9 +3,33 @@ $(function () { var service = window.volo.docs.admin.documentsAdmin; var getFormattedDate = function ($datePicker) { - return $datePicker.data().datepicker.getFormattedDate('yyyy-mm-dd'); + var date = moment($datePicker.val()); + if (!date.isValid()) { + return null; + } + return date.toISOString(); }; + $('.daterangesinglepicker').daterangepicker({ + "singleDatePicker": true, + "showDropdowns": true, + "autoUpdateInput": false, + "autoApply": true, + "opens": "center", + "drops": "auto" + }); + + + $('.daterangesinglepicker').on('apply.daterangepicker', function (ev, picker) { + $(this).val(picker.startDate.format('l')); + }); + $('.daterangesinglepicker').on('cancel.daterangepicker', function (ev, picker) { + $(this).val(''); + }); + $('.daterangesinglepicker').on('hide.daterangepicker', function (ev, picker) { + $(this).val(''); + }); + var getFilter = function () { return { projectId: $('#ProjectId').val(), From 7bc70350aa6e3c00aa4e48d057e42e70ed367fee Mon Sep 17 00:00:00 2001 From: Salih Date: Wed, 31 Aug 2022 16:36:04 +0300 Subject: [PATCH 017/130] Refactoring doc module date inputs --- .../Pages/Docs/Admin/Documents/Index.cshtml | 10 +++++----- .../Pages/Docs/Admin/Documents/index.js | 3 --- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/Index.cshtml b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/Index.cshtml index b668e46919..72d68636a5 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/Index.cshtml +++ b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/Index.cshtml @@ -105,7 +105,7 @@