diff --git a/transpiler/__tests__/target/typescript/core/aggregateDeclaration.feature b/transpiler/__tests__/target/typescript/core/aggregateDeclaration.feature index de77ca985..d85e0b9c4 100644 --- a/transpiler/__tests__/target/typescript/core/aggregateDeclaration.feature +++ b/transpiler/__tests__/target/typescript/core/aggregateDeclaration.feature @@ -11,9 +11,11 @@ Feature: Aggregate to Typescript target language # Examples: # @bitloops-auto-generated # | aggregates | outputAggregates | props | outputProps | @bitloops-auto-generated | - # | { "TodoRootEntity": { "constantVars": [], "create": { "parameterDependency": { "type": "TodoProps", "value": "props" }, "returnType": { "ok": "TodoRootEntity", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.completed", "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "false" } } } } } ] }, "methods": { "uncomplete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "void", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.completed", "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "false" } } } } }, { "returnOK": { "expression": { "evaluation": { "regularEvaluation": { "type": "void", "value": "" } } } } } ] } }, "complete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "bool", "errors": [] }, "statements": [ { "return": { "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "true" } } } } } ] } } } } } | { "TodoRootEntity": "import { Domain } from '@bitloops/bl-boilerplate-core';import { Either } from '@bitloops/bl-boilerplate-core';import { ok } from '@bitloops/bl-boilerplate-core';import { TodoProps } from './TodoProps';export class TodoRootEntity extends Domain.Aggregate { private constructor(props: TodoProps) { super(props, props.id); this.props.completed = false; } public static create(props: TodoProps): Either { return ok(new TodoRootEntity(props)); } get id() { return this._id; } get completed():boolean { return this.props.completed; } public uncomplete():Either {this.props.completed = false;return ok();} public complete(): Either { return true; } }" } | { "TodoProps":{ "variables":[{ "type":"bool", "name":"completed", "optional":false },{ "type":"UUIDv4", "name":"id", "optional":false }] }} | import { Domain } from '@bitloops/bl-boilerplate-core';export interface TodoProps { completed: boolean; id: UUIDv4; } | @bitloops-auto-generated | + # | { "TodoRootEntity": { "constantVars": [], "create": { "parameterDependency": { "type": "TodoProps", "value": "props" }, "returnType": { "ok": "TodoRootEntity", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.completed", "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "false" } } } } } ] }, "methods": { "uncomplete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "void", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.completed", "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "false" } } } } }, { "returnOK": { "expression": { "evaluation": { "regularEvaluation": { "type": "void", "value": "" } } } } } ] } }, "complete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "bool", "errors": [] }, "statements": [ { "return": { "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "true" } } } } } ] } } } } } | { "TodoRootEntity": "import { Domain,Either,ok } from '@bitloops/bl-boilerplate-core';import { TodoProps } from './TodoProps';export class TodoRootEntity extends Domain.Aggregate { private constructor(props: TodoProps) { super(props, props.id); this.props.completed = false; } public static create(props: TodoProps): Either { return ok(new TodoRootEntity(props)); } get id() { return this._id; } get completed():boolean { return this.props.completed; } public uncomplete():Either {this.props.completed = false;return ok();} public complete(): Either { return true; } }" } | { "TodoProps":{ "variables":[{ "type":"bool", "name":"completed", "optional":false },{ "type":"UUIDv4", "name":"id", "optional":false }] }} | import { Domain } from '@bitloops/bl-boilerplate-core';export interface TodoProps { completed: boolean; id: UUIDv4; } | @bitloops-auto-generated | + # | { "TodoRootEntity": { "constantVars": [], "create": { "parameterDependency": { "type": "TodoProps", "value": "props" }, "returnType": { "ok": "TodoRootEntity", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.completed", "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "false" } } } } }, { "returnOK": { "expression": { "evaluation": { "regularEvaluation": { "type": "TodoRootEntity", "value": "TodoRootEntity(this.props)" } } } } } ] }, "methods": { "uncomplete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "void", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.completed", "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "false" } } } } }, { "returnOK": { "expression": { "evaluation": { "regularEvaluation": { "type": "void", "value": "" } } } } } ] } }, "complete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "bool", "errors": [] }, "statements": [ { "return": { "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "true" } } } } } ] } } } } } | { "TodoRootEntity": "import { Domain,Either,ok } from '@bitloops/bl-boilerplate-core';import { TodoProps } from './TodoProps';export class TodoRootEntity extends Domain.Aggregate { private constructor(props: TodoProps) { super(props, props.id); this.props.completed = false; return TodoProps(this.props);} public static create(props: TodoProps): Either { return ok(new TodoRootEntity(props)); } get id() { return this._id; } get completed():boolean { return this.props.completed; } public uncomplete():Either {this.props.completed = false;return ok();} public complete(): Either { return true; } }" } | { "TodoProps":{ "variables":[{ "type":"bool", "name":"completed", "optional":false },{ "type":"UUIDv4", "name":"id", "optional":false }] }} | import { Domain } from '@bitloops/bl-boilerplate-core';export interface TodoProps { completed: boolean; id: UUIDv4; } | @bitloops-auto-generated | Examples: # @bitloops-auto-generated | aggregates | outputAggregates | props | outputProps | @bitloops-auto-generated | - | 123,10,32,32,34,84,111,100,111,82,111,111,116,69,110,116,105,116,121,34,58,32,123,10,32,32,32,32,34,99,111,110,115,116,97,110,116,86,97,114,115,34,58,32,91,93,44,10,32,32,32,32,34,99,114,101,97,116,101,34,58,32,123,10,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,121,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,84,111,100,111,80,114,111,112,115,34,44,10,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,112,114,111,112,115,34,10,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,84,111,100,111,82,111,111,116,69,110,116,105,116,121,34,44,10,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,102,97,108,115,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,93,10,32,32,32,32,125,44,10,32,32,32,32,34,109,101,116,104,111,100,115,34,58,32,123,10,32,34,117,110,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,102,97,108,115,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,79,75,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,116,114,117,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,125,10,32,32,32,32,125,10,32,32,125,10,125 | 123,10,32,32,32,32,32,32,32,32,34,84,111,100,111,82,111,111,116,69,110,116,105,116,121,34,58,32,34,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,105,116,104,101,114,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,84,111,100,111,80,114,111,112,115,32,125,32,102,114,111,109,32,39,46,47,84,111,100,111,80,114,111,112,115,39,59,101,120,112,111,114,116,32,99,108,97,115,115,32,84,111,100,111,82,111,111,116,69,110,116,105,116,121,32,101,120,116,101,110,100,115,32,68,111,109,97,105,110,46,65,103,103,114,101,103,97,116,101,60,84,111,100,111,80,114,111,112,115,62,32,123,32,112,114,105,118,97,116,101,32,99,111,110,115,116,114,117,99,116,111,114,40,112,114,111,112,115,58,32,84,111,100,111,80,114,111,112,115,41,32,123,32,115,117,112,101,114,40,112,114,111,112,115,44,32,112,114,111,112,115,46,105,100,41,59,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,32,61,32,102,97,108,115,101,59,32,125,32,112,117,98,108,105,99,32,115,116,97,116,105,99,32,99,114,101,97,116,101,40,112,114,111,112,115,58,32,84,111,100,111,80,114,111,112,115,41,58,32,69,105,116,104,101,114,60,84,111,100,111,82,111,111,116,69,110,116,105,116,121,44,32,110,101,118,101,114,62,32,123,32,114,101,116,117,114,110,32,111,107,40,110,101,119,32,84,111,100,111,82,111,111,116,69,110,116,105,116,121,40,112,114,111,112,115,41,41,59,32,125,32,32,103,101,116,32,105,100,40,41,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,95,105,100,59,32,125,32,103,101,116,32,99,111,109,112,108,101,116,101,100,40,41,58,98,111,111,108,101,97,110,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,59,32,125,32,112,117,98,108,105,99,32,117,110,99,111,109,112,108,101,116,101,40,41,58,69,105,116,104,101,114,60,118,111,105,100,44,32,110,101,118,101,114,62,32,123,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,32,61,32,102,97,108,115,101,59,114,101,116,117,114,110,32,111,107,40,41,59,125,32,112,117,98,108,105,99,32,99,111,109,112,108,101,116,101,40,41,58,32,69,105,116,104,101,114,60,98,111,111,108,101,97,110,44,32,110,101,118,101,114,62,32,123,32,114,101,116,117,114,110,32,116,114,117,101,59,32,125,32,125,34,10,125,10 | 123,10,32,32,34,84,111,100,111,80,114,111,112,115,34,58,123,10,32,32,32,32,34,118,97,114,105,97,98,108,101,115,34,58,91,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,44,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,85,85,73,68,118,52,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,105,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,93,10,125,125 | 105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,101,120,112,111,114,116,32,105,110,116,101,114,102,97,99,101,32,84,111,100,111,80,114,111,112,115,32,123,32,99,111,109,112,108,101,116,101,100,58,32,98,111,111,108,101,97,110,59,32,105,100,58,32,85,85,73,68,118,52,59,32,125 | @bitloops-auto-generated | + | 123,10,32,32,34,84,111,100,111,82,111,111,116,69,110,116,105,116,121,34,58,32,123,10,32,32,32,32,34,99,111,110,115,116,97,110,116,86,97,114,115,34,58,32,91,93,44,10,32,32,32,32,34,99,114,101,97,116,101,34,58,32,123,10,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,121,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,84,111,100,111,80,114,111,112,115,34,44,10,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,112,114,111,112,115,34,10,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,84,111,100,111,82,111,111,116,69,110,116,105,116,121,34,44,10,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,102,97,108,115,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,93,10,32,32,32,32,125,44,10,32,32,32,32,34,109,101,116,104,111,100,115,34,58,32,123,10,32,34,117,110,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,102,97,108,115,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,79,75,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,116,114,117,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,125,10,32,32,32,32,125,10,32,32,125,10,125 | 123,10,32,32,32,32,32,32,32,32,34,84,111,100,111,82,111,111,116,69,110,116,105,116,121,34,58,32,34,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,44,69,105,116,104,101,114,44,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,84,111,100,111,80,114,111,112,115,32,125,32,102,114,111,109,32,39,46,47,84,111,100,111,80,114,111,112,115,39,59,101,120,112,111,114,116,32,99,108,97,115,115,32,84,111,100,111,82,111,111,116,69,110,116,105,116,121,32,101,120,116,101,110,100,115,32,68,111,109,97,105,110,46,65,103,103,114,101,103,97,116,101,60,84,111,100,111,80,114,111,112,115,62,32,123,32,112,114,105,118,97,116,101,32,99,111,110,115,116,114,117,99,116,111,114,40,112,114,111,112,115,58,32,84,111,100,111,80,114,111,112,115,41,32,123,32,115,117,112,101,114,40,112,114,111,112,115,44,32,112,114,111,112,115,46,105,100,41,59,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,32,61,32,102,97,108,115,101,59,32,125,32,112,117,98,108,105,99,32,115,116,97,116,105,99,32,99,114,101,97,116,101,40,112,114,111,112,115,58,32,84,111,100,111,80,114,111,112,115,41,58,32,69,105,116,104,101,114,60,84,111,100,111,82,111,111,116,69,110,116,105,116,121,44,32,110,101,118,101,114,62,32,123,32,114,101,116,117,114,110,32,111,107,40,110,101,119,32,84,111,100,111,82,111,111,116,69,110,116,105,116,121,40,112,114,111,112,115,41,41,59,32,125,32,32,103,101,116,32,105,100,40,41,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,95,105,100,59,32,125,32,103,101,116,32,99,111,109,112,108,101,116,101,100,40,41,58,98,111,111,108,101,97,110,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,59,32,125,32,112,117,98,108,105,99,32,117,110,99,111,109,112,108,101,116,101,40,41,58,69,105,116,104,101,114,60,118,111,105,100,44,32,110,101,118,101,114,62,32,123,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,32,61,32,102,97,108,115,101,59,114,101,116,117,114,110,32,111,107,40,41,59,125,32,112,117,98,108,105,99,32,99,111,109,112,108,101,116,101,40,41,58,32,69,105,116,104,101,114,60,98,111,111,108,101,97,110,44,32,110,101,118,101,114,62,32,123,32,114,101,116,117,114,110,32,116,114,117,101,59,32,125,32,125,34,10,125,10 | 123,10,32,32,34,84,111,100,111,80,114,111,112,115,34,58,123,10,32,32,32,32,34,118,97,114,105,97,98,108,101,115,34,58,91,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,44,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,85,85,73,68,118,52,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,105,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,93,10,125,125 | 105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,101,120,112,111,114,116,32,105,110,116,101,114,102,97,99,101,32,84,111,100,111,80,114,111,112,115,32,123,32,99,111,109,112,108,101,116,101,100,58,32,98,111,111,108,101,97,110,59,32,105,100,58,32,85,85,73,68,118,52,59,32,125 | @bitloops-auto-generated | + | 123,10,32,32,34,84,111,100,111,82,111,111,116,69,110,116,105,116,121,34,58,32,123,10,32,32,32,32,34,99,111,110,115,116,97,110,116,86,97,114,115,34,58,32,91,93,44,10,32,32,32,32,34,99,114,101,97,116,101,34,58,32,123,10,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,121,34,58,32,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,84,111,100,111,80,114,111,112,115,34,44,10,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,112,114,111,112,115,34,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,84,111,100,111,82,111,111,116,69,110,116,105,116,121,34,44,10,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,102,97,108,115,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,79,75,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,84,111,100,111,82,111,111,116,69,110,116,105,116,121,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,84,111,100,111,82,111,111,116,69,110,116,105,116,121,40,116,104,105,115,46,112,114,111,112,115,41,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,93,10,32,32,32,32,125,44,10,32,32,32,32,34,109,101,116,104,111,100,115,34,58,32,123,10,32,32,32,32,32,32,34,117,110,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,102,97,108,115,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,79,75,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,116,114,117,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,125,10,32,32,32,32,125,10,32,32,125,10,125 | 123,10,32,32,32,32,32,32,32,32,34,84,111,100,111,82,111,111,116,69,110,116,105,116,121,34,58,32,34,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,44,69,105,116,104,101,114,44,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,84,111,100,111,80,114,111,112,115,32,125,32,102,114,111,109,32,39,46,47,84,111,100,111,80,114,111,112,115,39,59,101,120,112,111,114,116,32,99,108,97,115,115,32,84,111,100,111,82,111,111,116,69,110,116,105,116,121,32,101,120,116,101,110,100,115,32,68,111,109,97,105,110,46,65,103,103,114,101,103,97,116,101,60,84,111,100,111,80,114,111,112,115,62,32,123,32,112,114,105,118,97,116,101,32,99,111,110,115,116,114,117,99,116,111,114,40,112,114,111,112,115,58,32,84,111,100,111,80,114,111,112,115,41,32,123,32,115,117,112,101,114,40,112,114,111,112,115,44,32,112,114,111,112,115,46,105,100,41,59,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,32,61,32,102,97,108,115,101,59,32,32,114,101,116,117,114,110,32,84,111,100,111,80,114,111,112,115,40,116,104,105,115,46,112,114,111,112,115,41,59,125,32,112,117,98,108,105,99,32,115,116,97,116,105,99,32,99,114,101,97,116,101,40,112,114,111,112,115,58,32,84,111,100,111,80,114,111,112,115,41,58,32,69,105,116,104,101,114,60,84,111,100,111,82,111,111,116,69,110,116,105,116,121,44,32,110,101,118,101,114,62,32,123,32,114,101,116,117,114,110,32,111,107,40,110,101,119,32,84,111,100,111,82,111,111,116,69,110,116,105,116,121,40,112,114,111,112,115,41,41,59,32,125,32,32,103,101,116,32,105,100,40,41,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,95,105,100,59,32,125,32,103,101,116,32,99,111,109,112,108,101,116,101,100,40,41,58,98,111,111,108,101,97,110,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,59,32,125,32,112,117,98,108,105,99,32,117,110,99,111,109,112,108,101,116,101,40,41,58,69,105,116,104,101,114,60,118,111,105,100,44,32,110,101,118,101,114,62,32,123,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,32,61,32,102,97,108,115,101,59,114,101,116,117,114,110,32,111,107,40,41,59,125,32,112,117,98,108,105,99,32,99,111,109,112,108,101,116,101,40,41,58,32,69,105,116,104,101,114,60,98,111,111,108,101,97,110,44,32,110,101,118,101,114,62,32,123,32,114,101,116,117,114,110,32,116,114,117,101,59,32,125,32,125,34,10,125,10 | 123,10,32,32,34,84,111,100,111,80,114,111,112,115,34,58,123,10,32,32,32,32,34,118,97,114,105,97,98,108,101,115,34,58,91,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,44,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,85,85,73,68,118,52,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,105,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,93,10,125,125 | 105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,101,120,112,111,114,116,32,105,110,116,101,114,102,97,99,101,32,84,111,100,111,80,114,111,112,115,32,123,32,99,111,109,112,108,101,116,101,100,58,32,98,111,111,108,101,97,110,59,32,105,100,58,32,85,85,73,68,118,52,59,32,125 | @bitloops-auto-generated | \ No newline at end of file diff --git a/transpiler/__tests__/target/typescript/core/entity.feature b/transpiler/__tests__/target/typescript/core/entity.feature index 3ad3acc4c..950ee6259 100644 --- a/transpiler/__tests__/target/typescript/core/entity.feature +++ b/transpiler/__tests__/target/typescript/core/entity.feature @@ -11,11 +11,11 @@ Feature: Entity to Typescript target language # Examples: # @bitloops-auto-generated # | entities | outputEntities | props | outputProps | @bitloops-auto-generated | - # | { "TodoEntity": { "create": { "parameterDependency": { "type": "TodoProps", "value": "props" }, "returnType": { "ok": "TodoEntity", "errors": [ "DomainErrors.InvalidTitleError" ] }, "statements": [ { "constDeclaration": { "name": "id", "expression": { "evaluation": { "regularEvaluation": { "type": "int32", "value": "7" } } } } } ] }, "methods": { "isValidName": { "privateMethod": { "parameterDependencies": [ { "type": "string", "value": "name" } ], "returnType": "bool", "statements": [ { "return": { "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "true" } } } } } ] } }, "complete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "TodoEntity", "errors": [] }, "statements": [ { "return": { "expression": { "evaluation": { "regularEvaluation": { "type": "string", "value": "hey" } } } } } ] } } } } } | {"TodoEntity":"import { Domain } from '@bitloops/bl-boilerplate-core';import { Either } from '@bitloops/bl-boilerplate-core';import { ok } from '@bitloops/bl-boilerplate-core';import { TodoProps } from './TodoProps';import { DomainErrors } from './errors/index';export class TodoEntity extends Domain.Entity {private constructor(props: TodoProps) {super(props, props.id); } public static create(props:TodoProps): Either { const id = 7; return ok(new TodoEntity(props));} get id() { return this._id; } get completed(): boolean {return this.props.completed;} private isValidName(name: string): boolean { return true;} public complete(): Either {return 'hey';}}"} | { "TodoProps":{ "variables":[{ "type":"bool", "name":"completed", "optional":false },{ "type":"UUIDv4", "name":"id", "optional":false }] }} | import { Domain } from '@bitloops/bl-boilerplate-core';export interface TodoProps { completed: boolean; id: UUIDv4; } | @bitloops-auto-generated | - # | { "TodoEntity": { "create": { "parameterDependency": { "type": "TodoProps", "value": "props" }, "returnType": { "ok": "TodoEntity", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.completed", "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "false" } } } } } ] }, "methods": { "uncomplete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "void", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.completed", "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "false" } } } } }, { "returnOK": { "expression": { "evaluation": { "regularEvaluation": { "type": "void", "value": "" } } } } } ] } }, "complete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "bool", "errors": [] }, "statements": [ { "returnOK": { "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "argumentDependencies": [], "value": "true" } } } } } ] } } } } } | {"TodoEntity":"import { Domain } from '@bitloops/bl-boilerplate-core';import { Either } from '@bitloops/bl-boilerplate-core';import { ok } from '@bitloops/bl-boilerplate-core';import { TodoProps } from './TodoProps';export class TodoEntity extends Domain.Entity { private constructor(props: TodoProps) { super(props, props.id); this.props.completed = false;} public static create(props:TodoProps): Either { return ok(new TodoEntity(props)); } get id() {return this._id;} get completed(): boolean { return this.props.completed;} public uncomplete():Either {this.props.completed = false;return ok();}public complete(): Either { return ok(true); }}"} | { "TodoProps":{ "variables":[{ "type":"bool", "name":"completed", "optional":false }] }} | export interface TodoProps { completed: boolean; } | @bitloops-auto-generated | + # | { "TodoEntity": { "create": { "parameterDependency": { "type": "TodoProps", "value": "props" }, "returnType": { "ok": "TodoEntity", "errors": [ "DomainErrors.InvalidTitleError" ] }, "statements": [ { "constDeclaration": { "name": "id", "expression": { "evaluation": { "regularEvaluation": { "type": "int32", "value": "7" } } } } } ] }, "methods": { "isValidName": { "privateMethod": { "parameterDependencies": [ { "type": "string", "value": "name" } ], "returnType": "bool", "statements": [ { "return": { "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "true" } } } } } ] } }, "complete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "TodoEntity", "errors": [] }, "statements": [ { "return": { "expression": { "evaluation": { "regularEvaluation": { "type": "string", "value": "hey" } } } } } ] } } } } } | {"TodoEntity":"import { Domain,Either,ok } from '@bitloops/bl-boilerplate-core';import { TodoProps } from './TodoProps';import { DomainErrors } from './errors/index';export class TodoEntity extends Domain.Entity {private constructor(props: TodoProps) {super(props, props.id); } public static create(props:TodoProps): Either { const id = 7; return ok(new TodoEntity(props));} get id() { return this._id; } get completed(): boolean {return this.props.completed;} private isValidName(name: string): boolean { return true;} public complete(): Either {return 'hey';}}"} | { "TodoProps":{ "variables":[{ "type":"bool", "name":"completed", "optional":false },{ "type":"UUIDv4", "name":"id", "optional":false }] }} | import { Domain } from '@bitloops/bl-boilerplate-core';export interface TodoProps { completed: boolean; id: UUIDv4; } | @bitloops-auto-generated | + # | { "TodoEntity": { "create": { "parameterDependency": { "type": "TodoProps", "value": "props" }, "returnType": { "ok": "TodoEntity", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.completed", "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "false" } } } } } ] }, "methods": { "uncomplete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "void", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.completed", "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "value": "false" } } } } }, { "returnOK": { "expression": { "evaluation": { "regularEvaluation": { "type": "void", "value": "" } } } } } ] } }, "complete": { "publicMethod": { "parameterDependencies": [], "returnType": { "ok": "bool", "errors": [] }, "statements": [ { "returnOK": { "expression": { "evaluation": { "regularEvaluation": { "type": "bool", "argumentDependencies": [], "value": "true" } } } } } ] } } } } } | {"TodoEntity":"import { Domain,Either,ok } from '@bitloops/bl-boilerplate-core';import { TodoProps } from './TodoProps';export class TodoEntity extends Domain.Entity { private constructor(props: TodoProps) { super(props, props.id); this.props.completed = false;} public static create(props:TodoProps): Either { return ok(new TodoEntity(props)); } get id() {return this._id;} get completed(): boolean { return this.props.completed;} public uncomplete():Either {this.props.completed = false;return ok();}public complete(): Either { return ok(true); }}"} | { "TodoProps":{ "variables":[{ "type":"bool", "name":"completed", "optional":false }] }} | export interface TodoProps { completed: boolean; } | @bitloops-auto-generated | Examples: # @bitloops-auto-generated | entities | outputEntities | props | outputProps | @bitloops-auto-generated | - | 123,10,32,32,32,32,34,84,111,100,111,69,110,116,105,116,121,34,58,32,123,10,32,32,32,32,32,32,34,99,114,101,97,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,121,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,84,111,100,111,80,114,111,112,115,34,44,10,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,112,114,111,112,115,34,10,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,84,111,100,111,69,110,116,105,116,121,34,44,10,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,34,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,84,105,116,108,101,69,114,114,111,114,34,10,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,99,111,110,115,116,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,105,110,116,51,50,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,55,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,109,101,116,104,111,100,115,34,58,32,123,10,32,32,32,32,32,32,32,32,34,105,115,86,97,108,105,100,78,97,109,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,114,105,118,97,116,101,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,97,109,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,116,114,117,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,34,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,84,111,100,111,69,110,116,105,116,121,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,104,101,121,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,125,10,32,32,32,32,125,10,125 | 123,34,84,111,100,111,69,110,116,105,116,121,34,58,34,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,105,116,104,101,114,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,84,111,100,111,80,114,111,112,115,32,125,32,102,114,111,109,32,39,46,47,84,111,100,111,80,114,111,112,115,39,59,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,69,114,114,111,114,115,32,125,32,102,114,111,109,32,39,46,47,101,114,114,111,114,115,47,105,110,100,101,120,39,59,101,120,112,111,114,116,32,99,108,97,115,115,32,84,111,100,111,69,110,116,105,116,121,32,101,120,116,101,110,100,115,32,68,111,109,97,105,110,46,69,110,116,105,116,121,60,84,111,100,111,80,114,111,112,115,62,32,123,112,114,105,118,97,116,101,32,99,111,110,115,116,114,117,99,116,111,114,40,112,114,111,112,115,58,32,84,111,100,111,80,114,111,112,115,41,32,123,115,117,112,101,114,40,112,114,111,112,115,44,32,112,114,111,112,115,46,105,100,41,59,32,125,32,112,117,98,108,105,99,32,115,116,97,116,105,99,32,99,114,101,97,116,101,40,112,114,111,112,115,58,84,111,100,111,80,114,111,112,115,41,58,32,69,105,116,104,101,114,60,84,111,100,111,69,110,116,105,116,121,44,32,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,84,105,116,108,101,69,114,114,111,114,62,32,123,32,99,111,110,115,116,32,105,100,32,61,32,55,59,32,114,101,116,117,114,110,32,111,107,40,110,101,119,32,84,111,100,111,69,110,116,105,116,121,40,112,114,111,112,115,41,41,59,125,32,103,101,116,32,105,100,40,41,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,95,105,100,59,32,125,32,103,101,116,32,99,111,109,112,108,101,116,101,100,40,41,58,32,98,111,111,108,101,97,110,32,123,114,101,116,117,114,110,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,59,125,32,112,114,105,118,97,116,101,32,105,115,86,97,108,105,100,78,97,109,101,40,110,97,109,101,58,32,115,116,114,105,110,103,41,58,32,98,111,111,108,101,97,110,32,123,32,114,101,116,117,114,110,32,116,114,117,101,59,125,32,112,117,98,108,105,99,32,99,111,109,112,108,101,116,101,40,41,58,32,69,105,116,104,101,114,60,84,111,100,111,69,110,116,105,116,121,44,32,110,101,118,101,114,62,32,123,114,101,116,117,114,110,32,39,104,101,121,39,59,125,125,34,125 | 123,10,32,32,34,84,111,100,111,80,114,111,112,115,34,58,123,10,32,32,32,32,34,118,97,114,105,97,98,108,101,115,34,58,91,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,44,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,85,85,73,68,118,52,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,105,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,93,10,125,125 | 105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,101,120,112,111,114,116,32,105,110,116,101,114,102,97,99,101,32,84,111,100,111,80,114,111,112,115,32,123,32,99,111,109,112,108,101,116,101,100,58,32,98,111,111,108,101,97,110,59,32,105,100,58,32,85,85,73,68,118,52,59,32,125 | @bitloops-auto-generated | - | 123,10,32,32,34,84,111,100,111,69,110,116,105,116,121,34,58,32,123,10,32,32,32,32,34,99,114,101,97,116,101,34,58,32,123,10,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,121,34,58,32,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,84,111,100,111,80,114,111,112,115,34,44,10,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,112,114,111,112,115,34,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,84,111,100,111,69,110,116,105,116,121,34,44,10,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,102,97,108,115,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,93,10,32,32,32,32,125,44,10,32,32,32,32,34,109,101,116,104,111,100,115,34,58,32,123,10,32,32,32,32,32,32,32,32,34,117,110,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,102,97,108,115,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,79,75,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,79,75,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,97,114,103,117,109,101,110,116,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,116,114,117,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,125,10,32,32,32,32,125,10,32,32,125,10,125 | 123,34,84,111,100,111,69,110,116,105,116,121,34,58,34,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,105,116,104,101,114,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,84,111,100,111,80,114,111,112,115,32,125,32,102,114,111,109,32,39,46,47,84,111,100,111,80,114,111,112,115,39,59,101,120,112,111,114,116,32,99,108,97,115,115,32,84,111,100,111,69,110,116,105,116,121,32,101,120,116,101,110,100,115,32,68,111,109,97,105,110,46,69,110,116,105,116,121,60,84,111,100,111,80,114,111,112,115,62,32,123,32,32,112,114,105,118,97,116,101,32,99,111,110,115,116,114,117,99,116,111,114,40,112,114,111,112,115,58,32,84,111,100,111,80,114,111,112,115,41,32,123,32,115,117,112,101,114,40,112,114,111,112,115,44,32,112,114,111,112,115,46,105,100,41,59,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,32,61,32,102,97,108,115,101,59,125,32,32,112,117,98,108,105,99,32,115,116,97,116,105,99,32,99,114,101,97,116,101,40,112,114,111,112,115,58,84,111,100,111,80,114,111,112,115,41,58,32,69,105,116,104,101,114,60,84,111,100,111,69,110,116,105,116,121,44,32,110,101,118,101,114,62,32,123,32,32,32,32,114,101,116,117,114,110,32,111,107,40,110,101,119,32,84,111,100,111,69,110,116,105,116,121,40,112,114,111,112,115,41,41,59,32,32,125,32,103,101,116,32,105,100,40,41,32,123,114,101,116,117,114,110,32,116,104,105,115,46,95,105,100,59,125,32,103,101,116,32,99,111,109,112,108,101,116,101,100,40,41,58,32,98,111,111,108,101,97,110,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,59,125,32,112,117,98,108,105,99,32,117,110,99,111,109,112,108,101,116,101,40,41,58,69,105,116,104,101,114,60,118,111,105,100,44,32,110,101,118,101,114,62,32,123,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,32,61,32,102,97,108,115,101,59,114,101,116,117,114,110,32,111,107,40,41,59,125,112,117,98,108,105,99,32,99,111,109,112,108,101,116,101,40,41,58,32,69,105,116,104,101,114,60,98,111,111,108,101,97,110,44,32,110,101,118,101,114,62,32,123,32,32,32,32,114,101,116,117,114,110,32,111,107,40,116,114,117,101,41,59,32,32,125,125,34,125 | 123,10,32,32,34,84,111,100,111,80,114,111,112,115,34,58,123,10,32,32,32,32,34,118,97,114,105,97,98,108,101,115,34,58,91,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,93,10,125,125 | 101,120,112,111,114,116,32,105,110,116,101,114,102,97,99,101,32,84,111,100,111,80,114,111,112,115,32,123,32,99,111,109,112,108,101,116,101,100,58,32,98,111,111,108,101,97,110,59,32,125 | @bitloops-auto-generated | + | 123,10,32,32,32,32,34,84,111,100,111,69,110,116,105,116,121,34,58,32,123,10,32,32,32,32,32,32,34,99,114,101,97,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,121,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,84,111,100,111,80,114,111,112,115,34,44,10,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,112,114,111,112,115,34,10,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,84,111,100,111,69,110,116,105,116,121,34,44,10,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,34,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,84,105,116,108,101,69,114,114,111,114,34,10,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,99,111,110,115,116,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,105,110,116,51,50,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,55,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,109,101,116,104,111,100,115,34,58,32,123,10,32,32,32,32,32,32,32,32,34,105,115,86,97,108,105,100,78,97,109,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,114,105,118,97,116,101,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,97,109,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,116,114,117,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,34,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,84,111,100,111,69,110,116,105,116,121,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,104,101,121,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,125,10,32,32,32,32,125,10,125 | 123,34,84,111,100,111,69,110,116,105,116,121,34,58,34,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,44,69,105,116,104,101,114,44,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,84,111,100,111,80,114,111,112,115,32,125,32,102,114,111,109,32,39,46,47,84,111,100,111,80,114,111,112,115,39,59,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,69,114,114,111,114,115,32,125,32,102,114,111,109,32,39,46,47,101,114,114,111,114,115,47,105,110,100,101,120,39,59,101,120,112,111,114,116,32,99,108,97,115,115,32,84,111,100,111,69,110,116,105,116,121,32,101,120,116,101,110,100,115,32,68,111,109,97,105,110,46,69,110,116,105,116,121,60,84,111,100,111,80,114,111,112,115,62,32,123,112,114,105,118,97,116,101,32,99,111,110,115,116,114,117,99,116,111,114,40,112,114,111,112,115,58,32,84,111,100,111,80,114,111,112,115,41,32,123,115,117,112,101,114,40,112,114,111,112,115,44,32,112,114,111,112,115,46,105,100,41,59,32,125,32,112,117,98,108,105,99,32,115,116,97,116,105,99,32,99,114,101,97,116,101,40,112,114,111,112,115,58,84,111,100,111,80,114,111,112,115,41,58,32,69,105,116,104,101,114,60,84,111,100,111,69,110,116,105,116,121,44,32,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,84,105,116,108,101,69,114,114,111,114,62,32,123,32,99,111,110,115,116,32,105,100,32,61,32,55,59,32,114,101,116,117,114,110,32,111,107,40,110,101,119,32,84,111,100,111,69,110,116,105,116,121,40,112,114,111,112,115,41,41,59,125,32,103,101,116,32,105,100,40,41,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,95,105,100,59,32,125,32,103,101,116,32,99,111,109,112,108,101,116,101,100,40,41,58,32,98,111,111,108,101,97,110,32,123,114,101,116,117,114,110,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,59,125,32,112,114,105,118,97,116,101,32,105,115,86,97,108,105,100,78,97,109,101,40,110,97,109,101,58,32,115,116,114,105,110,103,41,58,32,98,111,111,108,101,97,110,32,123,32,114,101,116,117,114,110,32,116,114,117,101,59,125,32,112,117,98,108,105,99,32,99,111,109,112,108,101,116,101,40,41,58,32,69,105,116,104,101,114,60,84,111,100,111,69,110,116,105,116,121,44,32,110,101,118,101,114,62,32,123,114,101,116,117,114,110,32,39,104,101,121,39,59,125,125,34,125 | 123,10,32,32,34,84,111,100,111,80,114,111,112,115,34,58,123,10,32,32,32,32,34,118,97,114,105,97,98,108,101,115,34,58,91,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,44,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,85,85,73,68,118,52,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,105,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,93,10,125,125 | 105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,101,120,112,111,114,116,32,105,110,116,101,114,102,97,99,101,32,84,111,100,111,80,114,111,112,115,32,123,32,99,111,109,112,108,101,116,101,100,58,32,98,111,111,108,101,97,110,59,32,105,100,58,32,85,85,73,68,118,52,59,32,125 | @bitloops-auto-generated | + | 123,10,32,32,34,84,111,100,111,69,110,116,105,116,121,34,58,32,123,10,32,32,32,32,34,99,114,101,97,116,101,34,58,32,123,10,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,121,34,58,32,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,84,111,100,111,80,114,111,112,115,34,44,10,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,112,114,111,112,115,34,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,84,111,100,111,69,110,116,105,116,121,34,44,10,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,102,97,108,115,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,93,10,32,32,32,32,125,44,10,32,32,32,32,34,109,101,116,104,111,100,115,34,58,32,123,10,32,32,32,32,32,32,32,32,34,117,110,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,102,97,108,115,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,79,75,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,99,111,109,112,108,101,116,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,112,117,98,108,105,99,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,79,75,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,97,114,103,117,109,101,110,116,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,116,114,117,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,125,10,32,32,32,32,125,10,32,32,125,10,125 | 123,34,84,111,100,111,69,110,116,105,116,121,34,58,34,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,44,69,105,116,104,101,114,44,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,84,111,100,111,80,114,111,112,115,32,125,32,102,114,111,109,32,39,46,47,84,111,100,111,80,114,111,112,115,39,59,101,120,112,111,114,116,32,99,108,97,115,115,32,84,111,100,111,69,110,116,105,116,121,32,101,120,116,101,110,100,115,32,68,111,109,97,105,110,46,69,110,116,105,116,121,60,84,111,100,111,80,114,111,112,115,62,32,123,32,32,112,114,105,118,97,116,101,32,99,111,110,115,116,114,117,99,116,111,114,40,112,114,111,112,115,58,32,84,111,100,111,80,114,111,112,115,41,32,123,32,115,117,112,101,114,40,112,114,111,112,115,44,32,112,114,111,112,115,46,105,100,41,59,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,32,61,32,102,97,108,115,101,59,125,32,32,112,117,98,108,105,99,32,115,116,97,116,105,99,32,99,114,101,97,116,101,40,112,114,111,112,115,58,84,111,100,111,80,114,111,112,115,41,58,32,69,105,116,104,101,114,60,84,111,100,111,69,110,116,105,116,121,44,32,110,101,118,101,114,62,32,123,32,32,32,32,114,101,116,117,114,110,32,111,107,40,110,101,119,32,84,111,100,111,69,110,116,105,116,121,40,112,114,111,112,115,41,41,59,32,32,125,32,103,101,116,32,105,100,40,41,32,123,114,101,116,117,114,110,32,116,104,105,115,46,95,105,100,59,125,32,103,101,116,32,99,111,109,112,108,101,116,101,100,40,41,58,32,98,111,111,108,101,97,110,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,59,125,32,112,117,98,108,105,99,32,117,110,99,111,109,112,108,101,116,101,40,41,58,69,105,116,104,101,114,60,118,111,105,100,44,32,110,101,118,101,114,62,32,123,116,104,105,115,46,112,114,111,112,115,46,99,111,109,112,108,101,116,101,100,32,61,32,102,97,108,115,101,59,114,101,116,117,114,110,32,111,107,40,41,59,125,112,117,98,108,105,99,32,99,111,109,112,108,101,116,101,40,41,58,32,69,105,116,104,101,114,60,98,111,111,108,101,97,110,44,32,110,101,118,101,114,62,32,123,32,32,32,32,114,101,116,117,114,110,32,111,107,40,116,114,117,101,41,59,32,32,125,125,34,125 | 123,10,32,32,34,84,111,100,111,80,114,111,112,115,34,58,123,10,32,32,32,32,34,118,97,114,105,97,98,108,101,115,34,58,91,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,34,99,111,109,112,108,101,116,101,100,34,44,10,32,32,32,32,32,32,32,32,34,111,112,116,105,111,110,97,108,34,58,102,97,108,115,101,10,32,32,32,32,125,93,10,125,125 | 101,120,112,111,114,116,32,105,110,116,101,114,102,97,99,101,32,84,111,100,111,80,114,111,112,115,32,123,32,99,111,109,112,108,101,116,101,100,58,32,98,111,111,108,101,97,110,59,32,125 | @bitloops-auto-generated | \ No newline at end of file diff --git a/transpiler/__tests__/target/typescript/core/useCase.feature b/transpiler/__tests__/target/typescript/core/useCase.feature index c38fa4913..a3e4b1782 100644 --- a/transpiler/__tests__/target/typescript/core/useCase.feature +++ b/transpiler/__tests__/target/typescript/core/useCase.feature @@ -11,15 +11,15 @@ Feature: UseCase to Typescript target language # Examples: # @bitloops-auto-generated # | useCase | output | @bitloops-auto-generated | - # | {"HelloWorldUseCase":{"parameterDependencies":[],"returnTypes":{"ok":"HelloWorldResponseDTO","errors":["HelloWorldErrors.InvalidName"]},"execute":{"parameterDependencies":[{"value":"helloWorldRequestDTO","type":"HelloWorldRequestDTO"}],"statements":[{"constDecomposition":{"names":["name"],"evaluation":{"regularEvaluation":{"type":"variable","value":"helloWorldRequestDTO"}}}}]}},"ExampleUseCase":{"parameterDependencies":[],"returnTypes":{"ok":"ExampleResponseDTO","errors":["ExampleErrors.InvalidName"]},"execute":{"parameterDependencies":[{"value":"exampleRequestDTO","type":"ExampleRequestDTO"}],"statements":[{"constDecomposition":{"names":["name"],"evaluation":{"regularEvaluation":{"type":"variable","value":"exampleRequestDTO"}}}}]}}} | {"HelloWorldUseCase":"import { Application } from '@bitloops/bl-boilerplate-core';import { Either } from '@bitloops/bl-boilerplate-core';import { ok } from '@bitloops/bl-boilerplate-core';import { HelloWorldResponseDTO } from '../dtos/HelloWorldResponseDTO';import { HelloWorldRequestDTO } from '../dtos/HelloWorldRequestDTO';type HelloWorldUseCaseResponse = Either;export class HelloWorldUseCase implements Application.IUseCase> {async execute(helloWorldRequestDTO:HelloWorldRequestDTO): Promise {const { name } = helloWorldRequestDTO;}}","ExampleUseCase":"import { Application } from '@bitloops/bl-boilerplate-core';import { Either } from '@bitloops/bl-boilerplate-core';import { ok } from '@bitloops/bl-boilerplate-core';import { ExampleResponseDTO } from '../dtos/ExampleResponseDTO';import { ExampleRequestDTO } from '../dtos/ExampleRequestDTO';type ExampleUseCaseResponse = Either;export class ExampleUseCase implements Application.IUseCase> {async execute(exampleRequestDTO:ExampleRequestDTO): Promise {const { name } = exampleRequestDTO;}}"} | @bitloops-auto-generated | - # | {"HelloWorldUseCase":{"parameterDependencies":[],"returnTypes":{"ok":"HelloWorldResponseDTO","errors":[]},"execute":{"parameterDependencies":[],"statements":[{"returnOK":{"expression":{"evaluation":{"dto":{"fields":[{"name":"message","expression":{"evaluation":{"regularEvaluation":{"type":"string","value":"Hello, World!"}}}}],"name":"HelloWorldResponseDTO"}}}}}]}}} | {"HelloWorldUseCase":"import { Application } from '@bitloops/bl-boilerplate-core';import { Either } from '@bitloops/bl-boilerplate-core';import { ok } from '@bitloops/bl-boilerplate-core';import { HelloWorldResponseDTO } from '../dtos/HelloWorldResponseDTO';type HelloWorldUseCaseResponse = Either;export class HelloWorldUseCase implements Application.IUseCase> {async execute(): Promise {return ok({message:'Hello, World!'});}}"} | @bitloops-auto-generated | - # | {"CreateTodoUseCase":{"parameterDependencies":[],"returnTypes":{"ok":"CreateTodoResponseDTO","errors":[]},"execute":{"parameterDependencies":[],"statements":[{"constDeclaration":{"expression":{"evaluation":{"valueObject":{"name":"TitleVO","props":[{"expression":{"evaluation":{"regularEvaluation":{"type":"variable","value":"requestDTO.title"}}},"name":"title"}]}}},"name":"title"}},{"constDeclaration":{"expression":{"evaluation":{"entity":{"name":"TodoEntity","props":[{"expression":{"evaluation":{"regularEvaluation":{"type":"variable","value":"title"}}},"name":"title"},{"expression":{"evaluation":{"regularEvaluation":{"type":"bool","value":"false"}}},"name":"completed"}]}}},"name":"todo"}},{"returnOK":{"expression":{"evaluation":{"dto":{"fields":[{"name":"message","expression":{"evaluation":{"regularEvaluation":{"type":"string","value":"Todo created!"}}}}],"name":"CreateTodoResponseDTO"}}}}}]}}} | {"CreateTodoUseCase":"import { Application } from '@bitloops/bl-boilerplate-core';import { Either } from '@bitloops/bl-boilerplate-core';import { ok } from '@bitloops/bl-boilerplate-core';import { CreateTodoResponseDTO } from '../dtos/CreateTodoResponseDTO';import { TitleVO } from '../domain/TitleVO';import { TodoEntity } from '../domain/TodoEntity';type CreateTodoUseCaseResponse = Either;export class CreateTodoUseCase implements Application.IUseCase> {async execute(): Promise {const title = TitleVO.create({title:requestDTO.title});if (!title.isFail()) { const todo = TodoEntity.create({title:title,completed:false});if (!todo.isFail()) { return ok({message:'Todo created!'});} else { return fail(todo.value) }} else { return fail(title.value) }}}"} | @bitloops-auto-generated | - # | {"CreateTodoUseCase":{"parameterDependencies":[],"returnTypes":{"ok":"void","errors":[]},"execute":{"parameterDependencies":[],"statements":[{"constDeclaration":{"expression":{"evaluation":{"valueObject":{"name":"TitleVO","props":[{"expression":{"evaluation":{"regularEvaluation":{"type":"variable","value":"requestDTO.title"}}},"name":"title"}]}}},"name":"title"}},{"constDeclaration":{"expression":{"evaluation":{"entity":{"name":"TodoEntity","props":[{"expression":{"evaluation":{"regularEvaluation":{"type":"variable","value":"title"}}},"name":"title"},{"expression":{"evaluation":{"regularEvaluation":{"type":"bool","value":"false"}}},"name":"completed"}]}}},"name":"todo"}},{"returnOK":{"expression":{"evaluation":{"regularEvaluation":{"type":"void","value":""}}}}}]}}} | {"CreateTodoUseCase":"import { Application } from '@bitloops/bl-boilerplate-core';import { Either } from '@bitloops/bl-boilerplate-core';import { ok } from '@bitloops/bl-boilerplate-core';import { TitleVO } from '../domain/TitleVO';import { TodoEntity } from '../domain/TodoEntity';type CreateTodoUseCaseResponse = Either;export class CreateTodoUseCase implements Application.IUseCase> {async execute(): Promise {const title = TitleVO.create({title:requestDTO.title});if (!title.isFail()) { const todo = TodoEntity.create({title:title,completed:false});if (!todo.isFail()) { return ok();} else { return fail(todo.value) }} else { return fail(title.value) }}}"} | @bitloops-auto-generated | + # | {"HelloWorldUseCase":{"parameterDependencies":[],"returnTypes":{"ok":"HelloWorldResponseDTO","errors":["HelloWorldErrors.InvalidName"]},"execute":{"parameterDependencies":[{"value":"helloWorldRequestDTO","type":"HelloWorldRequestDTO"}],"statements":[{"constDecomposition":{"names":["name"],"evaluation":{"regularEvaluation":{"type":"variable","value":"helloWorldRequestDTO"}}}}]}},"ExampleUseCase":{"parameterDependencies":[],"returnTypes":{"ok":"ExampleResponseDTO","errors":["ExampleErrors.InvalidName"]},"execute":{"parameterDependencies":[{"value":"exampleRequestDTO","type":"ExampleRequestDTO"}],"statements":[{"constDecomposition":{"names":["name"],"evaluation":{"regularEvaluation":{"type":"variable","value":"exampleRequestDTO"}}}}]}}} | {"HelloWorldUseCase":"import { Application,Either,ok } from '@bitloops/bl-boilerplate-core';import { HelloWorldResponseDTO } from '../dtos/HelloWorldResponseDTO';import { HelloWorldRequestDTO } from '../dtos/HelloWorldRequestDTO';type HelloWorldUseCaseResponse = Either;export class HelloWorldUseCase implements Application.IUseCase> {async execute(helloWorldRequestDTO:HelloWorldRequestDTO): Promise {const { name } = helloWorldRequestDTO;}}","ExampleUseCase":"import { Application,Either,ok } from '@bitloops/bl-boilerplate-core';import { ExampleResponseDTO } from '../dtos/ExampleResponseDTO';import { ExampleRequestDTO } from '../dtos/ExampleRequestDTO';type ExampleUseCaseResponse = Either;export class ExampleUseCase implements Application.IUseCase> {async execute(exampleRequestDTO:ExampleRequestDTO): Promise {const { name } = exampleRequestDTO;}}"} | @bitloops-auto-generated | + # | {"HelloWorldUseCase":{"parameterDependencies":[],"returnTypes":{"ok":"HelloWorldResponseDTO","errors":[]},"execute":{"parameterDependencies":[],"statements":[{"returnOK":{"expression":{"evaluation":{"dto":{"fields":[{"name":"message","expression":{"evaluation":{"regularEvaluation":{"type":"string","value":"Hello, World!"}}}}],"name":"HelloWorldResponseDTO"}}}}}]}}} | {"HelloWorldUseCase":"import { Application,Either,ok } from '@bitloops/bl-boilerplate-core';import { HelloWorldResponseDTO } from '../dtos/HelloWorldResponseDTO';type HelloWorldUseCaseResponse = Either;export class HelloWorldUseCase implements Application.IUseCase> {async execute(): Promise {return ok({message:'Hello, World!'});}}"} | @bitloops-auto-generated | + # | {"CreateTodoUseCase":{"parameterDependencies":[],"returnTypes":{"ok":"CreateTodoResponseDTO","errors":[]},"execute":{"parameterDependencies":[],"statements":[{"constDeclaration":{"expression":{"evaluation":{"valueObject":{"name":"TitleVO","props":[{"expression":{"evaluation":{"regularEvaluation":{"type":"variable","value":"requestDTO.title"}}},"name":"title"}]}}},"name":"title"}},{"constDeclaration":{"expression":{"evaluation":{"entity":{"name":"TodoEntity","props":[{"expression":{"evaluation":{"regularEvaluation":{"type":"variable","value":"title"}}},"name":"title"},{"expression":{"evaluation":{"regularEvaluation":{"type":"bool","value":"false"}}},"name":"completed"}]}}},"name":"todo"}},{"returnOK":{"expression":{"evaluation":{"dto":{"fields":[{"name":"message","expression":{"evaluation":{"regularEvaluation":{"type":"string","value":"Todo created!"}}}}],"name":"CreateTodoResponseDTO"}}}}}]}}} | {"CreateTodoUseCase":"import { Application,Either,ok } from '@bitloops/bl-boilerplate-core';import { CreateTodoResponseDTO } from '../dtos/CreateTodoResponseDTO';import { TitleVO } from '../domain/TitleVO';import { TodoEntity } from '../domain/TodoEntity';type CreateTodoUseCaseResponse = Either;export class CreateTodoUseCase implements Application.IUseCase> {async execute(): Promise {const title = TitleVO.create({title:requestDTO.title});if (!title.isFail()) { const todo = TodoEntity.create({title:title,completed:false});if (!todo.isFail()) { return ok({message:'Todo created!'});} else { return fail(todo.value) }} else { return fail(title.value) }}}"} | @bitloops-auto-generated | + # | {"CreateTodoUseCase":{"parameterDependencies":[],"returnTypes":{"ok":"void","errors":[]},"execute":{"parameterDependencies":[],"statements":[{"constDeclaration":{"expression":{"evaluation":{"valueObject":{"name":"TitleVO","props":[{"expression":{"evaluation":{"regularEvaluation":{"type":"variable","value":"requestDTO.title"}}},"name":"title"}]}}},"name":"title"}},{"constDeclaration":{"expression":{"evaluation":{"entity":{"name":"TodoEntity","props":[{"expression":{"evaluation":{"regularEvaluation":{"type":"variable","value":"title"}}},"name":"title"},{"expression":{"evaluation":{"regularEvaluation":{"type":"bool","value":"false"}}},"name":"completed"}]}}},"name":"todo"}},{"returnOK":{"expression":{"evaluation":{"regularEvaluation":{"type":"void","value":""}}}}}]}}} | {"CreateTodoUseCase":"import { Application,Either,ok } from '@bitloops/bl-boilerplate-core';import { TitleVO } from '../domain/TitleVO';import { TodoEntity } from '../domain/TodoEntity';type CreateTodoUseCaseResponse = Either;export class CreateTodoUseCase implements Application.IUseCase> {async execute(): Promise {const title = TitleVO.create({title:requestDTO.title});if (!title.isFail()) { const todo = TodoEntity.create({title:title,completed:false});if (!todo.isFail()) { return ok();} else { return fail(todo.value) }} else { return fail(title.value) }}}"} | @bitloops-auto-generated | Examples: # @bitloops-auto-generated | useCase | output | @bitloops-auto-generated | - | 123,34,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,114,101,116,117,114,110,84,121,112,101,115,34,58,123,34,111,107,34,58,34,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,34,44,34,101,114,114,111,114,115,34,58,91,34,72,101,108,108,111,87,111,114,108,100,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,34,93,125,44,34,101,120,101,99,117,116,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,123,34,118,97,108,117,101,34,58,34,104,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,34,44,34,116,121,112,101,34,58,34,72,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,34,125,93,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,123,34,99,111,110,115,116,68,101,99,111,109,112,111,115,105,116,105,111,110,34,58,123,34,110,97,109,101,115,34,58,91,34,110,97,109,101,34,93,44,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,104,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,34,125,125,125,125,93,125,125,44,34,69,120,97,109,112,108,101,85,115,101,67,97,115,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,114,101,116,117,114,110,84,121,112,101,115,34,58,123,34,111,107,34,58,34,69,120,97,109,112,108,101,82,101,115,112,111,110,115,101,68,84,79,34,44,34,101,114,114,111,114,115,34,58,91,34,69,120,97,109,112,108,101,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,34,93,125,44,34,101,120,101,99,117,116,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,123,34,118,97,108,117,101,34,58,34,101,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,34,44,34,116,121,112,101,34,58,34,69,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,34,125,93,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,123,34,99,111,110,115,116,68,101,99,111,109,112,111,115,105,116,105,111,110,34,58,123,34,110,97,109,101,115,34,58,91,34,110,97,109,101,34,93,44,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,101,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,34,125,125,125,125,93,125,125,125 | 123,34,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,34,58,34,105,109,112,111,114,116,32,123,32,65,112,112,108,105,99,97,116,105,111,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,105,116,104,101,114,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,39,59,105,109,112,111,114,116,32,123,32,72,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,72,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,39,59,116,121,112,101,32,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,32,61,32,69,105,116,104,101,114,60,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,44,32,72,101,108,108,111,87,111,114,108,100,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,62,59,101,120,112,111,114,116,32,99,108,97,115,115,32,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,32,105,109,112,108,101,109,101,110,116,115,32,65,112,112,108,105,99,97,116,105,111,110,46,73,85,115,101,67,97,115,101,60,72,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,44,32,80,114,111,109,105,115,101,60,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,62,32,123,97,115,121,110,99,32,101,120,101,99,117,116,101,40,104,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,58,72,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,41,58,32,80,114,111,109,105,115,101,60,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,32,123,99,111,110,115,116,32,123,32,110,97,109,101,32,125,32,61,32,104,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,59,125,125,34,44,34,69,120,97,109,112,108,101,85,115,101,67,97,115,101,34,58,34,105,109,112,111,114,116,32,123,32,65,112,112,108,105,99,97,116,105,111,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,105,116,104,101,114,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,120,97,109,112,108,101,82,101,115,112,111,110,115,101,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,69,120,97,109,112,108,101,82,101,115,112,111,110,115,101,68,84,79,39,59,105,109,112,111,114,116,32,123,32,69,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,69,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,39,59,116,121,112,101,32,69,120,97,109,112,108,101,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,32,61,32,69,105,116,104,101,114,60,69,120,97,109,112,108,101,82,101,115,112,111,110,115,101,68,84,79,44,32,69,120,97,109,112,108,101,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,62,59,101,120,112,111,114,116,32,99,108,97,115,115,32,69,120,97,109,112,108,101,85,115,101,67,97,115,101,32,105,109,112,108,101,109,101,110,116,115,32,65,112,112,108,105,99,97,116,105,111,110,46,73,85,115,101,67,97,115,101,60,69,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,44,32,80,114,111,109,105,115,101,60,69,120,97,109,112,108,101,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,62,32,123,97,115,121,110,99,32,101,120,101,99,117,116,101,40,101,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,58,69,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,41,58,32,80,114,111,109,105,115,101,60,69,120,97,109,112,108,101,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,32,123,99,111,110,115,116,32,123,32,110,97,109,101,32,125,32,61,32,101,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,59,125,125,34,125 | @bitloops-auto-generated | - | 123,34,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,114,101,116,117,114,110,84,121,112,101,115,34,58,123,34,111,107,34,58,34,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,34,44,34,101,114,114,111,114,115,34,58,91,93,125,44,34,101,120,101,99,117,116,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,123,34,114,101,116,117,114,110,79,75,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,100,116,111,34,58,123,34,102,105,101,108,100,115,34,58,91,123,34,110,97,109,101,34,58,34,109,101,115,115,97,103,101,34,44,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,115,116,114,105,110,103,34,44,34,118,97,108,117,101,34,58,34,72,101,108,108,111,44,32,87,111,114,108,100,33,34,125,125,125,125,93,44,34,110,97,109,101,34,58,34,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,34,125,125,125,125,125,93,125,125,125 | 123,34,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,34,58,34,105,109,112,111,114,116,32,123,32,65,112,112,108,105,99,97,116,105,111,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,105,116,104,101,114,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,39,59,116,121,112,101,32,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,32,61,32,69,105,116,104,101,114,60,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,44,32,110,101,118,101,114,62,59,101,120,112,111,114,116,32,99,108,97,115,115,32,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,32,105,109,112,108,101,109,101,110,116,115,32,65,112,112,108,105,99,97,116,105,111,110,46,73,85,115,101,67,97,115,101,60,118,111,105,100,44,32,80,114,111,109,105,115,101,60,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,62,32,123,97,115,121,110,99,32,101,120,101,99,117,116,101,40,41,58,32,80,114,111,109,105,115,101,60,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,32,123,114,101,116,117,114,110,32,111,107,40,123,109,101,115,115,97,103,101,58,39,72,101,108,108,111,44,32,87,111,114,108,100,33,39,125,41,59,125,125,34,125 | @bitloops-auto-generated | - | 123,34,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,114,101,116,117,114,110,84,121,112,101,115,34,58,123,34,111,107,34,58,34,67,114,101,97,116,101,84,111,100,111,82,101,115,112,111,110,115,101,68,84,79,34,44,34,101,114,114,111,114,115,34,58,91,93,125,44,34,101,120,101,99,117,116,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,123,34,99,111,110,115,116,68,101,99,108,97,114,97,116,105,111,110,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,118,97,108,117,101,79,98,106,101,99,116,34,58,123,34,110,97,109,101,34,58,34,84,105,116,108,101,86,79,34,44,34,112,114,111,112,115,34,58,91,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,114,101,113,117,101,115,116,68,84,79,46,116,105,116,108,101,34,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,93,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,125,44,123,34,99,111,110,115,116,68,101,99,108,97,114,97,116,105,111,110,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,101,110,116,105,116,121,34,58,123,34,110,97,109,101,34,58,34,84,111,100,111,69,110,116,105,116,121,34,44,34,112,114,111,112,115,34,58,91,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,116,105,116,108,101,34,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,44,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,98,111,111,108,34,44,34,118,97,108,117,101,34,58,34,102,97,108,115,101,34,125,125,125,44,34,110,97,109,101,34,58,34,99,111,109,112,108,101,116,101,100,34,125,93,125,125,125,44,34,110,97,109,101,34,58,34,116,111,100,111,34,125,125,44,123,34,114,101,116,117,114,110,79,75,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,100,116,111,34,58,123,34,102,105,101,108,100,115,34,58,91,123,34,110,97,109,101,34,58,34,109,101,115,115,97,103,101,34,44,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,115,116,114,105,110,103,34,44,34,118,97,108,117,101,34,58,34,84,111,100,111,32,99,114,101,97,116,101,100,33,34,125,125,125,125,93,44,34,110,97,109,101,34,58,34,67,114,101,97,116,101,84,111,100,111,82,101,115,112,111,110,115,101,68,84,79,34,125,125,125,125,125,93,125,125,125 | 123,34,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,34,58,34,105,109,112,111,114,116,32,123,32,65,112,112,108,105,99,97,116,105,111,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,105,116,104,101,114,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,67,114,101,97,116,101,84,111,100,111,82,101,115,112,111,110,115,101,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,67,114,101,97,116,101,84,111,100,111,82,101,115,112,111,110,115,101,68,84,79,39,59,105,109,112,111,114,116,32,123,32,84,105,116,108,101,86,79,32,125,32,102,114,111,109,32,39,46,46,47,100,111,109,97,105,110,47,84,105,116,108,101,86,79,39,59,105,109,112,111,114,116,32,123,32,84,111,100,111,69,110,116,105,116,121,32,125,32,102,114,111,109,32,39,46,46,47,100,111,109,97,105,110,47,84,111,100,111,69,110,116,105,116,121,39,59,116,121,112,101,32,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,32,61,32,69,105,116,104,101,114,60,67,114,101,97,116,101,84,111,100,111,82,101,115,112,111,110,115,101,68,84,79,44,32,110,101,118,101,114,62,59,101,120,112,111,114,116,32,99,108,97,115,115,32,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,32,105,109,112,108,101,109,101,110,116,115,32,65,112,112,108,105,99,97,116,105,111,110,46,73,85,115,101,67,97,115,101,60,118,111,105,100,44,32,80,114,111,109,105,115,101,60,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,62,32,123,97,115,121,110,99,32,101,120,101,99,117,116,101,40,41,58,32,80,114,111,109,105,115,101,60,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,32,123,99,111,110,115,116,32,116,105,116,108,101,32,61,32,84,105,116,108,101,86,79,46,99,114,101,97,116,101,40,123,116,105,116,108,101,58,114,101,113,117,101,115,116,68,84,79,46,116,105,116,108,101,125,41,59,105,102,32,40,33,116,105,116,108,101,46,105,115,70,97,105,108,40,41,41,32,123,32,99,111,110,115,116,32,116,111,100,111,32,61,32,84,111,100,111,69,110,116,105,116,121,46,99,114,101,97,116,101,40,123,116,105,116,108,101,58,116,105,116,108,101,44,99,111,109,112,108,101,116,101,100,58,102,97,108,115,101,125,41,59,105,102,32,40,33,116,111,100,111,46,105,115,70,97,105,108,40,41,41,32,123,32,114,101,116,117,114,110,32,111,107,40,123,109,101,115,115,97,103,101,58,39,84,111,100,111,32,99,114,101,97,116,101,100,33,39,125,41,59,125,32,101,108,115,101,32,123,32,114,101,116,117,114,110,32,102,97,105,108,40,116,111,100,111,46,118,97,108,117,101,41,32,125,125,32,101,108,115,101,32,123,32,114,101,116,117,114,110,32,102,97,105,108,40,116,105,116,108,101,46,118,97,108,117,101,41,32,125,125,125,34,125 | @bitloops-auto-generated | - | 123,34,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,114,101,116,117,114,110,84,121,112,101,115,34,58,123,34,111,107,34,58,34,118,111,105,100,34,44,34,101,114,114,111,114,115,34,58,91,93,125,44,34,101,120,101,99,117,116,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,123,34,99,111,110,115,116,68,101,99,108,97,114,97,116,105,111,110,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,118,97,108,117,101,79,98,106,101,99,116,34,58,123,34,110,97,109,101,34,58,34,84,105,116,108,101,86,79,34,44,34,112,114,111,112,115,34,58,91,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,114,101,113,117,101,115,116,68,84,79,46,116,105,116,108,101,34,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,93,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,125,44,123,34,99,111,110,115,116,68,101,99,108,97,114,97,116,105,111,110,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,101,110,116,105,116,121,34,58,123,34,110,97,109,101,34,58,34,84,111,100,111,69,110,116,105,116,121,34,44,34,112,114,111,112,115,34,58,91,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,116,105,116,108,101,34,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,44,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,98,111,111,108,34,44,34,118,97,108,117,101,34,58,34,102,97,108,115,101,34,125,125,125,44,34,110,97,109,101,34,58,34,99,111,109,112,108,101,116,101,100,34,125,93,125,125,125,44,34,110,97,109,101,34,58,34,116,111,100,111,34,125,125,44,123,34,114,101,116,117,114,110,79,75,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,111,105,100,34,44,34,118,97,108,117,101,34,58,34,34,125,125,125,125,125,93,125,125,125 | 123,34,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,34,58,34,105,109,112,111,114,116,32,123,32,65,112,112,108,105,99,97,116,105,111,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,105,116,104,101,114,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,84,105,116,108,101,86,79,32,125,32,102,114,111,109,32,39,46,46,47,100,111,109,97,105,110,47,84,105,116,108,101,86,79,39,59,105,109,112,111,114,116,32,123,32,84,111,100,111,69,110,116,105,116,121,32,125,32,102,114,111,109,32,39,46,46,47,100,111,109,97,105,110,47,84,111,100,111,69,110,116,105,116,121,39,59,116,121,112,101,32,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,32,61,32,69,105,116,104,101,114,60,118,111,105,100,44,32,110,101,118,101,114,62,59,101,120,112,111,114,116,32,99,108,97,115,115,32,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,32,105,109,112,108,101,109,101,110,116,115,32,65,112,112,108,105,99,97,116,105,111,110,46,73,85,115,101,67,97,115,101,60,118,111,105,100,44,32,80,114,111,109,105,115,101,60,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,62,32,123,97,115,121,110,99,32,101,120,101,99,117,116,101,40,41,58,32,80,114,111,109,105,115,101,60,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,32,123,99,111,110,115,116,32,116,105,116,108,101,32,61,32,84,105,116,108,101,86,79,46,99,114,101,97,116,101,40,123,116,105,116,108,101,58,114,101,113,117,101,115,116,68,84,79,46,116,105,116,108,101,125,41,59,105,102,32,40,33,116,105,116,108,101,46,105,115,70,97,105,108,40,41,41,32,123,32,99,111,110,115,116,32,116,111,100,111,32,61,32,84,111,100,111,69,110,116,105,116,121,46,99,114,101,97,116,101,40,123,116,105,116,108,101,58,116,105,116,108,101,44,99,111,109,112,108,101,116,101,100,58,102,97,108,115,101,125,41,59,105,102,32,40,33,116,111,100,111,46,105,115,70,97,105,108,40,41,41,32,123,32,114,101,116,117,114,110,32,111,107,40,41,59,125,32,101,108,115,101,32,123,32,114,101,116,117,114,110,32,102,97,105,108,40,116,111,100,111,46,118,97,108,117,101,41,32,125,125,32,101,108,115,101,32,123,32,114,101,116,117,114,110,32,102,97,105,108,40,116,105,116,108,101,46,118,97,108,117,101,41,32,125,125,125,34,125 | @bitloops-auto-generated | + | 123,34,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,114,101,116,117,114,110,84,121,112,101,115,34,58,123,34,111,107,34,58,34,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,34,44,34,101,114,114,111,114,115,34,58,91,34,72,101,108,108,111,87,111,114,108,100,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,34,93,125,44,34,101,120,101,99,117,116,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,123,34,118,97,108,117,101,34,58,34,104,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,34,44,34,116,121,112,101,34,58,34,72,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,34,125,93,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,123,34,99,111,110,115,116,68,101,99,111,109,112,111,115,105,116,105,111,110,34,58,123,34,110,97,109,101,115,34,58,91,34,110,97,109,101,34,93,44,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,104,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,34,125,125,125,125,93,125,125,44,34,69,120,97,109,112,108,101,85,115,101,67,97,115,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,114,101,116,117,114,110,84,121,112,101,115,34,58,123,34,111,107,34,58,34,69,120,97,109,112,108,101,82,101,115,112,111,110,115,101,68,84,79,34,44,34,101,114,114,111,114,115,34,58,91,34,69,120,97,109,112,108,101,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,34,93,125,44,34,101,120,101,99,117,116,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,123,34,118,97,108,117,101,34,58,34,101,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,34,44,34,116,121,112,101,34,58,34,69,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,34,125,93,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,123,34,99,111,110,115,116,68,101,99,111,109,112,111,115,105,116,105,111,110,34,58,123,34,110,97,109,101,115,34,58,91,34,110,97,109,101,34,93,44,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,101,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,34,125,125,125,125,93,125,125,125 | 123,34,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,34,58,34,105,109,112,111,114,116,32,123,32,65,112,112,108,105,99,97,116,105,111,110,44,69,105,116,104,101,114,44,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,39,59,105,109,112,111,114,116,32,123,32,72,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,72,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,39,59,116,121,112,101,32,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,32,61,32,69,105,116,104,101,114,60,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,44,32,72,101,108,108,111,87,111,114,108,100,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,62,59,101,120,112,111,114,116,32,99,108,97,115,115,32,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,32,105,109,112,108,101,109,101,110,116,115,32,65,112,112,108,105,99,97,116,105,111,110,46,73,85,115,101,67,97,115,101,60,72,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,44,32,80,114,111,109,105,115,101,60,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,62,32,123,97,115,121,110,99,32,101,120,101,99,117,116,101,40,104,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,58,72,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,41,58,32,80,114,111,109,105,115,101,60,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,32,123,99,111,110,115,116,32,123,32,110,97,109,101,32,125,32,61,32,104,101,108,108,111,87,111,114,108,100,82,101,113,117,101,115,116,68,84,79,59,125,125,34,44,34,69,120,97,109,112,108,101,85,115,101,67,97,115,101,34,58,34,105,109,112,111,114,116,32,123,32,65,112,112,108,105,99,97,116,105,111,110,44,69,105,116,104,101,114,44,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,120,97,109,112,108,101,82,101,115,112,111,110,115,101,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,69,120,97,109,112,108,101,82,101,115,112,111,110,115,101,68,84,79,39,59,105,109,112,111,114,116,32,123,32,69,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,69,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,39,59,116,121,112,101,32,69,120,97,109,112,108,101,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,32,61,32,69,105,116,104,101,114,60,69,120,97,109,112,108,101,82,101,115,112,111,110,115,101,68,84,79,44,32,69,120,97,109,112,108,101,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,62,59,101,120,112,111,114,116,32,99,108,97,115,115,32,69,120,97,109,112,108,101,85,115,101,67,97,115,101,32,105,109,112,108,101,109,101,110,116,115,32,65,112,112,108,105,99,97,116,105,111,110,46,73,85,115,101,67,97,115,101,60,69,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,44,32,80,114,111,109,105,115,101,60,69,120,97,109,112,108,101,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,62,32,123,97,115,121,110,99,32,101,120,101,99,117,116,101,40,101,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,58,69,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,41,58,32,80,114,111,109,105,115,101,60,69,120,97,109,112,108,101,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,32,123,99,111,110,115,116,32,123,32,110,97,109,101,32,125,32,61,32,101,120,97,109,112,108,101,82,101,113,117,101,115,116,68,84,79,59,125,125,34,125 | @bitloops-auto-generated | + | 123,34,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,114,101,116,117,114,110,84,121,112,101,115,34,58,123,34,111,107,34,58,34,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,34,44,34,101,114,114,111,114,115,34,58,91,93,125,44,34,101,120,101,99,117,116,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,123,34,114,101,116,117,114,110,79,75,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,100,116,111,34,58,123,34,102,105,101,108,100,115,34,58,91,123,34,110,97,109,101,34,58,34,109,101,115,115,97,103,101,34,44,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,115,116,114,105,110,103,34,44,34,118,97,108,117,101,34,58,34,72,101,108,108,111,44,32,87,111,114,108,100,33,34,125,125,125,125,93,44,34,110,97,109,101,34,58,34,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,34,125,125,125,125,125,93,125,125,125 | 123,34,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,34,58,34,105,109,112,111,114,116,32,123,32,65,112,112,108,105,99,97,116,105,111,110,44,69,105,116,104,101,114,44,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,39,59,116,121,112,101,32,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,32,61,32,69,105,116,104,101,114,60,72,101,108,108,111,87,111,114,108,100,82,101,115,112,111,110,115,101,68,84,79,44,32,110,101,118,101,114,62,59,101,120,112,111,114,116,32,99,108,97,115,115,32,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,32,105,109,112,108,101,109,101,110,116,115,32,65,112,112,108,105,99,97,116,105,111,110,46,73,85,115,101,67,97,115,101,60,118,111,105,100,44,32,80,114,111,109,105,115,101,60,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,62,32,123,97,115,121,110,99,32,101,120,101,99,117,116,101,40,41,58,32,80,114,111,109,105,115,101,60,72,101,108,108,111,87,111,114,108,100,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,32,123,114,101,116,117,114,110,32,111,107,40,123,109,101,115,115,97,103,101,58,39,72,101,108,108,111,44,32,87,111,114,108,100,33,39,125,41,59,125,125,34,125 | @bitloops-auto-generated | + | 123,34,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,114,101,116,117,114,110,84,121,112,101,115,34,58,123,34,111,107,34,58,34,67,114,101,97,116,101,84,111,100,111,82,101,115,112,111,110,115,101,68,84,79,34,44,34,101,114,114,111,114,115,34,58,91,93,125,44,34,101,120,101,99,117,116,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,123,34,99,111,110,115,116,68,101,99,108,97,114,97,116,105,111,110,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,118,97,108,117,101,79,98,106,101,99,116,34,58,123,34,110,97,109,101,34,58,34,84,105,116,108,101,86,79,34,44,34,112,114,111,112,115,34,58,91,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,114,101,113,117,101,115,116,68,84,79,46,116,105,116,108,101,34,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,93,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,125,44,123,34,99,111,110,115,116,68,101,99,108,97,114,97,116,105,111,110,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,101,110,116,105,116,121,34,58,123,34,110,97,109,101,34,58,34,84,111,100,111,69,110,116,105,116,121,34,44,34,112,114,111,112,115,34,58,91,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,116,105,116,108,101,34,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,44,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,98,111,111,108,34,44,34,118,97,108,117,101,34,58,34,102,97,108,115,101,34,125,125,125,44,34,110,97,109,101,34,58,34,99,111,109,112,108,101,116,101,100,34,125,93,125,125,125,44,34,110,97,109,101,34,58,34,116,111,100,111,34,125,125,44,123,34,114,101,116,117,114,110,79,75,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,100,116,111,34,58,123,34,102,105,101,108,100,115,34,58,91,123,34,110,97,109,101,34,58,34,109,101,115,115,97,103,101,34,44,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,115,116,114,105,110,103,34,44,34,118,97,108,117,101,34,58,34,84,111,100,111,32,99,114,101,97,116,101,100,33,34,125,125,125,125,93,44,34,110,97,109,101,34,58,34,67,114,101,97,116,101,84,111,100,111,82,101,115,112,111,110,115,101,68,84,79,34,125,125,125,125,125,93,125,125,125 | 123,34,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,34,58,34,105,109,112,111,114,116,32,123,32,65,112,112,108,105,99,97,116,105,111,110,44,69,105,116,104,101,114,44,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,67,114,101,97,116,101,84,111,100,111,82,101,115,112,111,110,115,101,68,84,79,32,125,32,102,114,111,109,32,39,46,46,47,100,116,111,115,47,67,114,101,97,116,101,84,111,100,111,82,101,115,112,111,110,115,101,68,84,79,39,59,105,109,112,111,114,116,32,123,32,84,105,116,108,101,86,79,32,125,32,102,114,111,109,32,39,46,46,47,100,111,109,97,105,110,47,84,105,116,108,101,86,79,39,59,105,109,112,111,114,116,32,123,32,84,111,100,111,69,110,116,105,116,121,32,125,32,102,114,111,109,32,39,46,46,47,100,111,109,97,105,110,47,84,111,100,111,69,110,116,105,116,121,39,59,116,121,112,101,32,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,32,61,32,69,105,116,104,101,114,60,67,114,101,97,116,101,84,111,100,111,82,101,115,112,111,110,115,101,68,84,79,44,32,110,101,118,101,114,62,59,101,120,112,111,114,116,32,99,108,97,115,115,32,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,32,105,109,112,108,101,109,101,110,116,115,32,65,112,112,108,105,99,97,116,105,111,110,46,73,85,115,101,67,97,115,101,60,118,111,105,100,44,32,80,114,111,109,105,115,101,60,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,62,32,123,97,115,121,110,99,32,101,120,101,99,117,116,101,40,41,58,32,80,114,111,109,105,115,101,60,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,32,123,99,111,110,115,116,32,116,105,116,108,101,32,61,32,84,105,116,108,101,86,79,46,99,114,101,97,116,101,40,123,116,105,116,108,101,58,114,101,113,117,101,115,116,68,84,79,46,116,105,116,108,101,125,41,59,105,102,32,40,33,116,105,116,108,101,46,105,115,70,97,105,108,40,41,41,32,123,32,99,111,110,115,116,32,116,111,100,111,32,61,32,84,111,100,111,69,110,116,105,116,121,46,99,114,101,97,116,101,40,123,116,105,116,108,101,58,116,105,116,108,101,44,99,111,109,112,108,101,116,101,100,58,102,97,108,115,101,125,41,59,105,102,32,40,33,116,111,100,111,46,105,115,70,97,105,108,40,41,41,32,123,32,114,101,116,117,114,110,32,111,107,40,123,109,101,115,115,97,103,101,58,39,84,111,100,111,32,99,114,101,97,116,101,100,33,39,125,41,59,125,32,101,108,115,101,32,123,32,114,101,116,117,114,110,32,102,97,105,108,40,116,111,100,111,46,118,97,108,117,101,41,32,125,125,32,101,108,115,101,32,123,32,114,101,116,117,114,110,32,102,97,105,108,40,116,105,116,108,101,46,118,97,108,117,101,41,32,125,125,125,34,125 | @bitloops-auto-generated | + | 123,34,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,114,101,116,117,114,110,84,121,112,101,115,34,58,123,34,111,107,34,58,34,118,111,105,100,34,44,34,101,114,114,111,114,115,34,58,91,93,125,44,34,101,120,101,99,117,116,101,34,58,123,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,91,93,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,123,34,99,111,110,115,116,68,101,99,108,97,114,97,116,105,111,110,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,118,97,108,117,101,79,98,106,101,99,116,34,58,123,34,110,97,109,101,34,58,34,84,105,116,108,101,86,79,34,44,34,112,114,111,112,115,34,58,91,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,114,101,113,117,101,115,116,68,84,79,46,116,105,116,108,101,34,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,93,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,125,44,123,34,99,111,110,115,116,68,101,99,108,97,114,97,116,105,111,110,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,101,110,116,105,116,121,34,58,123,34,110,97,109,101,34,58,34,84,111,100,111,69,110,116,105,116,121,34,44,34,112,114,111,112,115,34,58,91,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,116,105,116,108,101,34,125,125,125,44,34,110,97,109,101,34,58,34,116,105,116,108,101,34,125,44,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,98,111,111,108,34,44,34,118,97,108,117,101,34,58,34,102,97,108,115,101,34,125,125,125,44,34,110,97,109,101,34,58,34,99,111,109,112,108,101,116,101,100,34,125,93,125,125,125,44,34,110,97,109,101,34,58,34,116,111,100,111,34,125,125,44,123,34,114,101,116,117,114,110,79,75,34,58,123,34,101,120,112,114,101,115,115,105,111,110,34,58,123,34,101,118,97,108,117,97,116,105,111,110,34,58,123,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,123,34,116,121,112,101,34,58,34,118,111,105,100,34,44,34,118,97,108,117,101,34,58,34,34,125,125,125,125,125,93,125,125,125 | 123,34,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,34,58,34,105,109,112,111,114,116,32,123,32,65,112,112,108,105,99,97,116,105,111,110,44,69,105,116,104,101,114,44,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,84,105,116,108,101,86,79,32,125,32,102,114,111,109,32,39,46,46,47,100,111,109,97,105,110,47,84,105,116,108,101,86,79,39,59,105,109,112,111,114,116,32,123,32,84,111,100,111,69,110,116,105,116,121,32,125,32,102,114,111,109,32,39,46,46,47,100,111,109,97,105,110,47,84,111,100,111,69,110,116,105,116,121,39,59,116,121,112,101,32,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,32,61,32,69,105,116,104,101,114,60,118,111,105,100,44,32,110,101,118,101,114,62,59,101,120,112,111,114,116,32,99,108,97,115,115,32,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,32,105,109,112,108,101,109,101,110,116,115,32,65,112,112,108,105,99,97,116,105,111,110,46,73,85,115,101,67,97,115,101,60,118,111,105,100,44,32,80,114,111,109,105,115,101,60,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,62,32,123,97,115,121,110,99,32,101,120,101,99,117,116,101,40,41,58,32,80,114,111,109,105,115,101,60,67,114,101,97,116,101,84,111,100,111,85,115,101,67,97,115,101,82,101,115,112,111,110,115,101,62,32,123,99,111,110,115,116,32,116,105,116,108,101,32,61,32,84,105,116,108,101,86,79,46,99,114,101,97,116,101,40,123,116,105,116,108,101,58,114,101,113,117,101,115,116,68,84,79,46,116,105,116,108,101,125,41,59,105,102,32,40,33,116,105,116,108,101,46,105,115,70,97,105,108,40,41,41,32,123,32,99,111,110,115,116,32,116,111,100,111,32,61,32,84,111,100,111,69,110,116,105,116,121,46,99,114,101,97,116,101,40,123,116,105,116,108,101,58,116,105,116,108,101,44,99,111,109,112,108,101,116,101,100,58,102,97,108,115,101,125,41,59,105,102,32,40,33,116,111,100,111,46,105,115,70,97,105,108,40,41,41,32,123,32,114,101,116,117,114,110,32,111,107,40,41,59,125,32,101,108,115,101,32,123,32,114,101,116,117,114,110,32,102,97,105,108,40,116,111,100,111,46,118,97,108,117,101,41,32,125,125,32,101,108,115,101,32,123,32,114,101,116,117,114,110,32,102,97,105,108,40,116,105,116,108,101,46,118,97,108,117,101,41,32,125,125,125,34,125 | @bitloops-auto-generated | \ No newline at end of file diff --git a/transpiler/__tests__/target/typescript/core/valueObjects.feature b/transpiler/__tests__/target/typescript/core/valueObjects.feature index ebdd98ea4..24a5920c6 100644 --- a/transpiler/__tests__/target/typescript/core/valueObjects.feature +++ b/transpiler/__tests__/target/typescript/core/valueObjects.feature @@ -11,11 +11,10 @@ Feature: ValueObjects to Typescript target language # Examples: # @bitloops-auto-generated # | value-objects | value-object-props | output | outputProps | @bitloops-auto-generated | - # | {"TitleVO":{"constantVars":[],"create":{"returnType":{"ok":"TitleVO","errors":["DomainErrors.InvalidTitleError"]},"statements":[ { "thisDeclaration": { "name": "this.name", "expression": { "evaluation": { "regularEvaluation": { "type": "string", "value": "newName" } } } } },{"buildInFunction":{"applyRules":[{"name":"InvalidTitleRule","arguments":[{"type":"variable","value":"props.title"}]}]}}],"parameterDependency":{"value":"props","type":"TitleProps"}},"methods":{}}} | { "TitleProps": { "variables": [ { "type": "string", "name": "title" } ] } } | {"TitleVO" : "import { Domain } from '@bitloops/bl-boilerplate-core';import { Either } from '@bitloops/bl-boilerplate-core';import { ok } from '@bitloops/bl-boilerplate-core';import { TitleProps } from './TitleProps';import { DomainErrors } from './errors/index';import { fail } from '@bitloops/bl-boilerplate-core';import { Rules } from './rules/index'; export class TitleVO extends Domain.ValueObject { private constructor(props: TitleProps) { super(props); this.props.name = 'newName';} public static create(props: TitleProps): Either { const res = Domain.applyRules([new Rules.InvalidTitleRule(props.title)]); if (res) return fail(res); return ok(new TitleVO(props)); } get title(): string { return this.props.title; } }"} | export interface TitleProps { title: string; } | @bitloops-auto-generated | - # | { "NameVO": { "constantVars": [ { "type": "string", "value": "'Kostas'", "name": "vName" } ], "methods": { "testMethod": { "privateMethod": { "parameterDependencies": [], "returnType": { "ok": "void", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.name", "expression": { "evaluation": { "regularEvaluation": { "type": "string", "value": "newName" } } } } }, { "returnOK": { "expression": { "evaluation": { "regularEvaluation": { "type": "void", "value": "" } } } } } ] } }, "isInvalidName": { "privateMethod": { "parameterDependencies": [ { "value": "name", "type": "string" } ], "returnType": "bool", "statements": [ { "return": { "expression": { "evaluation": { "regularEvaluation": { "type": "method", "argumentDependencies": [ { "value": "name", "type": "variable" } ], "value": "regName.test" } } } } } ] } } }, "create": { "parameterDependency": { "value": "props", "type": "NameProps" }, "returnType": { "ok": "NameVO", "errors": [ "DomainErrors.InvalidNameError" ] }, "statements": [ { "thisDeclaration": { "name": "this.name", "expression": { "evaluation": { "regularEvaluation": { "type": "string", "value": "newName" } } } } } ] } } } | { "NameProps": { "variables": [ { "type": "string", "name": "name" } ] } } | {"NameVO" : "import { Domain } from '@bitloops/bl-boilerplate-core';import { Either } from '@bitloops/bl-boilerplate-core';import { ok } from '@bitloops/bl-boilerplate-core';import { NameProps } from './NameProps';import { DomainErrors } from './errors/index';const vName: string = 'Kostas'; export class NameVO extends Domain.ValueObject { private constructor(props: NameProps) { super(props); this.props.name = 'newName'; } public static create(props:NameProps): Either { return ok(new NameVO(props)); } get name(): string { return this.props.name; } private testMethod():Either {this.props.name ='newName';return ok();} private isInvalidName(name:string): boolean { return (regName.test(name)); }}"} | export interface NameProps { name: string; } | @bitloops-auto-generated | + # | {"TitleVO":{"constantVars":[],"create":{"returnType":{"ok":"TitleVO","errors":["DomainErrors.InvalidTitleError"]},"statements":[ { "thisDeclaration": { "name": "this.name", "expression": { "evaluation": { "regularEvaluation": { "type": "string", "value": "newName" } } } } },{"buildInFunction":{"applyRules":[{"name":"InvalidTitleRule","arguments":[{"type":"variable","value":"props.title"}]}]}}],"parameterDependency":{"value":"props","type":"TitleProps"}},"methods":{}}} | { "TitleProps": { "variables": [ { "type": "string", "name": "title" } ] } } | {"TitleVO" : "import { Domain,Either,ok } from '@bitloops/bl-boilerplate-core';import { TitleProps } from './TitleProps';import { DomainErrors } from './errors/index';import { fail } from '@bitloops/bl-boilerplate-core';import { Rules } from './rules/index'; export class TitleVO extends Domain.ValueObject { private constructor(props: TitleProps) { super(props); this.props.name = 'newName';} public static create(props: TitleProps): Either { const res = Domain.applyRules([new Rules.InvalidTitleRule(props.title)]); if (res) return fail(res); return ok(new TitleVO(props)); } get title(): string { return this.props.title; } }"} | export interface TitleProps { title: string; } | @bitloops-auto-generated | + # | { "NameVO": { "constantVars": [ { "type": "string", "value": "'Kostas'", "name": "vName" } ], "methods": { "testMethod": { "privateMethod": { "parameterDependencies": [], "returnType": { "ok": "void", "errors": [] }, "statements": [ { "thisDeclaration": { "name": "this.name", "expression": { "evaluation": { "regularEvaluation": { "type": "string", "value": "newName" } } } } }, { "returnOK": { "expression": { "evaluation": { "regularEvaluation": { "type": "void", "value": "" } } } } } ] } }, "isInvalidName": { "privateMethod": { "parameterDependencies": [ { "value": "name", "type": "string" } ], "returnType": "bool", "statements": [ { "return": { "expression": { "evaluation": { "regularEvaluation": { "type": "method", "argumentDependencies": [ { "value": "name", "type": "variable" } ], "value": "regName.test" } } } } } ] } } }, "create": { "parameterDependency": { "value": "props", "type": "NameProps" }, "returnType": { "ok": "NameVO", "errors": [ "DomainErrors.InvalidNameError" ] }, "statements": [ { "thisDeclaration": { "name": "this.name", "expression": { "evaluation": { "regularEvaluation": { "type": "string", "value": "newName" } } } } } ] } } } | { "NameProps": { "variables": [ { "type": "string", "name": "name" } ] } } | {"NameVO" : "import { Domain,Either,ok } from '@bitloops/bl-boilerplate-core';import { NameProps } from './NameProps';import { DomainErrors } from './errors/index';const vName: string = 'Kostas'; export class NameVO extends Domain.ValueObject { private constructor(props: NameProps) { super(props); this.props.name = 'newName'; } public static create(props:NameProps): Either { return ok(new NameVO(props)); } get name(): string { return this.props.name; } private testMethod():Either {this.props.name ='newName';return ok();} private isInvalidName(name:string): boolean { return (regName.test(name)); }}"} | export interface NameProps { name: string; } | @bitloops-auto-generated | Examples: # @bitloops-auto-generated | value-objects | value-object-props | output | outputProps | @bitloops-auto-generated | - | 123,34,84,105,116,108,101,86,79,34,58,123,34,99,111,110,115,116,97,110,116,86,97,114,115,34,58,91,93,44,34,99,114,101,97,116,101,34,58,123,34,114,101,116,117,114,110,84,121,112,101,34,58,123,34,111,107,34,58,34,84,105,116,108,101,86,79,34,44,34,101,114,114,111,114,115,34,58,91,34,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,84,105,116,108,101,69,114,114,111,114,34,93,125,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,110,97,109,101,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,101,119,78,97,109,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,123,34,98,117,105,108,100,73,110,70,117,110,99,116,105,111,110,34,58,123,34,97,112,112,108,121,82,117,108,101,115,34,58,91,123,34,110,97,109,101,34,58,34,73,110,118,97,108,105,100,84,105,116,108,101,82,117,108,101,34,44,34,97,114,103,117,109,101,110,116,115,34,58,91,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,112,114,111,112,115,46,116,105,116,108,101,34,125,93,125,93,125,125,93,44,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,121,34,58,123,34,118,97,108,117,101,34,58,34,112,114,111,112,115,34,44,34,116,121,112,101,34,58,34,84,105,116,108,101,80,114,111,112,115,34,125,125,44,34,109,101,116,104,111,100,115,34,58,123,125,125,125 | 123,10,32,32,32,32,34,84,105,116,108,101,80,114,111,112,115,34,58,32,123,10,32,32,32,32,32,32,34,118,97,114,105,97,98,108,101,115,34,58,32,91,10,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,105,116,108,101,34,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,93,10,32,32,32,32,125,10,125 | 123,34,84,105,116,108,101,86,79,34,32,58,32,34,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,105,116,104,101,114,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,84,105,116,108,101,80,114,111,112,115,32,125,32,102,114,111,109,32,39,46,47,84,105,116,108,101,80,114,111,112,115,39,59,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,69,114,114,111,114,115,32,125,32,102,114,111,109,32,39,46,47,101,114,114,111,114,115,47,105,110,100,101,120,39,59,105,109,112,111,114,116,32,123,32,102,97,105,108,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,82,117,108,101,115,32,125,32,102,114,111,109,32,39,46,47,114,117,108,101,115,47,105,110,100,101,120,39,59,32,101,120,112,111,114,116,32,99,108,97,115,115,32,84,105,116,108,101,86,79,32,101,120,116,101,110,100,115,32,68,111,109,97,105,110,46,86,97,108,117,101,79,98,106,101,99,116,60,84,105,116,108,101,80,114,111,112,115,62,32,123,32,112,114,105,118,97,116,101,32,99,111,110,115,116,114,117,99,116,111,114,40,112,114,111,112,115,58,32,84,105,116,108,101,80,114,111,112,115,41,32,123,32,115,117,112,101,114,40,112,114,111,112,115,41,59,32,116,104,105,115,46,112,114,111,112,115,46,110,97,109,101,32,61,32,39,110,101,119,78,97,109,101,39,59,125,32,112,117,98,108,105,99,32,115,116,97,116,105,99,32,99,114,101,97,116,101,40,112,114,111,112,115,58,32,84,105,116,108,101,80,114,111,112,115,41,58,32,69,105,116,104,101,114,60,84,105,116,108,101,86,79,44,32,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,84,105,116,108,101,69,114,114,111,114,62,32,123,32,99,111,110,115,116,32,114,101,115,32,61,32,68,111,109,97,105,110,46,97,112,112,108,121,82,117,108,101,115,40,91,110,101,119,32,82,117,108,101,115,46,73,110,118,97,108,105,100,84,105,116,108,101,82,117,108,101,40,112,114,111,112,115,46,116,105,116,108,101,41,93,41,59,32,105,102,32,40,114,101,115,41,32,114,101,116,117,114,110,32,102,97,105,108,40,114,101,115,41,59,32,114,101,116,117,114,110,32,111,107,40,110,101,119,32,84,105,116,108,101,86,79,40,112,114,111,112,115,41,41,59,32,125,32,103,101,116,32,116,105,116,108,101,40,41,58,32,115,116,114,105,110,103,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,112,114,111,112,115,46,116,105,116,108,101,59,32,125,32,125,34,125 | 101,120,112,111,114,116,32,105,110,116,101,114,102,97,99,101,32,84,105,116,108,101,80,114,111,112,115,32,123,32,116,105,116,108,101,58,32,115,116,114,105,110,103,59,32,125 | @bitloops-auto-generated | - | 123,10,32,32,34,78,97,109,101,86,79,34,58,32,123,10,32,32,32,32,34,99,111,110,115,116,97,110,116,86,97,114,115,34,58,32,91,10,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,39,75,111,115,116,97,115,39,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,118,78,97,109,101,34,10,32,32,32,32,32,32,125,10,32,32,32,32,93,44,10,32,32,32,32,34,109,101,116,104,111,100,115,34,58,32,123,10,34,116,101,115,116,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,114,105,118,97,116,101,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,110,97,109,101,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,101,119,78,97,109,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,79,75,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,105,115,73,110,118,97,108,105,100,78,97,109,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,112,114,105,118,97,116,101,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,97,109,101,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,93,44,10,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,109,101,116,104,111,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,97,114,103,117,109,101,110,116,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,97,109,101,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,118,97,114,105,97,98,108,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,114,101,103,78,97,109,101,46,116,101,115,116,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,125,10,32,32,32,32,125,44,10,32,32,32,32,34,99,114,101,97,116,101,34,58,32,123,10,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,121,34,58,32,123,10,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,112,114,111,112,115,34,44,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,78,97,109,101,80,114,111,112,115,34,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,78,97,109,101,86,79,34,44,10,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,34,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,69,114,114,111,114,34,10,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,110,97,109,101,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,101,119,78,97,109,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,93,10,32,32,32,32,125,10,32,32,125,10,125 | 123,10,32,32,32,32,34,78,97,109,101,80,114,111,112,115,34,58,32,123,10,32,32,32,32,32,32,34,118,97,114,105,97,98,108,101,115,34,58,32,91,10,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,110,97,109,101,34,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,93,10,32,32,32,32,125,10,125 | 123,34,78,97,109,101,86,79,34,32,58,32,34,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,69,105,116,104,101,114,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,78,97,109,101,80,114,111,112,115,32,125,32,102,114,111,109,32,39,46,47,78,97,109,101,80,114,111,112,115,39,59,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,69,114,114,111,114,115,32,125,32,102,114,111,109,32,39,46,47,101,114,114,111,114,115,47,105,110,100,101,120,39,59,99,111,110,115,116,32,118,78,97,109,101,58,32,115,116,114,105,110,103,32,61,32,39,75,111,115,116,97,115,39,59,32,101,120,112,111,114,116,32,99,108,97,115,115,32,78,97,109,101,86,79,32,101,120,116,101,110,100,115,32,68,111,109,97,105,110,46,86,97,108,117,101,79,98,106,101,99,116,60,78,97,109,101,80,114,111,112,115,62,32,123,32,112,114,105,118,97,116,101,32,99,111,110,115,116,114,117,99,116,111,114,40,112,114,111,112,115,58,32,78,97,109,101,80,114,111,112,115,41,32,123,32,115,117,112,101,114,40,112,114,111,112,115,41,59,32,116,104,105,115,46,112,114,111,112,115,46,110,97,109,101,32,61,32,39,110,101,119,78,97,109,101,39,59,32,125,32,112,117,98,108,105,99,32,115,116,97,116,105,99,32,99,114,101,97,116,101,40,112,114,111,112,115,58,78,97,109,101,80,114,111,112,115,41,58,32,69,105,116,104,101,114,60,78,97,109,101,86,79,44,32,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,69,114,114,111,114,62,32,123,32,114,101,116,117,114,110,32,111,107,40,110,101,119,32,78,97,109,101,86,79,40,112,114,111,112,115,41,41,59,32,125,32,103,101,116,32,110,97,109,101,40,41,58,32,115,116,114,105,110,103,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,112,114,111,112,115,46,110,97,109,101,59,32,125,32,112,114,105,118,97,116,101,32,116,101,115,116,77,101,116,104,111,100,40,41,58,69,105,116,104,101,114,60,118,111,105,100,44,32,110,101,118,101,114,62,32,123,116,104,105,115,46,112,114,111,112,115,46,110,97,109,101,32,61,39,110,101,119,78,97,109,101,39,59,114,101,116,117,114,110,32,111,107,40,41,59,125,32,112,114,105,118,97,116,101,32,105,115,73,110,118,97,108,105,100,78,97,109,101,40,110,97,109,101,58,115,116,114,105,110,103,41,58,32,98,111,111,108,101,97,110,32,123,32,114,101,116,117,114,110,32,40,114,101,103,78,97,109,101,46,116,101,115,116,40,110,97,109,101,41,41,59,32,125,125,34,125 | 101,120,112,111,114,116,32,105,110,116,101,114,102,97,99,101,32,78,97,109,101,80,114,111,112,115,32,123,32,110,97,109,101,58,32,115,116,114,105,110,103,59,32,125 | @bitloops-auto-generated | - \ No newline at end of file + | 123,34,84,105,116,108,101,86,79,34,58,123,34,99,111,110,115,116,97,110,116,86,97,114,115,34,58,91,93,44,34,99,114,101,97,116,101,34,58,123,34,114,101,116,117,114,110,84,121,112,101,34,58,123,34,111,107,34,58,34,84,105,116,108,101,86,79,34,44,34,101,114,114,111,114,115,34,58,91,34,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,84,105,116,108,101,69,114,114,111,114,34,93,125,44,34,115,116,97,116,101,109,101,110,116,115,34,58,91,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,110,97,109,101,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,101,119,78,97,109,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,123,34,98,117,105,108,100,73,110,70,117,110,99,116,105,111,110,34,58,123,34,97,112,112,108,121,82,117,108,101,115,34,58,91,123,34,110,97,109,101,34,58,34,73,110,118,97,108,105,100,84,105,116,108,101,82,117,108,101,34,44,34,97,114,103,117,109,101,110,116,115,34,58,91,123,34,116,121,112,101,34,58,34,118,97,114,105,97,98,108,101,34,44,34,118,97,108,117,101,34,58,34,112,114,111,112,115,46,116,105,116,108,101,34,125,93,125,93,125,125,93,44,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,121,34,58,123,34,118,97,108,117,101,34,58,34,112,114,111,112,115,34,44,34,116,121,112,101,34,58,34,84,105,116,108,101,80,114,111,112,115,34,125,125,44,34,109,101,116,104,111,100,115,34,58,123,125,125,125 | 123,10,32,32,32,32,34,84,105,116,108,101,80,114,111,112,115,34,58,32,123,10,32,32,32,32,32,32,34,118,97,114,105,97,98,108,101,115,34,58,32,91,10,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,105,116,108,101,34,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,93,10,32,32,32,32,125,10,125 | 123,34,84,105,116,108,101,86,79,34,32,58,32,34,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,44,69,105,116,104,101,114,44,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,84,105,116,108,101,80,114,111,112,115,32,125,32,102,114,111,109,32,39,46,47,84,105,116,108,101,80,114,111,112,115,39,59,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,69,114,114,111,114,115,32,125,32,102,114,111,109,32,39,46,47,101,114,114,111,114,115,47,105,110,100,101,120,39,59,105,109,112,111,114,116,32,123,32,102,97,105,108,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,82,117,108,101,115,32,125,32,102,114,111,109,32,39,46,47,114,117,108,101,115,47,105,110,100,101,120,39,59,32,101,120,112,111,114,116,32,99,108,97,115,115,32,84,105,116,108,101,86,79,32,101,120,116,101,110,100,115,32,68,111,109,97,105,110,46,86,97,108,117,101,79,98,106,101,99,116,60,84,105,116,108,101,80,114,111,112,115,62,32,123,32,112,114,105,118,97,116,101,32,99,111,110,115,116,114,117,99,116,111,114,40,112,114,111,112,115,58,32,84,105,116,108,101,80,114,111,112,115,41,32,123,32,115,117,112,101,114,40,112,114,111,112,115,41,59,32,116,104,105,115,46,112,114,111,112,115,46,110,97,109,101,32,61,32,39,110,101,119,78,97,109,101,39,59,125,32,112,117,98,108,105,99,32,115,116,97,116,105,99,32,99,114,101,97,116,101,40,112,114,111,112,115,58,32,84,105,116,108,101,80,114,111,112,115,41,58,32,69,105,116,104,101,114,60,84,105,116,108,101,86,79,44,32,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,84,105,116,108,101,69,114,114,111,114,62,32,123,32,99,111,110,115,116,32,114,101,115,32,61,32,68,111,109,97,105,110,46,97,112,112,108,121,82,117,108,101,115,40,91,110,101,119,32,82,117,108,101,115,46,73,110,118,97,108,105,100,84,105,116,108,101,82,117,108,101,40,112,114,111,112,115,46,116,105,116,108,101,41,93,41,59,32,105,102,32,40,114,101,115,41,32,114,101,116,117,114,110,32,102,97,105,108,40,114,101,115,41,59,32,114,101,116,117,114,110,32,111,107,40,110,101,119,32,84,105,116,108,101,86,79,40,112,114,111,112,115,41,41,59,32,125,32,103,101,116,32,116,105,116,108,101,40,41,58,32,115,116,114,105,110,103,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,112,114,111,112,115,46,116,105,116,108,101,59,32,125,32,125,34,125 | 101,120,112,111,114,116,32,105,110,116,101,114,102,97,99,101,32,84,105,116,108,101,80,114,111,112,115,32,123,32,116,105,116,108,101,58,32,115,116,114,105,110,103,59,32,125 | @bitloops-auto-generated | + | 123,10,32,32,34,78,97,109,101,86,79,34,58,32,123,10,32,32,32,32,34,99,111,110,115,116,97,110,116,86,97,114,115,34,58,32,91,10,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,39,75,111,115,116,97,115,39,34,44,10,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,118,78,97,109,101,34,10,32,32,32,32,32,32,125,10,32,32,32,32,93,44,10,32,32,32,32,34,109,101,116,104,111,100,115,34,58,32,123,10,34,116,101,115,116,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,114,105,118,97,116,101,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,110,97,109,101,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,101,119,78,97,109,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,79,75,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,118,111,105,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,105,115,73,110,118,97,108,105,100,78,97,109,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,112,114,105,118,97,116,101,77,101,116,104,111,100,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,97,109,101,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,93,44,10,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,34,98,111,111,108,34,44,10,32,32,32,32,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,116,117,114,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,109,101,116,104,111,100,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,97,114,103,117,109,101,110,116,68,101,112,101,110,100,101,110,99,105,101,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,97,109,101,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,118,97,114,105,97,98,108,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,93,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,114,101,103,78,97,109,101,46,116,101,115,116,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,125,10,32,32,32,32,125,44,10,32,32,32,32,34,99,114,101,97,116,101,34,58,32,123,10,32,32,32,32,32,32,34,112,97,114,97,109,101,116,101,114,68,101,112,101,110,100,101,110,99,121,34,58,32,123,10,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,112,114,111,112,115,34,44,10,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,78,97,109,101,80,114,111,112,115,34,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,114,101,116,117,114,110,84,121,112,101,34,58,32,123,10,32,32,32,32,32,32,32,32,34,111,107,34,58,32,34,78,97,109,101,86,79,34,44,10,32,32,32,32,32,32,32,32,34,101,114,114,111,114,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,32,34,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,69,114,114,111,114,34,10,32,32,32,32,32,32,32,32,93,10,32,32,32,32,32,32,125,44,10,32,32,32,32,32,32,34,115,116,97,116,101,109,101,110,116,115,34,58,32,91,10,32,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,104,105,115,68,101,99,108,97,114,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,116,104,105,115,46,110,97,109,101,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,120,112,114,101,115,115,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,101,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,114,101,103,117,108,97,114,69,118,97,108,117,97,116,105,111,110,34,58,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,118,97,108,117,101,34,58,32,34,110,101,119,78,97,109,101,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,93,10,32,32,32,32,125,10,32,32,125,10,125 | 123,10,32,32,32,32,34,78,97,109,101,80,114,111,112,115,34,58,32,123,10,32,32,32,32,32,32,34,118,97,114,105,97,98,108,101,115,34,58,32,91,10,32,32,32,32,32,32,32,32,123,10,32,32,32,32,32,32,32,32,32,32,34,116,121,112,101,34,58,32,34,115,116,114,105,110,103,34,44,10,32,32,32,32,32,32,32,32,32,32,34,110,97,109,101,34,58,32,34,110,97,109,101,34,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,93,10,32,32,32,32,125,10,125 | 123,34,78,97,109,101,86,79,34,32,58,32,34,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,44,69,105,116,104,101,114,44,111,107,32,125,32,102,114,111,109,32,39,64,98,105,116,108,111,111,112,115,47,98,108,45,98,111,105,108,101,114,112,108,97,116,101,45,99,111,114,101,39,59,105,109,112,111,114,116,32,123,32,78,97,109,101,80,114,111,112,115,32,125,32,102,114,111,109,32,39,46,47,78,97,109,101,80,114,111,112,115,39,59,105,109,112,111,114,116,32,123,32,68,111,109,97,105,110,69,114,114,111,114,115,32,125,32,102,114,111,109,32,39,46,47,101,114,114,111,114,115,47,105,110,100,101,120,39,59,99,111,110,115,116,32,118,78,97,109,101,58,32,115,116,114,105,110,103,32,61,32,39,75,111,115,116,97,115,39,59,32,101,120,112,111,114,116,32,99,108,97,115,115,32,78,97,109,101,86,79,32,101,120,116,101,110,100,115,32,68,111,109,97,105,110,46,86,97,108,117,101,79,98,106,101,99,116,60,78,97,109,101,80,114,111,112,115,62,32,123,32,112,114,105,118,97,116,101,32,99,111,110,115,116,114,117,99,116,111,114,40,112,114,111,112,115,58,32,78,97,109,101,80,114,111,112,115,41,32,123,32,115,117,112,101,114,40,112,114,111,112,115,41,59,32,116,104,105,115,46,112,114,111,112,115,46,110,97,109,101,32,61,32,39,110,101,119,78,97,109,101,39,59,32,125,32,112,117,98,108,105,99,32,115,116,97,116,105,99,32,99,114,101,97,116,101,40,112,114,111,112,115,58,78,97,109,101,80,114,111,112,115,41,58,32,69,105,116,104,101,114,60,78,97,109,101,86,79,44,32,68,111,109,97,105,110,69,114,114,111,114,115,46,73,110,118,97,108,105,100,78,97,109,101,69,114,114,111,114,62,32,123,32,114,101,116,117,114,110,32,111,107,40,110,101,119,32,78,97,109,101,86,79,40,112,114,111,112,115,41,41,59,32,125,32,103,101,116,32,110,97,109,101,40,41,58,32,115,116,114,105,110,103,32,123,32,114,101,116,117,114,110,32,116,104,105,115,46,112,114,111,112,115,46,110,97,109,101,59,32,125,32,112,114,105,118,97,116,101,32,116,101,115,116,77,101,116,104,111,100,40,41,58,69,105,116,104,101,114,60,118,111,105,100,44,32,110,101,118,101,114,62,32,123,116,104,105,115,46,112,114,111,112,115,46,110,97,109,101,32,61,39,110,101,119,78,97,109,101,39,59,114,101,116,117,114,110,32,111,107,40,41,59,125,32,112,114,105,118,97,116,101,32,105,115,73,110,118,97,108,105,100,78,97,109,101,40,110,97,109,101,58,115,116,114,105,110,103,41,58,32,98,111,111,108,101,97,110,32,123,32,114,101,116,117,114,110,32,40,114,101,103,78,97,109,101,46,116,101,115,116,40,110,97,109,101,41,41,59,32,125,125,34,125 | 101,120,112,111,114,116,32,105,110,116,101,114,102,97,99,101,32,78,97,109,101,80,114,111,112,115,32,123,32,110,97,109,101,58,32,115,116,114,105,110,103,59,32,125 | @bitloops-auto-generated | \ No newline at end of file diff --git a/transpiler/src/target/typescript/core/dependencies.ts b/transpiler/src/target/typescript/core/dependencies.ts index d3e80d7ce..94491b86f 100644 --- a/transpiler/src/target/typescript/core/dependencies.ts +++ b/transpiler/src/target/typescript/core/dependencies.ts @@ -51,10 +51,27 @@ export const getParentDependencies = ( from: importString, }); } - const finalParentDependencies = removeParentDuplicates(parentDependecies, className); + let finalParentDependencies = removeParentDuplicates(parentDependecies, className); + finalParentDependencies = mergeDependencies(finalParentDependencies); return finalParentDependencies; }; +const mergeDependencies = (parentDependecies): TDependencyParentTypescript[] => { + // const sources = []; + const delimeter = ',' + let mergedDependenciesMap: { [key: string]: TDependencyParentTypescript } = {}; + for (const parentDependency of parentDependecies) { + const key = parentDependency.from; + const sources = Object.keys(mergedDependenciesMap); + if (!sources.includes(key)) { + mergedDependenciesMap[key] = parentDependency; + continue; + } + const dependencies = [mergedDependenciesMap[key].value, parentDependency.value].sort(); + mergedDependenciesMap[key].value = dependencies.join(delimeter); + } + return Object.values(mergedDependenciesMap); +} const removeParentDuplicates = ( parentDependecies: TDependencyParentTypescript[], className: string,