From e0122a82df9cc868c8aadf81196ee2fd439cbed1 Mon Sep 17 00:00:00 2001 From: luizdopc Date: Thu, 17 Sep 2020 16:39:57 -0300 Subject: [PATCH 001/129] Translate Babel with TypeScript docs to portuguese --- .../pt/tutorials/Babel with TypeScript.md | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 packages/documentation/copy/pt/tutorials/Babel with TypeScript.md diff --git a/packages/documentation/copy/pt/tutorials/Babel with TypeScript.md b/packages/documentation/copy/pt/tutorials/Babel with TypeScript.md new file mode 100644 index 000000000000..35e7904fd702 --- /dev/null +++ b/packages/documentation/copy/pt/tutorials/Babel with TypeScript.md @@ -0,0 +1,49 @@ +--- +title: Using Babel with TypeScript +layout: docs +permalink: /pt/docs/handbook/babel-with-typescript.html +oneline: Como criar um projeto híbrido com Babel + TypeScript +translatable: true +--- + +## Babel vs `tsc` para TypeScript + +Desenvolvendo um projeto JavaScript moderno, você pode se perguntar qual a forma correta de converter arquivos do TypeScript para o JavaScript. + +Várias vezes a resposta é _"depende"_, ou _"alguém pode ter decidido por você"_ dependendo do projeto. Se você está construindo seu projeto com algum framework existente como [tsdx](https://tsdx.io), [Angular](https://angular.io/), [NestJS](https://nestjs.com/) ou qualquer outro framework mencionado na seção [Getting Started](/docs/home) então essa decisão é sua. + +Contudo, uma heurística útil seria: + +- A saída do seu processo de build é, na maioria das vezes, igual aos arquivos de entrada? Use `tsc` +- Você precisa de um pipeline de build com múltiplas sáidas possíveis? Use `babel` para transpilar e `tsc` para checagem de tipo. + +## Babel para transpilar, `tsc` para tipos + +Esse é um padrão comum para projetos com infraestruturas de build já existentes e que têm sido portados de uma base de código JavaScript para TypeScript. + +Essa técnica é uma abordagem híbrida, usando o [preset-typescript](https://babeljs.io/docs/en/babel-preset-typescript) do Babel para gerar seus arquivos JS, e então usar o TypeScript para fazer a checagem de tipos e gerar os arquivos `.d.ts`. + +Usando o suporte do babel para o Typescript, você consegue trabalhar com pipelines de build existentes e tem mais chances de gerar JS mais rápido porque o Babel não faz checagem de tipo no seu código. + +#### Checagem de Tipo e geração de arquivos .d.ts + +A desvantagem de usar babel é que você não tem checagem de tipos durante a transição do TS para o JS. Isso significa que erros de tipagem que você deixou passar no seu editor podem acabar no código de produção. + +Além disso, Babel não pode criar arquivos `.d.ts` para seu TypeScript o que pode fazer com que o trabalho fique mais difícil se seu projeto for uma biblioteca. + +Para corrigir esses problemas, você provavelmente vai querer configurar um comando para fazer a checagem de tipos do seu projeto usando TSC. Isso provavelmente significa duplicar algumas das suas configurações do babel para um [`tsconfig.json`](/tconfig) correspondente e garantir que estas diretivas estão ativadas: + +```json tsconfig +"compilerOptions": { + // Garante que arquivos .d.ts são criados pelo tsc, mas não arquivos .js + "declaration": true, + "emitDeclarationOnly": true, + // Garante que o Babel pode transpilar de maneira segura os arquivos no projeto TypeScript + "isolatedModules": true +} +``` + +Para mais informações sobre essas diretivas: + +- [`isolatedModules`](/tsconfig#isolatedModules) +- [`declaration`](/tsconfig#declaration), [`emitDeclarationOnly`](/tsconfig#emitDeclarationOnly) From 506a69b079e574ade971729cca2a905e3da3a474 Mon Sep 17 00:00:00 2001 From: sodam2 Date: Mon, 21 Sep 2020 20:01:28 +0900 Subject: [PATCH 002/129] add ko translation for baseUrl.md --- .../copy/ko/options/baseUrl.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 packages/tsconfig-reference/copy/ko/options/baseUrl.md diff --git a/packages/tsconfig-reference/copy/ko/options/baseUrl.md b/packages/tsconfig-reference/copy/ko/options/baseUrl.md new file mode 100644 index 000000000000..20c86ecbcab2 --- /dev/null +++ b/packages/tsconfig-reference/copy/ko/options/baseUrl.md @@ -0,0 +1,27 @@ +--- +display: "Base Url" +oneline: "Set a baseurl for relative module names" +--- + +절대 경로 참조가 아닌 모듈 이름을 해결하기 위한 기본 디렉터리를 설정할 수 있습니다. + +절대 경로로 해결하기 위한 루트 폴더를 정의할 수도 있습니다. 예를 들면, + +``` +baseUrl +├── ex.ts +├── hello +│ └── world.ts +└── tsconfig.json +``` + +이 프로젝트에서` "baseUrl": "./"`을 사용하면, TypeScript는`tsconfig.json`과 같은 폴더에서 시작하는 파일을 찾습니다. + +```ts +import { helloWorld } from "hello/world"; + +console.log(helloWorld); +``` + +항상 사용하는 `"../"` 또는 `"./"`같은 import에 질렸거나, 파일을 이동해서 변경해야 할 때, +그런 문제들을 고칠 수 있는 위한 좋은 방법입니다. From 0a47955e39d633c68e541fa92a66567d56d9169b Mon Sep 17 00:00:00 2001 From: sodam2 Date: Mon, 21 Sep 2020 20:07:02 +0900 Subject: [PATCH 003/129] add ko translation for charset.md --- packages/tsconfig-reference/copy/ko/options/charset.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 packages/tsconfig-reference/copy/ko/options/charset.md diff --git a/packages/tsconfig-reference/copy/ko/options/charset.md b/packages/tsconfig-reference/copy/ko/options/charset.md new file mode 100644 index 000000000000..45b0fa95f429 --- /dev/null +++ b/packages/tsconfig-reference/copy/ko/options/charset.md @@ -0,0 +1,7 @@ +--- +display: "Charset" +oneline: "Manually set the text encoding for reading files" +--- + +이전 TypeScript 버전에서는, 디스크에서 텍스트 파일을 읽을 때 어떤 인코딩이 사용되었는지를 제어했습니다. +오늘날 TypeScript는 UTF-8 인코딩을 전제로 합니다. 하지만 UTF-16 (BE 와 LE) 또는 UTF-8 BOMs도 정확하게 감지합니다. From fbab713aa53d36c66fbd44934bf05be152777202 Mon Sep 17 00:00:00 2001 From: sodam2 Date: Mon, 21 Sep 2020 20:15:23 +0900 Subject: [PATCH 004/129] add ko translation for Hello World.ts --- .../JavaScript Essentials/Hello World.ts | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts new file mode 100644 index 000000000000..1e90cfd3afc9 --- /dev/null +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -0,0 +1,34 @@ +//// { order: 0, compiler: { target: 1 } } + +// TypeScript 플레이 그라운드에 오신 것을 환영합니다. +// 이 웹 사이트는 TypeScript를 웹 브라우저에서 실행하는 것과 거의 비슷합니다. + +// 플레이 그라운드에서는 이러한 프로젝트를 공유하는 것을 +// 간단한 일로 만들었기 때문에, TypeScript로 아이디어를 +// 쉽고 안전하게 실험할 수 있습니다. 다른 사람에게 프로젝트를 +// 공유할 때 필요한 것은, 이 페이지의 URL이 전부입니다. + +const hello = "Hello"; + +// 오른쪽에서 TypeScript 컴파일러의 결과를 볼 수 +// 있습니다. : 이것은 브라우저나 서버는 물론, 어디에서나 +// 실제로 실행할 수 있는 바닐라 JavaScript입니다. + +const world = "World"; + +// "const"를 "var"로 변환하는 것으로, 코드에 작은 변화가 +// 생기는 것을 볼 수 있습니다. 이것은 TypeScript를 +// JavaScript가 실행되는 모든 곳에서 실행할 수 있게 하려고 +// 수행하는 많은 작업 중 하나입니다. + +console.log(hello + " " + world); + +// 이제 플레이 그라운드가 어떻게 동작하는지 아이디어를 얻었으니, +// TypeScript가 JavaScript 작업을 더 즐겁게 만드는 방법을 알아봅시다. +// 이 부분에서는, 어떻게 기존지식을 재사용할 수 있는지 +// 보여주기 위해, 가능한 한 바닐라 JavaScript에 +// 가깝게 유지하도록 하겠습니다. +// +// 계속하려면 아래를 클릭하세요: +// +// example:objects-and-arrays From 5a037ce647e56dff7126531a4d74c89f81e9c5e4 Mon Sep 17 00:00:00 2001 From: Thomas Tay Date: Mon, 21 Sep 2020 11:15:40 -0700 Subject: [PATCH 005/129] Update Iterators and Generators.md A markdown link should be a html link. --- .../documentation/copy/en/reference/Iterators and Generators.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/documentation/copy/en/reference/Iterators and Generators.md b/packages/documentation/copy/en/reference/Iterators and Generators.md index 00f94705a11d..9447366dd0f8 100644 --- a/packages/documentation/copy/en/reference/Iterators and Generators.md +++ b/packages/documentation/copy/en/reference/Iterators and Generators.md @@ -8,7 +8,7 @@ translatable: true ## Iterables -An object is deemed iterable if it has an implementation for the [`Symbol.iterator`](Symbols.md#symboliterator) property. +An object is deemed iterable if it has an implementation for the [`Symbol.iterator`](Symbols.html#symboliterator) property. Some built-in types like `Array`, `Map`, `Set`, `String`, `Int32Array`, `Uint32Array`, etc. have their `Symbol.iterator` property already implemented. `Symbol.iterator` function on an object is responsible for returning the list of values to iterate on. From 3f1dec5edd736f82d7a0ca47128d398090d012e7 Mon Sep 17 00:00:00 2001 From: zigsong Date: Wed, 23 Sep 2020 12:25:26 +0900 Subject: [PATCH 006/129] translate 2 files into ko --- .../TypeScript/Language Extensions/Enums.ts | 81 ++++++++++++++++++ .../Types vs Interfaces.ts | 83 +++++++++++++++++++ .../playground-examples/copy/ko/sections.json | 17 ++-- 3 files changed, 173 insertions(+), 8 deletions(-) create mode 100644 packages/playground-examples/copy/ko/TypeScript/Language Extensions/Enums.ts create mode 100644 packages/playground-examples/copy/ko/TypeScript/Language Extensions/Types vs Interfaces.ts diff --git a/packages/playground-examples/copy/ko/TypeScript/Language Extensions/Enums.ts b/packages/playground-examples/copy/ko/TypeScript/Language Extensions/Enums.ts new file mode 100644 index 000000000000..3a944e153a0e --- /dev/null +++ b/packages/playground-examples/copy/ko/TypeScript/Language Extensions/Enums.ts @@ -0,0 +1,81 @@ +// 열거형은 TypeScript로 쓰는 JavaScript에 추가된 기능입니다. +// 이를 통해 이름 붙은 변수들의 집합을 쉽게 다룰 수 있습니다. + +// 기본적으로 열거형은 0부터 시작하는 숫자 기반이며, +// 각 항목은 1씩 증가하여 할당됩니다. +// 이는 값이 중요하지 않을 때 유용합니다. + +enum CompassDirection { + North, + East, + South, + West, +} + +// 열거 항목을 표기하여 값을 지정할 수 있으며, +// 그 값에서부터 증가가 시작됩니다: + +enum StatusCodes { + OK = 200, + BadRequest = 400, + Unauthorized, + PaymentRequired, + Forbidden, + NotFound, +} + +// EnumName.Value을 사용하여 열거형을 참조할 수 있습니다. + +const startingDirection = CompassDirection.East; +const currentStatus = StatusCodes.OK; + +// 열거형을 사용하여 key에서 value, 그리고 value에서 key 모든 방향으로 +// 데이터에 접근할 수 있습니다. + +const okNumber = StatusCodes.OK; +const okNumberIndex = StatusCodes["OK"]; +const stringBadRequest = StatusCodes[400]; + +// 열거형은 여러 타입일 수 있지만, 일반적으로 string 타입입니다. +// string을 사용하면 디버깅이 쉬워지는데, +// 런타임에서의 값을 통해 숫자를 찾아볼 필요가 없어지기 때문입니다. + +enum GamePadInput { + Up = "UP", + Down = "DOWN", + Left = "LEFT", + Right = "RIGHT", +} + +// 만약 JavaScript 런타임에서 사용되는 객체의 수를 줄이고 싶다면, +// const enum을 쓸 수 있습니다. + +// const enum의 값은 +// 런타임에서 객체를 통해 찾아지는 대신 +// 코드를 트랜스파일하는 과정에서 대체됩니다. + +const enum MouseAction { + MouseDown, + MouseUpOutside, + MouseUpInside, +} + +const handleMouseAction = (action: MouseAction) => { + switch (action) { + case MouseAction.MouseDown: + console.log("Mouse Down"); + break; + } +}; + +// 트랜스파일된 JavaScript 코드를 보면, +// 다른 열거형들이 객체나 함수 형태로 존재하는 것을 볼 수 있지만, +// MouseAction은 그렇지 않습니다. + +// 이는 handleMouseAction 안의 switch문에 있는 +// MouseAction.MouseDown의 경우에도 마찬가지입니다. + +// 열거형에는 이것보다 더 많은 기능이 있습니다. +// TypeScript 핸드북에서 더 알아볼 수 있습니다. +// +// https://www.typescriptlang.org/docs/handbook/enums.html diff --git a/packages/playground-examples/copy/ko/TypeScript/Language Extensions/Types vs Interfaces.ts b/packages/playground-examples/copy/ko/TypeScript/Language Extensions/Types vs Interfaces.ts new file mode 100644 index 000000000000..8e2107372946 --- /dev/null +++ b/packages/playground-examples/copy/ko/TypeScript/Language Extensions/Types vs Interfaces.ts @@ -0,0 +1,83 @@ +// 객체 형태를 선언하는 주요 도구는 두 가지가 있습니다. +// 인터페이스와 타입 별칭입니다. +// +// 이 둘은 무척 비슷하며, +// 대부분 동일하게 작동합니다. + +type BirdType = { + wings: 2; +}; + +interface BirdInterface { + wings: 2; +} + +const bird1: BirdType = { wings: 2 }; +const bird2: BirdInterface = { wings: 2 }; + +// TypeScript는 구조적 타입 시스템을 따르기 때문에, +// 교차하여 사용하는 것도 가능합니다. + +const bird3: BirdInterface = bird1; + +// 둘 다 다른 인터페이스와 타입으로의 확장이 가능합니다. +// 타입 별칭은 교차 타입을 통해 이를 수행하는 반면, +// 인터페이스는 키워드를 사용합니다. + +type Owl = { nocturnal: true } & BirdType; +type Robin = { nocturnal: false } & BirdInterface; + +interface Peacock extends BirdType { + colourful: true; + flies: false; +} +interface Chicken extends BirdInterface { + colourful: false; + flies: false; +} + +let owl: Owl = { wings: 2, nocturnal: true }; +let chicken: Chicken = { wings: 2, colourful: false, flies: false }; + +// 그래도 타입 별칭보다 인터페이스를 쓰는 것을 추천합니다. +// 분명히 더 나은 에러 메시지를 받을 수 있기 때문입니다. +// 뒤따르는 에러에 커서를 가져가면, +// Chicken과 같은 인터페이스를 사용했을 때 +// TypeScript가 더 간결하고 정확한 메시지를 어떻게 제공하는지 알 수 있습니다. + +owl = chicken; +chicken = owl; + +// 타입 별칭과 인터페이스 사이 한 가지 주요한 차이점은 +// 인터페이스는 열려 있고 타입 별칭은 닫혀 있다는 것입니다. +// 이는 인터페이스를 다음에 선언할 때 +// 확장할 수 있음을 의미합니다. + +interface Kitten { + purrs: boolean; +} + +interface Kitten { + colour: string; +} + +// 이와 달리 타입은 선언 바깥에서 +// 변경할 수 없습니다. + +type Puppy = { + color: string; +}; + +type Puppy = { + toys: number; +}; + +// 목적에 따라서, 이 차이는 좋을 수도 나쁠 수도 있습니다. +// 하지만 공개된 타입들의 경우, +// 그것들을 인터페이스로 만드는 것이 더 좋습니다. + +// 타입과 인터페이스에 대한 모든 엣지 케이스를 알고 싶다면, +// 아래 stack overflow thread가 +// 시작하기 좋은 훌륭한 자료가 될 것입니다. + +// https://stackoverflow.com/questions/37233735/typescript-interfaces-vs-types/52682220#52682220 diff --git a/packages/playground-examples/copy/ko/sections.json b/packages/playground-examples/copy/ko/sections.json index 92782dc30c95..0c72f3f7bef0 100644 --- a/packages/playground-examples/copy/ko/sections.json +++ b/packages/playground-examples/copy/ko/sections.json @@ -1,33 +1,34 @@ { - "sections": [{ + "sections": [ + { "name": "JavaScript", "id": "JavaScript", - "subtitle": "See how TypeScript improves day to day working with JavaScript with minimal additional syntax." + "subtitle": "TypeScript가 최소한의 추가 구문으로 JavaScript 작업을 어떻게 개선하는지 확인해보세요." }, { "name": "TypeScript", "id": "TypeScript", - "subtitle": "Explore how TypeScript extends JavaScript to add more safety and tooling." + "subtitle": "TypeScript가 JavaScript를 확장하여 안전성과 도구를 추가하는 방법을 살펴보세요." }, { "name": "3.7", "id": "3.7", - "subtitle": "See the Release notes." + "subtitle": "릴리즈 노트를 확인해보세요." }, { "name": "3.8", "id": "3.8", - "subtitle": "See the Release notes." + "subtitle": "릴리즈 노트를 확인해보세요." }, { "name": "4.0", "id": "4.0", - "subtitle": "See the Release notes." + "subtitle": "릴리즈 노트를 확인해보세요." }, { "name": "Playground V3", "id": "Playground", - "subtitle": "Learn what has changed in this website." + "subtitle": "이 웹사이트에서 변경된 사항을 확인해보세요." } ], "sortedSubSections": [ @@ -59,4 +60,4 @@ "New TS Features", "New Checks" ] -} \ No newline at end of file +} From de82e792a8d779a14d870b966b0ee0a22af6f1d1 Mon Sep 17 00:00:00 2001 From: sodam2 Date: Wed, 23 Sep 2020 21:06:50 +0900 Subject: [PATCH 007/129] remove the space between 'play' and 'ground' --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 1e90cfd3afc9..1f348f533672 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -1,9 +1,9 @@ //// { order: 0, compiler: { target: 1 } } -// TypeScript 플레이 그라운드에 오신 것을 환영합니다. +// TypeScript 플레이그라운드에 오신 것을 환영합니다. // 이 웹 사이트는 TypeScript를 웹 브라우저에서 실행하는 것과 거의 비슷합니다. -// 플레이 그라운드에서는 이러한 프로젝트를 공유하는 것을 +// 플레이그라운드에서는 이러한 프로젝트를 공유하는 것을 // 간단한 일로 만들었기 때문에, TypeScript로 아이디어를 // 쉽고 안전하게 실험할 수 있습니다. 다른 사람에게 프로젝트를 // 공유할 때 필요한 것은, 이 페이지의 URL이 전부입니다. @@ -23,7 +23,7 @@ const world = "World"; console.log(hello + " " + world); -// 이제 플레이 그라운드가 어떻게 동작하는지 아이디어를 얻었으니, +// 이제 플레이그라운드가 어떻게 동작하는지 아이디어를 얻었으니, // TypeScript가 JavaScript 작업을 더 즐겁게 만드는 방법을 알아봅시다. // 이 부분에서는, 어떻게 기존지식을 재사용할 수 있는지 // 보여주기 위해, 가능한 한 바닐라 JavaScript에 From e05da249f8df4274288650323d301b0974454cab Mon Sep 17 00:00:00 2001 From: Cory Donnelly Date: Wed, 23 Sep 2020 13:38:08 -0400 Subject: [PATCH 008/129] Fix variable name in Advanced Types reference material --- packages/documentation/copy/en/reference/Advanced Types.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/documentation/copy/en/reference/Advanced Types.md b/packages/documentation/copy/en/reference/Advanced Types.md index 47f1d6c977b7..96e7f8655630 100644 --- a/packages/documentation/copy/en/reference/Advanced Types.md +++ b/packages/documentation/copy/en/reference/Advanced Types.md @@ -228,8 +228,8 @@ You can include them explicitly using a union type: ```ts twoslash // @errors: 2322 -let examapleString = "foo"; -examapleString = null; +let exampleString = "foo"; +exampleString = null; let stringOrNull: string | null = "bar"; stringOrNull = null; From 0fd9199e00431135a58343d8ef84d2a4af860cdd Mon Sep 17 00:00:00 2001 From: dmitry Date: Fri, 25 Sep 2020 00:04:23 +0300 Subject: [PATCH 009/129] Fixed example that should fail The text tells us: `The above workaround will work as long as you have a common property between squareOptions and SquareConfig. In this example, it was the property width. It will however, fail if the variable does not have any common object property. For example:` and then comes an example that in fact not fail, but works fine. Changed the example to fail instead, as intended in its description text. --- packages/documentation/copy/en/handbook-v1/Interfaces.md | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/documentation/copy/en/handbook-v1/Interfaces.md b/packages/documentation/copy/en/handbook-v1/Interfaces.md index baf3eab63287..e365b00607ec 100644 --- a/packages/documentation/copy/en/handbook-v1/Interfaces.md +++ b/packages/documentation/copy/en/handbook-v1/Interfaces.md @@ -257,7 +257,6 @@ In this example, it was the property `width`. It will however, fail if the varia interface SquareConfig { color?: string; width?: number; - [propName: string]: any; } function createSquare(config: SquareConfig): { color: string; area: number } { From a0793672c413cd67ab0e0b34abb98cc6d2c2ba18 Mon Sep 17 00:00:00 2001 From: Davi-Danger Date: Fri, 25 Sep 2020 19:28:01 -0400 Subject: [PATCH 010/129] Fix gramatical error "then" to "than" "Then" declares order, and "than" declares comparison. Fixed the choice of word. --- packages/documentation/copy/en/reference/Mixins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/documentation/copy/en/reference/Mixins.md b/packages/documentation/copy/en/reference/Mixins.md index d640d6788301..a40f6eaee027 100644 --- a/packages/documentation/copy/en/reference/Mixins.md +++ b/packages/documentation/copy/en/reference/Mixins.md @@ -246,7 +246,7 @@ playerTwo.shouldFreeze; #### Static Property Mixins [`#17829`](https://github.com/microsoft/TypeScript/issues/17829) -More of a gotcha then a constraint. +More of a gotcha than a constraint. The class expression pattern creates singletons, so they can't be mapped at the type system to support different variable types. You can work around this by using functions to return your classes which differ based on a generic: From c66b46ccfc85dbd5d0cacba6723d75ef7e0917f3 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Sat, 26 Sep 2020 15:27:35 +0700 Subject: [PATCH 011/129] docs(i18n-id): translate declarationDir.md and several config section into Indonesia --- .../copy/id/options/declarationDir.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 packages/tsconfig-reference/copy/id/options/declarationDir.md diff --git a/packages/tsconfig-reference/copy/id/options/declarationDir.md b/packages/tsconfig-reference/copy/id/options/declarationDir.md new file mode 100644 index 000000000000..38e6ea6791e1 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/declarationDir.md @@ -0,0 +1,36 @@ +--- +display: "Declaration Dir" +oneline: "Atur direktori root untuk file d.ts yang akan dituju" +--- + +Menawarkan cara untuk mengonfigurasi direktori root tempat file deklarasi dipancarkan. + +``` +example +├── index.ts +├── package.json +└── tsconfig.json +``` + +dengan `tsconfig.json`; + +```json tsconfig +{ + "compilerOptions": { + "declaration": true, + "declarationDir": "./types" + } +} +``` + +Akan menempatkan d.ts untuk `index.ts` di folder` types`: + +``` +example +├── index.js +├── index.ts +├── package.json +├── tsconfig.json +└── types + └── index.d.ts +``` \ No newline at end of file From 86649e38a47e8806f08599ea5bb10f708346045b Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Sun, 27 Sep 2020 15:34:40 +0700 Subject: [PATCH 012/129] docs(i18n-id): translate declaration.md and several config section into Indonesia --- .../copy/id/options/declaration.md | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 packages/tsconfig-reference/copy/id/options/declaration.md diff --git a/packages/tsconfig-reference/copy/id/options/declaration.md b/packages/tsconfig-reference/copy/id/options/declaration.md new file mode 100644 index 000000000000..15298f8e5efa --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/declaration.md @@ -0,0 +1,32 @@ +--- +display: "Declaration" +oneline: "Emit file d.ts untuk file referensi dalam proyek" +--- + +Buat file `.d.ts` untuk setiap file TypeScript atau JavaScript di dalam proyek Anda. +File `.d.ts` ini adalah file definisi tipe yang menjelaskan API eksternal modul Anda. +Dengan file `.d.ts`, alat seperti TypeScript dapat menyediakan tipe yang masuk akal dan akurat untuk kode yang tidak diketik. + +ika `declaration` disetel ke` true`, jalankan compiler dengan kode TypeScript: + +```ts twoslash +export let helloWorld = "hi"; +``` + +Akan menghasilkan file `index.js` seperti ini: + +```ts twoslash +// @showEmit +export let helloWorld = "hi"; +``` + +Dengan `helloWorld.d.ts` yang sesuai: + +```ts twoslash +// @showEmittedFile: index.d.ts +// @showEmit +// @declaration +export let helloWorld = "hi"; +``` + +Saat bekerja dengan file `.d.ts` untuk file JavaScript, Anda mungkin ingin menggunakan [` emitDeclarationOnly`](#emitDeclarationOnly) atau menggunakan [`outDir`](#outDir) untuk memastikan bahwa file JavaScript tidak ditimpa. \ No newline at end of file From f66c24cdc0b43b11d781d4bbb6dcbfd8d0e8d8fc Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Sun, 27 Sep 2020 19:23:41 +0700 Subject: [PATCH 013/129] docs(i18n-id): fix word files, un-type, and spaces according to review --- .../copy/id/options/declaration.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/declaration.md b/packages/tsconfig-reference/copy/id/options/declaration.md index 15298f8e5efa..816b3adc738a 100644 --- a/packages/tsconfig-reference/copy/id/options/declaration.md +++ b/packages/tsconfig-reference/copy/id/options/declaration.md @@ -1,19 +1,19 @@ --- display: "Declaration" -oneline: "Emit file d.ts untuk file referensi dalam proyek" +oneline: "Emit berkas d.ts untuk berkas referensi dalam proyek" --- -Buat file `.d.ts` untuk setiap file TypeScript atau JavaScript di dalam proyek Anda. -File `.d.ts` ini adalah file definisi tipe yang menjelaskan API eksternal modul Anda. -Dengan file `.d.ts`, alat seperti TypeScript dapat menyediakan tipe yang masuk akal dan akurat untuk kode yang tidak diketik. +Buat berkas `.d.ts` untuk setiap berkas TypeScript atau JavaScript di dalam proyek Anda. +Berkas `.d.ts` ini adalah berkas definisi tipe yang menjelaskan API eksternal modul Anda. +Dengan berkas `.d.ts`, alat seperti TypeScript dapat menyediakan tipe yang masuk akal di dalam sumber kode tanpa definisi tipe data. -ika `declaration` disetel ke` true`, jalankan compiler dengan kode TypeScript: +Jika `declaration` disetel ke`true`, jalankan compiler dengan kode TypeScript: ```ts twoslash export let helloWorld = "hi"; ``` -Akan menghasilkan file `index.js` seperti ini: +Akan menghasilkan berkas `index.js` seperti ini: ```ts twoslash // @showEmit @@ -29,4 +29,4 @@ Dengan `helloWorld.d.ts` yang sesuai: export let helloWorld = "hi"; ``` -Saat bekerja dengan file `.d.ts` untuk file JavaScript, Anda mungkin ingin menggunakan [` emitDeclarationOnly`](#emitDeclarationOnly) atau menggunakan [`outDir`](#outDir) untuk memastikan bahwa file JavaScript tidak ditimpa. \ No newline at end of file +Saat bekerja dengan berkas `.d.ts` untuk file JavaScript, Anda mungkin ingin menggunakan [`emitDeclarationOnly`](#emitDeclarationOnly) atau menggunakan [`outDir`](#outDir) untuk memastikan bahwa berkas JavaScript tidak ditimpa. \ No newline at end of file From 68ff5807bdac8aed1f27839595d2da3b251c0b3b Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Sun, 27 Sep 2020 19:50:29 +0700 Subject: [PATCH 014/129] docs(i18n-id): fix word root, files and spaces according to review --- .../tsconfig-reference/copy/id/options/declarationDir.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/declarationDir.md b/packages/tsconfig-reference/copy/id/options/declarationDir.md index 38e6ea6791e1..b272d8275c1e 100644 --- a/packages/tsconfig-reference/copy/id/options/declarationDir.md +++ b/packages/tsconfig-reference/copy/id/options/declarationDir.md @@ -1,9 +1,9 @@ --- display: "Declaration Dir" -oneline: "Atur direktori root untuk file d.ts yang akan dituju" +oneline: "Atur direktori _root_ untuk berkas d.ts yang akan dituju" --- -Menawarkan cara untuk mengonfigurasi direktori root tempat file deklarasi dipancarkan. +Menawarkan cara untuk mengonfigurasi direktori _root_ tempat berkas deklarasi dikeluarkan. ``` example @@ -23,7 +23,7 @@ dengan `tsconfig.json`; } ``` -Akan menempatkan d.ts untuk `index.ts` di folder` types`: +Akan menempatkan d.ts untuk `index.ts` di folder `types`: ``` example From fa505df41846a9ffa88b71a1820a9a3fc115876f Mon Sep 17 00:00:00 2001 From: Orta Date: Sun, 27 Sep 2020 09:17:37 -0400 Subject: [PATCH 015/129] Improve error handling for playground ts versions without builds' --- .../typescriptlang-org/src/templates/play.tsx | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/typescriptlang-org/src/templates/play.tsx b/packages/typescriptlang-org/src/templates/play.tsx index 67a1700ff776..9f7f1406fca5 100644 --- a/packages/typescriptlang-org/src/templates/play.tsx +++ b/packages/typescriptlang-org/src/templates/play.tsx @@ -79,13 +79,33 @@ const Play: React.FC = (props) => { tsVersionParam = nightlyJSON.version } - const tsVersion = tsVersionParam || playgroundReleases.versions.sort().pop() + // Somehow people keep trying -insiders urls instead of -dev - maybe some tooling I don't know? + if (tsVersionParam && tsVersionParam.includes("-insiders.")) { + tsVersionParam = tsVersionParam.replace("-insiders.", "-dev.") + } + + const latestRelease = [...playgroundReleases.versions].sort().pop() + const tsVersion = tsVersionParam || latestRelease // Because we can reach to localhost ports from the site, it's possible for the locally built compiler to // be hosted and to power the editor with a bit of elbow grease. const useLocalCompiler = tsVersion === "dev" const urlForMonaco = useLocalCompiler ? "http://localhost:5615/dev/vs" : `https://typescript.azureedge.net/cdn/${tsVersion}/monaco/min/vs` + // Make a quick HEAD call for the main monaco editor for this version of TS, if it + // bails then give a useful error message and bail. + const nightlyLookup = await fetch(urlForMonaco + "/editor/editor.main.js", { method: "HEAD" }) + if (!nightlyLookup.ok) { + document.querySelectorAll(".lds-grid div").forEach(div => { + div.style.backgroundColor = "red" + div.style.animation = "" + div.style.webkitAnimation = "" + }) + + document.getElementById("loading-message")!.innerHTML = `This version of TypeScript (${tsVersion?.replace("<", "-")})
has not been prepared for the Playground

Try ${latestRelease} or Nightly` + return + } + // @ts-ignore const re: any = global.require re.config({ From 3594efde542b81a813f28471d5256694c5ac44a3 Mon Sep 17 00:00:00 2001 From: Orta Date: Sun, 27 Sep 2020 09:42:09 -0400 Subject: [PATCH 016/129] Adds the ukrainian intl issue --- .../scripts/makeMarkdownOfTranslations.js | 13 ++++++++++--- .../scripts/updateGitHubTranslationIssues.ts | 1 + 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/typescriptlang-org/scripts/makeMarkdownOfTranslations.js b/packages/typescriptlang-org/scripts/makeMarkdownOfTranslations.js index 65ebeec8b846..e84a1704f9b7 100644 --- a/packages/typescriptlang-org/scripts/makeMarkdownOfTranslations.js +++ b/packages/typescriptlang-org/scripts/makeMarkdownOfTranslations.js @@ -54,8 +54,11 @@ const getAllTODOFiles = lang => { return all } +let totalDone = 0 +let totalTodo = 0 + const toMarkdown = files => { - const md = [] + const md = [""] const markdownLink = (f, done) => { const name = basename(f) @@ -69,8 +72,8 @@ const toMarkdown = files => { const todo = files[section].todo const done = files[section].done - md.push("\n\n## " + section + "\n\n") - + md.push("\n\n## " + section + "\n") + md.push(`Done: ${done.length}, TODO: ${todo.length}.\n\n`) done.forEach(f => { md.push(markdownLink(f, true)) }) @@ -78,8 +81,12 @@ const toMarkdown = files => { todo.forEach(f => { md.push(markdownLink(f)) }) + + totalDone += done.length + totalTodo += todo.length }) + md[0] = `For this language there are ${totalDone} translated files, with ${totalTodo} TODO.\n\n` return md.join("\n") } diff --git a/packages/typescriptlang-org/scripts/updateGitHubTranslationIssues.ts b/packages/typescriptlang-org/scripts/updateGitHubTranslationIssues.ts index e9e4e7157616..1b65843bf10d 100644 --- a/packages/typescriptlang-org/scripts/updateGitHubTranslationIssues.ts +++ b/packages/typescriptlang-org/scripts/updateGitHubTranslationIssues.ts @@ -13,6 +13,7 @@ const languages = { zh: 296, ko: 910, id: 938, + ua: 1149, } const go = async () => { From 6eaa485e22db8bec52495dfb4e5457993c15a57c Mon Sep 17 00:00:00 2001 From: Orta Date: Sun, 27 Sep 2020 09:43:00 -0400 Subject: [PATCH 017/129] Adds the UA codeowners --- .github/CODEOWNERS | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d6b10dd4f4f2..3125a8b790b3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -41,3 +41,10 @@ packages/tsconfig-reference/copy/id/**/*.md @jefrydco @nusendra @mazipan @mandap packages/typescriptlang-org/src/copy/id/**/*.ts @jefrydco @nusendra @mazipan @mandaputtra [translation] [id] packages/typescriptlang-org/src/copy/id.ts @jefrydco @nusendra @mazipan @mandaputtra [translation] [id] packages/documentation/copy/id/**/*.md @jefrydco @nusendra @mazipan @mandaputtra [translation] [id] + +# Collaborators for Ukrainian Translation of the Website +packages/playground-examples/copy/id @AMashoshyna [translation] [ua] +packages/tsconfig-reference/copy/id/**/*.md @AMashoshyna [translation] [ua] +packages/typescriptlang-org/src/copy/id/**/*.ts @AMashoshyna [translation] [ua] +packages/typescriptlang-org/src/copy/id.ts @AMashoshyna [translation] [ua] +packages/documentation/copy/id/**/*.md @AMashoshyna [translation] [ua] From 80490e2c80468bd9b89fed331bd94e865f2d6cc6 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sun, 27 Sep 2020 13:08:21 -0400 Subject: [PATCH 018/129] Update .github/CODEOWNERS Co-authored-by: Anastasiya Mashoshyna --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 3125a8b790b3..d7cbc54e118f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -43,7 +43,7 @@ packages/typescriptlang-org/src/copy/id.ts @jefrydco @nusendra @mazipan @mandapu packages/documentation/copy/id/**/*.md @jefrydco @nusendra @mazipan @mandaputtra [translation] [id] # Collaborators for Ukrainian Translation of the Website -packages/playground-examples/copy/id @AMashoshyna [translation] [ua] +packages/playground-examples/copy/id @AMashoshyna [translation] [uk] packages/tsconfig-reference/copy/id/**/*.md @AMashoshyna [translation] [ua] packages/typescriptlang-org/src/copy/id/**/*.ts @AMashoshyna [translation] [ua] packages/typescriptlang-org/src/copy/id.ts @AMashoshyna [translation] [ua] From 3a4c31ac0a0b4f0fdcbd3102e2c28018342ce4f9 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sun, 27 Sep 2020 13:08:28 -0400 Subject: [PATCH 019/129] Update .github/CODEOWNERS Co-authored-by: Anastasiya Mashoshyna --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d7cbc54e118f..f8e2dbc7d807 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -44,7 +44,7 @@ packages/documentation/copy/id/**/*.md @jefrydco @nusendra @mazipan @mandaputtra # Collaborators for Ukrainian Translation of the Website packages/playground-examples/copy/id @AMashoshyna [translation] [uk] -packages/tsconfig-reference/copy/id/**/*.md @AMashoshyna [translation] [ua] +packages/tsconfig-reference/copy/id/**/*.md @AMashoshyna [translation] [uk] packages/typescriptlang-org/src/copy/id/**/*.ts @AMashoshyna [translation] [ua] packages/typescriptlang-org/src/copy/id.ts @AMashoshyna [translation] [ua] packages/documentation/copy/id/**/*.md @AMashoshyna [translation] [ua] From 4d1a12e53d66dc62e7ae8876bde222fbe6e434a4 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sun, 27 Sep 2020 13:08:35 -0400 Subject: [PATCH 020/129] Update packages/typescriptlang-org/scripts/updateGitHubTranslationIssues.ts Co-authored-by: Anastasiya Mashoshyna --- .../typescriptlang-org/scripts/updateGitHubTranslationIssues.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/typescriptlang-org/scripts/updateGitHubTranslationIssues.ts b/packages/typescriptlang-org/scripts/updateGitHubTranslationIssues.ts index 1b65843bf10d..17f47ca04025 100644 --- a/packages/typescriptlang-org/scripts/updateGitHubTranslationIssues.ts +++ b/packages/typescriptlang-org/scripts/updateGitHubTranslationIssues.ts @@ -13,7 +13,7 @@ const languages = { zh: 296, ko: 910, id: 938, - ua: 1149, + uk: 1149, } const go = async () => { From 930413b89e19c16c5cbd3d554560ddc3a01ac802 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sun, 27 Sep 2020 13:08:41 -0400 Subject: [PATCH 021/129] Update .github/CODEOWNERS Co-authored-by: Anastasiya Mashoshyna --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f8e2dbc7d807..43f6506c307f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -46,5 +46,5 @@ packages/documentation/copy/id/**/*.md @jefrydco @nusendra @mazipan @mandaputtra packages/playground-examples/copy/id @AMashoshyna [translation] [uk] packages/tsconfig-reference/copy/id/**/*.md @AMashoshyna [translation] [uk] packages/typescriptlang-org/src/copy/id/**/*.ts @AMashoshyna [translation] [ua] -packages/typescriptlang-org/src/copy/id.ts @AMashoshyna [translation] [ua] +packages/typescriptlang-org/src/copy/id.ts @AMashoshyna [translation] [uk] packages/documentation/copy/id/**/*.md @AMashoshyna [translation] [ua] From 88e2f77ad9125b55bdccdaba0aace868e740854d Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sun, 27 Sep 2020 13:08:47 -0400 Subject: [PATCH 022/129] Update .github/CODEOWNERS Co-authored-by: Anastasiya Mashoshyna --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 43f6506c307f..a1fda382d970 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -45,6 +45,6 @@ packages/documentation/copy/id/**/*.md @jefrydco @nusendra @mazipan @mandaputtra # Collaborators for Ukrainian Translation of the Website packages/playground-examples/copy/id @AMashoshyna [translation] [uk] packages/tsconfig-reference/copy/id/**/*.md @AMashoshyna [translation] [uk] -packages/typescriptlang-org/src/copy/id/**/*.ts @AMashoshyna [translation] [ua] +packages/typescriptlang-org/src/copy/id/**/*.ts @AMashoshyna [translation] [uk] packages/typescriptlang-org/src/copy/id.ts @AMashoshyna [translation] [uk] packages/documentation/copy/id/**/*.md @AMashoshyna [translation] [ua] From 7189d244fc0af8f6b00e434990a52360f98630ca Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sun, 27 Sep 2020 13:08:55 -0400 Subject: [PATCH 023/129] Update .github/CODEOWNERS Co-authored-by: Anastasiya Mashoshyna --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a1fda382d970..95429b9d4c24 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -47,4 +47,4 @@ packages/playground-examples/copy/id @AMashoshyna [translation] [uk] packages/tsconfig-reference/copy/id/**/*.md @AMashoshyna [translation] [uk] packages/typescriptlang-org/src/copy/id/**/*.ts @AMashoshyna [translation] [uk] packages/typescriptlang-org/src/copy/id.ts @AMashoshyna [translation] [uk] -packages/documentation/copy/id/**/*.md @AMashoshyna [translation] [ua] +packages/documentation/copy/id/**/*.md @AMashoshyna [translation] [uk] From 67db41b134241be43faf5ab27d4d02d27881ea58 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Mon, 28 Sep 2020 05:23:11 +0700 Subject: [PATCH 024/129] docs(i18n-id): fix word emitted according to review --- packages/tsconfig-reference/copy/id/options/declarationDir.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/id/options/declarationDir.md b/packages/tsconfig-reference/copy/id/options/declarationDir.md index b272d8275c1e..cfad34bc892b 100644 --- a/packages/tsconfig-reference/copy/id/options/declarationDir.md +++ b/packages/tsconfig-reference/copy/id/options/declarationDir.md @@ -3,7 +3,7 @@ display: "Declaration Dir" oneline: "Atur direktori _root_ untuk berkas d.ts yang akan dituju" --- -Menawarkan cara untuk mengonfigurasi direktori _root_ tempat berkas deklarasi dikeluarkan. +Menawarkan cara untuk mengonfigurasi direktori _root_ tempat berkas deklarasi dihasilkan. ``` example From 727f92fd0b88db495fbe1f1c980b70c31c0cc2a1 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Mon, 28 Sep 2020 06:10:25 +0700 Subject: [PATCH 025/129] docs(i18n-id): translate declarationMap.md, diagnostics.md, and several config section into Indonesia --- .../tsconfig-reference/copy/id/options/declarationMap.md | 9 +++++++++ .../tsconfig-reference/copy/id/options/diagnostics.md | 8 ++++++++ 2 files changed, 17 insertions(+) create mode 100644 packages/tsconfig-reference/copy/id/options/declarationMap.md create mode 100644 packages/tsconfig-reference/copy/id/options/diagnostics.md diff --git a/packages/tsconfig-reference/copy/id/options/declarationMap.md b/packages/tsconfig-reference/copy/id/options/declarationMap.md new file mode 100644 index 000000000000..72657fb77caf --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/declarationMap.md @@ -0,0 +1,9 @@ +--- +display: "Declaration Map" +oneline: "Buat peta sumber untuk berkas d.ts" +--- + +Menghasilkan peta sumber untuk berkas `.d.ts` yang mengarahkan kembali ke berkas sumber` .ts` asli. +Ini akan memungkinkan editor seperti VS Code untuk pergi ke file `.ts` asli saat menggunakan fitur seperti _Go to Definition_. + +Anda harus mempertimbangkan untuk mengaktifkan ini jika Anda menggunakan referensi proyek. diff --git a/packages/tsconfig-reference/copy/id/options/diagnostics.md b/packages/tsconfig-reference/copy/id/options/diagnostics.md new file mode 100644 index 000000000000..edd571463301 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/diagnostics.md @@ -0,0 +1,8 @@ +--- +display: "Diagnostics" +oneline: "Mengeluarkan informasi tambahan setelah kompilasi" +--- + +Digunakan untuk mengeluarkan informasi diagnostik untuk debugging. Perintah ini adalah subset dari [`extendedDiagnostics`](#extendedDiagnostics) yang lebih merupakan hasil yang dilihat pengguna, dan lebih mudah ditafsirkan. + +Jika Anda telah diminta oleh kompilator engineer TypeScript untuk memberikan hasil menggunakan tanda ini dalam sebuah kompilasi, di mana tidak ada salahnya menggunakan [`--extendedDiagnostics`](#extendedDiagnostics) sebagai gantinya. \ No newline at end of file From a5ee56b8eaa3e65500f246ef0cdaf7bfbbb06326 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Mon, 28 Sep 2020 07:22:06 +0700 Subject: [PATCH 026/129] docs(i18n-id): fix spaces, and slash in debugging and subset according to review --- packages/tsconfig-reference/copy/id/options/declarationMap.md | 2 +- packages/tsconfig-reference/copy/id/options/diagnostics.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/declarationMap.md b/packages/tsconfig-reference/copy/id/options/declarationMap.md index 72657fb77caf..77193045f116 100644 --- a/packages/tsconfig-reference/copy/id/options/declarationMap.md +++ b/packages/tsconfig-reference/copy/id/options/declarationMap.md @@ -3,7 +3,7 @@ display: "Declaration Map" oneline: "Buat peta sumber untuk berkas d.ts" --- -Menghasilkan peta sumber untuk berkas `.d.ts` yang mengarahkan kembali ke berkas sumber` .ts` asli. +Menghasilkan peta sumber untuk berkas `.d.ts` yang mengarahkan kembali ke berkas sumber `.ts` asli. Ini akan memungkinkan editor seperti VS Code untuk pergi ke file `.ts` asli saat menggunakan fitur seperti _Go to Definition_. Anda harus mempertimbangkan untuk mengaktifkan ini jika Anda menggunakan referensi proyek. diff --git a/packages/tsconfig-reference/copy/id/options/diagnostics.md b/packages/tsconfig-reference/copy/id/options/diagnostics.md index edd571463301..2a0ccb270490 100644 --- a/packages/tsconfig-reference/copy/id/options/diagnostics.md +++ b/packages/tsconfig-reference/copy/id/options/diagnostics.md @@ -3,6 +3,6 @@ display: "Diagnostics" oneline: "Mengeluarkan informasi tambahan setelah kompilasi" --- -Digunakan untuk mengeluarkan informasi diagnostik untuk debugging. Perintah ini adalah subset dari [`extendedDiagnostics`](#extendedDiagnostics) yang lebih merupakan hasil yang dilihat pengguna, dan lebih mudah ditafsirkan. +Digunakan untuk mengeluarkan informasi diagnostik untuk _debugging_. Perintah ini adalah _subset_ dari [`extendedDiagnostics`](#extendedDiagnostics) yang lebih merupakan hasil yang dilihat pengguna, dan lebih mudah ditafsirkan. Jika Anda telah diminta oleh kompilator engineer TypeScript untuk memberikan hasil menggunakan tanda ini dalam sebuah kompilasi, di mana tidak ada salahnya menggunakan [`--extendedDiagnostics`](#extendedDiagnostics) sebagai gantinya. \ No newline at end of file From 274b1d64f495404b06edb791694b5524f31513b7 Mon Sep 17 00:00:00 2001 From: Alex Liu Date: Mon, 28 Sep 2020 13:51:19 +0800 Subject: [PATCH 027/129] Changed spelling - 'browers' to 'browsers' --- packages/documentation/copy/en/handbook-v2/Basics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/documentation/copy/en/handbook-v2/Basics.md b/packages/documentation/copy/en/handbook-v2/Basics.md index 0119f97d22dd..3df34fa0827b 100644 --- a/packages/documentation/copy/en/handbook-v2/Basics.md +++ b/packages/documentation/copy/en/handbook-v2/Basics.md @@ -388,7 +388,7 @@ greet("Maddison", new Date()); ``` > While the default target is ES3, the great majority of current browsers support ES5. -> Most developers can therefore safely specify ES5 or even ES2016 as a target, unless compatibility with certain ancient browers is important. +> Most developers can therefore safely specify ES5 or even ES2016 as a target, unless compatibility with certain ancient browsers is important. ## Strictness From ed8cc8c1eae66f926b287dd2ab122908f636973e Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Mon, 28 Sep 2020 15:56:46 +0700 Subject: [PATCH 028/129] docs(i18n-id): fix word folder according to review --- packages/tsconfig-reference/copy/id/options/declarationDir.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/id/options/declarationDir.md b/packages/tsconfig-reference/copy/id/options/declarationDir.md index cfad34bc892b..e3f3341f3647 100644 --- a/packages/tsconfig-reference/copy/id/options/declarationDir.md +++ b/packages/tsconfig-reference/copy/id/options/declarationDir.md @@ -23,7 +23,7 @@ dengan `tsconfig.json`; } ``` -Akan menempatkan d.ts untuk `index.ts` di folder `types`: +Akan menempatkan d.ts untuk `index.ts` di direktori `types`: ``` example From e47f059da6866b214c8b8ba6f97dca4919b37a29 Mon Sep 17 00:00:00 2001 From: Orta Date: Mon, 28 Sep 2020 16:54:44 -0400 Subject: [PATCH 029/129] Renames the CLI docs to discourage using it for tsconfig info --- .../en/project-config/Compiler Options.md | 4 +- .../src/lib/documentationNavigation.ts | 44 +++++++++---------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/documentation/copy/en/project-config/Compiler Options.md b/packages/documentation/copy/en/project-config/Compiler Options.md index 8a7a8ef5a573..454253a4bbd0 100644 --- a/packages/documentation/copy/en/project-config/Compiler Options.md +++ b/packages/documentation/copy/en/project-config/Compiler Options.md @@ -1,8 +1,8 @@ --- -title: Compiler Options +title: TSC CLI Options layout: docs permalink: /docs/handbook/compiler-options.html -oneline: A very high-level overview of the compiler options in TypeScript +oneline: A very high-level overview of the CLI compiler options for tsc disable_toc: true --- diff --git a/packages/typescriptlang-org/src/lib/documentationNavigation.ts b/packages/typescriptlang-org/src/lib/documentationNavigation.ts index 856b19f20e25..4d27ba11d6d2 100644 --- a/packages/typescriptlang-org/src/lib/documentationNavigation.ts +++ b/packages/typescriptlang-org/src/lib/documentationNavigation.ts @@ -623,11 +623,11 @@ export function getDocumentationNavForLanguage( oneline: "The page covering every TSConfig option", }, { - title: "Compiler Options", - id: "7compiler-options", + title: "TSC CLI Options", + id: "7tsc-cli-options", permalink: "/docs/handbook/compiler-options.html", oneline: - "A very high-level overview of the compiler options in TypeScript", + "A very high-level overview of the CLI compiler options for tsc", }, { title: "Project References", @@ -1336,11 +1336,11 @@ export function getDocumentationNavForLanguage( oneline: "The page covering every TSConfig option", }, { - title: "Compiler Options", - id: "7compiler-options", + title: "TSC CLI Options", + id: "7tsc-cli-options", permalink: "/docs/handbook/compiler-options.html", oneline: - "A very high-level overview of the compiler options in TypeScript", + "A very high-level overview of the CLI compiler options for tsc", }, { title: "Project References", @@ -1576,10 +1576,10 @@ export function getDocumentationNavForLanguage( oneline: "Types which are globally included in TypeScript", }, { - title: "Decorators", - id: "2decorators", - permalink: "/docs/handbook/decorators.html", - oneline: "TypeScript Decorators overview", + title: "Decoradores", + id: "2decoradores", + permalink: "/pt/docs/handbook/Decorators.html", + oneline: "Visão geral dos Decoradores no TypeScript", }, { title: "Declaration Merging", @@ -1620,8 +1620,8 @@ export function getDocumentationNavForLanguage( { title: "Namespaces", id: "2namespaces", - permalink: "/docs/handbook/namespaces.html", - oneline: "How TypeScript namespaces work", + permalink: "/pt/docs/handbook/namespaces.html", + oneline: "Como funcionam os Namespaces no TypeScript", }, { title: "Namespaces and Modules", @@ -1631,10 +1631,10 @@ export function getDocumentationNavForLanguage( "How to organize code in TypeScript via modules or namespaces", }, { - title: "Symbols", - id: "2symbols", - permalink: "/docs/handbook/symbols.html", - oneline: "Using the JavaScript Symbol primitive in TypeScript", + title: "Símbolos (Symbols)", + id: "2símbolos-(symbols)", + permalink: "/pt/docs/handbook/symbols.html", + oneline: "Usando o símbolo primitivo do JavaScript no TypeScript", }, { title: "Triple-Slash Directives", @@ -2049,11 +2049,11 @@ export function getDocumentationNavForLanguage( oneline: "The page covering every TSConfig option", }, { - title: "Compiler Options", - id: "7compiler-options", + title: "TSC CLI Options", + id: "7tsc-cli-options", permalink: "/docs/handbook/compiler-options.html", oneline: - "A very high-level overview of the compiler options in TypeScript", + "A very high-level overview of the CLI compiler options for tsc", }, { title: "Project References", @@ -2762,11 +2762,11 @@ export function getDocumentationNavForLanguage( oneline: "The page covering every TSConfig option", }, { - title: "Compiler Options", - id: "7compiler-options", + title: "TSC CLI Options", + id: "7tsc-cli-options", permalink: "/docs/handbook/compiler-options.html", oneline: - "A very high-level overview of the compiler options in TypeScript", + "A very high-level overview of the CLI compiler options for tsc", }, { title: "Project References", From 54355ba4805732e76cf4daa3ac508df6e319173f Mon Sep 17 00:00:00 2001 From: Orta Date: Mon, 28 Sep 2020 17:02:33 -0400 Subject: [PATCH 030/129] More tsconfig docs naming --- .../en/project-config/Compiler Options.md | 8 +-- .../copy/en/project-config/tsconfig.json.md | 2 +- .../generateDocsNavigationPerLanguage.js | 2 +- .../src/lib/documentationNavigation.ts | 72 +++++++++---------- 4 files changed, 42 insertions(+), 42 deletions(-) diff --git a/packages/documentation/copy/en/project-config/Compiler Options.md b/packages/documentation/copy/en/project-config/Compiler Options.md index 454253a4bbd0..a96ef838ef72 100644 --- a/packages/documentation/copy/en/project-config/Compiler Options.md +++ b/packages/documentation/copy/en/project-config/Compiler Options.md @@ -1,5 +1,5 @@ --- -title: TSC CLI Options +title: tsc CLI Options layout: docs permalink: /docs/handbook/compiler-options.html oneline: A very high-level overview of the CLI compiler options for tsc @@ -132,6 +132,6 @@ Option | Type | Default ## Related -- Setting compiler options in [`tsconfig.json`](/docs/handbook/tsconfig-json.html) files. -- Setting compiler options in [MSBuild projects](/docs/handbook/compiler-options-in-msbuild.html). -- There's also out the [TSConfig Reference](/tsconfig). +- Every option is fully explained in the [TSConfig Reference](/tsconfig). +- Learn how to use a [`tsconfig.json`](/docs/handbook/tsconfig-json.html) files. +- Learn how to work in an [MSBuild project](/docs/handbook/compiler-options-in-msbuild.html). diff --git a/packages/documentation/copy/en/project-config/tsconfig.json.md b/packages/documentation/copy/en/project-config/tsconfig.json.md index fc96ff6eb9a2..44f3cd413a32 100644 --- a/packages/documentation/copy/en/project-config/tsconfig.json.md +++ b/packages/documentation/copy/en/project-config/tsconfig.json.md @@ -1,5 +1,5 @@ --- -title: tsconfig.json +title: What is a tsconfig.json layout: docs permalink: /docs/handbook/tsconfig-json.html oneline: Learn about how a TSConfig works diff --git a/packages/documentation/scripts/generateDocsNavigationPerLanguage.js b/packages/documentation/scripts/generateDocsNavigationPerLanguage.js index ad5dafc2dc15..9cb3ed8c7d83 100644 --- a/packages/documentation/scripts/generateDocsNavigationPerLanguage.js +++ b/packages/documentation/scripts/generateDocsNavigationPerLanguage.js @@ -139,6 +139,7 @@ const handbookPages = [ summary: "Compiler configuration reference.", items: [ { file: "project-config/tsconfig.json.md" }, + { file: "project-config/Compiler Options in MSBuild.md" }, { href: "/tsconfig", title: "TSConfig Reference", @@ -146,7 +147,6 @@ const handbookPages = [ }, { file: "project-config/Compiler Options.md" }, { file: "project-config/Project References.md" }, - { file: "project-config/Compiler Options in MSBuild.md" }, { file: "project-config/Integrating with Build Tools.md" }, { file: "project-config/Configuring Watch.md" }, { file: "Nightly Builds.md" }, diff --git a/packages/typescriptlang-org/src/lib/documentationNavigation.ts b/packages/typescriptlang-org/src/lib/documentationNavigation.ts index 4d27ba11d6d2..1d63005a4328 100644 --- a/packages/typescriptlang-org/src/lib/documentationNavigation.ts +++ b/packages/typescriptlang-org/src/lib/documentationNavigation.ts @@ -611,11 +611,17 @@ export function getDocumentationNavForLanguage( items: [ { - title: "tsconfig.json", - id: "7tsconfig.json", + title: "What is a tsconfig.json", + id: "7what-is-a-tsconfig.json", permalink: "/docs/handbook/tsconfig-json.html", oneline: "Learn about how a TSConfig works", }, + { + title: "Compiler Options in MSBuild", + id: "7compiler-options-in-msbuild", + permalink: "/docs/handbook/compiler-options-in-msbuild.html", + oneline: "Which compiler options are available in MSBuild projects.", + }, { title: "TSConfig Reference", id: "7tsconfig-reference", @@ -623,7 +629,7 @@ export function getDocumentationNavForLanguage( oneline: "The page covering every TSConfig option", }, { - title: "TSC CLI Options", + title: "tsc CLI Options", id: "7tsc-cli-options", permalink: "/docs/handbook/compiler-options.html", oneline: @@ -635,12 +641,6 @@ export function getDocumentationNavForLanguage( permalink: "/docs/handbook/project-references.html", oneline: "How to split up a large TypeScript project", }, - { - title: "Compiler Options in MSBuild", - id: "7compiler-options-in-msbuild", - permalink: "/docs/handbook/compiler-options-in-msbuild.html", - oneline: "Which compiler options are available in MSBuild projects.", - }, { title: "Integrating with Build Tools", id: "7integrating-with-build-tools", @@ -1324,11 +1324,17 @@ export function getDocumentationNavForLanguage( items: [ { - title: "tsconfig.json", - id: "7tsconfig.json", + title: "What is a tsconfig.json", + id: "7what-is-a-tsconfig.json", permalink: "/docs/handbook/tsconfig-json.html", oneline: "Learn about how a TSConfig works", }, + { + title: "Compiler Options in MSBuild", + id: "7compiler-options-in-msbuild", + permalink: "/docs/handbook/compiler-options-in-msbuild.html", + oneline: "Which compiler options are available in MSBuild projects.", + }, { title: "TSConfig Reference", id: "7tsconfig-reference", @@ -1336,7 +1342,7 @@ export function getDocumentationNavForLanguage( oneline: "The page covering every TSConfig option", }, { - title: "TSC CLI Options", + title: "tsc CLI Options", id: "7tsc-cli-options", permalink: "/docs/handbook/compiler-options.html", oneline: @@ -1348,12 +1354,6 @@ export function getDocumentationNavForLanguage( permalink: "/docs/handbook/project-references.html", oneline: "How to split up a large TypeScript project", }, - { - title: "Compiler Options in MSBuild", - id: "7compiler-options-in-msbuild", - permalink: "/docs/handbook/compiler-options-in-msbuild.html", - oneline: "Which compiler options are available in MSBuild projects.", - }, { title: "Integrating with Build Tools", id: "7integrating-with-build-tools", @@ -2037,11 +2037,17 @@ export function getDocumentationNavForLanguage( items: [ { - title: "tsconfig.json", - id: "7tsconfig.json", + title: "What is a tsconfig.json", + id: "7what-is-a-tsconfig.json", permalink: "/docs/handbook/tsconfig-json.html", oneline: "Learn about how a TSConfig works", }, + { + title: "Compiler Options in MSBuild", + id: "7compiler-options-in-msbuild", + permalink: "/docs/handbook/compiler-options-in-msbuild.html", + oneline: "Which compiler options are available in MSBuild projects.", + }, { title: "TSConfig Reference", id: "7tsconfig-reference", @@ -2049,7 +2055,7 @@ export function getDocumentationNavForLanguage( oneline: "The page covering every TSConfig option", }, { - title: "TSC CLI Options", + title: "tsc CLI Options", id: "7tsc-cli-options", permalink: "/docs/handbook/compiler-options.html", oneline: @@ -2061,12 +2067,6 @@ export function getDocumentationNavForLanguage( permalink: "/docs/handbook/project-references.html", oneline: "How to split up a large TypeScript project", }, - { - title: "Compiler Options in MSBuild", - id: "7compiler-options-in-msbuild", - permalink: "/docs/handbook/compiler-options-in-msbuild.html", - oneline: "Which compiler options are available in MSBuild projects.", - }, { title: "Integrating with Build Tools", id: "7integrating-with-build-tools", @@ -2750,11 +2750,17 @@ export function getDocumentationNavForLanguage( items: [ { - title: "tsconfig.json", - id: "7tsconfig.json", + title: "What is a tsconfig.json", + id: "7what-is-a-tsconfig.json", permalink: "/docs/handbook/tsconfig-json.html", oneline: "Learn about how a TSConfig works", }, + { + title: "Compiler Options in MSBuild", + id: "7compiler-options-in-msbuild", + permalink: "/docs/handbook/compiler-options-in-msbuild.html", + oneline: "Which compiler options are available in MSBuild projects.", + }, { title: "TSConfig Reference", id: "7tsconfig-reference", @@ -2762,7 +2768,7 @@ export function getDocumentationNavForLanguage( oneline: "The page covering every TSConfig option", }, { - title: "TSC CLI Options", + title: "tsc CLI Options", id: "7tsc-cli-options", permalink: "/docs/handbook/compiler-options.html", oneline: @@ -2774,12 +2780,6 @@ export function getDocumentationNavForLanguage( permalink: "/docs/handbook/project-references.html", oneline: "How to split up a large TypeScript project", }, - { - title: "Compiler Options in MSBuild", - id: "7compiler-options-in-msbuild", - permalink: "/docs/handbook/compiler-options-in-msbuild.html", - oneline: "Which compiler options are available in MSBuild projects.", - }, { title: "Integrating with Build Tools", id: "7integrating-with-build-tools", From f1b5b7317e3ec192b7f077303c980de8133b003a Mon Sep 17 00:00:00 2001 From: Orta Date: Mon, 28 Sep 2020 17:06:50 -0400 Subject: [PATCH 031/129] Remove staging from indexes --- .github/workflows/v2-merged-staging.yml | 1 + packages/typescriptlang-org/src/components/HeadSEO.tsx | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/v2-merged-staging.yml b/.github/workflows/v2-merged-staging.yml index 79b2322bce51..798f82152e3e 100644 --- a/.github/workflows/v2-merged-staging.yml +++ b/.github/workflows/v2-merged-staging.yml @@ -33,6 +33,7 @@ jobs: cp -r packages/typescriptlang-org/public site env: YARN_CHECKSUM_BEHAVIOR: ignore + TYPESCRIPT_SITE_STAGING: true - name: Deploy + Publish to CDN # You can find these keys here: diff --git a/packages/typescriptlang-org/src/components/HeadSEO.tsx b/packages/typescriptlang-org/src/components/HeadSEO.tsx index c3ab6656f07b..e25cf847c247 100644 --- a/packages/typescriptlang-org/src/components/HeadSEO.tsx +++ b/packages/typescriptlang-org/src/components/HeadSEO.tsx @@ -1,5 +1,4 @@ import * as React from "react" -import { withPrefix } from "gatsby" import { Helmet } from "react-helmet"; @@ -18,6 +17,12 @@ export const HeadSEO = (props: SeoProps) => { "twitter:site": "typescriptlang", } + // Skip indexing on the staging site + const staging = process && process.env && process.env.TYPESCRIPT_SITE_STAGING + if (staging) { + ogTags["robots"] = "noindex" + } + // do we want localized pages to be the english version? //{seo.url && } From d7a3baa170981f3f97889ffb888ba44c018f9e70 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Mon, 28 Sep 2020 21:37:57 -0400 Subject: [PATCH 032/129] Update packages/documentation/copy/en/handbook-v1/Interfaces.md --- packages/documentation/copy/en/handbook-v1/Interfaces.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/documentation/copy/en/handbook-v1/Interfaces.md b/packages/documentation/copy/en/handbook-v1/Interfaces.md index e365b00607ec..3b2de67ea513 100644 --- a/packages/documentation/copy/en/handbook-v1/Interfaces.md +++ b/packages/documentation/copy/en/handbook-v1/Interfaces.md @@ -254,6 +254,7 @@ The above workaround will work as long as you have a common property between `sq In this example, it was the property `width`. It will however, fail if the variable does not have any common object property. For example: ```ts twoslash +// @errors: 2559 interface SquareConfig { color?: string; width?: number; From 46750c29e7d1cf3ab3cc593f5ad2822e29c7e1de Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Tue, 29 Sep 2020 13:45:13 +0700 Subject: [PATCH 033/129] docs(i18n-id): translate disableReferencedProjectLoad.md, disableSizeLimit.md, disableSolutionSearching.md and several config section into Indonesia --- .../copy/id/options/disableReferencedProjectLoad.md | 8 ++++++++ .../copy/id/options/disableSizeLimit.md | 6 ++++++ .../copy/id/options/disableSolutionSearching.md | 8 ++++++++ 3 files changed, 22 insertions(+) create mode 100644 packages/tsconfig-reference/copy/id/options/disableReferencedProjectLoad.md create mode 100644 packages/tsconfig-reference/copy/id/options/disableSizeLimit.md create mode 100644 packages/tsconfig-reference/copy/id/options/disableSolutionSearching.md diff --git a/packages/tsconfig-reference/copy/id/options/disableReferencedProjectLoad.md b/packages/tsconfig-reference/copy/id/options/disableReferencedProjectLoad.md new file mode 100644 index 000000000000..e177148fe6c4 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/disableReferencedProjectLoad.md @@ -0,0 +1,8 @@ +--- +display: "disableReferencedProjectLoad" +oneline: "Mengurangi jumlah proyek yang dimuat secara otomatis oleh TypeScript" +--- + +Dalam program TypeScript multi-proyek, TypeScript akan memuat semua proyek yang tersedia ke dalam memori untuk memberikan hasil yang akurat untuk tanggapan editor yang memerlukan grafik pengetahuan lengkap seperti 'Temukan Semua Referensi'. + +Jika proyek Anda besar, Anda dapat menggunakan saran `disableReferencedProjectLoad` untuk menonaktifkan pemuatan otomatis semua proyek. Sebaliknya, proyek dimuat secara dinamis saat Anda membuka file melalui editor Anda. \ No newline at end of file diff --git a/packages/tsconfig-reference/copy/id/options/disableSizeLimit.md b/packages/tsconfig-reference/copy/id/options/disableSizeLimit.md new file mode 100644 index 000000000000..0ae410cbc2a6 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/disableSizeLimit.md @@ -0,0 +1,6 @@ +--- +display: "Nonaktifkan Batas Ukuran" +oneline: "Menghapus batasan memori pada server bahasa TypeScript" +--- + +Untuk menghindari kemungkinan masalah pembengkakan memori saat bekerja dengan proyek JavaScript yang sangat besar, ada batas atas jumlah memori yang akan dialokasikan TypeScript. Mengaktifkan saran ini akan menghapus batas. \ No newline at end of file diff --git a/packages/tsconfig-reference/copy/id/options/disableSolutionSearching.md b/packages/tsconfig-reference/copy/id/options/disableSolutionSearching.md new file mode 100644 index 000000000000..58bfb7938ca1 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/disableSolutionSearching.md @@ -0,0 +1,8 @@ +--- +display: "Nonaktifkan Pencarian Solusi" +oneline: "Memilih proyek dari pemeriksaan referensi multi-proyek" +--- + +Saat bekerja dengan [proyek TypeScript komposit](/docs/handbook/project-references.html), opsi ini menyediakan cara untuk menyatakan bahwa Anda tidak ingin proyek disertakan saat menggunakan fitur seperti _find all reference_ atau _jump to definition_ di editor. + +Saran ini untuk sesuatu yang dapat Anda gunakan untuk meningkatkan daya tanggap dalam proyek komposit besar. \ No newline at end of file From e341a455aba3c31c0976c3c1fe8c264c454a0f50 Mon Sep 17 00:00:00 2001 From: AMashoshyna Date: Tue, 29 Sep 2020 09:57:23 +0300 Subject: [PATCH 034/129] CODEOWNERS: fix typo in path --- .github/CODEOWNERS | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 95429b9d4c24..c8ca28c32c10 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -43,8 +43,8 @@ packages/typescriptlang-org/src/copy/id.ts @jefrydco @nusendra @mazipan @mandapu packages/documentation/copy/id/**/*.md @jefrydco @nusendra @mazipan @mandaputtra [translation] [id] # Collaborators for Ukrainian Translation of the Website -packages/playground-examples/copy/id @AMashoshyna [translation] [uk] -packages/tsconfig-reference/copy/id/**/*.md @AMashoshyna [translation] [uk] -packages/typescriptlang-org/src/copy/id/**/*.ts @AMashoshyna [translation] [uk] -packages/typescriptlang-org/src/copy/id.ts @AMashoshyna [translation] [uk] -packages/documentation/copy/id/**/*.md @AMashoshyna [translation] [uk] +packages/playground-examples/copy/uk @AMashoshyna [translation] [uk] +packages/tsconfig-reference/copy/uk/**/*.md @AMashoshyna [translation] [uk] +packages/typescriptlang-org/src/copy/uk/**/*.ts @AMashoshyna [translation] [uk] +packages/typescriptlang-org/src/copy/uk.ts @AMashoshyna [translation] [uk] +packages/documentation/copy/uk/**/*.md @AMashoshyna [translation] [uk] From bbd4c5acb77203b25dd315998ac20d611fb1a450 Mon Sep 17 00:00:00 2001 From: Orta Date: Tue, 29 Sep 2020 06:33:31 -0400 Subject: [PATCH 035/129] Improves the JSDoc ref re:readonly - fixes #1164 --- packages/documentation/copy/en/javascript/JSDoc Reference.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/documentation/copy/en/javascript/JSDoc Reference.md b/packages/documentation/copy/en/javascript/JSDoc Reference.md index 6e2054b1754d..39bd8a4daf5c 100644 --- a/packages/documentation/copy/en/javascript/JSDoc Reference.md +++ b/packages/documentation/copy/en/javascript/JSDoc Reference.md @@ -24,7 +24,7 @@ Note any tags which are not explicitly listed below (such as `@async`) are not y #### `class` extensions -- [Property Modifiers](#jsdoc-property-modifiers) +- [Property Modifiers](#jsdoc-property-modifiers) `@public`, `@private`, `@protected`, `@readonly` The meaning is usually the same, or a superset, of the meaning of the tag given at [jsdoc.app](https://jsdoc.app). The code below describes the differences and gives some example usage of each tag. @@ -638,7 +638,6 @@ The following tags have open issues to support them: - `@const` ([issue #19672](https://github.com/Microsoft/TypeScript/issues/19672)) - `@inheritdoc` ([issue #23215](https://github.com/Microsoft/TypeScript/issues/23215)) - `@memberof` ([issue #7237](https://github.com/Microsoft/TypeScript/issues/7237)) -- `@readonly` ([issue #17233](https://github.com/Microsoft/TypeScript/issues/17233)) - `@yields` ([issue #23857](https://github.com/Microsoft/TypeScript/issues/23857)) - `{@link …}` ([issue #35524](https://github.com/Microsoft/TypeScript/issues/35524)) From ff613642f1435dce93ceea65e0db3b417b8ee814 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Tue, 29 Sep 2020 19:04:03 +0700 Subject: [PATCH 036/129] docs(i18n-id): fix word slash on the declaration map according to review --- packages/tsconfig-reference/copy/id/options/declarationMap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/id/options/declarationMap.md b/packages/tsconfig-reference/copy/id/options/declarationMap.md index 77193045f116..0c7c24ab7d4a 100644 --- a/packages/tsconfig-reference/copy/id/options/declarationMap.md +++ b/packages/tsconfig-reference/copy/id/options/declarationMap.md @@ -1,5 +1,5 @@ --- -display: "Declaration Map" +display: "_Declaration Map_" oneline: "Buat peta sumber untuk berkas d.ts" --- From edf44150ff6f170013e1a1d49fe79b7a15ee7208 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Tue, 29 Sep 2020 19:41:41 +0700 Subject: [PATCH 037/129] docs(i18n-id): translate disableSourceOfProjectReferenceRedirect.md and several config into Indonesia --- .../id/options/disableSourceOfProjectReferenceRedirect.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 packages/tsconfig-reference/copy/id/options/disableSourceOfProjectReferenceRedirect.md diff --git a/packages/tsconfig-reference/copy/id/options/disableSourceOfProjectReferenceRedirect.md b/packages/tsconfig-reference/copy/id/options/disableSourceOfProjectReferenceRedirect.md new file mode 100644 index 000000000000..3e67bea04aa6 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/disableSourceOfProjectReferenceRedirect.md @@ -0,0 +1,7 @@ +--- +display: "Nonaktifkan Pengalihan Referensi Proyek Sumber" +oneline: "Gunakan berkas d.ts sebagai sumber kebenaran untuk perkakas antara batasan proyek gabungan" +--- + +Saat bekerja dengan [proyek TypeScript komposit](/docs/handbook/project-references.html), opsi ini menyediakan cara untuk kembali [kembali ke pra-3.7](/docs/handbook/release-notes/typescript-3-7.html#build-free-editing-with-project-references) perilaku di mana berkas d.ts digunakan sebagai batas antar modul. +Di 3.7 sumber kebenaran sekarang adalah berkas TypeScript Anda. From 0b568e76b4626d2745d707694db271787ee36cc8 Mon Sep 17 00:00:00 2001 From: Orta Date: Tue, 29 Sep 2020 11:52:58 -0400 Subject: [PATCH 038/129] Adds some more docs to the website --- README.md | 11 +++++++++-- docs/New TypeScript Version.md | 15 +++++++++++++++ docs/Setup Troubleshooting.md | 17 +++++++++++++++++ docs/Something Went Wrong.md | 12 +++++------- 4 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 docs/Setup Troubleshooting.md diff --git a/README.md b/README.md index 37b2309036ab..47d464543c79 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ Some useful knowledge: You can manually via GH Actions for [production here](https://github.com/microsoft/TypeScript-Website/actions?query=workflow%3A%22Monday+Website+Push+To+Production%22) and [staging here](https://github.com/microsoft/TypeScript-Website/actions?query=workflow%3A%22Build+Website+To+Staging%22). +Having issues getting set up? [Consult the troubleshooting](./docs/Setup Troubleshooting.md). + ## Deployment Deployment is automatic: @@ -39,9 +41,14 @@ Deployment is automatic: You can find the build logs in [GitHub Actions](https://github.com/microsoft/TypeScript-Website/actions) -## Overview +## Docs + +If you want to know _in-depth_ how this website works, there is an [hour long video covering the codebase, deployment and tooling on YouTube.](https://www.youtube.com/watch?v=HOvivt6B7hE). Otherwise there are some short guides: -If you want to know _in-depth_ how this website works, there is an [hour long video covering the codebase, deployment and tooling on YouTube.](https://www.youtube.com/watch?v=HOvivt6B7hE). +- [Converting Twoslash Code Samples](./docs/Converting Twoslash Code Samples.md) +- [How i8n Works For Site Copy](./docs/How i8n Works For Site Copy.md) +- [Updating the TypeScript Version](./docs/New TypeScript Version.md) +- [Something Went Wrong](./docs/Something Went Wrong.md) # Website Packages diff --git a/docs/New TypeScript Version.md b/docs/New TypeScript Version.md index d3e8e97d7b57..9011637847d4 100644 --- a/docs/New TypeScript Version.md +++ b/docs/New TypeScript Version.md @@ -37,6 +37,21 @@ Then run `yarn install`. That will update all of the site to use 3.9.0 for building. Run `yarn build` to see if any of the website's code broke. +##### New Handbook Docs + +You might have a new reference doc to add, they live in [`packages/documentation/copy`](https://github.com/microsoft/TypeScript-website/blob/v2/packages/documentation/copy). You can ignore languages other than `en`. The folder structure is only for your reference and has no bearing on the site navigation. Each markdown document needs a header like: + +```md +--- +title: Basic Types +layout: docs +permalink: /docs/handbook/basic-types.html +oneline: "Step one in learning TypeScript: The basic types." +--- +``` + +Or the site will fail the build. Once that file is ready, add it to the sidebar via the file [`packages/documentation/scripts/generateDocsNavigationPerLanguage.js`](https://github.com/microsoft/TypeScript-website/blob/v2/packages/documentation/scripts/generateDocsNavigationPerLanguage.js). + ##### TSConfig Reference Updating the version of TypeScript will force you to update the TSConfig Reference. It will fail incrementally with each missing compiler flag. diff --git a/docs/Setup Troubleshooting.md b/docs/Setup Troubleshooting.md new file mode 100644 index 000000000000..842fe6972e75 --- /dev/null +++ b/docs/Setup Troubleshooting.md @@ -0,0 +1,17 @@ +## Getting this Repo Set Up Troubleshooting + +#### Module `x` is not built + +Sometimes, and it's not been tracked down exactly, some dependencies of the site aren't built even though it says they are. In those cases, re-run `yarn bootstrap` and `yarn build` to re-build all the internal site deps. + +#### No syntax highlighting + +By default the website runs without twoslash code samples being evaluated, this affects the syntax highlighting. To turn it on, use `yarn start-twoslash` instead of `yarn start`. + +#### Windows + Watchman + +The Windows support for watchman is a bit meh. It's not likely to get better, given how well WSL works now. So, you _could_ use WSL to work around that. + +Though, for _a lot_ of changes to the site: Watchman is optional. All the watchman script does is run `yarn workspace [xxyy] build` when you save in a package which is not `typescriptlang-org` (the gatsby website). + +To run the site without watchman, use `yarn workspace typescriptlang-org start`. diff --git a/docs/Something Went Wrong.md b/docs/Something Went Wrong.md index 066f899e94c7..b3ffd37c032f 100644 --- a/docs/Something Went Wrong.md +++ b/docs/Something Went Wrong.md @@ -18,15 +18,13 @@ We're currently running on App Service, the places where you can find info: ### Deployment -The build to deploy train looks like this: +The build to deploy train normally looks like this: -- `v2` branch gets pushed -- pushes trigger a deploy to `SITE-STAGING` via GH Actions -- Azure picks up pushes to SITE-STAGING to deploy to the site +- `v2` branch gets pushed: +- A deploy is made to azure blob storage via [`.github/workflows/v2-merged-staging.yml`](https://github.com/microsoft/TypeScript-website/blob/v2/.github/workflows/v2-merged-staging.yml) +- Every Monday, a deploy is made from v2 to the production app via [`.github/workflows/deploy-prod.yml`](https://github.com/microsoft/TypeScript-website/blob/v2/.github/workflows/deploy-prod.yml) -We deploy by pushing to the branches [`SITE-STAGING`](https://github.com/microsoft/TypeScript-Website/tree/SITE-STAGING/) and [`SITE-PRODUCTION`](https://github.com/microsoft/TypeScript-Website/tree/SITE-PRODUCTION/) - they should show you exactly what files exist in the deploy - -You can push directly to those branches from your local computer if you have a very specific fix +You can deploy `v2` to production anytime via the ["Run workflow" button here](https://github.com/microsoft/TypeScript-Website/actions?query=workflow%3A%22Monday+Website+Push+To+Production%22), so if you have an emergency commit - it goes to `v2` then you can run the action. App Service apps are configured by [`Web.config`](https://github.com/microsoft/TypeScript-website/blob/92a9585d033e7cf802fae14v22baa73250fd610266/packages/typescriptlang-org/static/Web.config). [Here's a reference on the format](https://hangouts.google.com/call/H553wrJ9d97l2LMpNh9hAEEE). I've seen files (`*.json` & `*.manifest`) be 404s on the site because they were not in the config. From 755b8bb42f507264a4fd336b58c372d311dc768f Mon Sep 17 00:00:00 2001 From: Orta Date: Tue, 29 Sep 2020 12:29:26 -0400 Subject: [PATCH 039/129] Simplify CI --- .github/workflows/CI-post.yml | 78 --------------------------- .github/workflows/CI.yml | 99 +++++++++++++++++++++++------------ 2 files changed, 65 insertions(+), 112 deletions(-) delete mode 100644 .github/workflows/CI-post.yml diff --git a/.github/workflows/CI-post.yml b/.github/workflows/CI-post.yml deleted file mode 100644 index 006420aab674..000000000000 --- a/.github/workflows/CI-post.yml +++ /dev/null @@ -1,78 +0,0 @@ -name: Post CI Secure Run -on: - workflow_run: - workflows: ["CI"] - types: - - completed - -jobs: - playground: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions/setup-node@v1 - with: - node-version: "13.x" - - # Cache yarn deps, to speed up CI - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn config get cacheFolder)" - - - uses: actions/cache@v1 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - # Install, should be basically be instant if cached - - run: yarn install - env: - YARN_CHECKSUM_BEHAVIOR: ignore - - run: mkdir built - - - name: Download artifact - uses: dawidd6/action-download-artifact@v2 - with: - workflow: CI.yml - commit: ${{ github.event.workflow_run.head_commit.id }} - name: built-site - path: built/public - - - name: "Make a fake 'app' for the azure project of the static HTML" - run: | - echo '{ "name": "fake", "scripts": { "build": "" } }' > built/package.json - - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" - - - name: "Change branch to one specific to this PR, as that's what the SWA uploader uses to determine env" - run: | - git checkout -b pr_${{ github.event.workflow_run.pull_requests[0].number }} - - - name: Build And Deploy - uses: Azure/static-web-apps-deploy@v0.0.1-preview - id: deploy - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_MEADOW_0C9756810 }} - repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) - action: "upload" - ###### Repository/Build Configurations - These values can be configured to match you app requirements. ###### - # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig - app_location: "built" # App source code path - app_artifact_location: "public" # Subfolder in built - ###### End of Repository/Build Configurations ##### - - - run: "yarn workspace typescriptlang-org create-lighthouse-json" - env: - PR_DEPLOY_URL_ROOT: ${{ steps.deploy.outputs.static_web_app_url }} - - # danger for PR builds - - run: "yarn danger ci" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PR_DEPLOY_URL_ROOT: ${{ steps.deploy.outputs.static_web_app_url }} diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index d65f9b977010..f6ffd70bb5db 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -6,6 +6,32 @@ jobs: runs-on: ubuntu-latest steps: + # temporary + - name: Dump GitHub context + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo "$GITHUB_CONTEXT" + - name: Dump job context + env: + JOB_CONTEXT: ${{ toJson(job) }} + run: echo "$JOB_CONTEXT" + - name: Dump steps context + env: + STEPS_CONTEXT: ${{ toJson(steps) }} + run: echo "$STEPS_CONTEXT" + - name: Dump runner context + env: + RUNNER_CONTEXT: ${{ toJson(runner) }} + run: echo "$RUNNER_CONTEXT" + - name: Dump strategy context + env: + STRATEGY_CONTEXT: ${{ toJson(strategy) }} + run: echo "$STRATEGY_CONTEXT" + - name: Dump matrix context + env: + MATRIX_CONTEXT: ${{ toJson(matrix) }} + run: echo "$MATRIX_CONTEXT" + # Check out, and set up the node/ruby infra - uses: actions/checkout@v1 - uses: actions/setup-node@v1 @@ -41,6 +67,31 @@ jobs: - run: yarn bootstrap - run: yarn workspace typescriptlang-org build + # PR deploys via static web apps + - name: "Make a fake 'app' for the azure project of the static HTML" + run: | + mkdir fakeapp + mv packages/typescriptlang-org/public fakeapp/public + ls fakeapp + ls fakeapp/public + echo '{ "name": "fake", "scripts": { "build": "" } }' > fakeapp/package.json + + - name: Build And Deploy + id: builddeploy + uses: Azure/static-web-apps-deploy@v0.0.1-preview + with: + azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_MEADOW_0C9756810 }} + repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) + action: "upload" + ###### Repository/Build Configurations - These values can be configured to match you app requirements. ###### + # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig + app_location: "fakeapp" # App source code path + api_location: "api" # Api source code path - optional + app_artifact_location: "public" # Built app content directory - optional + ###### End of Repository/Build Configurations ###### + env: + SAME_REPO_PR: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_MEADOW_0C9756810 }} + # Verify it compiles - run: yarn compile # Run all the package's tests @@ -51,40 +102,20 @@ jobs: - name: "Validates that TypeScript plugins work" run: npm init typescript-playground-plugin playground-my-plugin - - name: "Copy PR JSON" - run: cp $GITHUB_EVENT_PATH ${{ github.workspace }}/packages/typescriptlang-org/public/pr.json - - - uses: actions/upload-artifact@v2 - with: - name: built-site - path: ${{ github.workspace }}/packages/typescriptlang-org/public/**/* - - windows: - runs-on: windows-latest + # danger for PR builds + - if: github.event_name == 'pull_request' + run: 'if test -z "$GITHUB_TOKEN"; then echo "Skipping danger"; else yarn danger ci; fi' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + close_pull_request_job: + if: github.event_name == 'pull_request' && github.event.action == 'closed' + runs-on: ubuntu-latest + name: Close Pull Request Job steps: - # Check out, and set up the node infra - - uses: actions/checkout@v1 - - uses: actions/setup-node@v1 - with: - node-version: "13.x" - - # Cache yarn deps, to speed up CI - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn config get cacheFolder)" - - - uses: actions/cache@v1 + - name: Close Pull Request + id: closepullrequest + uses: Azure/static-web-apps-deploy@v0.0.1-preview with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - # Get local dependencies - - run: yarn install - env: - YARN_CHECKSUM_BEHAVIOR: ignore - - - run: yarn bootstrap - - run: yarn build + azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_MEADOW_0C9756810 }} + action: "close" From 700b886286274982f0eab7b314920dceb110b0d0 Mon Sep 17 00:00:00 2001 From: Orta Date: Tue, 29 Sep 2020 12:42:34 -0400 Subject: [PATCH 040/129] Adds back the PR urls --- .github/workflows/CI.yml | 47 ++++++++-------------------------------- dangerfile.ts | 27 ----------------------- 2 files changed, 9 insertions(+), 65 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index f6ffd70bb5db..296a497ba1e1 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -6,32 +6,6 @@ jobs: runs-on: ubuntu-latest steps: - # temporary - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" - - name: Dump job context - env: - JOB_CONTEXT: ${{ toJson(job) }} - run: echo "$JOB_CONTEXT" - - name: Dump steps context - env: - STEPS_CONTEXT: ${{ toJson(steps) }} - run: echo "$STEPS_CONTEXT" - - name: Dump runner context - env: - RUNNER_CONTEXT: ${{ toJson(runner) }} - run: echo "$RUNNER_CONTEXT" - - name: Dump strategy context - env: - STRATEGY_CONTEXT: ${{ toJson(strategy) }} - run: echo "$STRATEGY_CONTEXT" - - name: Dump matrix context - env: - MATRIX_CONTEXT: ${{ toJson(matrix) }} - run: echo "$MATRIX_CONTEXT" - # Check out, and set up the node/ruby infra - uses: actions/checkout@v1 - uses: actions/setup-node@v1 @@ -79,18 +53,14 @@ jobs: - name: Build And Deploy id: builddeploy uses: Azure/static-web-apps-deploy@v0.0.1-preview + if: github.event.base.repo.id == github.event.head.repo.id with: azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_MEADOW_0C9756810 }} - repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) + repo_token: ${{ secrets.GITHUB_TOKEN }} action: "upload" - ###### Repository/Build Configurations - These values can be configured to match you app requirements. ###### - # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig - app_location: "fakeapp" # App source code path - api_location: "api" # Api source code path - optional - app_artifact_location: "public" # Built app content directory - optional - ###### End of Repository/Build Configurations ###### - env: - SAME_REPO_PR: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_MEADOW_0C9756810 }} + app_location: "fakeapp" + api_location: "api" + app_artifact_location: "public" # Verify it compiles - run: yarn compile @@ -103,13 +73,14 @@ jobs: run: npm init typescript-playground-plugin playground-my-plugin # danger for PR builds - - if: github.event_name == 'pull_request' - run: 'if test -z "$GITHUB_TOKEN"; then echo "Skipping danger"; else yarn danger ci; fi' + - if: github.event_name == 'pull_request' && github.event.base.repo.id == github.event.head.repo.id + run: "yarn danger ci" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PR_DEPLOY_URL_ROOT: ${{ steps.deploy.outputs.static_web_app_url }} close_pull_request_job: - if: github.event_name == 'pull_request' && github.event.action == 'closed' + if: github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.base.repo.id == github.event.head.repo.id runs-on: ubuntu-latest name: Close Pull Request Job steps: diff --git a/dangerfile.ts b/dangerfile.ts index 74c9bfcc33ea..64c588070ddc 100644 --- a/dangerfile.ts +++ b/dangerfile.ts @@ -11,21 +11,6 @@ import { readFileSync } from "fs" // spellcheck({ settings: "artsy/peril-settings@spellcheck.json" }) export default () => { - // JSON reference: https://github.com/haya14busa/github-actions-playground/runs/987846369 - const contextText = readFileSync("built/public/pr.json", "utf8") - console.log(contextText) - const context = JSON.parse(contextText) - - const repo = { owner: context.event.repository.owner.login, repo: context.event.repository.name } - const prNumber = context.event.workflow_run.pull_requests[0].number - console.log(repo) - - console.log(process.env.PR_DEPLOY_URL_ROOT) - - const changedFiles = getChangedFiles(prNumber) - console.log(changedFiles) - - // Print out the PR url const deployURL = process.env.PR_DEPLOY_URL_ROOT message( `Deployed to [a PR branch](${deployURL}) - [playground](${deployURL}/play) [tsconfig](${deployURL}/tsconfig) [old handbook](${deployURL}/docs/handbook/integrating-with-build-tools.html)` @@ -34,18 +19,6 @@ export default () => { // lighthouse() } -const getChangedFiles = async (prNumber: number) => { - const repo = { owner: "microsoft", name: "TypeScript-website" } - - // https://developer.github.com/v3/pulls/#list-pull-requests-files - const options = danger.github.api.pulls.listFiles.endpoint.merge({ ...repo, pull_number: prNumber }) - - /** @type { import("@octokit/rest").PullsListFilesResponseItem[]} */ - const files = await danger.github.api.paginate(options) - const fileStrings = files.map(f => `/${f.filename}`) - return fileStrings -} - // // Look for new snapshots and show in a HTML table // const snapshots = danger.git.fileMatch("packages/typescriptlang-org/_tests/backstop_data/bitmaps_reference/*.png") // if (snapshots.modified) { From 72fa945d171a6dc810aebd07c6207e4c76223ecd Mon Sep 17 00:00:00 2001 From: Orta Date: Tue, 29 Sep 2020 12:52:32 -0400 Subject: [PATCH 041/129] Simplify dangerfile --- .github/workflows/CI.yml | 65 +++++++++++++++++++++------------------- dangerfile.ts | 54 ++++++++++++++++----------------- 2 files changed, 61 insertions(+), 58 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 296a497ba1e1..d36e448fb457 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -41,26 +41,29 @@ jobs: - run: yarn bootstrap - run: yarn workspace typescriptlang-org build + # Blocked on https://github.com/Azure/static-web-apps/issues/147 + # + # PR deploys via static web apps - - name: "Make a fake 'app' for the azure project of the static HTML" - run: | - mkdir fakeapp - mv packages/typescriptlang-org/public fakeapp/public - ls fakeapp - ls fakeapp/public - echo '{ "name": "fake", "scripts": { "build": "" } }' > fakeapp/package.json + # - name: "Make a fake 'app' for the azure project of the static HTML" + # run: | + # mkdir fakeapp + # mv packages/typescriptlang-org/public fakeapp/public + # ls fakeapp + # ls fakeapp/public + # echo '{ "name": "fake", "scripts": { "build": "" } }' > fakeapp/package.json - - name: Build And Deploy - id: builddeploy - uses: Azure/static-web-apps-deploy@v0.0.1-preview - if: github.event.base.repo.id == github.event.head.repo.id - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_MEADOW_0C9756810 }} - repo_token: ${{ secrets.GITHUB_TOKEN }} - action: "upload" - app_location: "fakeapp" - api_location: "api" - app_artifact_location: "public" + # - name: Build And Deploy + # id: builddeploy + # uses: Azure/static-web-apps-deploy@v0.0.1-preview + # if: github.event.base.repo.id == github.event.head.repo.id + # with: + # azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_MEADOW_0C9756810 }} + # repo_token: ${{ secrets.GITHUB_TOKEN }} + # action: "upload" + # app_location: "fakeapp" + # api_location: "api" + # app_artifact_location: "public" # Verify it compiles - run: yarn compile @@ -78,15 +81,17 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} PR_DEPLOY_URL_ROOT: ${{ steps.deploy.outputs.static_web_app_url }} - - close_pull_request_job: - if: github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.base.repo.id == github.event.head.repo.id - runs-on: ubuntu-latest - name: Close Pull Request Job - steps: - - name: Close Pull Request - id: closepullrequest - uses: Azure/static-web-apps-deploy@v0.0.1-preview - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_MEADOW_0C9756810 }} - action: "close" + # + # Blocked on https://github.com/Azure/static-web-apps/issues/147 + # + # close_pull_request_job: + # if: github.event_name == 'pull_request' && github.event.action == 'closed' && github.event.base.repo.id == github.event.head.repo.id + # runs-on: ubuntu-latest + # name: Close Pull Request Job + # steps: + # - name: Close Pull Request + # id: closepullrequest + # uses: Azure/static-web-apps-deploy@v0.0.1-preview + # with: + # azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_MEADOW_0C9756810 }} + # action: "close" diff --git a/dangerfile.ts b/dangerfile.ts index 64c588070ddc..88daad0142d3 100644 --- a/dangerfile.ts +++ b/dangerfile.ts @@ -2,41 +2,39 @@ // yarn danger pr https://github.com/microsoft/TypeScript-Website/pull/115 import { danger, message, markdown } from "danger" -// import { basename } from "path" -// import spellcheck from "danger-plugin-spellcheck" +import { basename } from "path" +import spellcheck from "danger-plugin-spellcheck" + +// Blocked on PR deploys, see CI.yml // import lighthouse from "danger-plugin-lighthouse" -import { readFileSync } from "fs" // Spell check all the things -// spellcheck({ settings: "artsy/peril-settings@spellcheck.json" }) - -export default () => { - const deployURL = process.env.PR_DEPLOY_URL_ROOT - message( - `Deployed to [a PR branch](${deployURL}) - [playground](${deployURL}/play) [tsconfig](${deployURL}/tsconfig) [old handbook](${deployURL}/docs/handbook/integrating-with-build-tools.html)` - ) +spellcheck({ settings: "artsy/peril-settings@spellcheck.json" }) - // lighthouse() +const deployURL = process.env.PR_DEPLOY_URL_ROOT +if (deployURL) { + const msg = `Deployed to [a PR branch](${deployURL}) - [playground](${deployURL}/play) [tsconfig](${deployURL}/tsconfig) [old handbook](${deployURL}/docs/handbook/integrating-with-build-tools.html)` + message(msg) } -// // Look for new snapshots and show in a HTML table -// const snapshots = danger.git.fileMatch("packages/typescriptlang-org/_tests/backstop_data/bitmaps_reference/*.png") -// if (snapshots.modified) { -// const oldSha = danger.github.pr.base.sha -// const newSha = danger.github.pr.head.sha +// Look for new snapshots and show in a HTML table +const snapshots = danger.git.fileMatch("packages/typescriptlang-org/_tests/backstop_data/bitmaps_reference/*.png") +if (snapshots.modified) { + const oldSha = danger.github.pr.base.sha + const newSha = danger.github.pr.head.sha -// const tables = snapshots.getKeyedPaths().modified.map(p => { -// const oldURL = `https://raw.githubusercontent.com/microsoft/TypeScript-Website/${oldSha}/${p}` -// const newURL = `https://raw.githubusercontent.com/microsoft/TypeScript-Website/${newSha}/${p}` + const tables = snapshots.getKeyedPaths().modified.map(p => { + const oldURL = `https://raw.githubusercontent.com/microsoft/TypeScript-Website/${oldSha}/${p}` + const newURL = `https://raw.githubusercontent.com/microsoft/TypeScript-Website/${newSha}/${p}` -// return ` -// ###### \`${basename(p)}\` + return ` +###### \`${basename(p)}\` -// Before | After -// :-------------------------:|:-------------------------: -// ![](${oldURL}) | ![](${newURL}) -// ` -// }) +Before | After +:-------------------------:|:-------------------------: +![](${oldURL}) | ![](${newURL}) +` + }) -// markdown(`## Snapshots updated\n\n ${tables.join("\n\n")}`) -// } + markdown(`## Snapshots updated\n\n ${tables.join("\n\n")}`) +} From 464857934f85d880aea93f499169606a227c195d Mon Sep 17 00:00:00 2001 From: luizdopc Date: Tue, 29 Sep 2020 18:22:44 -0300 Subject: [PATCH 042/129] Update some terms --- .../copy/pt/tutorials/Babel with TypeScript.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/documentation/copy/pt/tutorials/Babel with TypeScript.md b/packages/documentation/copy/pt/tutorials/Babel with TypeScript.md index 35e7904fd702..1547a71449e7 100644 --- a/packages/documentation/copy/pt/tutorials/Babel with TypeScript.md +++ b/packages/documentation/copy/pt/tutorials/Babel with TypeScript.md @@ -1,5 +1,5 @@ --- -title: Using Babel with TypeScript +title: Usando Babel com TypeScript layout: docs permalink: /pt/docs/handbook/babel-with-typescript.html oneline: Como criar um projeto híbrido com Babel + TypeScript @@ -8,9 +8,9 @@ translatable: true ## Babel vs `tsc` para TypeScript -Desenvolvendo um projeto JavaScript moderno, você pode se perguntar qual a forma correta de converter arquivos do TypeScript para o JavaScript. +Ao desenvolver um projeto JavaScript moderno, você pode se perguntar qual a forma correta de converter arquivos do TypeScript para o JavaScript. -Várias vezes a resposta é _"depende"_, ou _"alguém pode ter decidido por você"_ dependendo do projeto. Se você está construindo seu projeto com algum framework existente como [tsdx](https://tsdx.io), [Angular](https://angular.io/), [NestJS](https://nestjs.com/) ou qualquer outro framework mencionado na seção [Getting Started](/docs/home) então essa decisão é sua. +Várias vezes a resposta é _"depende"_, ou _"alguém pode ter decidido por você"_ dependendo do projeto. Se você está construindo seu projeto com algum framework existente como [tsdx](https://tsdx.io), [Angular](https://angular.io/), [NestJS](https://nestjs.com/) ou qualquer outro framework mencionado na seção [Começando com TypeScript](/docs/home) então essa decisão é sua. Contudo, uma heurística útil seria: From bbb2b47cdd0a37da992f80ad8eededc73c1bd792 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:31:47 +0900 Subject: [PATCH 043/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 1f348f533672..3b8de902d40e 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -1,7 +1,7 @@ //// { order: 0, compiler: { target: 1 } } // TypeScript 플레이그라운드에 오신 것을 환영합니다. -// 이 웹 사이트는 TypeScript를 웹 브라우저에서 실행하는 것과 거의 비슷합니다. +// 이곳은 TypeScript를 웹 브라우저에서 실행하는 환경과 거의 비슷합니다. // 플레이그라운드에서는 이러한 프로젝트를 공유하는 것을 // 간단한 일로 만들었기 때문에, TypeScript로 아이디어를 From c2793d666c00eb6f99997101e77bfb692c49c52b Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:40:14 +0900 Subject: [PATCH 044/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 3b8de902d40e..42af1cf7d94a 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -3,7 +3,7 @@ // TypeScript 플레이그라운드에 오신 것을 환영합니다. // 이곳은 TypeScript를 웹 브라우저에서 실행하는 환경과 거의 비슷합니다. -// 플레이그라운드에서는 이러한 프로젝트를 공유하는 것을 +// 플레이그라운드에서 간단하게 // 간단한 일로 만들었기 때문에, TypeScript로 아이디어를 // 쉽고 안전하게 실험할 수 있습니다. 다른 사람에게 프로젝트를 // 공유할 때 필요한 것은, 이 페이지의 URL이 전부입니다. From b3e98b032a9dd59b591352dec6110b23ba1a42b4 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:40:40 +0900 Subject: [PATCH 045/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 42af1cf7d94a..cf69e86eed25 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -4,7 +4,7 @@ // 이곳은 TypeScript를 웹 브라우저에서 실행하는 환경과 거의 비슷합니다. // 플레이그라운드에서 간단하게 -// 간단한 일로 만들었기 때문에, TypeScript로 아이디어를 +// 프로젝트를 공유할 수 있기 때문에, TypeScript로 아이디어를 // 쉽고 안전하게 실험할 수 있습니다. 다른 사람에게 프로젝트를 // 공유할 때 필요한 것은, 이 페이지의 URL이 전부입니다. From 155c516ecc2a61d2dff7c70a3ef03897e7081c1a Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:40:53 +0900 Subject: [PATCH 046/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index cf69e86eed25..8152323b240c 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -6,7 +6,7 @@ // 플레이그라운드에서 간단하게 // 프로젝트를 공유할 수 있기 때문에, TypeScript로 아이디어를 // 쉽고 안전하게 실험할 수 있습니다. 다른 사람에게 프로젝트를 -// 공유할 때 필요한 것은, 이 페이지의 URL이 전부입니다. +// 다른 사람에게 공유하면 됩니다. const hello = "Hello"; From 91223fd221030f26169ba5cff92a36dd1643b559 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:43:43 +0900 Subject: [PATCH 047/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 8152323b240c..daf86b8003e2 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -5,7 +5,7 @@ // 플레이그라운드에서 간단하게 // 프로젝트를 공유할 수 있기 때문에, TypeScript로 아이디어를 -// 쉽고 안전하게 실험할 수 있습니다. 다른 사람에게 프로젝트를 +// 쉽고 안전하게 실험할 수 있습니다. 이 페이지의 URL만 // 다른 사람에게 공유하면 됩니다. const hello = "Hello"; From 3c56b3c84f9e0180b55b3e482f1dfd2ea9efd4dc Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:44:27 +0900 Subject: [PATCH 048/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index daf86b8003e2..2bb25864510e 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -11,7 +11,7 @@ const hello = "Hello"; // 오른쪽에서 TypeScript 컴파일러의 결과를 볼 수 -// 있습니다. : 이것은 브라우저나 서버는 물론, 어디에서나 +// 있습니다. 결과는 브라우저나 서버 및 어디에서나 // 실제로 실행할 수 있는 바닐라 JavaScript입니다. const world = "World"; From cffbbc4f4cc1124db21e6f8d870139cc2772d22d Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:45:38 +0900 Subject: [PATCH 049/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 2bb25864510e..669b888c1173 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -12,7 +12,7 @@ const hello = "Hello"; // 오른쪽에서 TypeScript 컴파일러의 결과를 볼 수 // 있습니다. 결과는 브라우저나 서버 및 어디에서나 -// 실제로 실행할 수 있는 바닐라 JavaScript입니다. +// 실제로 실행할 수 있는 vanilla JavaScript입니다. const world = "World"; From eda6c8a311e7569431ac6f7f61d47fd66a9dc40b Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:55:50 +0900 Subject: [PATCH 050/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 669b888c1173..8d2f6612c45d 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -16,7 +16,7 @@ const hello = "Hello"; const world = "World"; -// "const"를 "var"로 변환하는 것으로, 코드에 작은 변화가 +// "const"를 "var"로 변환하면 코드에서 작은 변화를 // 생기는 것을 볼 수 있습니다. 이것은 TypeScript를 // JavaScript가 실행되는 모든 곳에서 실행할 수 있게 하려고 // 수행하는 많은 작업 중 하나입니다. From f1f575ee1a62999682e35f57b0f9bb834d1edf54 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:56:00 +0900 Subject: [PATCH 051/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 8d2f6612c45d..9d5bc63ee7dc 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -23,7 +23,7 @@ const world = "World"; console.log(hello + " " + world); -// 이제 플레이그라운드가 어떻게 동작하는지 아이디어를 얻었으니, +// 이제 플레이그라운드가 어떻게 동작하는지 알게 되었으니, // TypeScript가 JavaScript 작업을 더 즐겁게 만드는 방법을 알아봅시다. // 이 부분에서는, 어떻게 기존지식을 재사용할 수 있는지 // 보여주기 위해, 가능한 한 바닐라 JavaScript에 From 8d3937363dcfec435748107660aed595beb7cd06 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:56:21 +0900 Subject: [PATCH 052/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 9d5bc63ee7dc..1766fd73e08e 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -27,7 +27,7 @@ console.log(hello + " " + world); // TypeScript가 JavaScript 작업을 더 즐겁게 만드는 방법을 알아봅시다. // 이 부분에서는, 어떻게 기존지식을 재사용할 수 있는지 // 보여주기 위해, 가능한 한 바닐라 JavaScript에 -// 가깝게 유지하도록 하겠습니다. +// 가깝게 유지하겠습니다. // // 계속하려면 아래를 클릭하세요: // From 7802c0ce81dee1d75914b7565e1bde095c14de53 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:56:40 +0900 Subject: [PATCH 053/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 1766fd73e08e..52db604aedaa 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -17,7 +17,7 @@ const hello = "Hello"; const world = "World"; // "const"를 "var"로 변환하면 코드에서 작은 변화를 -// 생기는 것을 볼 수 있습니다. 이것은 TypeScript를 +// 확인할 수 있습니다. 이것은 TypeScript를 // JavaScript가 실행되는 모든 곳에서 실행할 수 있게 하려고 // 수행하는 많은 작업 중 하나입니다. From 17ecd630f9e1f6ec6f6b639a16d4b0045ed1dab4 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:56:49 +0900 Subject: [PATCH 054/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 52db604aedaa..91eead10e3a9 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -25,7 +25,7 @@ console.log(hello + " " + world); // 이제 플레이그라운드가 어떻게 동작하는지 알게 되었으니, // TypeScript가 JavaScript 작업을 더 즐겁게 만드는 방법을 알아봅시다. -// 이 부분에서는, 어떻게 기존지식을 재사용할 수 있는지 +// 여기서는 어떻게 기존 지식을 재사용할 수 있는지 // 보여주기 위해, 가능한 한 바닐라 JavaScript에 // 가깝게 유지하겠습니다. // From bbf574f02507aeac497785b594657987fd4f3a04 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:57:51 +0900 Subject: [PATCH 055/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index 91eead10e3a9..a3dee643cbef 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -18,7 +18,7 @@ const world = "World"; // "const"를 "var"로 변환하면 코드에서 작은 변화를 // 확인할 수 있습니다. 이것은 TypeScript를 -// JavaScript가 실행되는 모든 곳에서 실행할 수 있게 하려고 +// 모든 JavaScript 환경에서 실행 가능하도록 // 수행하는 많은 작업 중 하나입니다. console.log(hello + " " + world); From 2998468133187eee33e6b33bec9b85838275f900 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:58:02 +0900 Subject: [PATCH 056/129] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts Co-authored-by: Kibeom Kwon --- .../copy/ko/JavaScript/JavaScript Essentials/Hello World.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts index a3dee643cbef..fcb0bb8dd12d 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Hello World.ts @@ -26,7 +26,7 @@ console.log(hello + " " + world); // 이제 플레이그라운드가 어떻게 동작하는지 알게 되었으니, // TypeScript가 JavaScript 작업을 더 즐겁게 만드는 방법을 알아봅시다. // 여기서는 어떻게 기존 지식을 재사용할 수 있는지 -// 보여주기 위해, 가능한 한 바닐라 JavaScript에 +// 보여주기 위해, 가능한 한 vanilla JavaScript에 // 가깝게 유지하겠습니다. // // 계속하려면 아래를 클릭하세요: From 3c81a7a852646cb0bc080ea6accdf668ff7ff418 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:58:31 +0900 Subject: [PATCH 057/129] Update packages/tsconfig-reference/copy/ko/options/baseUrl.md Co-authored-by: Kibeom Kwon --- packages/tsconfig-reference/copy/ko/options/baseUrl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/ko/options/baseUrl.md b/packages/tsconfig-reference/copy/ko/options/baseUrl.md index 20c86ecbcab2..4a33215e6845 100644 --- a/packages/tsconfig-reference/copy/ko/options/baseUrl.md +++ b/packages/tsconfig-reference/copy/ko/options/baseUrl.md @@ -24,4 +24,4 @@ console.log(helloWorld); ``` 항상 사용하는 `"../"` 또는 `"./"`같은 import에 질렸거나, 파일을 이동해서 변경해야 할 때, -그런 문제들을 고칠 수 있는 위한 좋은 방법입니다. +사용할 수 있는 좋은 방법입니다. From 69345666e78127dc0df50af2bbba470b55fd2913 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:58:39 +0900 Subject: [PATCH 058/129] Update packages/tsconfig-reference/copy/ko/options/charset.md Co-authored-by: Kibeom Kwon --- packages/tsconfig-reference/copy/ko/options/charset.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/ko/options/charset.md b/packages/tsconfig-reference/copy/ko/options/charset.md index 45b0fa95f429..dc1dec637af1 100644 --- a/packages/tsconfig-reference/copy/ko/options/charset.md +++ b/packages/tsconfig-reference/copy/ko/options/charset.md @@ -4,4 +4,4 @@ oneline: "Manually set the text encoding for reading files" --- 이전 TypeScript 버전에서는, 디스크에서 텍스트 파일을 읽을 때 어떤 인코딩이 사용되었는지를 제어했습니다. -오늘날 TypeScript는 UTF-8 인코딩을 전제로 합니다. 하지만 UTF-16 (BE 와 LE) 또는 UTF-8 BOMs도 정확하게 감지합니다. +현재 TypeScript는 UTF-8 인코딩을 전제로 합니다. 하지만 UTF-16 (BE 와 LE) 또는 UTF-8 BOMs도 정확하게 감지합니다. From 89ad5bb7ae71ce0b76df23b37dcef4f4c9d2da85 Mon Sep 17 00:00:00 2001 From: sodam <66295123+sodaMelon@users.noreply.github.com> Date: Wed, 30 Sep 2020 17:58:54 +0900 Subject: [PATCH 059/129] Update packages/tsconfig-reference/copy/ko/options/charset.md Co-authored-by: Kibeom Kwon --- packages/tsconfig-reference/copy/ko/options/charset.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/ko/options/charset.md b/packages/tsconfig-reference/copy/ko/options/charset.md index dc1dec637af1..987412227252 100644 --- a/packages/tsconfig-reference/copy/ko/options/charset.md +++ b/packages/tsconfig-reference/copy/ko/options/charset.md @@ -3,5 +3,5 @@ display: "Charset" oneline: "Manually set the text encoding for reading files" --- -이전 TypeScript 버전에서는, 디스크에서 텍스트 파일을 읽을 때 어떤 인코딩이 사용되었는지를 제어했습니다. +이전 버전의 TypeScript에서는, 디스크에서 텍스트 파일을 읽을 때 인코딩 방식을 제어했습니다. 현재 TypeScript는 UTF-8 인코딩을 전제로 합니다. 하지만 UTF-16 (BE 와 LE) 또는 UTF-8 BOMs도 정확하게 감지합니다. From 833237c2b621f4709fad6613bcd8e92fbae4f87b Mon Sep 17 00:00:00 2001 From: Orta Date: Wed, 30 Sep 2020 07:18:33 -0400 Subject: [PATCH 060/129] Playground pages --- .../ingestion/createPlaygroundExamplePages.ts | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/packages/typescriptlang-org/lib/bootup/ingestion/createPlaygroundExamplePages.ts b/packages/typescriptlang-org/lib/bootup/ingestion/createPlaygroundExamplePages.ts index a7c3e44aa9c2..ac841f8948b7 100644 --- a/packages/typescriptlang-org/lib/bootup/ingestion/createPlaygroundExamplePages.ts +++ b/packages/typescriptlang-org/lib/bootup/ingestion/createPlaygroundExamplePages.ts @@ -50,11 +50,7 @@ export const createPlaygroundExamplePages = async ( .replace(/\+/g, "-") const language = rPath.split("/")[0] - const postLangPath = rPath - .split("/") - .slice(1) - .map(idize) - .join("/") + const postLangPath = rPath.split("/").slice(1).map(idize).join("/") const langPrefix = language === "en" ? "" : language const newPagePath = langPrefix + "/play/" + postLangPath @@ -64,14 +60,11 @@ export const createPlaygroundExamplePages = async ( const exampleCodePath = path.join(appRoot, "playground-examples", "copy", rPath) const code = fs.readFileSync(exampleCodePath, "utf8") - const id = postLangPath - .split("/") - .slice(-1)[0] - .split(".")[0] + const id = postLangPath.split("/").slice(-1)[0].split(".")[0] const { inlineTitle, compilerSettings } = getCompilerDetailsFromCode(code) createPage({ - path: newPagePath, + path: newPagePath + ".html", component: playPage, context: { name, @@ -106,11 +99,11 @@ const getCompilerDetailsFromCode = (contents: string) => { if (contents.startsWith("//// {")) { // convert windows newlines to linux new lines - const preJSON = contents.replace(/\r\n/g, "\n").split("//// {")[1].split("}\n")[0] - contents = contents - .split("\n") - .slice(1) - .join("\n") + const preJSON = contents + .replace(/\r\n/g, "\n") + .split("//// {")[1] + .split("}\n")[0] + contents = contents.split("\n").slice(1).join("\n") const code = "({" + preJSON + "})" try { From 4ac0612166f1f5ef2239b5bf92d3105557fee942 Mon Sep 17 00:00:00 2001 From: Orta Date: Wed, 30 Sep 2020 07:31:52 -0400 Subject: [PATCH 061/129] Allow more pages to be registered on search --- packages/typescriptlang-org/src/templates/play-example.tsx | 3 ++- .../typescriptlang-org/src/templates/tsconfigReference.tsx | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/typescriptlang-org/src/templates/play-example.tsx b/packages/typescriptlang-org/src/templates/play-example.tsx index f91a21f80974..28ba241fae55 100644 --- a/packages/typescriptlang-org/src/templates/play-example.tsx +++ b/packages/typescriptlang-org/src/templates/play-example.tsx @@ -34,7 +34,8 @@ const Play = (props: Props) => { return ( -
+
+

{props.pageContext.title}

diff --git a/packages/typescriptlang-org/src/templates/tsconfigReference.tsx b/packages/typescriptlang-org/src/templates/tsconfigReference.tsx index 4416c903070c..00f9a58e29ff 100644 --- a/packages/typescriptlang-org/src/templates/tsconfigReference.tsx +++ b/packages/typescriptlang-org/src/templates/tsconfigReference.tsx @@ -74,7 +74,7 @@ const TSConfigReferenceTemplateComponent = (props) => { return ( -
+
From 43dfd7ca2934f9b54285fd6ce2163e091a9fe70b Mon Sep 17 00:00:00 2001 From: Gavin Panella Date: Wed, 30 Sep 2020 13:32:03 +0200 Subject: [PATCH 062/129] Update Unions and Intersections.md Fix tiny typo. --- .../copy/en/handbook-v1/Unions and Intersections.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/documentation/copy/en/handbook-v1/Unions and Intersections.md b/packages/documentation/copy/en/handbook-v1/Unions and Intersections.md index c50e28a94ea2..b14ef22a4587 100644 --- a/packages/documentation/copy/en/handbook-v1/Unions and Intersections.md +++ b/packages/documentation/copy/en/handbook-v1/Unions and Intersections.md @@ -373,7 +373,7 @@ This allows you to add together existing types to get a single type that has all For example, `Person & Serializable & Loggable` is a type which is all of `Person` _and_ `Serializable` _and_ `Loggable`. That means an object of this type will have all members of all three types. -For example, if you had networking requests with consistent error handling then you could separate out the error handling into it's own type which is merged with types which correspond to a single response type. +For example, if you had networking requests with consistent error handling then you could separate out the error handling into its own type which is merged with types which correspond to a single response type. ```ts twoslash interface ErrorHandling { From 26210d6b1ad3881295c74199d1f7911a7afa4f03 Mon Sep 17 00:00:00 2001 From: Orta Date: Wed, 30 Sep 2020 07:34:41 -0400 Subject: [PATCH 063/129] Update snapshots --- ...lt_TSConfig_Example_0_viewport_0_phone.png | Bin 49762 -> 50425 bytes ...t_TSConfig_Example_0_viewport_1_tablet.png | Bin 120400 -> 121663 bytes ...TSConfig_Example_0_viewport_2_computer.png | Bin 131195 -> 132569 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/typescriptlang-org/_tests/backstop_data/bitmaps_reference/backstop_default_TSConfig_Example_0_viewport_0_phone.png b/packages/typescriptlang-org/_tests/backstop_data/bitmaps_reference/backstop_default_TSConfig_Example_0_viewport_0_phone.png index 49396df69530c98e313d51bae7d6ba49b0798fe3..f0be19e19030f85c71061888ab4dcee683e33cfe 100644 GIT binary patch literal 50425 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

PQ=SyQf`xSo}) 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

g1M%QemmG(0@ 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

OcX3SnON#E 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%0A4Gf$UJ{xHwM`S7GjBI%+%b!lR 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 y-}rO!hwtva|GQX<^s9wmDrT+t^M3gRo* zQ~!5ys?Noco72@*bTz&9+H0*TV~jcXS9#eFXvjp!5C{ZK;^TV-2m~H{gbhSO0Dm5F zQ((a#7zc$9B9P)Ck{t+y0wVEVSkX0Qf5F93abptU*hHN+HtBrvBh~W^>T~Vv_n0_X zia5l&ZHHCb42u?Zc!erW&hY&7N;vX;AC727M=9V&J>-6;9YsmV+AF+@Xg$84>{A~| zxg0VZn5kHD=|>Q3(tu$7=k?d<_r9ix9Jk-LfAp0j?3aIExp%CPkMIBcGVCFMP`~`| ztK0w;^5Vavv1Zs1AYcC-vrho)`|ptV&fzfc{vGm?zZ*jF?~re#29W4~hy00T``@RD zOVw(V!|0*xTgqdY9nCy7=diw|fSKvKwO&B~KgKuhI3nn}AU;7_)w16CHq_76i2ggP zq0KaW;{Sea*XLur^grYJnWrxiLh6^BuXO|6ESRUc{=Mg12R=cB!8GUmm+oYx zoq#8Q9sKI+%n`}K_XEuT-sq>P@&?FH5oXbJh*iUPyGhOa20hn6hQ)@gD1vi~j|IxQ zhS>}vUT+rgAa8y!u_nR4gIC-c)T+0}k9d*wQtMl^c4UfzXhL!Ff7X-x3eKH(ZG~49 zONbhkSsl@EJ;7ipkMZ86OV|)E?#l6Oo895$L-VYJP37`k>P*bl{rq_1{1Pn0mObm) zhapLp%5(o+l*#5uq)W#*xToq=`tIKbL4Q~{T4f5}m*!9zqo3?daw!rs)^2pPu+fbZ z&dK7s%(&YS?1bbLKMxQ=A9%Xv`S*Msdx^2IeYuZPzu?Zr+74EV`wEJea+gVb_Y;gDMkOkvCHm7cI2>L1(O zq>(h1aTWCn=sfArrjXz)%toFCaq{S>j{VwmbWjkXq~$~gJM$lV%0yur=_j;VlI?@N zz-9YO}@7>xKd> z?CI03f6bpeYJe~lEStKmC0OS=4`%1R}2RC*`Is7(uF4ELlt#n@WTr%gagZ^Jh0- zY0prfyR>ap1&KX2P?Ad380oFx`nlSgvp`zg*aGYhktalBKVDZ9H?#<(eZ=v85cQAdqIJ0R_5=wi3v)X_)mh&-A!8XQjU?x z0$fx$pAlRo{bOcm+#4HD-(3EVdj@%|DP<8CuWz@62^OqDjFQ1c~r6=1J9Jn2RdSwMs?q4RNNn?;RN2T z2GCe(xi3LZmQG5@-s_2tJvg(Sx~OzCapjuh`QEd`hBCKTM{OU3`V66VoC@-)HowZz zsM*N)yb|Vdy8?FP-sB>QS#9fAdAe1G;vdY7tw7`^!Y$+<#uMFe=6Y|QFL3=f5na2h zT_Yb8Ep^nOoh0kSAC4t=*;-C$TJT64uXE6+Fh)J?MiI(ceJ?InV>3J<@%5w7t6B@C zkNpMRGydj#1UU(QD_F&~#$UJ}8{Rg}JS8*ZsJxd4_NnXD0{1|pk@b7;MxxT8iPZ=r_4=h0l5YbvLR?4g$ zrA{(2FT{sf_#W06H(OpkA75>L-Lzcz>1Sp)YHHRqc0yL_0r({$oRGaG!O-&ETPFnf z+>@DwhvlQ+!D5gYhkOcH%$2>syt1@y;@qzJD{Og#N(h9DoT2kz?O8@NEO+F2K!8Fd z23Iz>nTdf{fFpFN$Ii-MkCes}SF)8`mt@dbOhSwklHZP?)I_3S>h#ZkYjru0Cl}ym zAi;ylWmjEZrwCD??6{!v#M;j2hSf^Alt}fsl1A zqGMqZuPE!H(blef@zw4SwgyK~gMWx@kh~4r_#h7N?(TsAKLbhZt=q>%mIAJo&;)eH zy=oS`&ufjW2GQKrDRk|V*kTY!9qKlDVaL)|z0kF~iDf0fc5_+Hx?q-CYu`hitB)6- zc{tvm^>?{72=Iagxs3#z&Bpv$HR;&Rbw2M3&ZJ$3E|6WV+ZAg&F)Mz&vWGx&o-LQc)(m7~w ze{%6;^b8_vth|~fGf%y^rKw-v;Rcy>Iqc{YgfEFPIqyE&tV;9kRl6(ik} zFKS)^mL!f{dUxwUI)j-sAHsJ=Jn%w1Uem zVViPY(^`~AhtD{TDM|#mJHg++6;CHCgp#|MtX)yv)Vfs)SrhJIKwMAn3{(0l-}>Tl zk5z{)BxrEh6_*le^C7;!<)`%a#c$ReCkMGFq{KXm#)<5T!zr*OnF#m<3im6T%XH>0 zXij9{q~Pi#g!R{WS~ZgUe*ZmK3DMr}-qWkpX66BQ|~@|W*tV;_ZDNJT7cN-9aT(#SnVH*y^+j5ePku41dD=#*dMs$}8(H^ye~yR8S; zjiHlTZxQmwN?QT4+oN=uxx>7GHdApuwSF;8Qbpuz57TeobQZHo7p-OG3vh}K$vvi+ zU|MPRMs2sH)e6oSf4m46iw%g@%IsOyQAkdGI`g>I`F+ z8cUzRO(qWb^8|`5oNBqfb=lyYBcoBGE#%i+s#wvPx)K+QP&?Ho)ex#+x(WzhXWuIu zA!bS#7$FCc-0EgemuOS^OSg{-iKSf{FLq|xkzv1*FGD_BE?eUAL4MmZoe+tvwYMu7 zF!e`=DL82&l4o_&!R3;$cs@;}dzY#{>w9DU*jHNo1X;HTtsP)?9Bt`9DS@#DmvcIT~fwa`d+$ZYvRDv6!Tm z2k?qT+HSiAt(Vxz#^ID$*fa*B1D@p18T7D+kONyeSF zO+v|NoDG-hL1qJqC|JC<6(E&SdJ9Zl^OUMP8}B3-{@5Qr@|smGJH4qY#;xBfj0pbD z;U22fq>!wG z14Q@pGsE$Iq3!we5lOPd;NXU5rI$H2HWO<`bNp#yRrWe#US%8aDZ`Cn=z~y&$s$R$ zuYS?;<{$$+x(axdbi{>-ef0&;`y1YsB(;?<2OFqK1G8101|l%u@160CCTJTyJjkWL z*!AqYM6OykUra@m93Dggd<`WScJyPnVS_ruXkxNo$!feDQ9+&xP5yAVmPa0AH&+Wm zMXJV&ym8X8E-*N*GmCfi6sP;$?JlgQQMhsBfa_`|MnAN!RwG!~@@f5HzP91>hbxCv;t#hV>FSpCTiDCuTDuFu zFcZ;e*Ozg3i#3GxKbcGr7QUUn$ADRQ-8cLk$^i?nYS>XXI-uk zG6QPuL6$)(*+|`B!D#4VP@p| z6iE11C;u>o|$tGNZHp zfNyMEeKSegn^5^MBo~#HJsOA`g@z+^w=yM8*)rg(gm`K@yiVa+x`jESUSh(|*{0<4?}5uPM&FiOyFs*^%`doS`W44*0-%$6}`ev7f2lfUf*;h~Nl*(&H?gy;qc55u;KQF;mrhIG3g=dBxz8v=@^NKYN{GBTBxnFmpFz~!B4u2e`mF<1sVbr8pXFu}dRUj53umc@3oQN>i;VTpA- zdFti*Sj~2Q5@b>4Zo>XpbBj6Zuos(S$i95`s#ruZ8gWs*8ADQ=I_21f+E~SG-lXy;X z>Qt7_(zlOD7`7dG=OO~m9k%lhgYU8d#+(z1q8cB@<<|a-_~hY8Z`@M)qG#-MWq;i_ zU8fOUyI6MGZC?Oj7~vLqmPDpWaz-InS9;AVb4GU$!M=RdM9e7^cY`TZ8~ePS?~vu# zsld>uM@NT;j$!aog8df#SNvDMW`_m*cu_O{&)Sr5+{CWfK4C>b~Xyz@xyLAgkSgk5Ow2muSTs1xzq2au-PVwcRf#j zzc0<$9Z2AUissTbb8o&qj*N=r983WbZP)6eD9e!zN+-rWb3NUaxBN)gO8()r%vK*0 zK$x)M8bgYfBDx|rx_UR`1VwS|Ce#XoDu z=vrS2!E=G+IBF-u)zSS6!Iwm~Kg1YvD8hO{Sm`!HzJN1%oix?E4NE#13chr$)l75lN}X{D#GUO5LMQs{92EGHU zLTVu&5)}_vbL>xqSiaT%QsXVv;r~^*Rxg_zA-JBRWZZXZDy8jU4VIO!4{Z$5-6{7^ z2a3bX+%JsS*?QtrhpTDV;vXTggD1#&iB<~31J|l ziK1rb0jLY|+0s^D1I;xeWK6&5r(HA^XALq!EX0XJbUq^7zH1lO?PITmsOA?GvQ#qv z7)dI;rYATj6;NP&VEjQ6?i6xnN1s(Ly5*oz zfBNG9z1rJY;}9|8rlH_u6s_r7qSDu#W;y?Y*cYPaK8-+(tsk#5Em}M90dm)UJ=1fB znpa;99tX+DBlcdsU(1uLuIBx|G>X;}{aNwrmJM+L2w8T6+aG~k2;*6Pi3HI-U6$_@ zyVjlQHn`sBw)n;r(CcrL-h?m}5!OB@bky@BwO6&SsW~Ja1Q&!4xB9ckNS@8b&8!JI zVF(6fw+IvN7WcY0VHFgyFmm4I@OxKkv69|%sq{CVd=apR-g_8;jx5(K>hhF>s|7Fj1*>zs=4@I@y#5#?i^5kt#>B= zdRXQg#23JiFqn5Wvu$k`-Is#ls&EzwKO)?7W_rgbK_c0P?9abVw z`~ZYH{+qsayrH}YyE`j-GkrXO3GCwo0A2j%4b)@>E*BQtB)mxL3ALu_7pf!*-gB& z$ne#<+E^U~x|+2u5gNKfTgpoFHhy-;*Kp+dw~Okmo8wU^8i=2r?$X}vu-x1ypXOQ8ka(!vLC!#=|{FpJ5ic^*7MC%0_G)m z(TlRC6t-V2ufAKA9C1Z|&hHr$Qh%!GXDn_@2)i|KtR&{5#%a|m=;RFWlF#5aSVVlz zs!^CeAyL$N?x!si8NX=Srj@Q%kon|HN3K(Q-mxr?AHIDM4AQbb?s-qM3{Hcg4Zm6- zryOeg{d2$nMgh`z5on<35Y1`tkdmuPq@31n)1EY#QRg;py|l<2y3K;W_6&1E{oX9h z2d);HT`1XDHS`09cyldq2et{5^k+OAWEfX5Y^~Ug6c?KRZKv{CuO8qazG|4IuFi0` zaJzgsko)zLvuOp5}_T_-%Twa`mLKzxAU z<6^-*Q|2}QQ;DH8KPZEh&)hQ{(Nk-JfM7R#v01hhsa2z;Dn+<)`wV;aVcSrgrkHd$ z0OY%OuM;S1#z%}BYzmlcFQRN-bQO=lZy+>|3_Q@cYDL_TlYT=mZ3QUikRwYD_E?(n1>A@%i310y z?4L=_Y?gW%f!JL%7$m^8FBHJ^VbpF7*X#H=MbB0L5b2L0yJzDjtG;=F751vT-iTB) z1QOJ)u3C~%auLEAq#3MckY&5pN$?)tt#ziCsPXJ7x?9sZ{SRh<4?E!q%Q(u05`yL1 zl*sSY=`1gL;0xIjqkpJ{zikreVs1RZRhZjcKNH&~-G=!k63G-Y*0oFyv6L&lybeWj zM1*t(d%!}Jk1YAZlV)BnH?%~qMdrblK0M5o8mq9s)o{U?3BoVFUg*mH0PFk7ds2iP zm(%!usrTi8>ly1|>Wgp-1dpqa9?E2Yy4E;E*fMJvfM8vAca%|CPMhS4=C=Ezq*Fy@ zr?^iS3&kmgAy;RZp+L5#URwj2i7P7FGaM8t=6jwa^XgVZ%-oc=iL*tcbEx8wlLieE zoQzqeKg5%$S7r7ls#vT4B1r5trPLVJo`5G)a41rX|Moa3oqZ5NX7BteL3dJ~Jn+V} z^x{2MOho}J^*qr!F-U7(c{EUTk4AN0i2J)kD_X}IrvY}#i~zF`MOEzjjgB2#-;#UB zl5>8pghnyZHjVKZuSHy~cP)8w_!+d=GA_C2L)To4&J+I})T89pjoNz$Zj-l*@w%1v zm`P`bnThsPEgE8_evrDDgW5=E5YO5jqCuHp89{%wkz{>~b5P5$((=tlugs#(#kFp) z1t86YqK&K;i7f7Sd|%;XJhgriR*kON2y(ylEWCR;t^pfF!V|4d|9txpK$>$u8J}Ns z_L{RwdUE#9L1BzyL<w+J6P)(!4=|qXS~W=D`u2mfS?Q# zBp{Kq*)pU`2{3c6KAe+_mt;IzOWm=AxKJ+Yp|IQYLZY`A4#B-`=F?1{{p4CDch!ph z)e?#Jg6IR_eI6I?uggerH;w}3 zS8>tkpSI#r=Z*q`}yj0bb0gdBM<-)gt+(WkW>p)5|onFt!ku=o6!66Wnz3E zhwu(nB8HDH)Bbg?(_qF`QoCo(SF~G_6M_I2` zrY^4Xdr!-o)lN511d7?Da(~_nlvsZIT{*G(A z+!L$KIlBD^ck9=oeHJ4hj2zQfXK51}uN{!Vke&?Sdp za=aul4>0K#hncBwEvUPE05Sh~JP&g-t1Xv~dtaKqt$F+fj|I+`%PD=^M5zkl>R=4n zTV?BU$j^LIg91C-TIREHOFW7M7$G5c%qg_1HlVZDZdG7kJ34qxyhi**0;*0*2o=<> zg+*wtnz`lAfS))`$tarH2s`DvRnfcCHy_f2CUD~9v8}V`yxB_p#=(%UEiSFhaap(Mm&et(#Edq z!dODZRtx2-AdY0mmf%28NHO%*AlqC|x}&%e&|9k~xoKx1(*Z-g(&N}QS1TE!d{kqB zH%0i(UKDtd`D72~lJDP->kYy`@pb$aeqNOIX6B>Kn-0secX_4WK|B~pD+nV*qw=@l878Nw{i@nE{5Beek zCquBYFpy!dGBjUK6nRYF=dhyGOI|%aY98`5X$+WKu)Y@E@2hJci$08&Ek`V!3=da} z31*Aym+HlB=i*a3aNg&OmEx<-O0Zql7*rC1rn%+1-tgdl9#47=#8 z##zSZshA{DPgWlh-)mbg)=t8b1x=q*uSp8sa>|T%g^nIq>lE`mqjIP3c7c}LV-lFD z6Yz6sA=dx+02Y?jq?V<ZFyFREyW(l@z0+tIX;H`NU1Pa*lyg8Lh=H=UN>tKC*V=C1q& zm~#b>+PLc(;vl23hn?q+CtLCL5Z&szaDmX%qXgSz`xI~G5>Y+THume|K>qvebnHhv zB_x~(beDyuvZjM3`A~}x*==&omXZ(RlVl&%rZkO^lcW_~J6=KxFgEo7`*iql1C{@G zxx7*Ltj7@5JrEn4H&GvX)O|T_CSsl#{3hqL3@U%-wqM>Ut-Wh3+WMf??bETwnSbe8 zwPjm%1tn6R#u`V6gKR(G@5{Ln9hT%;Z9>klRtnlmks@J1i%UXUG5RBnZ$be=@={XB zmNhA0Q0Hw~Qy3j4a+>e}+sK5BLR1?Np#)_2*tXGq3Qm))6dz9;H!NKz1zx3yNQsjc zM`c{sw37TcI!e#I8LaJG{Dal(BO*hQlK+y2DRNqi6{>OM*Up?Moghq|1g`Iv8nrFN zcuQ{)N|qepzqjz96zJ5Ed6V%qR$9KgoKzNPrYq`>N|t+<^GR=`-@$e)n?OL&1}80v zn}`zu`>nbc66E-%J_`uXwHDp)8lU6^jKg;$R1Q;oEyS;aL22l_paZ9MZ6*ekxj9;~ zo@p)yMQ~~{GKaE3VCN@XfgTC1Z`eGf(MCE|UCO6roBjzZ)%RhBVio1GyEW5h>f}t` z<~^+m!FuK&;kB~BMv)J~6@tF|lt z3V@)x*J099%{46Q?S)F-Mu(_%cpi6%+NpZ6;>WwAbiZ#{0o?5bBqwmimE|1;RCEVF zP35O|-jqtj19U~~`trFbv{yBe3C?4=mxwRNP|TyjB5E;BJj-&)m5+uyY6)CA;okV@ zd_^8vy-3a~99y+8B(&g3R*+((?{dh30MjK|H_AWy6e9RE4mkXsrRX7N-@Ko*%FQ-2T zJZCwuaq(b@GpJh2k|E!Y07TP}oe(Hrb4Gh|z|n1VUd`h#p}gXtKUT5wOP>Hz@Kz_q zJTDtkjzd91BZ{ZTgjUTN(3i$eL^Qbv@OO>NyVNbNb_3j0UBxICTc{8KPZnWe`5?V( zGxyLpdA4?RZZA!~9fVlC4-eX-ykM&c#{G`i51OF*ZTigjJ7EJLkK118+E_}{`7Rm? z+vx0J5GTyZQ@(%ixU&}ts0k1bpjybyn0^;I7DIl-_2uxI>p_Shq;Tz!$@2_@vCie? zrfhiI{8zR=jC4JIotE1X#z2X-VOa|KU_%fY^=L;kv=wjA3*_FXw%1mdw5k;h@I+NF zJ6d@HAtAQch&}N+enjc50Djb{}|C*4C z7EIE>58<1G^qw-${$5$1V5v`02#^Y?b6aP{&>8$8B6vWY7!e?Q>>JG4pcVjXs!Wkf zCjA{-7!Boi>z2I#2wlg>4B@KvOcgVJB{i>rtcLN_y~>LP6ukiT*Z37!lKIlAE_8Av z{ivmQkYju03_0IoiA_n_JeUFu)toR&Odv}Y2^D#+8BmVj1we_PDJ9-lb%mztrP{SQ64Qkep|(1tw8liR#s^R38AA2mgKUAr|&*dFvl5306$YkRghqr6eEM=%8Ah(q6 zL8+knQMeP53S`#o4k_+S1PBx_nE2#B{aqezLCH}5wffDBQlB!m9T}*LDWMTn!Y~>` zW!Fi~E~fk))wT@_P7R1NQ=yz)}XF^&z5X{=qZ=s=Jrfs!xYNp;&*OK(oD$Ayzi zZKy|{>};OZn%J{K*8>Vvi`p)D;AVH{TZ^i^7m~wjwTEgAJR#*$=lT#r7Eg+CQRZV*fyk^^?X1I~Gva^h$=&C)D8X0GT}oAJ zgm_8>Cw=)G3(7`6zI@4TXsk0;NB}*cKeI)m)P|psi?Wct$dWnvfN5Pen~l^5wdD8NS}`;v&o+r z7hxvH6p}292C#zv=_}W3Ir%?o1_vc!n^GH^HC*{skL;gu;o3d zsemeCv{I(ci$u%F*Z>mBMIr)eyp+L`;2U-VSWTd=hKYX#4G}5=9WJ2(3J5wXoc5CE zGTnm($;CvQp+aqyxDgpkC^$CAq`>FkwCB#M|@$(qhb|3C+|v(1}ol7iL^}pb@dI!%rTqznPB095C7=JzNPn_cU>`?I`st7 z+>e@*pX&!RvTLDb3%!O|(eshj%7o08cgzU5oSR`UbKz7giq#7~TCqN7O;q>!QZ$mB z?0C{lFkPNLi1$W=a>5XgI=;a}T?Ot5LeWAhJez4uPtC2Cj&@+aN767-KKF;UWqKAx z^=NGY7j)3fE9}^j5FLVs*J9OX?ybz{k1&%b?iyq24Wf-CdT&tv&`)NG*g$c*F?t!^ z)yz_)^k3KvP#?3!PArp?X|8 z-cx-ucT73`H${F^pUM`zzcA{+W)~J@EZRYrLXL4TOsR8`)*QTn92l=92?aJoUxlHS zqNGOiMjHcVO}UC+3!s{`c0!oJld6GMA@(k=#c93{O4?QIx4M;RpdGgLiB296R-ltY zT%0P#QaF(`(Z!qlZkdLP3wt7xa<#o-P=lbcUYdY<)}qiMssVe;UQ{8)Ok7u@wcKIwK8IVi9#3 zDE{FQ&H*8^@DONOyXw#~mc9}EG9jSDq~G>>?~vS~reJ3Da9>~W`%!P*JEnhHf$Loz z`5>-iJ}eI~96pQ5utMCN<)P=((a}-i#@){>_D$V+o2P%k{M@OPNJvI|egpbO7uSLq z|LsoC&68Duq5bDdVAVKf$gEn->w*iA|9{`zK(qMvj`+WQ>sX(z zbP@h9b?g6+tNg!ov;SinBROtg_wN))f(vl}-L_q0_N2m`eZZ-XmF6>1AG%+N5Z%g z=J(%oBuNV{;QV`75NX=jX_RPYAykO=?_KtPAAtDtm^5gN@Wc$BkI)X@?Y^&2W&Ga< zslqOwc0-npLh%Lv^Mt_PjQ~5}eqvbP1UBvKe+(0t9AY1Z z;M1p1e^)jb7#JE#IkhYK$EsI^-=e!M%n z(hWm`l$V#6T1+vYIGLI4z}s~E;IueC@_A~|>gVC%(LGvhTHOl`MfN-!yZ7IQ9_SAi*8$_y&g$PNh5m~s`ZYq@tD-%Akg6}D=U82*Vooo z!x7wzU&hDBX^;4Mc_~?0F@=SN6FE%K#iPg;jON}DMG$aXlUyFmy>fe+uXE6OS0Fe2IwY`hrDO@A;5A@%ey*C}O(G0w0}} zFR+K)=ic9HN;xPfD8``!&%8?g-bG*kWp@;L)cyTE?HOT&c=qq#FF84JhXt=RV0GzF{Zc;O-h2(uRz7NUlrleTAwhRCa`POrhVrt-V2F1RekH{ufz&>1uQ&d&b$ z`&V|hqXz^?ho5=8?_CSd8qbFK352`_CW|x>O-#0AZNMfkS-!Xr`|`zCns)EJ{y$GN zF&phalXgB>ZVMn_)rI&61lWO_pm_Zn*cA2O*aMGcKg8voov&Z9U#(_Ey{*@sYm!Gs zLBS#?U!uOwnJ`~DI6$jw+?dl*QzHzNJ|XTt%T)2^cBeC?;x#W|an2w?P| zJs(bb$f*PbG(ENOr{^lou-Vz!JFo6855jC(9`FJXF%WbQh#IZtxIC{{LS(A%&d21| zw*O|uT>X|w4o>1Q$@F=81gU_>OOxh#3TlGUj)$L;Iy=TC*7wiW8^>eAaD z$pBSVk-vEt|9L1*YnK3$Eu}0YgN9E27S+ba2CTU9$KMGoU@y73x$i!H{1|IS8~fbM z%rhk&%Zn#jyvJNY7-`1itR>nx7xc;mgX(S`DRt z{~ioH`n|Y#`_j_VrWHH_!b?_G`BUw+mv{!<;cdP!us;|Z9JXY8_j<@Yq)~ycDVx&~ zPRPM((2d&b$?v@1`YPS?WwUag;`M1iOS0jhOd>0c%e);Th$I@8K2A=YF|o0qw6!C1 zbLoI%Rr1(K0sF8!U6(jNTxjU>nqrmulp)``u+TJfGmHF~Bu$$l;PwJ!(6X{JEj*ss zUPJkU3Ghx7aAOybB>7rpF_j7I-S>io7uZR~8cg-py;&`JV^foc)n}6-sh<~jqGDq3 zk)-?xMap5@+uP2FT4ST5(W$8s-Ve8J6BAW~Hz2lsOHBMSI;!C6=0-_Ni$EWrKjX$f z$Mug7*S{%4VbwaHpPz>&_Sjxl;4X^F%KDRqYPL>JU5RW4n7Ft>+uNojZ#`8tjmLh= zM1wQuFo`tOs#)@Gs4cF~#EY0p2NO!f(zZ=a;T!Zs#xwftj=z>p<--NL{v|ZDz4I$J z79Jk-7H`hBvVQ(-{XIOMb_p}tI^c2Cgy`erffXk9VQ&ST<<3xeVT%%A= zBq>UgbTGK)*P~Qk2l4qs;C8dC<-neTN=jI6ua2VhI)d8<2hnUAPlB`W%t*8Te(4Is z?*QL`Xq?EZ_YAz2kB*|!y>ELrFP#TSBoliz zS)vmK1B>vkU_yVn)ejo;JiWYDHa3E$bbLs~vp%su{muH&^}rI_Tk3kEPfbIkH}X^X z`0}zFgkvmBOkcCH-xBq2(GsPSbqap}g zF9$&5wWcNs0tOkXii!%OMz!<+ZQ&gQJ-xXDd9_%<#7iC?)zh@(2@$ zN~TJQHWCI#4>-!@!^6m&H23_jv&)=xZxN6#Qc_dd9Jl4A(*y|Z?Cg#&F1o-8@z4Lq zHp&4)8>RVGUjAY%N3I8CE9#lId3kw>ybiSI?p`^QEJ)7|>$b=&7wU11E7aHz&W43P zfF(WNpAFN(qyWbQt3vgx3>+%?Qn3yE*2id_@C8U zyaj{NNkcF8rnreq;R<_%C@F{bJ> zXNQL|zJ2?)x_8Lu!`HAld5EFob%84$PT&WNi2gA$X~wcU6qjM7#plVmWQngpxu_lF zOBz3ZVa!s)-WQ&?J2^3K5#m(8<ruBZfP=WY{gdnc2tzi)pGbH8cw0M7siu&N`DG=B9TW}eJ zgvZxuZ<5nZh?kczO5pSh^|1>S4J>*bb%CXKUV&)D=JR;Zh4P^?#|xN#A~hW@fH`2V zmVYN($2dMcY$n?rcVGxr)@wna?g(be7~AQ*0vMon0R&*vp!uxkHo^9qqd_mP5tG zh1Z|J64IsrOc6PJw1xc4NFJ*6k zKODN%XPbio>P6zt&eevG-~Drn*pj5LAFh_l>^CIm-L_H_-+I*>-V)n1Qtp(`E}og3 zuJ?kCO>k5zZs>;YHWATm#s$~p=)=nXOoi)qMo8zK=u)#+ndJ<7<7poQ@Emx^`qtJO z*c@v+axaiaN6f1d`CXVR)r$;gL702x_OM$}q7R_aszs29U*6}ORgm6$29h{v)bh0c z{@3GR5xgQ=Tl)7(e%DLp(y?Hlp4kV50WjtVd3T@8W)N&xUrslK+qL2GWu2O^W-gz3AZw9Q4&9J_V)w%*M1E~ zJUysk?|`6~CzIY(bV&+=JG&q|y8<0EGhR+QpOd7mqa#kv-QC?>rIs*eAP9d>>l+x*?8!+>+Z1! zM-BbAb_srCV$#T*vby z$gplGMM%9!IfcupFOFHQgy|{-7<%X!CsBkUIp_QpxI5qlrk9E5M@u?%OiZ|NZSHc8 z_VzI(_yKKTQi_zfUh4J-bqx(D0HwxwP7Vx6+i8)S5ktwrOwN6yW=3YCbZ%bp?ny1& z6Z1Ve2V^HkAt6;U#||bWSV@O}7kCYRn8vsfAsLVDyOd&uJZgjXUPE?)t9geQClbJ1 z#ttAO+59KK4rvU2UF?h@g6!0E&BxE*AknR?VwPyPy|F>l>&Xaqj{*5;p+O~v20X&0 z3&mj`SBG7X4|jiSY;^3@6%-U|Dyt%+qA)J^X97x^Z;=5emHB-%TZIA=E^fsm5q^x> z^g}WkjmZqznU-fB!Oa5w)SJ8f*w1~UKt2^jw z$z#3oQ#gQHEiaZDhU`}#uc zwEp#-`g5oVqyR|S^7b~J+k(7?md#w|*v=2seH{gbmv22`CquTo<6S!1+kYz3ceULT zN7_shMoc+OD5-EJ<=FXd0*^T;HZ>1h=?Ib1z5<{TY!|N1)WO~799fCYhMnKZ>Y7^s z4%e3k4SuG>Q7zSlv2J;AE>x>P2*YRjzCTr2`KIw=Qp5G63m*#`n@X+v#KcVILzI#O zQIyW~#Fkqs$fHu)azEbW^$LKk*>%+Yn5Vevhe-AgFd#1Ld8AhN{gV1!dP_h7$jHc6 z8=+g(1>Gt|Ma7TZ2Tm#TMtOV^!meQq+5qRlT%OQ2``8Bd@Wwhgpw5%6xL-* z{bN@zV|%Gfl8JjtIDi|iEH6{ImDs_{l9Q*?_Ny`C^}5O)H*tHi)?L zTAOkr!dEesS<|OqkjRkN1(w0%ex6Hh@uJlD*|T@1rn!dql>kB)s#o>>zHr$n+dVvM zlwHf8@b>nW*?i5&7}sdMQ(Gfmq`U?oPe(8sF|`<%YzmJbNB|P-XZ3scJE0d`EcsbpsB2CZ(k02-b(rP zOlGHC1qZG8+1Sb^jQGkIhD)kL^!pUXpj`uwa1*lQPIxNHFvi)rr#)n^j%Z=5HPu|Ei9>-#0z&ZhYx%z^E#mm5K976EnJ5%FElw zwpQ;>OBM6tCZ%G__Gl=TpTouYaNici7SQyd4M67OYapNDwVx?0wg;j7E!N`KyO}OC zn67s!DAiQD=)pY6-y;Wz47V8RaHb-s+m(ZZ0}7b_nkj#{p`SQa0bR?LY~2I~;cVUJ z%xMtAk~bUNwT~dG;)dqjpB-jqW(L-v!TwTtVghiI(sOGl6)mRu^bX$lsQFHIg{caN z9Xy`brKR^E$s-Rxj+!h*kqdE6J8S?#f%_deIK;xjB3{nhySZ;p7R{_H6c->Q#Ftc5 zxU@x~VPR!1N7_N98#XrD4bDu`GBQCMot^J1EoWYU=q;wGh=Yube7rxyp;_~U@+j19G-_m3i?tf6`%a3i`(pJ$X!%rYabp*7GZFguXSwyapW`pe#lrB~mvZFN#VsvC^RltAF-4}N&Y+t2DGpt#yi%H~ zEJzTM8cx3>{ccXS1_054?v`Ad zKpQ~W07iaVd9GGAlqMJkq?L}oKIFy4#nRH!Rsj2ywBr;WX^01ZaCS7hot2vYeW|DA z?92slW3e;&1ddZx zo1uMXhS1N?ubsMFnpSkK+UjqMj}K63mI3H3iFv5Dm_kqYx+H{#pP!EQj(u^jr@;^6 zC(`o^6HxG(-?w-_1a1KKn&on|2w+ao`9ox5-QOfq?U(E zV#quC_)M8(uI;fL45BxtzSGmHDLi)1faR4|R~JwIPxGw=`a-5?2zssO4ZH7X!Nud< z($h1#rWewM%0=ocAPKaA*c!O?Kq~02NTZo09#Lx4kN0<20z0-Dpxl+)i@o+RC_*g* z(nXLf^^51514&tzH0VFVi8zrnGBVmv*LtF`UcB%J#O!ONC@B>c)jiNQphgW85J=qH zJ(-&g_&yfgJV~IS5xsKS983-YWQCzHS;*%tBO~MSgo=(ZZS2>@;lStEP%mDo^HWn( zqgNq*_RHo*$=l&Ptlaa)9%vL4uU;X(+ewac*`J2_dCnUgLCme3NT=*VY$*n1K_FgZ zE>?Ojx5AL{+QR|Gr8ov^*z6P(5OS~cZzIeV6%}^tf3W@+dv6*~W!tumFPbD3p+v?C zAyP!jkRfFVndc;lGGr*33q=t!Cv)bpLMRkcAycNzlFS)0Wqh~udhYvvK0N>T_xr!^ z=lA;5#j@6U9_MlF`?hb}w(kqSm7OZ8S^|u;U0JXiILr@x#mIFd^RyKXJx>11XMQ$h z*K&pYWbcFb%IH36e&tHyqHHzx+&yg31pDE7p03W0j((I(Rm4W>ozwe1hiZB^9svQ* zCnhH7D)#T+KY-m+jZ>C~>o1-ChDT1+paZwHNt6N~($a_rfQQa-%I-ytA}t=yganFK zg(>-H@HqR($jB@g1%l7_4-R^*tt@7Cm+cI_Xy=B!hjL$9Rh1gmXiIfdg3Pve8|y2S z;{@^7*r+OG-K}F54Yb}r9OqGuBiNEME;l_pOH`u0?kiS4^Ed&b_P_iqG#}l*eLJt9 zK=`x!gw!eKgb8mztF| zu&78hGCFz?b*6VffU?gZFE_UoHhgn)b7Q`Ry6EZC+WO02d2Vg2yLEJSChESv#zX70 zTvK0Pjo3hd6mxU)um~y*ty{MQ0Y-v?f=H)NpB6oJDm_LuljrW;yXO@Y_E=}%wzInr zEI(p?IQ&apT@@ZC=u8UK`S^tK=Tx;dH5GV2)k~L%+fryP9t(Q*?2*U%-)*t6u@#SP zo}ILMv~4#FiBxiX@)77l?HkWBGS)TBO6xvJy3a~$I2{DEDa z_v#h#iEXYL=AHlK5S_12m-)8fb!nQJ;T0!}zmMPJA{oo%4sK>MRT3{Y*oFL4&}W76 z9>-{3cq+(1;Tvrl+Rgv`HG}EaDq7E65s4rEf(wkN-B(5R-dG19lJ+CH`96MJiAs;= zzybdTi4`S^;gJzv6q)bdhaUg0{Kb&T?Y^DD)W7tXbx(;;fB)rxJ|-q6Qy>OgTidj1 zjen&%h7)vU5g_C{%^^(Yh8G29R5|}{QBDFm5^`$tU zeCg`7YZYLD5Q^kb4`}wPe*M=~PYhKGklo!mqbT*SANap)-%-B#=X|yN^M8LT&Y3oY z3hCe1iiEpBIk;WwUzbkgUn7$t`-LGg!p`{I6;5F{JDN z{@)4uYFb?Lf8MXO!il)cf4|@V`|y7+-T$9u*9~|IeiMwVnu$$!(Y?=~&lkjXy|Ll- zE_GiMBT5@_mxcc3WJT^HN7R_iL6x|#Op2_65qFv!QA_@lbOF%^WWr?=lY8YG>r6}{ z)>Vjnyv#N@z~M*rx8AvPhsbV3+C~a2BX}2P>9`jgt^{Se$KRw09$45nyk_E>gh7EcxsK}U3rsYqKWmniBM#uN>CPOu0VNV1OAC?;|7CV0YRp-h$=ngQl z4CSk{JAn5=-0~b~ukA1gG7G3(-QwJ|_B!(AAHWL1>y2z)zZU^x^j7YHkY~^8SbmB~ zLd$iLz(Ym$!%w6SJb2N~#b`&BGQKF~_~bBEGS66`&Xvyg$4acG!elC>SB!@t30ZaK ze?S~?d@zaBE_Ua)KM+q6k~bK9ue?bCuAb)t7)?O4Xg+N?qMq`;wUxd-*Z5&X#J>7C$w1IU+G4#p z$pDPI-rk<97;DXB4^trYt{17Pn@B(HPT?6nM11|%`rp4#-u?ED3d7uy;Wrr&7TAS_ z3ltU;z9Oy?d7D}-dC+;fp9~5diG-9&5TeM!Jj^yx*e_lm58q~ekTy&r9 zT5wE^VfxzRu+Y%W=^8wI+S*LnPfRnF&Hm_W&i|65*4O^10~k!`ZNIxu`7;P6HqT&J zsECT(8Ee^&f61p_jPZ8-6v!$fmEp+C$5%z%GpF)1qNa)jDGap>xp$WGlWvs6AGv}! zEGKHWM7@QNW;r#DYp=_!jO#j1iHkFXnBA&)kOZbkzC#6!cvG31iwQ`H`typ4w1%i{ zFCDx3nOam#><3YDL9J*^l-rSS@vS=EfQeZB&3fyJ|lB#~;O*M)WDA%E?ZBvPp@X5|T3g0S$ zUxDK&O~CuAP_dk00D15cv0v?twP9#zXg@I3=i1s6H#ybB?mEo;kVDna1a!2Ov3a=pLn844;R!VBg$J%ZS|$`FdW!>M z==Eu*uXS~{!}ZKw9~S{92#ty{w?#+oYZ6fq!m%~^EKy- zz91^yZ89=4FM+6?TwIvg%-;X}65`{LVu-vl*;ybXElqAy|jA z*DpT}4fQ5uTLQ^LirWN2gOsejvllg=LURtDjwO{=Sot<1?V6!QfX#uLFkUbvKX)k5 zmD3{b`cn)$9$B2tde#)vgq;?2wX#04_;lqbVh1nV!8bI_v@12+7k2rYZ zgt|!#2$k374f)m)k&$T&w~zSACZ2RXdzOslj8pudy{X{9z>SWdFIa~xPR+#h7^k(M zFM|1oa^DSb6!=Nzg3gyAyMUpz^yj3>AqXtg;7`W11g%y`3V|lyHJ^-K&-5z!v6q$~ z2LgMqb;%9o(4IYe=B!0(=5?utoVijaZ-^~)&Jx@{%F>w83(CsEBfDoou2)r8KPsUt zdNqGeX(K_&Q1Vbp0~-ev*Bf6WI!Y+7OG+$1mv8>|E%PU8P_FhyJCY$iK>OZ&gP7UnT#iY9+eIMm=%iIWc2I! zHib{VCBM(BwWoZ1LL2s`$&ux}ii&nLi`$>%z*mAkDX&CYmT0K8jX70fsYFCX2*NOO zbrai}<#SOTg-KQuhYD3%?zm<&Op%$J!b6e9=(#Dp zm*0~ZCEefEI12~}%>Mb4w7TkA&}G$K6r7cveFTqkSOP3U8bb8dn>Uq!wgIEg?byo~ z5AuTDKRNj@c4GiUF+f&-QX}+IkfC615Y}W#-YVE{K6A*Ey1v5*04;Ct*r3cx6muL? zjXr609USma!1a?>M~)n!oFR{g5g-`c!gf+}O3EIZbUs>|$?vZpPE1aIX=w>XF&Dsm zI{fPKsA@aai{tntZc))l_$bd?sRZar^e|jDtw(2}qKbo%u&}_4J-Te!RmC zW{u8AaUdhEkF}&dl*@7}#vZEPURS#gl)SXpyVdhlxJ9D=so2~WcJ&d#UhlaupM@Ofehct-KFgRR;65qKjRoTE9A-_1B^8a2gPu_-Aj&7e4lO6jVp zDe-F|gkk4}i718dVMBwcUK3Dug~Y_fC@`;~>P)xkE3>Rk(kcBj~W==m@Y5QMwG=;5N+ormUllDvj%4;s<9yQQ4?jIiJn%g2FArT7x z{$|{>X9`|hcjECK%rJa=66Aj)6pfZ&1$9tp(jf&C>y8zg11@NS@^l?wK$^kPN~5@! zX4HD+*^|;jQ>MLp&+TLsVnda2Tv#~Sd48-36&?NTWebZ7?Ck7w08Z4T<&~*&3#hCu zxyF)Vt0!%GpF>|tDC7(Mvmbw6UtfRq#tlW%b$}4dH<{XG{35Jzs8O0mhwX@N`e-xZSJ9(bMF$B zk$x-?XJlWLveq>;aJjg+gsm?E_h2`2b8?;=KhD7s<75DA2XF>5yb=TRMa;+>Rgcil^XzN02lhAGcTI27h5{aE^VsaL`#3hQ< zsil{$tIE%W)O2$*%b+1iZk8Ip`}Dj)SCjDV<`yoVzz+xyM<7Bo#EFTDHX@7DSEtrg zt+S}IglJyvj<-6HnkkU`nV~$(l}P-^Jc&3?>e+e)*O9C>Kmeq_8xh+G7bwSrJra6r z@plh>vv$<7VcQfu4^O*$dT`7&Zj{`3hIkbk5+i4)+q)w!qF-g+!-;%ac(tW!`+K*Q zgL@NBD~c|+`BoE&Fhl~L&5Jbl}?ZBvIv>sTEZ8+-A|lP7au zxZ+eVUc}Vn7%|63H?6Ejv5)pu5GNorlXtSaI0VQAAT1DaCPvaD*4G#5Zxm)JHWD2z ztqhKy^m1+7^jn8fX@pR&bPa{$QT~P2Jqp;bQR66pyLE<2OU0hr& z#zks)eu@YL`FHL1{R~u$p~UR zJc*#FnjjDO`HoBvRBo0U_awCEpFe&`19c=neY%Ho_wH1{tg+`Ls7;AbK1%F{D0|91 z;*hz%^!CQWtVCQAm=Ir%3C5|Fl>SC<3{OHpV{Nk zD$etSQPSSQsixc%j1tE3TguLP2wMqRM1TdWo)j6$prEAm0t>E&{W*$jlNK#DxL8_o7?wyU%3j1Qw|RgkJ|LD;pZVrz7fbzb+*8y+m0Ol?MJHWyfglFzH*Ca118yXyZmZ)_u z9NP0#A^A|4f}gKL_y&&Dm#QjnU~s=QhrB!UW10m+@fNIR^YOr-4shLol}R~e|BIT0 z58>dLbj(AxdU5GUfyK86*Xo~NxRf6H>h(8j8|W{ENE$)$HH8+FHP@6P@qwo}i%-cb@Y_)!1sS9p!v5WkWS3hm~VbyE&ik zD{lk~d651GIT9x(ZZe8H3!OT3N=-{Ee58cu*Ao0ASh}m0mI?^2SV4MD{+g8rk9CXU?uj$yH1@x{S9@9aQNB%L))b|68E3DMx<`K3Ycc@>lIig=P9EY;}#MMMF9pE zr7wI#boDDGo$7XW#}Rif0RdP5>K=-y)odmN!`a!{Jx>vWWV-2ty^+D9YXJV2tQkd&kxLpdl zl9Gz*1=Kt>V4*FWH>=`c_#99BOoTveVaL`8)O!f&!JW=8l$8EE0wUy7m(VBSt8M3sgqOe|{U z)~kL0#?!-!pK&%~B|UQT-0LC*e@;yB@#*X7H6vcqS3rk&x|dIfjnDX~% z8)M2*$9+m1$5Vu}hfppDLE*3XdHybPCXsHyzNzb!-=5SXXQR5>qD&%Jjg-=Rb#*)T z<`F73sIe5J!S`2YJ5Gs-QEF=)5O)p*w?kJk!n0xQu@(lg3!wEv zi$p7dm~M9Doz;m54?nlZ&l~Q;mg=OOUAF-r_6itfo!B`>WEq|V>Kuu{7CY7qbYqHd z4L+E5gNKtqUbwc_-{uJW8gFk~`LN#IvSo`#u8}z7iEI9O7rz~H`|F&VIXN!2Fjmv^ z>65(KD^K6gJw1jA#`yq&D8zZZ5sWzY?c3*LdJ_KP0PUG0!+#J5H%kq^D2|+aoGwx_ zmMb>4%r5A54nZ_3I{F)k1NsWoax^5^kK()?uZ(4M44MMhL$8T$D+&!@6jm62$&+MF zo;Sf$Ju4aC>-tAI;b^#3lI!6Ss862($D#hoy-7t>c?L@h-c%js=m>O_iaSV8he`P^ zi`E4e?JXXe(f-ZhS{(E9D!OJ3yw5`8NE#{KyTM8+N5-@9lyVfnmY8qez*5k~8@I{V zDCfAqWBtElE7Q}qSNcVNgCE6W@`rD zz4hd(1BV8+Maa&-C@mw*(nyktC){6J$=7xGoi9+~libS7M6fB^CdN0~veX#jGLps@ zNx@ePb3YfI?Ys5djySLGy2VDoZzgUL{D$6NS|9zCtNW{6yn5~Hv%{;E(x=?Q(s3&5 zQO^s7%P51a&0TzGOkQDBgwoRc;X_jhO`;AXL3u_ffI(o;aw?^1tp5J}yW{O0fol!1 z0o!RgBITBnk=&Pg#x+z(Gw}x+h3dNb{GW!%|zXF3m8U zaXJR*2gvS+^y$weva7(-Zz{3RX>g|rtJJ9AXD|hTB!n^m4=H$w3ntNkp&y!>)J&ga z>&W4Tge0s0_Bq<-NCM?1vh1!JMlbv|E7KM7I)=?DwnE?WL z2*^`jh&p-oRaKkuKpLa=4*l!gJ!=**tDy^*M`#l$VJLR){0Ntb z8VEE%7d9awjg~S)7*-*3AQYMY{2Uy4(u%RO(27@Va>ybRXVK=n{nfA|i!xW1{gGpl zgTavLu=~G#dm7#(+r{68rL)NmGfhY@TfnbE`qy<8*C=oO3cZGFz;M*(;kQI{^kq(%^?VD8wsxhXu0?BCaF z{Cf6d44NsTAkDsgTxXc{45Rm+zQ}hlrPm0w86jXAjf!mEy?gh7uB+7O-yPg;Eti-?QMy)9k&`7^~HKUou7OKa;K z>T};@eK`T^2#E}y%o=AI$&q4gKWr2A{jL#`O^*|7Vk;{vX&4xM;bbuZOuY`q0cSH+ z(8FwZpC*e=gm}EMesNJr3D3_|{3U{F1*lk!ijuc)53;k9k@DNNnIR(*Qkz0?SaRm7 ztPu)mjl#wGc{#w5TT9a>bMSJ(DYXP?LT-w+(TxfxOQR+i?*`YI>0dK*^BYGW;(=DS zw9ticshk58BX$rB4BF!}jhgG=IhMwA%Wa`D6P_f=^`(R0nv>?YC2~5BwW#UvZ+M;U z6VsvTTrk$r@daWUK-s7L-Td+1qb=2`zZuArC*K30-p~sjkI5;_9q-6Y%8t{BtTbb{PFSeOStd} zmtb;^zOL>OzKGJQs?JWmsRh6of5W%86R;?_?20^-N|@bu0vw0g+uR)+%NFZw=F!5o z9($3ToDd&R0z@ZO&3mDgsZ^0%^Cnzwgq#2~w72t%29(s?_R61!e=_pswdQSLoa1h3>IFI#Hz)vaDJzz{4 z!I8klw=>Gy@I#^7`suoj2Ao)syh(%%IJM9V8ut=%)8@ zqBj-YGL4Zen%MEO7#>DZkgD=RnQUz$baDDlXF z_!w(*;pM@h3{xoG=DD&sH8@qiK?vvG8?g}YXx^89lHmyU^i|c+I7C(C7$&JICdw*! zWi#Qh#vPl^{P>9SyLD2AO3+c2BbfVuxpLJ5-du?A&=_P&o#&^)8u@ls<8wi%X%{WC zA3V4TLQDlv?|g50VPWoM$ELB`9^3)c^QwQK5sSDp9sY7pSUIAZ3DQuJ?EpFYk#ZLU zzd)Q$fYqP_$WUTs;zV7nxcS#e!JI^IOSP*mxQKEaQGD@A{p=QPT-b%$PaX>rA;4J7I@QuV7 zFhP(Yd4l$ZQNt9SDxbf8rEg~0yZ1qE`FhFyVr>D~YLGv4P-TE54MNus&es4k^wyr; zB&De1TM%!mQ7pqldjdcMolyr6y-qBZ)!3uwC0qYZ(9@^)U%WU}_xzOlxMyX3{Vrg+ zk2thYCA<(JCt#5!z;o})I*45Y4M4%9c+=QZ=B6*&hFJRn5*Z<)JwJVC7m4^I>~M1K z7`8chU1Vi9gN;BBZ4=JE1GGX^`g?Q4i2DcLJ!ai4Ds;0$)w~2@@*$%96*yRyV1A#g zkKm7Uo!t&O^)QtuB#;1lUaj{~Rt8Ug`0(MFu<%DLbZ|(B7Z`oGgek!As4Z)bedVLOEUm4NhzmM;l(C+_5sR#13UBPm_8f`d?YZ)oF6{x5KFDJTVfhmvJE89aL|$}o$D#Cw zKtKblHxYQjjG364Ce6r8%Z&%*Ec1p(N>p}tA0T2WDDr#d>&rW&Mm6J!W{fl9;`E%{ zRV`;_4zR}OPr^{#5AcleP>FO+LrGlHZdl%X*&siW6 zZV!pN()sPbx|SZy%{f3T8^no46nK1$1s*s#q>z6)fDRq<^qq$NdH`$hJS?xTM|Nwz zfqFRX_~KOGC&+zX*mnuAWnFK6v7K~lE#Av()7D)Fe8B+{wzrC_agl&mTEEP|#7!e} zCn8}%)zB$*7KWeczDTc=%-~7-{alaI-$3sDi1nL6#wHdI*tR3zB4oO>q_F(jSH^B^ zJb6FOi<lVw6B0L9k`3lAY5LjbM@ zQYE@Ce9U)1>Dh~YCWDd%)jBzR{{Xm~5DDH+v+83*!qRwPAHRWTK)_BQ527y@JFVYq zw?vu~S(=Hp^^?53V~8T#h%x}k8hoJOjW)jQ5Mg>j%NA}v!xB13Se_t$A?>~dHyftE zpUMi($-LLEy`rO;uw#f+ns3u*G@iYO>EumMya~?YRzOMuNNp^7Y;2P%*XQd+SwoyH zq%Ie`@JMitX!Awy zA2Z6Y>%H$z!MT+&U(-B`iy9ao-vPJB`}a~!e`#)1cyC{tc-?ReTAhxLPCxjZPlcmhUA=W-VS(u5Wsj)!DKB3hE?Zdzpu`%;e$y)*C*d|%_VxTf+$Y)m5DQx3 zP!$rTNO*X79*Pr?MAW!?@Ys(O;6k8|m2jh!l$0z&??}B0_-VYvF zy582oX^&i&p?c|74L%EP)(q&XeBas0h$ReCNERiOvsQsCWAW@yRCLdvPiCaM_{0Hb z=376iwj<6bH@_(%FeTKm_NCoH1ailTz=gal)CVr>q(_`lBgUVZ~#B3vVrz}G)LJ>B@X;rh!#S&mCZ^qShG%%Zkzg;rgh z24B0=)D9AD5lcqJleJfm*TqS)0;jaRrJ7fxACxzo-@+}v`yBA1TGBa&<5wvlmNuc8 zCCj+nDDvIOt6emv0J;@RsO3s@USHc;wy}wWVpzAwkvj(m<_T8Nd_8U(vX1o-1o zRJ)$c8#&lz7!WEvEiGd6CY;mk-68yNOM+x&6t;XZvo{z7Cu+RJvtC=bdT_?Q!nq-K z9unkPIKI^k4EPK_n4SOl@gur=rGQ{~R@r7AoxgbTL3Va_+wcZA#4Z`Amu(T+zG1L< zVfR?R^LY#C4`ST*&K>Py9u72vfi~pvx`&QOG-Q4NS2kttKqM+S|0>?U7bJ~_)`3^V4p`OwhisJ38k(7{NA?%RGcY-;)^N$-ec z21Ukc_UCpyU!Qq`CPBi1|C15{iTK;EUzGvnL{gE21_S<_zfPmV6IExb^+X)!^|- zN=oW=oReFV$goUrxO5rS_=0ZKMC&I|ZVByH|+4KdKlx)6FuacHVvRp5zaH-ECI<6>h4$aIGv-K zmottzL`B4rgz`aW;?_A}&O;@B+-Y^zD@T|K}&G%TeGga$wgF$aM(Y z^&uX)!QjybSO5Mgg6Dnx?{M6{m;=>RzwsoTAkP)v{7x<)kV|RUQ)ih2Y|Mcj2O`R8 zdF}{dWCZm;Fm%{oP%C6QRKQfY5lcyUl2;eYH{>o{*dESr_y{_;LaF1^Rwa;x2#*Yy z_23N^=iSK9V++!N2~40EiN41s6rcELtpIojE?>L$08(X|+h9H{T|gd*GXZhJUur|! zw0#n4T~UkBJBNCmL^20TmO+rWU6{~a-}Z_38srMX=+AFZL>T@3k;c&^AUx9bV83ad z>eAl+cIrOzx_`S`OO1%1FtOhHkI(i0+(w(HCm=@VKg!GdxKIC&*vrCj4U1KSI3r0- z!_|ml!m1+YVu zHl0;->;m8J`UqC*3=xK3fqVJ+8b5#j)EJle^XCtHm_&A)TifPbnKB5*GfTIw6ikVn z(xogmFq&M+_C@u3@bu{}wp-%Z+q+rLsOl`@Fv5T|P9JE%|A}ya8yMUSa@c?A>eUw& zcFxXX08mD%mPULs%&BACm6-p~kH&L0=i(giiwX+&HF#PX&l$cwarLcx4`JOB7H(y` zl?`?Uk6iT5?*pizO@c&shJ`=t=A2WGj+A)88K;d^+s^`vXM~ou_3y_QrIXQWc(bc; zJFCYTO4I6h5B+FAv5SiR9TF52zZiBF?gXdx)#B=@9cZ|Mn-5MGOR9q@RJ``@ z!f0sF52IOg-mnPJJZ8r4f@vdt;Hy%EF^0sU;zo>`-B_v~DX3m+%F;2~z9_V=>S_pagF^~a=y}*pCFgCm( z4$f)HROHpoxEssCG%CY+X(cAw)9&aiZ6D`xwOV_Xvs}+$nsx2RcBzF5A|4{3+1lAj zBi}c|%mlb3Gkp62i+3qSaBu|d%G4&RAo#2b2JYW~fF_kLZS&^FwBXa#fpHqyD=qTy zPGBm{PH4IW#}8b|fR@;bqYB`Gt3r>cAA=rGSYaQsx;O5(QEqs1(qqkWYgyTP-kXiZ zPyPT73Zkel>YmMOI&$tLO*hHYHWs~+>@}mH)au~0|_T3G0038BiYg7)- zYCLc^Q3t||LLcjMPL`PQfmHDTB6AV|5;0$h)Q@U3==>p`wQ>9dy)FE!6i62WK(v@b zu?3D7qBtH5tX}MO*^Q(NaI_r;mP32|DmGVxj8TJ-C}h)n0A&HijveY9>v(S*n{(je z)ym!79DaB2M?PBy&T0Sq5I%Q2tf!~aRAIU<2M~ne*Rr>iJ!%jRfYMNis6`)2?s0}6!;jg zurPYK>&S2qt6&RwX0G#A*04-zW@-`KC#8j6nd>Rkc7#WqczmcPF8L<$^}>bs0bCx+ zS&e89D+^xM24K0S7Z+#~Bs?JfQO$>lDtbwp@t@`;hrfQJX=Ed4xJ<;fpGKzVF0X$1@Sb{Wb1|HEs;SZQ2Br+oHo<(IG7 zWLviGqLujYAx{0;HNOfjF|k;Q)oD|#0!0AB44HDA#N%uA2Jw4-|NQb;$YF$nlIj5R z&+XI;At~SPZ+Q&S`BQ4s(o6_9_jOUcQ&LmXr>35_f%Fwhk;lTyR_!FRbzcXg8%%nA zea)gSa%OHK%7DH5*VofWj@d>^v*7%H>+|TlMDfP-lM(UWYb(1`8XGHlM(gYN5<=-CxwO+t$ZcVA#V|o>8x_S1=FDpM>uG z=2%`^q~#epaidL}Sgf(GJ0!=c-p6g(U5R#7ixa1$vGbr<3<%j?CVDMo239uKruhE; z-O|{Ulsa0vc2a?k4hpk%*t+uhVzBU)oxX|uP!%8u) ztS;{BTO>ui;k`{>X)cRK#NWW=DYlbY?EaN2v5#_8_V52F;3Q97>}_9!Cxj1!|F(u`Vir% z1Bv1W*gpsDn6RaRhY0|wlKzi382tf?D5dAXT&bhP$Ifj=A$Oi5xDkD`gnjsb7_xjy zEMV${pF9QiBk_L1*4>eW+9{|EkIrUK7-r9Nsl>h@>LObpY zwBqnob)_gX>AiCjgdy;hJ%&K}Uq?_PoN(wsW=C*C{3-4fGP`=U5rb!>VeG(FT}Zyf z!J$`dcNlb`Dzp=X;y@I;N7&dr5o-iOjRDENcXg@T+8)D8ANlzufFw}^J{Af;3*u}P zWIkc|s`>mmp0MxsjfzDeCVCQPVnUk((&~I|zMG5&t!mbTl%mGG;YNyVuSRkB=*Y za(ID^m3DNSp#|^bR0Lu0)JF(29fX!(P+CL7!?ZMNaI}2y=s*SX?L2H(fIVL$1-*!+ z1zKZV%uMegwg&uV5?)XgY+%e6q zkkyHg22U9H`O~L|j3U-b!12lG2MU2<3Iv&*qa*B)&FhMNx1ZthL7|c^b)Ordf&Txv z#@@(?|2r3=?Bv6dz6Dx3 zI$4mosh})^;avQ?yu63TLg}$xG&+a4OifKYOI<`TSwP*vK?raW+mZ$o*kr6uK?w@N z!%=RClib&au_}>BYDdsS;ZUk-ZCYdTt#vrtp!n&{n>RnhnnWB8uow9-M-fJOIE^$- zjG;fvzIbcgriI8Y@bG_Qj?LdLWd^?hJNiXU;xn@*I#oAm>fai)ytPO;c?<2>V0LKMt*$cHtEUMfBAEGAK~iI_HC%H zK4(IHW4z7S;>**imJ}5ww1p^+U_5YRXMtq;nsrOsOSD16Rm=`l4z#?uaH5oJqs8sw z^QCC5tfjMNYqLX{beu+))c>R-EIEv8W%ZifUR^T&IieHzghl*l7L&;D6KDr`TK(l2 zQWOkHgMpHCZSb+gkQ!0%_>S~l2!F*|+c_2z=^7{Q5=NvO=k<5zbwu2jZ+7OHL`xSf z_A)6C3=I1WrK;Gcsl>Tc&RJJbDY&Kqljlmk`aQE|qkolFa5s^`?yZXsX?O_wqNind^`ijN}@ z)n-pLv8l)=hctp~)BfJp(-Q-R@d)1?w2(yF9ytMK*Y5W16qs^NdT@NwZVgs5e$!Zx zu>w-7C_&VNBMqB1@pd#y0}v^+oT6H}M#^x@Q!lq8+Mxp=1rdPx|IF?$ML0*+#XoIRXJk19`=VZ9V^tXm_)XG0qf zZ`w)~j}{JYZwuhl)?8!b0nvQR)<>L5ky5f73&J>^)MYBl%7?M<#hj+&JJ-UQQ$c5P zXJKLwOVqPxgvA#jA*8tY6zWYab|u*AEigzx_D~L0*r?09S`}{0UkHLny2jfC36v}z zlZP&_dtg4+rRc57q2ILjs_4FxO*Z3&)g4}7Utdre3h@5y<(#f**8P_~u5B&-#vQD( zkn57Ik0VsN6f7GJjh`5Q4KWyt=ple+mp#hfY_Jtx;m6d!B8=VHN%`(;&L%w=7fIoH z>_d*tX*cj{WP~{@-Ia^80Zv0atXT0(L7OY%yJ^6b?O%g2fpHKhLKrq(n5J*}EULG; z*HmwkO{TR+6hQ+-rr^<;&qcU*l`e9`sa&%9qK%d^a_azQ`sY3j$JowO*pIjEM88Us=_me*5=4f}U!N&o?<)(*15?wp)Zn2-VG(lvP$WLh zpvd;(&_W?_)rarjw@8gz{SbFq?(Z%2pnA$>1}*W!iwoa;^vjST1zi@T3j|UH>HK8L z6%~2W-*U+*B_`L#*mbSoN4Dpc+PaDga>+G1j_&pDJd-5K)_ZtVJba6gobYrj^yxuK z3SwYV*d%5L%J$SSVXnr(BoCEJ7~sDxXB8dCaiLz%(SO5F3>YbdGxa2xp(Y$a9X&mw z1GwV#BvGP5(1A>|iG)(a2Sb-CKPKn9LwDN&tLsQxcJ%Zq999(Tjwy;!=x~G`jBa+D z)cJ92Z16r*0G%er5bQRQ0#;VQdcH(oA%;jYLC4b?8LoP+h)$z)YGa%<82FNG59k%% zL_0DSdjO8jIa}MjplUcx31(QVRKR=q7 za9j#*j5mvL(W6Edwl=+Tv@J-)W(is^k(Ex%T@m!;$ z9=5Z=u6vI2wIySxiK!adZI3UKOp${gKru&Wo(R5s|E!$6O>OgDD zc_mT^qe&o&6^*vVv7yHs=2K-!iAB8O<#fld8EN`7k8;dG@5K(H`V@$xcqGI91xcxVtwd&+WD@lSG`o=);(p z*}51P^lrJBb8^Z5m3cXSrIGDUWVAjeZUpwPuX!NA?ef^LU=VjcAQC8Mq4o9;ecI^H zOKtabwY0X1i;Md`zTIEGEp&WzO}l_7Z8n~ygCC(UTecJdVtXR)avN&Op?534T`=5^ zMx+7mohv^-?=}lBcn!Vu?Xx$`5Ks~?(4H>-n<%qQM_4M!p*s&UkA8YZ@^&6&52Cj8g_P z_W&m=!Wx<^G0PAtJK?uFAZkkj#QYhai+Qp@>uB*j{90w~Qh^6OJv}@VpPrwxzZ&jn zYa8^o9@8L`V5aRTb3088V1_H9A6y4S9kN_|KR9=)mK_`&%~D3k$CENL9z9l5QP~X@ z^7!3ca73!-#5R15^*HD#gTpkxCH%$&AbI&O!&fk!#daf8p|XT!ss4syP~1o;Z238n%dg04Y~+^oc37 zw?-P-(V#qY(W~>Ws=*y}p5;!Y>0cz|V01W}!ahRGyCD=v5Z9LZ4YO&{9-&9Lx%)Wrx?6`SiLPBTZpT$L@izFCR0^mO(j0!{>KWW`eMsxq5`tXHz87XDM z7u;@|t+h3?r`f%O+F2b*PqoM3Hz>M2$%vlc_iGAoP36CSep_Z!@(ROmQc1dmQ|WhcIzD>M|2(Ga^6%~_j9Bxl zn)CHNXm@&R0h%e8drIbip3B$N)HLaR*U*%vW@`Ob;P_XtJSc%4qhh=QeYbnA&toHI zWnB(R-^0?0VDPjUECY^ddd9n)zsp2X0&jq1%yea8#`F8!)AAvPB3I+VLgx47Ea7?6#+Tm!1 zkoOV;kv4DM91jW%lXvdFe*I_1sR+pF@t|+fDC;y;y4a$(0Cx((>@A|Xff0=m4^_Ek z0lngrlDvr6)vTvy7`y6=l9C8BsTT&6 z=g{)OP7dAl6DDkCIp`|a#H4(Z!_G%-Ns#myD2N_SGB|FtU)($MEL5G;?VAI>Y!@*_ z_WqU~PLr>TWG?7BTb|f}<$?uDv^2`Ly1F`}j@wI^J6Q#3>X`j6C2Kumrr3@hVQojz z24rh*FXQASiiPJ9TvlQFd*5c|FESjYvGl4y9!MON<0mBMUnQgv<%*41 z^`@`wou(Qa_51I|!jN6H{q9=#EYmtWFH?F%dF)3Y!b8MscHE-W*K9>_g;J0A&dOgU zcDr#oi%uS!>Y!EZnY#y87TmZ5zt-oRdh}?Wx1samYp@XLRL~negHG2^XgX2FL~ArY z5N;s^o^#kcBog7i1z(y6`Vzxy6EGwg<*P7;QBWUP?Hg%_nQIWDC#Lersi_6)-O8wi z_W>LkEGO~`3X~wG@%3h(LG6~5ln@?mq+Gt4HMnhT2P(D@AB6wXGBOCWG1^I!Y@?C3 zH>-X-n^C`xy}lDIp&0PA_f8jB@5O0Y0*@G613dHfOF!ZTdE~M`yefqkhxeEfqhaA* zB8;Pit&_nN7cgw?r%p_=?miAvkre!R?YcMd_;CseV;}sp(iRp+&>2B^kPEEeW{uC} ze1%;cft_gYAV$BDgoj%&&kCj6xx^C&`Y+Ru-<`b*8RiP`U0POF6;_ED8SbZlpT6lu zw}qVnmg6A|KzKd*#2RA}wRMZD_4Yo@# zF)}8C|9}#44zpal-|W0`Vgs&3T5Rh`)Lu9p=z*5^?tUCoIWd%qXRZUGFl&J>=1!+)}hrKn@oPYId z)qSd0973RS_8OZv^{ibJh19G9_?#)X?gI*s&;*98UVlsVcyP-8TD*EH zKS;f*wUt}fTWj_!hG&th+GomJTkq1!q4Eh1W>-+GonF0ryyVW*_H7TtyPZ*Y`a6z? zSN3g~LZ6^V?|YHQ2Fn?7`9!nYXFJ@OnDjSqt$&z1r2`6zetFp$-=`p!qOw87&u>L) z5t72a`Z0;*T&a8z7AYx7N5ZH)14v5r0BMy=Gi4-CbPV>_$8;6l{lmDrc7xGpd3jl< z+?@%--AE*mG?h;e?@%=~45+JfAVviK_-Ic}u^C&7AH@hc38KsqOxoNbDQUyNz!0zh zh6Ufua1_0+Tp`zBTS0>eANEObSeV~~oxX< zy3e>aPv9!x>^ov-{~92N4#6J1Kb$z+PyGFb=0;}tC6?mf)-7xyCxayakBlWMD#cBg zh)9mTN|+agJGms3l$35w_e;R|nq(qldd7KD8;S#kHA^X|U$oZ0sVY z*G-i#s;a5o3*!~B{c}`@`q5DBK8yu6MS-;mNQT1GWPVJ!`^><=Hq@0S@Q0dZ8I{t2 zd#;T0F!~5gR^-06d!qaAL3Hc}2T=!x@yY~0TRwoZCu*Pa>r@0tO-w{`?_NgSdw_?q z$y2uX^&1;Mv)VQiDJ$CwUkAVfYto*-fA8kyUH9(qKMYe+RJYItC8hTu_GOKX_}g;( zGSo^K85w^}d_NE3^8M#D_Dh#yp^NYMGyL#;-6yWET3Hky0+_UEsQUx6^~-(k-6I3B z&mv-N@Uc1h15hI~I&)`Wp8SChZ*9hQ_{8$yh*Uz5z{)USGWzYQ-mh*`7<~>*W`bY> zfWDQ%6l2Du5L}+eY`it=gl`XL=pl-KqR9rsi#~Tf*Fw|eCOF6BUtjxr`TBKV*o{$< zC?`s^e*5Ny9EWc3M>x`cLtILcp6FQe_V#8I6=eW(7ZEv~b*UM+_I{x5>A5*? zJZhi2l90}MhgV31JZEBDp` zQriCgsBAeG?=>{f{yF@5!fV@xw6QVk!opE{i4jR4P_W+y4`a^&q&qE58zWFxe)ypF zy994U!@5BM5N&(QBB^cCT0q@lZtA=u?FEN*U$d((lHR?0?!ppte7IhYLvZHE>e`TT z5M&3m2C*Q%YcGvE8h%sa*63ve3_FJe2_8d8jHUVScGc3p*49?c)AI=ld0erBRLu}8 zp)7Ur;$9T|TXsA?XE$7n&Ii|3nU1bE-pOXB#ed%IT3vmIS*`5FeIGwb-VY1gnXBd$ z!s!M-^_j%!73B1aip1dN{Ina-(3jtjmUB5AgxtR%T(_d{FgfW7q<$0p=uZ|mX3||! zS05^K9gxGcDK8LwxoSMKNcil?77Gij#_@RVCj1v=o;5?byU^G_wAu%cW&=s!xA0%J zF6p{-`YVU5QnX}ur@I&sW>NH07dL$UwlG7ZE@Fs-uXgFuePD@Nar4a1;a9JYBZhNl z4OitydEl1`*i?6-JG-CoAXdW|J<#Rz8Xj``3xo-6Cu9}Wu-=Qw(F z=TW`<{+_0^ETixU(C;vfhpcp8l>R(^@Wer8h*)-UsTap2$4IU_N}n)$js>-w$gHbl zT$IN~ASS^xCNsynww-V*5x9SUZ@l5#eSeh1B{UpKZD9`X&V~ysj+jjDc;L*^!NQw= z&&}5gN{<3|ytcNx=A+$YUR-vPU+% z=r8KiR5Orol9U5e3)4P3-7}Ll=lQsCb)<*)?^TGeEcx++15>8^qix)s$Y?UnF-1a; z)lY_k{l)rU^aSQ%_AmOesKAiHT2KiojOg?kTRjMHP@O>IX~WJ)rXz{MjLcK-jeP0n z`Rlc{jATnClZ%;JSfFYK2M33-xpzEP+49jw4zV2G)R!cIP!14wNy5qpmp%Ff2?I5n zpqyJ1Xrz75UEkc_6(C0HlWrk9-+M@4W$)!n8*1Cw*uAN-4oqrThX89bPMZTIPF$U` zfBo=N;#cS0E|5QalDIlsKyl-1cF0M&ruFUki(~NNGcYj`$ByyipG1u1 z+XvUoPl+i|-B24tBe~FngGO9WRc;NjNo6+X#ag9t?X$~HTan6IGc?~t44>GD6?Zv? zOd4Ri`RDLyWx;A{bYl|jLZhzDcQ@n|F=WfRKHY5>WaszrHP3+g8$j?!m`><+eAJ*0 zU4|$D;K4FFKY^VJFeXe``0}&r&_}h>@?vBypt0^J9tX73RV+u^eRd0I6^`4BmLXbPt*zOm;XB&@nKXx0V*lQl5t=Ji!A0}8(U zzu0>dcdYk+ee@9`O2}A=h%!gBNuZ`cS-S?H|)w zfNe3xn%Bdpi!M2otZk^8c8aUpzi!<+sHpw$ylgDp+o!%-MLP^dKr6I?a`(}r52~Ax zKL@_xPV;hlz<1#P@n8(Cg!w;esplyvwP~VwqNu*~5#&Y;*ReoQHxm&Z5RyjMpU7|^ z$^hbQ4i=a7Od%(dmx#t9Kc9FNL(E@_ww(`%6!U>2cr$5@^xDNvUupxDc&6Z4)al_q zEixs^+h94TI-CDf9lCQc{7k<785LEnxwp5YDZ^s%+1&*%Ea^?#5i$cTzHm_W#EGLY z=r^?yQNOe41vvEJB<;tq6I&<#uwg45Q zc_Dl^q~#dm;X@!v<|~~`V^cr^*r(?g`R~yKLpW(6EG}LFFjHr=`&e!w74nu1#N455q zwEATI#W&DNk)X^q+XqfX^N;k~9h>VHa2ZPF%#6%G-NK=j@T_@{u4)I>h=!G?_P}AM zcEu^ML{K#n2|-OwO~1$I*+WS`4<#xiNJix=)RH>w*XoZyKJB!$Cr>t6^;vx2r(J<} z{DfLXBn#Ztl#BFCbZdT$k1dFb3!nF)ofi{098#nPgZK|HS3DQro$nMxWroV%9F&n% zP#0DBm|vkgdhCKX3APzArE>b&cJJ|{M>{c5I1kYOazU@9eODp8YdRmHs;4f+nDUrpt?bX)C`uekA&TXCjhEl}V`7!{lVx_FcOkAQSE;7`9RnrN_s{zQ-uA z4(tvPtqDDbs%IJ6m~F4`Kp=PAd<*3#Htv~2q{Q2_`vUW>-Mi0G+F*955710;Ei7)V zFykQ4I2G*CpO6hOSey^eghlaAoLcc28K2j#UE2moqz!k<_|2 zP>sJB-C=EH<@P9SdTF@z8xoEPg^jc@`_$3T+;Fi@0I40Q3bo$$6A2xTiH>KIW>|>3% z382x@68fYEC@vhQp+bKJY-lGslGR=z+`EpO&$m~Ft9M~&V}{b<9Jml>K*2tK`EnPR zq3YR>ZVl=zlbP=DUo8I(aC(=qv2o7T;nO~~cQ)<2Qv@4&kzCwc@4%y|1BmhnV?MG* z04s)l;O*THKIR7iS`{ESmZDT`!>|#L5Qk4~SOyqjr!O6zhiYOMKKI7G7eB0Bx9%(2 zj>l2x}2V2&&}HlZx;USQWtt%!PmGEZZzf zWEJbaxs=Ae_a&5iKjS((^Mt`i{u-1Sm5-+OW@k-p{hV?kx>BvMa^FWt~ONV)O*$2%adRk$DZF=3`Ig{h3FROs7!5`08#lXS5VP`3(7$g`)F zz`O$AFc=+R7C<1NJx?+r=LTYCTKo*bWUmlp$HB>21^Q%}$I_(IuSFyvL_o_B5unJg zd-`-4!I!WNx5)^SMMM@4ym<7{Xcah5^4qq*Now%@LykGvr+fv3qpzdGe&f$i?t?B< z+c0@XV|?DyvLaqBvIb}_j?YNg5yD~VwPf+!Ef~wA=!5^mw{0z0DIdT({d`aeQ+Etm zE0I?C8Ss4>zDV=QJ`9NV-uQFz;gcsdT#FeF#sv>fd}As_aF_B`Z7^3~p%%+J``#A~ zJ@5hxj1lm>act=uKDp>2DIswlwykF=`T)Z>1SrBUGdL&#Cl357+*4n^^u{g;#^IO) z_4cKCa2Z~&m!0$aR&*l*%C*oL|+b;oG3z#&#VT9LxfCDP`rJJ9cBf`9e-1g-mjg=KTSiEelW*2b5kktEdXV zT(wAzU*g)hF$=V4Jo!^6Pnv@&$XXlJ7-`>S3d%e9=iCS3*(oY6ZV5G#1*Hw1vFw#; zB7fO5n@GR_NPcHm-Sl#Cc76rPjM5zf1DlxlDa`1}t4>T*j*kLq^Be{OKM{PJ zia9nYlv%iQq*3GJZT{iP?sXf`nThzSY# z1{vt-Mc7vP*9K+%W^S#3WZMjblAkzdQ;9_2Ab<0Te@;AE7bBhjb>e07;4;hs?s>@r zGaMl{20@u&&>%$|mNQg!$Z_{j$siS<3zu>xNN*0)R_D&`ba!{ZHryas`RM!@Ftt(W zh8fqc4fD6e0Qo1V$`Jwg>?2=_j9Z>RFAZuH*;-_;BLzes;^2=iM;`;R*ozrY3m66D znds_rOyjn$ z_R7o8&w@-^S6}}FTou52aLQZomTI;|PXOWQudky

*wM5c()(~XU+MuXWs!*6`EZ{%PEbAnJ#dQxb0!0wQQ+(s6FGwi(4QEze0yGd54&E zqDDXQF;;Eksg(3|9I<;I>^Dehq;j60vRp0qf~B0x0%zh`N*m@;To!vu#Hck~%Wy0W z9)Hww-rT&5f$gC7i!jAX$yrTSY7w!c2u?%O0T;cz3HVtQs~ zApV5u#SEj|J5Ikk4a@-+&XvD*=sUjJ>o3HaorgefKL;1n)HiR!o+7#X9p&;mYjU_) zS#8(kzz3`V#r?gztoy=llnM6=x@&sRtK?8?JQ1=~eL8;yD?Jr6{>}?g5VT37)c6DH zdtR;Q?6>P5Yia_Yn(EL!f78Aw8r2Plj$SV8h*yByFGs#=Sm)$4y3xgfRG6?k(KnC6 zVfYHKzf!+W`2a;)K*UB;Qa0Uf$^(5kVT5p>AZI;3P~6T-)(yi6{#i_Nm0U2UWgTtL z79}MNnnBhXe&a}TEyp;L{C|%+I6N73ok+hR!p3QPW7JFdE9W&fN|j$2+O2bN{CN zJhTHvbi&7(VAvr~Llk|?civa9M9J+BJmtg{pmLy!C=!&+#u_`;rRGLy)Zd4h=!S2QPf~L1Hi+9Ke0F1zqzo@QE5)Ly`OlgackA~|W z{7fZ>1}X0lCv0x8#?5fupUDq_DVQsKs6(yrH?fnbQL|inf?Kl-#j8wJ&Au%F*D$fs zG|xk~O;iy^mw-4^_%b`u+{MIBcMHdYumJu;+Lg|!3$dxzyFB4QDz}Z5BqUJ0U~OlC zsSZ)(c|950F@|hQurj@%nj*dn(DzPwTzio9mwoy_W2D)y@c9E%KzHt;0=C~Vw4d8# zTV;Qti6gc-B!r!0CV2jxi711BCl+__2K3*i`srrKTKiL}K&JdrrB}n9d z;0m2xn}iOf2g~_nL}+N}kjakIPeK1B_J3OH&1$x=FM!YL=`?8$yo#*~zRD_SW{41O z+-V|a*r8#y>ZdWcPlp?Z_PI1wk5dQ``447FW_=K{5vvfWQ>ZkqNIaCSnjmsOP0m(X zN#U~X>zb-P-KKN0@*mjC-j}sXGR)X5+rf=lr-X67H_9$z_lJqfBWX(pqRmEa0~Ra? zV5!^qr}KADBS+tD^;8@jb5Nio!g(BaP`DXspSv8SP+)x(3Z*#+w^VXK23bC}j|eT0(ES~Y4ue})TEQaNqDv+I~&tFE^8b5LKAI(Gk2#mwi2IgZ4w{$CHk zze4FYTX~YOK|1p`pv7-1@jL=7HE&?9vI%Az0iQ=+I$%2X{~{XtRoeeRF?1WsQI+7{ znE>8SQ@xt0Ge8#6>@c&jZF|j&PC25W7@D9wd;U-OT$z~;k>&%NLScoam=8#z6v{#v z@ZU4A8Ve$6bphjH;c@w2bV>F4CM%2B-7&-F3dlQg?P$xpvOU)gJNK-anHOTV)}qR+ zz|J6z~}WjEoTyV@NPpC_c!PI`vH6>GOx(ri$Ob zZ^D1UTV(A_|w-{!2_-Tj^A*mXo*zP(bPR z{e({mAV#;_H@VuOfy3$ZnA>Nvx{u8bUZ>!Jm*I-g)YkR}*M$~!xG%sh`uL!^+^AbVizNWZ`J#FPei}gPSe{MJx1&if!+|MIC1y^KuRV?@T4II z8QR)mD#jv_Tin{slP3b4a5n6emM#M+<~tT5Ow5;1%e4& zQxUjeggN(in1o}3EuOc!36g=G_FadFFm}7zGm=!b=T6ezV(UV5I>^#x1rkfKk!ZL7 zmM^#~Fh~+xo8ZT=m;-}($3C?Fo=Bs!dzAq=#n-Md=yMH+FaP zf>T=Q&msW!AvJi6lv03P4uJU&IZt>k>bOC;MkyVQaMD>6<>2OCQ^^%!imQW6BYa$n zBnAwPdrjL)7JnTi{z~W&?sC;rP1G(DQ7v{ZaC7IXx_y5~AXQ_+Qt7-90>#)`ZfRm% z@qqiV#2~c5c$J$EURw*Wwl97=lJT&aKr_9mYk?m1|4BW}URbTDdS?SKIxxM%sflN5 zQ*Mtq{?cSyAHBpxL9~=F4s)`OpgZ|J(#!~~4$Ag2tSXRaMRuK3e(+o4SjUj5Tv1_K z;;&R&+0$=Ktle^A6B6j~)p6GM0siN@HVZr=kEtL7ogf zvM7U%)G;)I?%fAJ@C6j>tnX)=Lry%{o%8y&0tsYnY`h1XK2+h&!>fvb6=R;i9mLaj zAx&<;+Ck4@z#0DLLjA4TeBgEU$diJnaV+Qs0OblF61bJv5~G*CGJo7n^aVe$R3#o% z@H#_-18NlsySjU0GEqXcm&yxhNDO8HfQNc7N#$K1-%^ZKn4KfJCEyy|P$VR6cFx!s zrZ*#s$s4#MD{Nc{&jwOUZ1etW+or1*p_-hSoh63PgnEOtV?q%_p|9=S!PNa*O9^)q zaecuPBOe$j;Ce*MF;;S2Px*oVeiF$Tr8wttSiHyZlteM%u~@+Mi5#qW6}YLqQ7ZMK zJE3UoVg*f`4F_7%bVc?Xu$IW6sdN2S!v4hw^W5>;7WU}A-v}G+!BVzKBR+NH=bSus zioIoPO-**8OrpflmSJZUIC6CrDL|(I0ED+xKMe=HM|lat?S%HyvPau56yiILpDdu5+4-ZQ>KA3(MWP%_^R zKgppkCq*ZEZ$gEFPqlPxYEzuZ_=#xFEwXO@FvR(Al^$s#8wqbXw-F*Pd@VZQ12*B| z5e`xPry`|wBKk6_XYR@LXD96u=aqc@KL`C)RNKT!0k46~KFLl()wRR;JRTv}uJdb2 zos0_@u4h4;PM~PJg94jOeKBq*L#ard>3+2e<8miHt8h#JVGPtLYH%~9un7XTuAmby zMMKNX%DM`m5{dsqeeGy}li3KCUWlaHdAUapg%8;hZ(-q0Da92CWc#h_3|S+5Yz)No zj^yUSYcxzh6zbLVGkN@ot==u<)aYCp%#Dm;IjrL^kVKO_Vw{AHb2+YpDLxO#=mq;lLh9L11grHjV%wXj8 zu6Jl8iFYTxk33{z?BH~iVeO5&1w{!>QuYWi5e^)Na%7Hu0T47!4Z+!mT9!bsq`;&l zj-SwMYz*DsfYRsMa?^hpcUbYhxY4gPii?YbZX*qkxU!}u;_X+8=m#pVRwH}N|i1mbY2hJe18mpeUCw@AX$h$S4d)1cvM zdU%&`YA7cZk7^T3FTk&-AMwt|N6SFWOBw*;gi%^bA>Rt6Ch=r^53<`VEpRx(Y@X@(0kzytn86}HvaGF*i@bh( z9T2cy?u@>0ve}^>=Chbly=alaoq%(J24Cx9`wXd%liI{B<`=_3I3ukI6Da~Ge_lb9O;G}b-D+;^zB)O48 z%SSyGNDo;7AXxEF79PTMF&illw2)s7Mv3ZiCQn5{bM7(so$goRf5~^KxCcg3QO1y9 zKZpolmyMCDm(-6~ZRet55ES9du+hW|vWGRziZ>&R5oGU^;FsFb}4i_G{sx`arB|bfXj{Em2RtVfi+)cXX zdy@x`=HfH40ybhjXUp)%;b6r9OcH4u(-P3Fz$o)e;`ay`*Wv@}8%>LZr@=mxyuvlm=Me0?Pep%IMHF+GgE6TS4V3I6#@CBj^|jq zol&>Iwv7n}geFoGsz;niHXptna1W7DAE-~@D77Ov_x~ow)x1s%69!KZzCidcc}4>n z*csSyHtt4&cOJ~;-5$AiNV*b+aU!#pOyTh2WpHk_Hlo`S4NM5BslkDCxmMDB*J1 zpQ7V41#FBxyvIb{$thb=@CmGA(MX#SYB>{A%ke~SW(@-Y#Vx~*R1~mGs?ddap}w^l z(4_XhyMS>OJs3rmK#<_x!&@{lR-N)1z-b7k8{c8=0)ZJPC<`P%@^OJ4{njV3Or^P- zifFu<#R>bCn75(E?3^B0&5_0iHwtOHVXr{@{Jdgs(8f5h`RoP0 zefh$?tezk^v&tfP6K&fBZFk^rA?U5%0ab;s=3?Nq6V7rQ!7iH1G8Hc zX(Top)fvo*IEX9X;OFSib+H*4>H=Z(^;zh`(=Rs9xV-AGQ^=*1`2657`!8>`c#i`OqNr`V z{^Ep1{01|L6(`IYP#vVFarX!a39Tk9FAQE_TVy$SHuyWLxqk>?W3Xo=@unhuYuB%b zsl#F1lLPVB!D4{hPm<$dr^)<*YEm)*5&}WOy*Y;Y#U8hsuP6^QohQvrMsH}GGcvfznC&)J|JO6j(cqr4H)Q=V{Gz5Hk?J0NzQW&vjpKlL)3nr6Q5fBz zTbOEB*Lm5f@pPE)vsJXaFRq>|(a}dd|FJ=Y1f~MW*!Q6!KO6+T82zx;;s~b)#0?%f z<3llnTR@;np@_oB>D~`9F-b`!+-t-x{lgedAtse5=i+x)78V|wTUg*n7mE!N@w5xW zI7P5V;;Z=-Orl)stK`{-3pM|TuQtMd?Dq)Rz|e&D>+w|D_RUXQp|tQW_8NJ|$aM!vt@!|lH2@vxUK$o$E6^1DOT=oiKHM(D;RF}nAZ&a7 zJ$u-3lPlomKvZ=dAj6euqDX?W{a?)u$$lql5xi$YEeBab__Ya~tspuGX{9ZA^S_v2 zjfSqG(=Voj^G*B;CuQKy6kW`V#S+kD)y^x&v5@O6A_A;Q%Ji{_F<1DW)BaNjj<+Up4(z>w)@6@PuY#Q z;GEiXWF|8VvuR3}98=Xg1iTBKv0P0=F};!Ao&sZvZQDh8*Jyz*jC&yVFKhSswjDD5O*j1(R{T;zl~RxjHuczDE74B{_kWsP~;jGQT7XXB|$ z?>SOV85Uj&4&GQ+Rb~2pRzS(a-+hs(uTkA<>%oJgapi#gZ!mMs31jNJTte-5F;Zp# z=dAPR#mTA-XKh59oQ*O>Wu2mkktner{63pp6R_KIsIYw+Zeu4@v~mlDMY}P|{$G@} z;=5|6PW5dmm=qDVt(r(%36C=c2?Cp=U$$nI#y2L7H^EugbnI%{CEYqqgQWoMhZUTX zXK{EeEGZeW=uRxx_s0HS3T#jnJ9yA&_(B%8ESS{2p3m>LMtua8)4?ILVE|l$@D}co zcy3e4*GtWDZiULY#!9~xI29;VRaes%T<4WL-Jlgd9iNc!uJyVYAm_lQrXl(@kNqH} zxKL>4)H~jh%L`+XgvlI8Cg=!n@)NRXP->Ooggy)JV4z(TiU)%2&||Mc&p_nXkei^t z6?|A%Q*#S15-gB<-hlJmf*JzdU&>_{ovL0O^{;Yrj-z5e zi!3A@009F~;Zp-$BTonVf0QK=omPv&0?hP1K>NUb+EM5{2PYb$EdolF*B!cX4+8)< z*m`)CU&Zz&c`GP?^jx=!rlGb*X;cYP(K_^LQWlkzyDG>#xxXcFD)>>d1!+p){T+kW z2I?T7149zaCW>89jevf*D>oeoijBCqi5|WORC2#{{N5e7@drsnbDTG3x0Jm+@qmTx z4dv-R&)adQZtIx1iM&W$TZ4N|9=g^GZz4GZqgOgd z9cY(;_0v;GXg6MRc^?OEZsNXyzV{zQWdG&oiXI>_mH{(_J1`SOGrN&&0_CPgzNuWD zcoi;OZ!8?J>SzEf1l;jQVc1(RUi?5`2+#!t&`~u`)P(B`T{VeLkBfX>(=LUh^`;!3 z9CjZ3CxBLZVSCi1Dj2xealKzzo;?DUaA|!#3yk+L=#rf+O1|cGD7jsy)YC;F|1az2 z%^$N(*($^@@iyOaz%UyRodlQ@M{THotLuUwBJHgSMmJKviyPThUii1f_zJXP?e?S^ zuJ^dVSL2(I&?OvKRrdw&$EJWElnFI0acf7nK=wmKM1q9O1fgx$pZ*;=Uw z$PFVtH10WvM(kZG{NG@ZUv4D851BN*jJUdK9*nZ1sC2%-nS^{D#L2yQ(1nJXTnrGw z!B9R3C# z4xiRDFvvreC^&cnBk#OxierB?jcclE(P+&yZ24TurJ$iffh&G!Pfr}zkuFYCw@E=9 z1`dcb4rxhJTZ%pI?)@n;{K%9q^VA56N*8gGf`bMQmF>jj?rtN3t;2}ZZ2WDf&)sS09P+V$PW#$XLKg_lwVHhm4OFC9Pxog z_8i|xpp5UXsI%9h-ojTg2gJ!7pom*Ns?7a9p)(UPI#lMM7QMoPCQ)kOFC5VXpUxbI z!ViQ~qHVvI zV9e-rL{Tka@IyQ+NqR`h690|Se$XZ`H>CsBNaTzkn5v2v#$r2nGUK3P<=mI-&-}t25%X=(~-MU21f}ghhD$^9!onZJsAmP+j)`oh43J-gkH)ug|MiKpX5Z+~D$f z-s=f3$te+(;m5&13wlog(Nu83ItTnyik#Dd2ONOhF+atorNaim@-4-&_B?jlbeEdJ zfqP0{52%X)A;6wj#H0zltn_OxaGdUo@&lKJ3acAajVs;A>>xh?xl3foKs4x}MBiNW zfWZ`k`Kka+@v#O>AZDjGHdOZXf#m%tGGWmF0a+d=_Sthls01#4 zJD#BW)c1Oq3;9|fK7I`Q;T1s?X22uK)r^NVH~7?^j3yr6`3a3and{?E!nUsp@b%@t z3r@cl$ygJMm~bLM+X7hd>g?^_dR^R}5LrG@{6=P-KrSCIl)(zA_x05qAhvJ7-Fp~R zOL&g0Lm8nKue#wsiXM_K@YZEo2&BoK;1Q%pX>PA;+G@OPZf;Jd8hO*ME-tXpHh%Gb z7Jg($QC_qfJdTK{3g@G*J~@hV?6SNwt3UsYWw}ybxV|AXXlM8j#sMkqHlZ}3NGXI zd?ukgzn*7-R^Yf>;8ukNTh$XU(qw5V5fYJAUR1n&Wj-Z6ebd~KA8&AWzN)1B!64hI zqFm9U;iVLptQ$Nycy7*5|GoN)U-dWCC88|oT^1hnpJRN?JuGit#`xWicuK$P>M}t* zNH593ScA8!^R%_OSqIze6(9XAW}J}}W}N=<(w~7N&{Bv80?kooZx9U_Q6RZSjAENG z14R)+Tw~g(3rYwwpJAVm#8MQZFvCil{Bc+puc3Ium@-8SRg4npIdAdN!?5BdMUFrY zHHWajI52tHCH@QQ;7KRM8<6`G=)9U`9xiKoFrrxT({Q;6;L{p9&y0ktbzrEi zi*iqQUIM^0N4NUPldPC3c%vd?%V$#U(8%Ng?zCO)AQDI^a`1g2KLNsZvHkn^lTbsu zD708<1Is^RLoo~%N>m~7Tp$eYKpjpG(E9Y(ViH11jQ*V>i;IipadF}&(12-6VMaBv zmHrkVM$uY8QkgNN6T|zQTkhFXV+EalMoUIL&$^72=v;P8LQs`{}rK^an;`HM|gyu$vBy~{rzbW z4=}F?c_e!Njb-n7*SIe@Gu*p(qW4X=$3anO#F-~&{*2x5!G*;b5WospCqX{$WVla? z-uN18Yw35jqgoEdkq13lMw%QpAhAYV4IJ>tJ;Mj&-g+LR<}Q2cZ5Vk@4P*D%i*JLV|}|comc*@_j$T6+P@Ju^OK%|nIs@@ z8Ce%smZ^i5JOWD$UKewun|eN5N;YKtQ&25_ZW*@4fp`&R)9SQb=k-st}D>cHtR0tTR! zw;Jt+JP4l!pQ^rM347xr4IIDW>`V{6#Fx4G{LS0*cR1H+h3yg(Q+bxKe<%vQE0q_? zuu4+N&CX`WGD(z9!*VY}47&t<*{H3Xv-8_IkJG2`BPK!!R9?A0E8(09c)RGtFD@=J z;x>@?@F?b^pUN-C6{S7+_~7;QFPNxJI>83P8-(}dFmmv*po7?k0@lAo=j_#_Dy%7p zypErXq&ey#k*<|+hmStLnVO*?+a&JP-(yC3>>Ya~CDjo> z!UD83Mp|7_(YwY;andF5Gbhba(lep>7DTDC2AdGb7$*#6QYUY)9}{}821R@s>@zB? zNosw`18h=svE})#Ah%)n<5tif9PTbD0VnD74=YSLjuB-zPKvwH(UQn!HpYxPo*XMj znft5KK_y~lVZjy|TzDx2gozzhsZLEdbll-CxXcA9%&`8Hq`&3SA+}?OGAZ~U3x%Jg zrSxVSgZ}g!DAXE^UN>OB!QxOHzEW~O@Vj3D*}#t<;zGk1J|2JOh{&hOnCgMrTptvW z$Ca@bl9J}jriToCOhS1N`D^8=(a`=CgV}=7*ut9&nqJJTjyj_=su2qxV4g-}WMqVh zyvW`+aI$8oeVC@1uUp6Vt1F~ojvH_@=jcYbX5Na8eSrIkbu$0iqa7@6ZbHdTnpee3 z9RFVUmS4BAyD?5S{Grf>!Oy1rm=PL^*_yvl{LwV*4mTk^OIh{L>e?eTv*T3^bx(8I zOdnheSR?8EG5G4y`wxr<9o8%t%^%63yv!}5<8`B8S~WR?qwos|{Mqwp!YT$A;Xrs3 zjDG?-?hS?7zpHLZkaZ0~?SVc(ws;m6E*R`IiCW#sy48JR0~$%V{i|6Tf_!r75Nis* z{by7&@GrKS9LM$R9~?Hs{1|@vBw-BZ@HDGekA&YfjlqnscSR>z`zQ{*H#z%-RWRz* zF_guOcr~S5LIC(DmaZ&5g^))C1UeM2IrrZrG6p;aZp>U2P}&m&;gAbIZxeZQ$FA{) z1Oyy~EN6FdE2v;3*$U^U>%jL0znEMUqlT>uJz6U%*k~BTcY&7j+-3S9($C&c4^1W-Xk8gK12YkcsmUr&cUx~f zV?64g0itTi^=><(-b2by6crEMgg45eLxttm=*%$re+ng-upXGDet3~+rb^Y9T1iv zh>!h93Jg);mM1y&nk|WqjhJbHx`^Iz)cCk1knVSAs7P9kl>J3=>V$=%vOFoOF))^J z>ad*FW2ZDd?ib5b{nZ=LZzbAo$L_<_P=8<=LPZk6Iq3u>1J-h)@yZ5p=-zAB?u{CN zfIY_sg9<@~0WXkbAdna#$h_=UG>Y#C%W66B6kHi%!b|rf1YFA~e0$r!XAlUn1nN2R z9o~YyO$JY{zb_Ei7)iV?u{i-=x&F!&hB;Uzr|7}WBX zV)VEa^84HQ{D#>%jCq-jO`YlVb(&~{im-f3%aYY?|Fs`-7R)&B7oO4oG70BFKn?(Kg$w?dj>NCh(WjRx-16byEJ`YDMEQ{IOEl3LCPjgV87$t7zYG9> zvi%MCOxlUhpZqK~+n4=Tc6`CArbJEZ($Pz)L}y9F>KMioVLGB4G>uGQ z*K|?a#CDHp;dXf;37N#AD6ieUmIV0wKwfIA*n zR;GuUav=Uf9}I|;P|r=E0OAuAJZAAJ6PGh)LucW|mI@8s8h-8u z+p&o57a+{o7&|a*@$+rp7bv3TkW+DFrSoRO5G8w9P3_ZVN7us)R#3{~E>GWU+L6P9 z#Ak5;Z3aW*ln?e2yHz`~1T`{deu(VdySgzU<+@UYvg6&m6K4dK=_tqz=cKFB9PHO- zbZ~f5&^G^1HUC9^eFi|}w9I5Zo^AlhL4}}w~VB79LPFI7GHLE(uoH` zhOI^u?a5p{axR-jZWz;20FvPeeg{rPpIG}P;TQpM=XKdR%BV$-o^6)ae*CY(oHBNikGHNAwA}qtoz2B zHy2E|&m7+V1cTb6Urap@)8KZ!JTqd6q1_Cls>LqkIrF#AQe_Z3{h)Y{3~+$=2W zX0|CFDs0DE7yRR=kc*T;V`tm!cvMB@O?x)a-RqCXzI7pBKa`K=j|Ced^sXh>_hYFXwvUi-*CJ zs<JV_y|fhSdn|7UFsnoU)4z#7xI@lo)Aw?@Z)ddNH_F3^Az?F5WF5CmZ*%833#c* z;manuki8Lh51CK`L-1j0k@XueET%h~ARH3E8j0$)E#FC07C4*yv_iO|L#|&|@2^}G z%W_w*zG?ZJ{C2=aYw`HZ2$O%HNPc*r`6l+%t4ha?l~yPHpm-jQkTgYzoH_HJ3_B?8UJw43=Q6K%l3iVq3^vfHm)T}rwhL)#WWA> zc5qDgxqG*9WA}sV-|B@?j~-#!>#01OlPR64mAt{s{EF+!kc7z91Gqt?R-zITmTu%1 z6j;C(1-)Oxqk@yXfpi+Stcuvg&t2{T$7BQDYYmlyP+$ST zjh%UoGe7iXxCkm+ar0OBSFdeuc7U^){ARQ6+LoBja;;8JbuvtNK&*tQ8p7$B%c*Py0Uz|ex>+ZMqjKhFL^UEYN51pz%qHmH^ zJ_B1r9jlQ&GP*#aMEx6M`*0XUJ50-3g-CAm{m+H=RfaYiHtKcfFYH`DfJ*y#(>8(8KBH#OgLHZ4}EgrP8?)5BLK zV#~f2bc~w+QcN;SnKxf*`&2kST+}O1_VfcNe&-;__hX^tyC6yD0rXmqcc_{A z%eIEdEHEISv ziw@{5GtJSTfAqspT3Q$rFjDxK9yTB!p1+_-l<4Cw zeY?+F0IyhPnwT##AyDC=bwY*=4a$0?Npri>$)bz=-rw&H4~^9%%Wi&35Cj+g_zm^( zi1#4OAiT{Avor7jN5vJ4#hRVo{G=ut3l~p-oc`ESU-sYn9i!m)3N~h#*28m%gn`|} z$gRy)C)y5@(tpyFD+1XO6nh*PNc;1n499ppX@ys7G0@W!QA4tCw>}iHn)h?G3*1{{K9>)RlKEtam6NNG{v}s{oXxwop|Wy zgIX<7aOWcuV0&3vdhcM}CXq&*hYY;Drs38gIN}t_a;{TVcBV4zmfUIgWaP)>v2as8 z-&A$TEufmIOj3D`S>f&50{0&b#D+t$WGMv^A3NmJ-W{4enwDasL znxiBL8%Mnl$|UN$dR!n;(I9Mq_yfuNFnsv*i5NJ;s-fHoW-Df>oDo;-h3*eCv8H@0 z?WEJRgm8=55P5?Le>)3lCf5PSm;3F{j&g$w2UzhIuq<)=;xF8%9 zWsu>afmDJi19%-xdE;=>j3iy_#mvt zZBm7$M=CUodtt|V2@!K$%}9Z`fo9MLKH^BjBLcwi7UsC4jeDDXKvE_83=GW8(8=Lk zV8GGFgs&SiO$TN;jvQk6jwZ1@y$~%Wqz9$IEcjNR#fQF$(l;r%=@7`=S`VB%{8t!8QWD3=0ST&_`Ka!UrVjh=v0eE@T0`am*MFUv zLo~7DKns5z34ePg?iGV15Jnxbil?fY$$&zO`QHxRC9omeM_0h#YbuhV-L{+*5tf^xIH9Gj3 z=9H=DZ%bCR3*8qp5`M6&9{GFQv?1U+xQS zY|GP<<^PGs2~@FG%(dxI^rq@h@`%7Z79`G8Lw5QjCBoorz@Czcp0OYh$OaUd$0>K| z*y2^EE6}Bv2eJoAU5Q^3D)08(2+AQpDvYh4K<7!gOH0Tq z@BzR9)eSibMOyda#yeB&#*N?Y1MUsZMNCx{K_Sij;6y#Odp)oOB(&{xI?5PgS1+%ipfmVS^oiTNBeYO* z{P#+suE9Ru(A{eFl$=gzJ~6tI#{82BQVHVTjRsDu;}SYO;zX~=U+=tR-TVFfO_VLL z=W0zGah?4Yg0^jLku&NR)sAI=tOesa@9%E?TVbo4pf*nCPuhdr2O8+K5*A)~{Po2w zlt?PSAS^72!{!{? z4=TuFOZ80a(DkgwBJfAgbatS|ey4?R;hs^l$_GDIgEB<6qJOYkATHz>qkYX+cLOSY z_x$MlomQWAg9je#Hb13b=uF$$sr^~?SojeM2@bS~j0kN7ft-wmqdjY815kDbtX~dH zR;Mam{#)SCQ~DWcqHHkVM#}1VPfd6bJyTZ@W;c*!MdHBoi;EM)8G@nsAtbpf@K+y0 z;7r$zjH0%`^XRl6Ayf}Sac`KsJa1d1z9%JJT^r6N)F=Aa785b$xYGd3p4+S`@GV+{ zTN;r3QM4kAk=t>vf{uatt@xWovy&$ofY&rR-rDitWSsM4FYU8uySEpDl{vNT-RGVk zi3jE{Y2vgtDRjOG+JtSYSIs$Ta6sOHbc3dBV+-FbNWt1Ex~hT(SJ4iF9|wH?#oiK> zFQ9GXc#hHQin`x0kh=q;v9$onQl+XQW>MFGQ2cHn!6IGpnG^5ef%+7rzE0O3S#+Uco9KB>rSu82ICs}bv~5K~?2#Lmm>$0->Vd-i>0 zMZ0Gh!T~!AuG7to>|wT7qdb@Q=^gOi!*-Mz@ed(rTsR9BOQdm#_|y+LYdu8v1-@%q z>r`2x+dL~ehUSz}6D!R#`+$ov*8RngUJof$$h^tA6F34Sa0ImIuHO-y?VDDZIV&_}%cC?@luNWCenh9z=+1&>rW+d9!)2CTQfXeqzT3x6( zEXx))N|)~+9PGvSp=ZP}_e0MlNN=EdCtg$4{DR&p1<`+#OY^%5r`5DV#z8vNaND00 z^r9w1RG}#$Oi)M&Rv^?)BZ-6O(lp-DNSYQa4%7&C+^G~1mZAdhZsV2W`;!)wi6cL{ zIVjus|EfU60&qeiOXrj4y<&DZ1>sss&(oLol!@;6R5+O1Qx5?Chzz6lvJZ5myh_|H zY#*DI%v)$(v4*nTF=3d-L+!O<_j8qs;<P$UR!-TM8&&z~ZYR;=q>4`yH&D~fOn@Lb?g$$>+h*k%P$TQk>tQsdVv z9v@V_uE0MAgYMwvzjT2a>%Lkp*!7N=Abw=3@Fu_%w`7%bFG>qE^G z;)Eq2A3=jt6h3@fIUVpmI5|bVwiaoj%$ncZXy=aj8+!%(C>befsPH>USHRA~!o9s^ zeK1`{b9*M^gy$wB3M)&!=W0dn^`|yQq%-`R9Yb6h#?- z?4N(mm2=^-{`-%#`C9y#fB)f@T1~C7irZUR?-h2OK98r6sWnYU;pFPVdrtgId0GW*p2#^%L&ANP$aG^lu zqIkjcm1MnIp5fO47DIh`UZa!0GVhXYmo~)KPn*RAx;7>U%n(WH(<>q$P0`+Qeqc3ujdWS=U`Dk_8#jj z@#H195ZDr^-YIxNa7}mtC<#K>%#)XQ9Xx21`V@YqnW=#$Bm?3-rp*Dk55t@^{r#8s z;53az!ekKI@R{a=s@^s zXs7D4V7?+g+I!(Q-Ya4EgV-d8Y5&PW*`v&_;BtnZ;FP5+z8gs|B#{Bp}LWb!~9bD(dxRke6$yOp~JtBL4>QS(yn@@^njP|4a!w;*#R zm?h}SKujdA^7zW)k&XpoaD=hVDl})plM4(DGy5C;RD|B6z$MJ?@L>>85=~2FH}mj7 z$Gh#)XQJ&K9NgIdIsnnPq1Ow~{U+!IWJIbNmPDwCl$Nm50YB`ZOky-O?aq=|eNPRn zYKa`S4K!2$y5Wyh0j{wF;B{2yWVxe0QUpL=`}U0-CRdYy<{mmpF|f0;-hwEHnnLId zw^OgoPYn>t%$zH*doI`p*|el4Nk=R4zaw%tj7na{$M=GBPEHFLTumOokK7S&q;GrmaJAEexBt7~t6H$H!<8hvW^qwgY46!VGCU%zsrAZ}@w&IOtS4XF1~*{A;g!MCmJUxOc1-;oL= zlGx)@$ixBj4$CtyRyZE32r)UYq5!}a-949(3d33YwQJdo#!2EU4!}5FwHH}1_*pI2 zWj=<1n^<4N(m`YRFu~W1ngVtokdbdcAAlS)y$LQHGlDb9fv*J;!nWdp$UD zcJA5*F`8|RvHB^Cl2%1#8gyYK($-OZGY`wtz7VmY3?*G58k=jGwOb!lGvmSo za86Jj0E?~y-~Q~gYu~nf1pEN==8mf|`@6^;IVjFr7Vuv#z@RT6pC8$UTSp2kGeaKS zzt0T9HcsItbi%k;KCV+$JRV@Rmwz4B5}7Ly+!Vh;?2jva++SfkkPm;0&%e zLyXhLT+zHkTACFW0Tc?!*y-x(BB@=(P5>BM%14-y24EL+8oWD+IV_$exo*JPNh%!r z`7;>pfJJY4fJ}rY%X5-;S-dckB0ofo0&$DdP!M``Smx@F=X=%R4}ue%aGcS~htDFd zd>sH$_}Ac|#Cia$@k~Fx3$7X<+k#{l-?!FF)S$v9K%!P(^Axu*NzlY0LrsAuJQj0A z{eo-a;A15?TAah8fq8Dv19e&9H)4uDNhU@4bDr-wyl7`(%r22BnaP-Z^m;~U@G3e5_Xey=|8MWIc`6Cj`%RBmSm4&y@IZP(6* z3ts;G`S{9*E`VBfUH(GxHyUoGBK5{*FQ9RW8NQ*1QbHt}98-{Wm|C`D0GGzP1GtVLd}Kt5TV@O&-Ma@3L(6yE zh=`EWbNSrfz7bag&OOtZn-&Tt8StYaktld1DaHxOx@m#9cdd)M?tUlEH#ko2R-Yrm zX?Vg;h7x=B=#2Me_Y`CD;6sL65DKsqu;3$a!isHr+s!_Rdy1%x;atoJUas0c>?wfR z$Ah_ULf^|Vx?i*gEXN9#JhbkisKiDJQ`1QbHXwARG3U{)qJ!|^qXsCJR=ep%amwi4 z79F4;BxO&Q3)VMxA1R$CPI}-&oaT<;?HlQ(gD5&1oK zFG-jK+=ci%LwZ%d-smY z>rm+?+}Es z39j-^e1{PCKlcQbCP)3O9i%MijNKq(5B4i557#T98 zlrd?bk`mX2G$0jH3ds}_q9mCrGGt1ICJmCI6dA+&Io#`B&$Hg`S?{*J|Gm$%z3Y#A zZ7$?If4}ed81{WX_T%(%Yv1oHm#!$Lf`KC(dt&$J%7O(BCgM3FHYX5RLdQ_(V3p7i z6rE5*VH{QOXse(H3&~y6gfo_@YQ_Ci^M=TexTIq~d2$BKkwhkjHj9uIsP$hm<=C#W z8(Z6en>R#hE9iFB_zE$(gOi33Eat1of=|BX;q$d*{xrW}Ot~O~H&U+nUiASjk1+OV zjm}UfyK?FtOqRL;S%FW@y1XtaGx#(6DLNRtPtlDXh6|69n%Z9`kuHl-Mj?Yucv@6W z;=o_OE2q+r@NErVgB@V%la-fn0T9+1Qoiuz%Q_SaWLJ^%P!xbWi~r3BhC7d+d#(9U ziv_zYu3E!d3DOxcSu1$qt)1P)DU5jf0G1V`ujPPck6V@L1pb^Kj3Qg!F3`O;R6K59 zerPDKz#nYXD1>>Pky25J`g>NOh9=?PHNAK7e}0FNB_qHj;J zLL<7=(Qy36sMKJ^6%MNWn@%Zy;WOv)1pN&&HaWP>)4uT3-_LKF&h|5)cpcbOjg2Av zb;Q%-y?I`g6lo+FlEMZIw_YL_SLxhW+~oLE3Ln&tZs--w^%fO(sGyMUzQUB=~cd-#)XmQyiN=pJLs?*$=?j_5frLQ%0kh z6L9VQgGn`z&iW?a!#**iLIsxQG8I=Xj!z>xP(_SOgpRXzUF~z-S3B+Fyofyri_iPw zMihVQ6L%uM7GSi<=!nLs$8I%w=@(f9+3wFO&}!8uNF*%V1$4)lgKJV(A?c}L-N(R8 zZ)LO#eEHWkVWUU?Cav#$z^e#*@}#SuvD4=2>e2}ek~L7=KW5Pb^A5|Hhf@!XY_JaJ zW?{6&_JXbHDtKNsylrvh7N8|_LE{oClBiLx!7|-w@(kiLd*x9nk)TKvCVW#FTTG~E z1%wW5tL?fd^&z%u-L>v^9D<@8Wvd8zRZF9ud=B~m67{fJ2@SYAy}qRI9+f+of9Xapl^UnCJD=9V8x z05Jt1mbvl-B|VDEUJZZK@|=1y?>@$j4D*cPA4yy4_tDGTJYdjCer($17TOms^`EZ5 z@$t<4Z*othFkM#QdMYVn%${Efo z`jh4|O!uVv90jygQMmrsr8**fiLiu1$Kk+Ry<0VJP%At*3%sSX-)mHBh&Zv#iL802j0j&V#-kH$CoG%;GgYyp|dwYLky zLr+suq1afI8TkC$edd@-=QzABZnh)Gw$8Wf9ZRShJ$2n#b5|(8@c7CP(ICf@BTClqNlU_Wd z;!CS=K>zMIueb7;X9~4X%@hC&W4hDy&=(c8 zadfDo&@{!?Us?)zQgp?xhNZSMjP@MwQ+n#UpSt%%4&adiPY2^j7C)nqQ#|)w zwQ?y^6^Ymij|-z6^6pu&y_O6C1AHJM;aabX8Z*rx4Wwv33*#CrQiBCWs54M{?MOq4 z0U?Pb^3ZHHtUN4xjW7#1^R%8f{&GlWgxv)h%JwvAHfm~#>uM(_opY0B&jmo+gland z3)+jWk?TX>&S|pwXl47g>I^M3qHt@ZkY$$F4GY#qSAFSo@?uvhyMV^)S(K=IFjt+h zE#z2j|5+AknLDs3h+FN`GA+;w0|>JsJCn#CEq4rWuII1nJ!Y!+-c&f#kstS#_d)`s zpr-w(Io2Y9@hz)xY4m#cK6T%NPGH(=PY!&WzZK8xDn1n`w`!$e;g;wxNY}FCT`X;J z&`|6sE1@Jwdh+B3fW=qF$eMVip8Nb`Bg+$Y8a8X%;-1BhqPeqI{q%Eb<73nO(n9Ub z5&j#?CVOeOJa_P9sJLf8@xdB1^r=B_E;`efX}yC7`gx_%kWr=earQ19p+I>y<@LI> zl=-u*to%2`K$VZ`(0@aIZxAV2Io+2n9q~ULQ7Y|1nuif^w;nyz-<_p{neuMx6?Q76 zoofR0Gr&E^YM#!VV|BDcr!IYwu>45P-UIHh!%0(Q(aa(v+J4s zNc?b`TZ% zE*-t+)p~WRRogZZKSmi-V)!wJT4K|hUb+*o%oWoqv2CVLyN*i+DC{V*$Mn{--=g7L zaN-cAhYOC_g1dOcT&NG9$}J%5re!>QxPFX{&B63?!uD5g4a>iLHOE%3 zadp-GwE1ZNFF!VhSl!(>)YI}#_Mxo@m!CbjX?KySMSP1!jkXxv-F^NUT!_M`TIY5J~%E>`9;C4TjP%?t2X$eGVj%+(JyLXPN)7co;-WD3a78@ z=%SJNj)qD1*X^8Q#3v9#D@v_+M!&@Ynd%v>W_y9$=yzgkPo>S++520jo_W*d2Wqu2 zBD|KC)`0CHI!~bog(UFu_W8KtJk~q{3++UKWo@z z^0=P>Q1Lasrwl*aUBy?H?p~&x0SUzELrP0Bub98Nwy@U*4%m7!*tKIblW+E8Ufey& z|2?UB9o`}0*N|bgA4XLTI)`}&fentiF7WrhFX|3@x6NEq`{2p{mAbk7Qp90}_3VT@ zQ>UyPU#(Tw=VFP%Vr5|Po;|aU*D;y*B~%0;Q1z504==_6Lo~QK_B)#ZMp|2IAY+lz z5+NEKzcq@Xo?Z1Uo}t-Fqo|d{VGDdNP#Z7}tbYe;f|wh6`DQ!&^wHEDS(|#|?QqI- zaXBCm$&OWeBefNIV^$~W>8jcLem`~Kyb}^jDp3a3S`tR7CC=a6BFltGu>auyNaeOg zOjT!{Rup*u(7SZ$QeSp5{k?KA$G-u*Tti%Xdi*NDVPc=7IbQYC=Zxv8RC;QVql@)% z+8?PnsU^3dOprDQL|h)UXi7w;0xWyqsO1i4!?yDrO+u{3wm&mNC+M2EDkn5e>V2+b zhNE-pdd6D68htORuxQajr#dCHCW%sQ{EED43SgVKu}0d*^%O@ZwCG!^dgJ-USE2tD zz1%TuMEfz%CPep&7SrqdtdkUV2gY5SD6ZLTwMsSv;=&16oU>ecR!=YPlRRt&g#GD( z#P^GCI}I7jtb;YXN^ve%gc{Ctgy3dz#|jTK0ZEv z5UW`DrZY>NX<;EyI}5T}iwzJ1y?Z(KR_kzz91*I0aAQQA>O9=>1@leRvLf(Xme8*3kN_a}5v=r%5`|DSE3ul#{(_2OLAMR0oqwwv_ zbLK3*ygxX~`NH54t^DT3LHvMq^%CUcPCYec!m%1rA{}Fo-@^Hn%T0gxcG+N_<8Z^xuwBhH5M@nHm5Ax?w?g@3N>WZ zJrkZx@GBTHaG<4~BKVqi*^jjrW#cF-#iK>M7by1?Vw9Ev7E^GuEZ95WqpV}q`cjQG zv!~>by?t?54hL6%dnxlq=U$n6S;%858HgRL0gESnAa_Q#s?S(LXR>$p@{U9~>3^k` zuc~tuq}^?f zZwfrwE#Y%1CTLjWbBy!VHTg9}wI)R+>9E4XI{MtjT&2+Sh6x3|E`0jReoDWo4|A?= zq)C>?S6LcrwTY7h55|-MN>&tlriF^DR53K)a#Q=@BXJ z(esU?A0>@9vR>-DWdPl9o3Z;?6n29XpJwc_m)?L|C!?-FgJ9;@i6MTq5i~%4buMqD z3MPg%GV#9mv8w99ps1qc45k_%AD`0(?{EE?FKJv8&X-W>9e$d|;KTtYjdhlxoOX82gU?gaB84=7j(CF;27D#H2)#qhH zGD1oQS-4Ylru9AvMtL1reiaa+=I&m1*V>PNo4omHdIJEzmUPa4BNr#BVSBd~=ppv* z%*TbEeiyrDsf=E<0{YV6Gb%`D=!F$jTA^k&Et%1NtsegDQ+e|YTn6MjY%C#kDb3M83g2HS&pJ4&lQo| zp?|$i0`ARrjAjt)P6HZ;+75!n;vlnVzBA3pNmT^}f@&6}tda0#Jp3(S7*3tGj@}5Y zeFdA4_a8$Y-(havYnx3N`d=F4l+^72rQ*wQeu-4Db7N01`xibwUgJg53Z)T;(r!`Kzvon#mz=YukMvH-7wvEnBwi zshm8UK3YvJ;oP~=K@|#pp8wB;=l06Tt=XbzNVF=lv75Xd&Of zLg^r0ETM11VF-i-~6ZN-GtI&S^3hJLhV=EyICQevA#Bz*S zZlK*!)4kunu07k81avp~bt7e3jM+FdGchez?5FOff;y02V5Q{x6pt;S!Ofxw2F{S8 zg+C+2mPcM*UQG+1)+vF6mfzTNS|dOP29W*Q3|p_25gqQ|7VaKGgEaN==$Zq&X8e){ zQZhE!9wRtVicN$W0U~0Mbpw72Bdzj9nvJ^lD-=l;qs{^N%*jx^Oo6O;I_1QTN;1hP z8C(UO6VMPb-VGZ0gx-&Yg+UoyrkW|HrPze^ZYxB)5kj8 zV`%_o9C(u~kmk>ev83)6toHb)r@o55_^WN>jXpAG$TgZ%wj74W5@`3c@f7Vq0vn*x ztazISh*-BUR4CIyqc%5Fdh60>{-sv+@}cFYTIEm42&1_e%Io)~B+|qtO9+C-jYr@P zxixjUQ|P(NRu3KK?qNnkge`m6yU9DKVsi=(!_9k^H#)`OF=tV{$7%hT&A&kvnzm&k zmm3&%-PGKPqeg$Sv=NkhO3K>Rg7L{593q4|H)Hely!}T8yY*@+&K)*4cXU}B=gA}mo>=XHnVA3DS=-sut&^o)!k6{6%~vR^G*?kl z32m*?Pi1lcMm?iCOz1as_TIhQJ>K~?G&&r*cS+fvn2f$oBQ11YdLKLSZuFuS2VU*y z&9FO7y*WazcnuhAqbXZ7lN?-2n%d9MET;^!~(N8v0*;U&gP7#;M= zYP;brRMrl%lKR%G(65Ml(t*cy0I9*_dkh-%_0*(mx)z69u!IWEr52Z=~ufBZPh?XT-FdB=~+2_(1pgoN&c z2R|S8i?w_PunjD%^1>#3sdB^ z38u=LgmDDLPhke&}yi{d+`MheP)h7M?l-*fh*T@H1F`3;YnMCk_dOJZ= ztnVb=%gh8J+6KkO!8QZ2ZO2*zZmZtI0)WCI>tJua_xS^3c5Io1&Op_F6R9mCHc8pd z&1@69f;k1Ibf2VKfQ9123z~FRMeV?9fQ?LSL3Ej6kI0uuIWkyJwJ9wY+F{1AJJP?n zJ$mMS!5Pg37Y+DB6P%VG@i(zFo~79``Opm)8Q2fL<(g3y z6k=?q*fr8j;paPUYB+j-s_p}j1GOKnw@l01x8?cC);^-pZE&Ezb@}0_L`1yG7YSnZ zazDPa{-f4Sa+AO8JMI8O@75HI3TECC_IP&vqwD?iTQ}$3&O0%5CLf#bs9KNMH(%jGV+g=7&$8 zZd|>3ATfD{%?-9AW060UtXyFh;UygH<)zO^3#eiz zKzmds<$e9?E>l932()m~@IY?!av<8C!7O$)4M;5W-s*evXLSAjH@&7EHg9Kp8Y#UT z;U+1~&ptDUE29eT^XcN4l9!9%y>CQPtH|y;v=4iZh~}b?(Xi| zb+k1b0xEPh9W!Q(QoDAu?+opkNRTC#+<;kKLWx7hq5g~H{^0dXuT?LZeMt~IPRU~s%~Swu2kNklrh1B&0$racmrqKp$;MUn zMFeC^vbu!S2wB*Xo6pa)0UjWIjAg2?ukqIqMaVPClU5f*7-E(G`4w%K|91p1uJ6;Ua$`BsCCti5eH~!YyZ`#Q6pgZy>SB( z{Y^G8QSiWyP;{EA153QRYgn)dZZqAz=WzX=u)D#xZs4i0Y_2ET03LG-+RH}PsCU+} z;6gD=S5=r(c>LxjP(riMEZSQ2oMb3Ve0ah1Vr+fhbR^2VJp+c6KZ>VhWxyBx`NbtA zA!Ub~=6ZDS1cJ5wocL^omY!Z9O;S4`BD9Y|je=X$37Xc6lO;aY49cmoLh>HJnMuor z|9##4v}$s&FnnUv?4IKEn)h=^k?jV%9u2C!eea$dT7> z#+7EjHoIzU((r7v| z8rrR3*s4btXjWT)r<`Q4P9HV9j7C2`F*}&cc7~Q!bGZxnE*6d3@Rb*B9^W4&LNi}n<<(cF{vO8DmO)7ldg6zI{l2*~ zson(d5uq|8li);GfaX15W}B{CGKMOOc-JAh-SqHvG${J0i{RoqTqv7NvD20 z@%(E=awW#z(R@#nU$!9(Yg3aklP!q2MvpFEhX4LJe9({~^$N?&$1}x`NJ8#U{}oT~ zyVu_7mo=*f57)h@%*5$e4)W*E_B_eTZ$`sS|RTSq(Q2`4BJCpS5y6j=%yPN6WU$B-W=oOd03|Lp7*o~r?L z9+$ZthW_*C&o`aNWU(I`;yDYSW67cwycMO1l+Oy9YTMAK z{lf3o0v9$T*+T~^=&HvMTArO-+J?fT*C+3-H-FY(MbHMZ6qUMc=hLF9MN-yo`0&(` zj+I~w@+B`-XZE^O^Tf(z(p(R`P=qf3<7;s@kb0Hf8^~^6#%FXY#($)qb88N@@lxA;CoWHdQGwHZh0U}P&S zH1s5#aETi>xRRw0Qr=I(6zI{1{)=W?9W$bJx4$eO7~Z%^le*3}PB^O3P_!WhHeieF zKKj-=MzQ8x?CQrsyj1YOHya|_ZO<95%5{xu?K5rJzF}T_d8D)R8sF`Bh+jM(C-&Wu zDC9nJiHhI8od8JiF(M$$YAo`}z~$SGtN$WB_B!*6OZW)Sy{_LH-RFyOb8L-eYqo-z zRY)n9UIXybK5OgE>vwP8_D3NLcDDFk_)OZPJN7O?=WyxJQAnpY7cE`Jix)54@3H2a zX%^Tpd1eF_3JvRl;aj(F@3X3|@MSD8*h=xvjlf2w5rRcaLz~ehFG~@@(tL5WG`e)T zI%{hkZCat4|4d-@&6-qim+0PX3Br;ypPs3d1b@uPlqw!bXmh#bUMQRy-lmtiW?+=*+ zy~4n6{-;xKYW_C4`E6q!YlsLVX>^GJF{w$qs!e_3Pn39{o~0Y2XZ7UG^T6#c1sQZ2 zJIZR38c$O4NR<6U>+tE@W3Gj@UyCbb62B8Ex$bVZmz=;pBW2Me-=89d*ZG>0&r#?; zaNy@tt$nyMj5fnHwj)|8K=F=%wx;X0Rq}A3cX=H>ce*SLMDL5orCr6v-YkL!zn54- zE_i&>YWHuVZZ|Ehonc|)DW#e`wkM>@_82BW?17j?nS?oG6-ZBeyC&_U@$zZhtXT=_ zyh}eSlBJU-86~eRFibDv1So&4U-Lgd8A1w2R<=Xt$G=0dDj5a!7`4Fz^iQ!PcAj*& zw`MQTZ_JYd^=GJS>z$u#c;3<0ww|m*8(?92sQyJJ&O5LBP)9BTQs;Do^PK;)99zw$ z{R~g#syTu+1eR$mR-J@h4tG|*6Gw|+eVc%*SAmfvhEfpZ=FgfZA)eWqTYe1!Rqdn}jeQml}zpJ+=x$MbZd&TBWoAjy7V)Ys$(tm~zdiLgO z`?F!71Q>xFwLICLs4HKOnVQy}I(fhNqN&;PG9lF1*!VN5?EgL%>Lg<9c@M)=exFvCcN&>D#Rf^M>#+^8BpJ^OlKb+=asE1v+8O!&j>( zrO`8hOiHsD`T*%3m^%^GUp{sp#uIw7eN9j()-?bKwE=5j=nH7|YI^!+bib(>=5@rn zlv4>BWCUTj2zhaOA<7al$J)gm#sw0xtp{459vms&TG6|A=9`+R$bXc*W9Zk26T6sN zLHRv`>qr}WDYf%OU*+TEvyV}~Yh}X{CXeH&pFupkQFQ^z%=dghAhw!6u4!x>fxM%z zu+Rj;i$|WAl+>=DN#SRGA@*e?PZlEsYi~wVjM65PkKj%{68OFWD;n>i&w#2Z1*=bA zF%XqwCzNG(hX1N+$v?gY-jy1g_d3+HLkr>ncS&HX1!gSl_4ro0Tb?VE^xe95S8Cn* z8j1K;!LQGTv3)*hR(}9xEA{VlnQaz)XR2wq!iy>HsplRa73|xVGEYVVr7Pgu&G)LA0WyB_yGpxu+;uj-Mr3HIZ#3G4(=;yNLZoQtMs%^l$=U zxNp{So=Yb6h*(znMC_rfty}W$@7*CGH~1-4pFRoyFWV~vIv71X8oS>iooelZ;{v2L zqC}7URbpt`pi!fL<(ba2ipPPeJWz(YUQ6_#f7x^ z7e+USo=8hyKZr|brFS4%%;Xl?+0EW}&+`K3UcM{W>_W5qNp1^V+5}zLxoejxBEf6} z8zmhhFcS{w#kjwdn0xAKn)h}dl-D8y1A_{+Xnv3JDPrEY$meZ>8f{Ork^PAt_Sc5~ z<#1|N{6G<+{ zyG@#!)rAk5U70qnp8}JQ(W9%&fPn7o8?qbtrPsF}nk@(1Rp{o0D0DZ4D3t%8kV-o9 z_+{RwHf{g)OC=?ptN;0X|6BedX*=7-w)*+?47tc#f{N>gTzJZxHcCM|Z%xnb*h*(S zbPx@hI%YYz!Sw!;@)LOVG;I?wkE85@mCr@@U{FHY_%;g!H9!*wc zsBJ&TJEz`Et-B&-`U|oVFGE-qgoTCg z-`}N;KgNKLg2vNcipuu=Z|>Q;Gc+_!FqJ!Z770gat_4nTgHf&V6DHKN#;=UhK~=&~ zVOd$D65W$BrU%2-mAx!z94Ua(m}u%7=KQO}UHg8ZmWvtYk`@_XBa8DZW`kJXoX{s_ zQTA_oA8M#{A~tBjVKTl)zAY^#KMSO=Bd$Fd?wHZeOM6eU9`o_4-%T$SRn>HiZ>930 z??wH+3F6y^(t8G?;2_Qw6GM|}GuT#kgvvGj{D97r2m*fZJ$f9eoA8afXj!m@a7A{B{r;Yl%0JZ*%SjtDg3NO$ zC>F%Tj@p8``7(M&9I0gA3qg72{(;P&wi~!&Pj-S#$Gm!FzgjO<|4BhX6i2e%c6@(V zUtIHknQ=bsKdT4oI-fsQ2V1VFs#-qWG33Nm?l50o!1pe5`mxmSxdK2JOXZ#(`B@bPa>nl z>+rSn$S-5v&qQ*#G;+us1j9w+b%s|s^4I7whXxV*`=ZVu*=$F?3i+odW@tS4EQ>YN zfAXYwAJi8fZ%2@H~(2)C>5_qW1Wy^rzy+Qcpkf;eV z)xUqpl`B{3re;BGs})}t%!rytS9L<9^S8iwfrEMSFlwRv*WL>*uc*1?@9+O065V^Y zpm1svcGuyvpbr`ju6&3Rl`6Z`=uipgse_TTaEK46TZBR2D}@bmIyhBoV~HnJUr*j7 z&?>-&jkq;jDahtfJMf>Nhke(1NpA=fC2~8G#ah_q#bvux(TD+by;Awg#*>DpE4!hd5~hDF&Wx)vcOpc zr^QzD-Cs6{wR42b(YIgE__e=bzWd*(odKO&lngfo+}j4YiL<}pPGSnInL6+S48apSU zC!&us5|f*;d$B1AMM`%ZSp2AR@y<4bDxOm*#8+^ zIY3>5IiPO+`+quITCHxofbXK(wL&wp^4XilZ@CcV^h zay^DUVt{to_t#xJd3~CyvG}~~STJHBlF|SqYYQq;nd`9)`$(o{LD_cwQ!0@92jrdq z2j-{5CuBTykaLM|)tG8vbJHZ!az8fG%U;#ExIT0jb}$QWd52MqJ;>+J3RO#R%sg8# z0|jv4?>^M5y!n5!=Y625WoF8z+wYa@n){$0Cd`&0244hl2KLs$KMhN|z$V7yRD&8l zBEK#vxSW#RI#2E)ucGAH$DVGx46Il9t@oOHYjOY{*{%6^#687wHH*+n$Nv)ipZkP! ztL(;eFAbepk!b$aURriJ88A}}?jrYJ=;*k8_wJeT9TK}~jwzm`-_tGp@3*^uyo!9I zj=6T>XXoO>`}TFDb2qtnpi@$>5vMA5pM3w@%V8OL8uciAj&kDNAv)s%^vp5#C}JIg z00`t*UT!Afe&mq|y2PN`dI8;sOp2KQZ!N&{oZk`Ozf@)+@EYX)LF2=E!;{!XTQ2(9 zRw-!6qh=;L37`R60|FKyZS;u5s;{iHR3_SP&Q4v~A-MGO0qy6y|M4WQ<>yCc4g1kd42R@?*xMft>aZz%`{X*YQ5K|P zCjJK#6%L{xXNdP9@2PI(BW*yM361&kNWvJb9YB=6Wcy6)7l79VMr_jLAW_q8_1*}M z3=Ht1uOD8zJ+kY?{E^4!z@%p;kAbnN86*Y~n8;Sh@QcAp&;eB@b=I7AiJx4ZYm&J8 zBA?%R@zs(e6A=z04O{x|Wm}Ry%Qajwa_sEwUl|?J{t|Lqlq&!nJms(f%T)n}_dd{_ zW|q6+UGR@Y?Un*h_CJ8a@J;;5;x%kKvOmPK5TQn zV-0}O*_tN2C8fzIghHrI3t`FPZVmv*urSI zekSlAU`sV~L*ghQm>I>ARNu%&lkD=iuM`YhIL=5H6eTO-WJ8Ti4nTrR91uYmqPv9W zz1|Rr1wSUWAPgAKH^7(|*Ov+L=7*HapC`oXuX%wiVS!hT3Q$~`1SuLX(wP zzkX1nLulhHB>+8S1Nh|ZyZMAa+0;&lVZci!-OA{*w8Ns?t1K-B3mMI!5&V*~gsaj9 zV39}E#9&g{b#p=s)R?Xxi><2^=Y9L`pcw}}8%xw%Y4w{xb6s#wLAt~T3zSsIQG_dk zL@8iqC9~SvdiYRb_rpS47_*2a6`WmCElThP-cg#>tCpccknKMd8H-5|CiepWVdrH= z&#V1e8WdZ954!XnE`!qGUYh2veBKvXmbBao$pN!2;8>qp3CtHRKL#>ouX%iC*eNDE|F#vcIm#PrbM}^ zb}NMzc^|^Vo>`tt(WEd|+)YpK{i*Ypmu4SVk@lHtzUPPKNUuITJG5ZJ?aMCuI^$)N z?kru9^P;&EkMyu#yqH0NalEGZ3l~!RILy&yyWa5a{{FXzR(5uQz$OS)CdNAx^)R5* zec0VVbJ{v#5zNf4J$v>ove?Yqb~+E91U>!aoSMkz^>F#n>e{t<+iKW%{@}5>N!3Fy z=xDZ#Bfz6KvCciG*AwTOX!32X0#pF)CVT72e+6wv8k8^hAdqFHb$MPQysk!&J^NHDEF9JH4^k+O_WSeEE zmHJeiGM-LIy-iT@fNlfS?p;yACp*Gl2ye|_`j;*bJzR`GzYO;-`Xh~#|LMNxKY#Ck zw_h|^_38CgUd$YxuM#EFe*#~L$(owZIsb`>bt*|b8h_UJ=HJ%^3iD`%PelmHG>G=B z?tNIq$o0QGVhs=g$^E8h2FF=3*D(ApF@9F)&y3-}t_sEXsbgCu9Xl@Qcv?`QeR-P~ zmxd8U+M@ua30)oK3D~%C|Ni~qTGy#&Ms?zlRskbq1~=|FTR3@2htj0^jOxLIw-7P}Sgp_AZGOIg z2^45-WjfmIJUSG`2So6)K1_f8uXVIIeuw@%IJLg}?|)y_$LYZ$gV}c#9bl;8QQaa` z_H@3`eu%&CxT-02r!W)C&S83r9-@7d0E zfE+0%jKSrTFytA9E23z3!6E5$hGLZfecsNF+8`al;#JyRBYJ4? zd1-LSO`>**jsWrCycu)?pLk2Dk?nqoPlgE3?$S&jky&MBMGcPvfvLOdf30e}o$^y- zbjc|p_5?e}4yhmZoBtJUv$XrzW@dG9%9niEy|Ci>xyIOP{i=yuk4T^yVw@W^wo9>k z#C6ykXLnWZ1taWP^v}Sx3$bQHNqox0L90iPe)t!~E{8w8&K|Efd(&*#sqzn?#43c{ zk?X3*qggVg0zQ$cVn6pzAASyzN(PD%OoOY1AhQVGcBzTl>_kUPOF!7U4Ey0~HtZfL?YYC6v)&=&ox} z2tv_N@G%hBz7zu20TE6+b{tUx2@whaWn&Nq&vSns`qA!~?9~_D7&Q&bhBhiHGD|#; zp)G!{!H(cXp2dNNSV%^*e~@t?Hffm(W6ih4`O1KQMPL}p%1CZs6(Uoi*MNuE(Q3=_ z5MctyGi0GqnLrHkCDy@3%M0Uid>~2JlXXq}%&ll#I61VmGJ*mxE&iJU;o?5{>TK39 zTZ9>xpx*fX_(iu`ON>Fy9{A-M;ZVeeVDBIXMU+;SQJC#CWzJsl%P}rCH^V1>bW3YS zu>^%Ki}c(^75x#jFTwZ3g^KcIX8+;ZN=Y$XNZ)YXJu9<3cke1o-7c9|ji zMbq#YBy`Wx-DO-VR5Tx16k3Fx=3>{Fm9?FrnMYU`MbBNBo>pr%dGcb4O!h47h9i}r z^XHTQc-Jr5+&ldq{4O#vSX$Xhf>@#u$k7flp6-In5q$8riH>9zPcwztu|-G(_|4|B zY&^BL+P_MzkmxnwS1SE!dfRIV**urI(RvwI-Drb(>hJo6AYNVR0pY3JHNHXxisejZ zueeJ#-F|>R)8M^u*sbk9uKe8pK&$kFpZ*WDil8Xs7cO}b3QdF0zRM`5fYn4kBD1^H zyyBg*Ga}*+m4WC{Nhvp;Jqr^}0Y@iiNe*qMZ#bVXhA{~_H>P!0@d*{2;r9JpgyrTh z8hKP7iZ6Qu>^p|xt`jRaGA|#-shN|Kg^;+;&2QC7jE5RW;VT!ef7TwE@E-HS#{C>L z$|jUS>)t^l8#vJOKV^2oR2OMSMdQ{i0oJH0UEL9*%MldH8)`E`YnOq`LxYPf5ed=5 zb4xAYRm{hY^PQ0dKt*%mM+YkA9xDcZ1b9;!ROfYJq4kXz&`=1ZwU3;M_R)kv@dmxw zj(IKjAS`67Aq?A>HtE${bu>Z%`Tl|NXVPpIf`5pJ5@c0ly=@u)0EHuCD^+%Y?Z-IX8gb9jI`U;Fu`rdC&Pdt7xW7SKOCY+1=ZB&{;)3uG>rI+Oi4H{{_0$P`<>S}}5TQxPOCHAj3rDRwpyc2;R z0hLjfOHRvyUS3{;u5uf1*u)nC&Tym%upj2><+KXgdD|vF*J;h^G#f^so-CVe;saxV z(#&J#`+WB~Ye~%~cb&;Qu^_4Ot+y}UVW$FsY6}OKZu%3rNmt4=vj64S%XyPlp7;s$ zS8cpIx${9^#yJfpLrw`$V($Lfx)^S0hv zq^Y6d!=dB)HxhSTmOc+hBB>W~k2+k1imIY3vs4ns>GmD1?)|SJrxm){ZIm`dBsv$b z2n`Pfh|n4`Cp^DZueA+_inLt);`#Ge&tCNWQdLvhp<~B(h>|&3-H_e#ui*o7 zhd37azI79el`lAGX}533-hbOR=wNU`;;5bvR^fPm&(9APP3VV^EKD-}z z3FlGy{M+JrE5m90&JI4-p~ASuot6lrINTXPsVi4|krC3jUUn;9;}ky#j2!(i0CE9JaV9I6qq;qcFfhKJB^TMM8Z1 zLTnJJOa7L=|Mcn8#-5+9?#tM~AO0gwXKSAVF_4Vc$s`@g9F*WbMZ;x=M98~K!FkEs z*60KUZ!opm)UIt)D>5^4EB3JQpWZ!tH0UdTO%E|kUUn8kSQX}tdAoa{tFoPg3F@>k z3aMs3HdCPLWjyyUQPtxkXmYRd5@0&S=liHSPNT;`^@{H5+KU(AXmQlz4F4Y?p6f$Y zgSL$S?;xHT(RUb|yCzlC$p$bgcX%{TE-uNjYYS@~7WB8cTCDm5`{uMV>Yw+ObPrLTa;cbAnbp5bif8b1% z`ly}77cv6NB*IW^yY=t^M64@Mr=$}4F$kV@Yj{wjxg&})Yitc6HZ^*zoER}E{>pnm zG}(0n43$oZ{7_wOLxFCn=Lx$2?YJoPM!kSRCFSKyBZj^EZ*Z%C9F;Y5b9W!S?->l#vej@h+GSxM*piidGAd3oR4dn|#2Sr|VHWnfy;-bv4Twt%$340_E`eJ0O=V1pBK>8a;NjO9|lbSEOi?un}rygT6` zxpaB!Hf@f<&!aX-wF^VbNtq5nx7n%v;;AU@DZJ8_X)zAgp}Nh?CgQTSg#1G@-DT*| zeSqk5_KlnyLU#)=)VoSQbH%{mefuWzgZ-0xX?CAKt;mR=v*p&JGlTQynl-x1fD&>J z%e1^rp3XW?|(nphD3&OW|O=ECB<58d?ED#OhHk_Hs5hUdl7~(iZ7E) zX?YNFo`?UB#&t{>{-n`M%WKY@XO@)7q(1*-bD^e@ z5ubP z4`p;)rvIfpZ`*eF$a1{i$1NloDKR5Lwm3|iH|B{cbe%{`q}|}Nf&ir6f6+JmE@2Y!v^-in+|@-K`WC7Z+O;lJa(R?1@fe&euhFQ8MCy3^I^ho2d`H z^X54gGdQgG>lA+19tV?qG_hjU-56ab0H}}?yXUXH^(Fz*2(*J4x(!sigq{AP3?+Z{ znUV^ymkI7AW95^F)`U2DftQMxKci*EbLay}0mU?X7!f|=3mMn^9R9gtNYCTT9ST2e zU#P4+efpJ+rUy-ZRfhCbn|@I9^U(*d1GRGYJ{@j5z9?}1+k}N()&!~P#&1YDpt)A1 z+br9ytw;OKDpo6R@!{vyy)H&A-t3=su=1>>WyC^$`oepjpD!)mO-vGOi;OaOUkivr zdfzYU6Q8viY1}zw{&s+Pu-gOUf;9O|(GS#GegL8tmo|Zl=-a8j#m*B4-)W&u8#i7^ z8w##8jp_<6QzTMT4vhS^@&(+durJbFu+ z#&$0uSGyFw#|hmS>!nM_Q(RMWPqTSP1+<4P*gN_)Z#gCKofYs2(Xo-ZsdHp!euF-_ zJ3T(T5Yhy2!x@qcuZShUH&j1q>FK6A{m`z+f>(^g7$Pt|^5|uG`7KUp{JC>?zUa3p znztGTO6DJ-ImOlq4f}!hzki|jQS4y0fUB_~V%W?%bN0UJ(An7i^ur6t2nW*&#-I}v zbfit2QKb2>z6&?DZlqDRdBxnh5!LP#h47u}M;)^K{AIKg850`R()dlA8YsYAj;r?= z`B#@4Z#5g6RNd=2H?c22p`OOTfxCDz2Xo%euoI%3l*q#cHmC-Z6QQ?kvSnbBzpr3y zvmXL1YQ@)2!bzY5e-_z96N?+2x5=f6F9hRMH%p~Ik2recg`Z`F%)D=kG&@>tWK-WohLIwf<}1}b|eId({{I2{gidC`6_j-UVY~u z_nGCcgT);(I=U;P1~)P@{e7$ss(#`5V-F&OR;0p8t;0mqP)W&hxLk1|Q`)a3c3u`s< zub>4x70Q*m)CP9-3(;LLJ5ko=HhVvWb6A0jQ{C8OW8)cJw=G(${>0@j{l>PDzuVt+Ijk6usg z(BUSJ1SFy&)PhgP+psS5C(PIW8=t7q&&@gcK-=+eWE0vMFUK$M-mqcAx`l7w#s+-t zHSc175z7Jd9q&`aTL2jA5NJ9IVwkP+VzJFry*Bz^laJL5BlNOx8ft8u$Z!%khQhS$ z6TM87`?gW{S`^59%%WR6At?)p_`yLzBVJzHR7WPq6ilxFd5>#(jU5NOPI<1(8w3wV zES&D&p>>ykS{=M{OG{(qp8eo_nW_HDIwN`8Gm@_bsZw zzm-RyZqC4pJl8a>SL%1oqoMV{~)CZ0VFE+ zUPjgeq%dgEKhB#xB7F=mwrKUvPRCm{xYD<}xT?>lK0gM0oO8CX;q~@2_}4(IOG6VT z{#Es6N&oiIF2mzy9m-y2gfU#C`afz!onx&x_7M-b5bdcO0Y6!)QnJmP+Oap;tC7XoO!l4j_?>)e#0;;v`h-sZQBkbV9s3Ct;LL-?tulX&%^E;JqsDTXr$17TF8p;f}>yXDYno%gIWVjSEzk zH;YugO{umN-fd^?-w`oQBgaBM(|*k8{yWlgcT&=~rUg567F;&wf?K3GUXRCGDYt31 z-ak_wmAm4bgK~G%zI`1h?(GjM>TMGJpd@M15uCAr_>MnQ>odW-=peuPu*~tVrab<` z22q2mevFSxRw~NI6Hbd=K`HYmKbV`Wd3pJ%1*!MY1JZGFQJdmBXNndIn|x zV>7e0gGo|k>zuY?5JxUdGdf%Hx(vF!5PTsUeCYLafE{={g!^-^JKfzWdhJ-3MXS2V)}Jojq2zcP+cu z5pe2nJ^~XI6cn3T95fYqCS7Y9`H~v&ASk+2_-v?=lA^omh-KtzERz-(+txhbbQ{33GD5mE$EZQCRY7uu$DheBml7;K*WcE`=wJwIcxC2{X5iq1C0LvuMpcO>*lb1= zq%Kq{fY1~?W2j})=yT)GpC7oEdcu(r=4D`A`&XpDEH3_=xiaVg$~_TU)iqML#U5Lh znH;rw42&q_ZJ}zRZByoFflvv5jL7~9_#>6AKH4CGIAsxA&nW04WM^_GK)SBewhY*q zk)55rWNqAr13wiq6T{`t^mK7@dP(g#vwK&eYB`+WFqjA_6MGO!3#MhBwkZg1HPV6m zDpDwPX7!A`^Z{AvnRYM!CX_svM^3&%9835Cb;SPyKx?hd@RrUihY4r4t|)8Ns8Kp| z&S~#RO>}3BkwYl6O~6CUV?Ih|5vZmRZ%d)pzajXJB2Gb{=&__uDFHQrfvH3 z%YXeh|MCCh547U@?CGZXKl-<;?p<^)6=Qv#)=1wR;?h{Q4}_ts$;ngh+B%v?rL6q^ z?Mk0kj^UizHuOc5o(w%P!LR{zCZ)o@ahLoqXmd1xYydBn-Sfb2N{Hu~#l+U4^77e* zaUV5V?6J)>`T)S)WW5V6Ws^ipOd_cI_|bFe`)>@`-zFtWhezaZP)Ke7-`GTHRmF`< zJ(r_e6^o0Wq1dDD?H(18XG}5-P|vlOl(=Y}v90@f$EsEW8+slhp`R ze0R>)-u9d7F|R8RHiLIe!(GN3Vv5Q*r}+vCK5C$;PIS&&Lf=bn_vDjqd?(ByWQFCc zKJ$IwgXDa_~2n}<1}SNAwOHk)_rV=-;oSB5G?w?MP9 zpZf0jnYf;&X&D)3ksXPo2-rsvb1o!as^Rqz$A$nzY7(~%LPNB9CstTg| zSjYr3GaK4)nuh(4%CSp5gxbVoQX|TmhF3B(duHX_K?jXW1p&`i1dklOrO?%!@G-GJ z3(6@3T>Vt_%orzP$gT(Jn`W;cpc8XdaUtvtU(C-I?r+xY*-Y?d^4+v&99Q1aFYO@U zkH`u{8bS$zN&V}*WJ4UVjvaRZFoRS?Jim>zEz?Jk_Q#j%96mpsw236b33VBA5godB z5h#!Wspm_}vbz1_-thkm*xDT~E>r0&-Pp-dEG{jLxp5RGU!RAivABJw{p|;wWtg_R zH|J|77;4YqbZE09yUt_6@^64aD!4Qt4t|IMyGRfSgcxuE4?*?wHRC-#+LLim8Z$vY zZ9v`JhYwrR6><7TQk)U8`hPzYwQt{Dkyi-RM%-h#X2!O#mtV`az5Tz)d-J%S^SAH& zn`P{bWh`aivsXxDC;J-NT4*JS3YAv-RuNgF%tR5DYAk6ploHC8q=;5iluF1__w&g7 z&fj@m_jR6s-PiTFANSqkF*9bSzI~SW`+Xe8>v+9h2RVg$U5-vxP@lfX+XU2n%c-U5a+^d>#1Z6@3yz+? z+hxq0C>@a;DK@@+IMFebo|Mj$jeq@l-SDAEEotujof+8=0!=em_Q4I#yjd!)MnID? zLxF=VD8XVosAXI7S5gTf3J9rzG=urc<8qoLG6vBLdM-s@z!p~~7fB4@=!|>r+kVoX zV-o@u`|b6x$Rb1La~or=N54w|cL8cJ?Oc*F$4~nN*;J)a4?%wRbr{MBhdi9OcPumq zi^TatjsC0xS?eDBNI(#sA?(eJVkhq;p6Fh&T#PJh9-9Rb(ar_^WP}8TP6We5fM2Fi z<#r7*8V{{s` zc@WUYAG~t;)l`yxAOxzXGr#}o2L8vemBUbnrOgi-fQ{`?PH>mf_+!8JTu)vKhZXau z`dB^920#RE3|1#*LV(;M{aFG`d74|zVE_nqW}>AppGE~DHO?PX_ls}U08U^oB$IKM zaal6x7JBLgp5B*?_!^-HQMZLWI`$lol3$^^@#aBF`j2} zA7X`)Ag9u7kfBNkHG%`#?R4u~Qj(N1RE-&=D#=Xd}HoAiXqlp5B zLefJ;bMBfB`5vdV&`Kea7CI-HrRaaDqZd`tXcVNH-}R5wagp(rzsNg9Z6mZj+)90L zsRBB>VC+_Uz2z{-Wjyj7*f#N?Q$FX+*rU01Zjf-~WaUb?LOA}g2E^A5uAIU>Dk{qM z)o3lP-_tD@7dezR@KXKJ-<^Zu2`U9r`N@#r@iQN8>8olJ&SDlm0*S-T{4oI9`r1}8=lKFJMWw3c*!PlFAW8<3iO5*rp&l-&pp&kCj z+J$%H@l&1yd^f4e?snbaTk+4j7#24vEJK5|o)~-1hZCVIym(XKD7g+n7pp7G7UyIx zq6QMGKmE@EY3I(J3kRYNP+3dX8hEg^d+zBagdQ;B`V$~o30t4noDZ9IO3)J$SCwQ>3BlK$BzkyQ6{)TrhSdE`Xc> z_`_^tODf#Hmp2ktTy0HRt)vYK4pL`C;BrN2Cmz?3kjpQz@OROnxKqH)JHwMqdAXs- zl)u=*0>oPI&L*UGxSAbsTuBlTcrz4w-fgZC>E(Rl&KK!4Sf70z)uRf{wrOUI!mw0l ze*y6HFsQ zLQ7g3h+4$k(WkX0kLN7b&?Hl6_vb+W^-&qZ@&;Z`Z*e@EuEHOkclQf9(vfkK?qOkJ z>bYV3cB%N-B^TOXlx`C!4A2;rqId|4>L2T%;L#wkAIi($5XX`K>CVXQBqC#a6VQy5 zgqFbU<|3e5onCt`g@n+Lsi!~}`#T|ky}uhcr?A>}hr?ldLWeL?fIbm2JF)7+hu7?P z_JmT$(@)50TynKqrj<^U2hvbfegS7=x2oDa8fII{hwv)U^fjUb=566Zg>G>eqoL3>P#9vYLqB&K-!=s)SDfxb9}&fo7nCd z(}|oZ|3amzL^N(m;4S1nfstb2errXxmxF`UJ6k@Ex?#U-ku+{!xL&!NZFxKYh}B zSzYz%)19oW6*D3_6{GD9UYG%_d;ys)x5!ku8R?;v-UCkSxnpNBpGK@%@JtL4Xp{AT zc6Q<3!x^bBN4k>}1ivy7_}YFqQesc9slZ8%Tej3Y@zj>1;Z7c4)`&7q|4*x*bwx#B#rYlWM0`_&_EQZUqsA}p)a0muQ49rnc zUd%vgQVZexQZO}X(V~EVOh{erpH1PkXkF-%u&yNbq@DFw;)FqtxYyIOfD{-}=73(t zUBfP(=@|I6z^^omh@d!U@C)YB!K#}$M;0Y6tf`5r4>&*5!^km zXa4NFp8NOr0x2Tlpym$vc-wFH?`2K2!gT{4ozFd>n$cLdpkHVQA6C8CgPSe4qZDxb z@OrEII<0HjWlsP*KoeCG6WNl%UjugKM8Up}dto;Hd+Dp#6({zePBD3(oq4Z|8am`{85^i!)YqkV9Fkbc$2En|_WZY+Mfmz3`N-jZHTd6h_F zA4Pq0_%0r0Sbd=^yY=?7oqzO}*tnZI#lmbQkk)Aqv7K1OchA;vI;9h^AW=0$@8XN! zDgogctaXYekgf;2Ak6_kHATeYhE zzQd2R*RA&vq-0cuaIrRRl6i|mT}J;2n9^8UW$kudXhQ6TUX zJMJ}~C!?eJ*PN*K<7%!sdtVn#4W!}(4l5ZN67c9D2b^<8uN}XJ?VGLCK3BDQuVGz{ ztiDVw{zgIB>{2Kz=a8~)f#msL{9zPb}3REV?mX zL_)Ej5QFaMQ2GshH#L3e|1U1UoRep>)joaxTtp*SCPt8!pVVIhQIo3P6p8~eR5m+8 zumm`cseDUCx+_bZ6I+(F@C?v)fdp~jf5_fHw^5|ODlG=*!2@L^k5z;IF{HQ6C8A=Kznp2Dp>YX7i z^BH1rk|GGe%>zstRIGpv7X0!_rTEQ>ikv?G6Nvsi;l|CIJLh&749A7R3^#dh@LU?& zj%+tfTqO>T`hqJIGyoi_rli+!6_=@#1%6}SV6iIJk1@41--H<$^(yH}-JhW&NM!~u zh=6jNys|R;M_b#GqhypXBzw_HFxq@zn(C`b-@9njy5w8%`wp>MjlWMznkI|(y49EK z8N57!hwalsl{mC$?dEa!=w?WZt z{AYX|hY z=RURu{Sf^uMyxMc?u-4|i$mM4a)n=&4io*r(I8 zl_~;)KXoy1)bfW=*qDEE$ww6m0&_;pNZG*vy3(oV5ka%m3$ZAMM+>i7kScYK;|G%z1QqP<&TJYbo^!9;V^wMi+h*X5R{n$@6 z0~@D#e(#R7e!c~TmVfREi6#+HLrMxBSrG49Dl(#D$0P3vwL*L*wNW6ssg4SrH7TYE zE%ju42a?3O?MYCpgNJ9U;CDX2alNFI@@dr7)R!$3C@#(rNc+Z{Gngyl)tSH8f|;!J zgOT4t^%%CM|J3q|5W>LPBy-1F$%YWn&|G6r)}NM*(z306@KOz5vm_=dSHmm+UZ z&fDY}KCp%tj8IpLxB0OqV^1~*(ll~#(bga$SJ-;F;R4_uQUCHpBs4G&AbT%7qIidm zIDDG!OaNnP@-r4b&$-f$EM!oIUx1(liW%p!#c%DslaF2L7Z*PZxd$6((F}e19BqI0 z{lY7AJuxlYX&BaT#E9QkL>FZ(dvD-_Um<=KaiurL?KKQ5Vjt7miT`kNj&y8jH7>1|pb0PP%>?z=t#Y{i1V@zM~=S9***&D8oET4+$hB zyXPn_rI8IF_x9YJZtZdx(}(AvjG zAg9kumoA08es0iYF zfIgHkmnW3`21GY8P!Ye~wCUx4wX({sy;X0PjjY};Yy|0c@wf8!hat86^Dq3D^=hPs z|KIuFxly1n8}KZtcY%mk({uFb8xxALQfQ6l0d7v@gkst@_ERU`+0>(E?%A?~ZVfZ- z+wxQ_R~y;a-{J6*R7t#nsPe+1Rdr}s&Be7>OlXP5VbNOqux7I91Y8-~_XZi<@L_xE!d3`+Hi8mmb7}TnQ5#e3|Csc?O>S8+t!Ju0#2!8w z6<MHO+79R*Gnh7-^WYwpovatm$oluIxb;2t$>3`Y4zR zEyjw_OW3(Zo--9M(DY%;Awi|PQ5)d%2OvNf^g>>=y$35*7vYOVUj>Q6EO6OwE*~E? zyEbc2{KbFzVlNDH7<;<61!)jab2Wy8lxK5f6bVg&9pvyPFvW#AwUfpBI8pv3aL97)_4RZ)+<4z}HQH={>xSvqSZz0!J z(2rYw&H4dgiqV#DhR5VBeLo$O5+{rnl4V+7RqDT)=DeRFa!r7FrRy{$m|N0`7#~1D z8v5f3dGWg5bgSkfxeXFZIh06nT!gN^6_xbr@_=XwmEwpe!Hd!>C5;IsY2 zU2^!IM~s_)xC0;9N-Db$Eh-@Lj$=DG5&!&Vr*{yOa7%U zm8j5yUDpE-rZiS@C&fBJyin5WW$jv1ZNc7cIRTyy`NhtKn*qXMyr~|ryEf(;l>yyV z@Sb|G$u_=w?u{dB|0JWJCy!u3h&h~ys=!#y+8Nez6f3WqayPJMH`>&o@(U*F`Ywv;(3NuY1MA4;}-KiUe+XcI~BaVh-RWq^H zzbey$=_|Mczq68V)1GI0KA~xGE}O7eS0OuA^hSQr4@B}D1x3m+W8E;Dm0R@Po)tBk zALVp&VXr$kxN@H&9D3(9Ms_Tq8bonYD+6eOsH7q~^8A-9xTn9!OFI;$N;hl#y z>@w9f?4wZ$+@@!Cq=*{nV&@0k43!IY=^yEqyxLaMNzg0a z=jmz2iqd&fjFRlg$id4Z8UWu?95tGNA&_c7ivnh{A$BQ9&>8QMCQ~ zxqjMrN$>E*6{@>JEK9ir4rF)W2614T^14Pf$8;J$Z7NW9nS!wsF&7KTC6h zemi8YdSEl%`;|u_XIT6W^QFO!ISEoqRGumBzwCPZHh?~*Oq3x=3)C#aba59#z*DW6;)Ajn@ZZtQs*|sxR1lF zH70vlw~O7Yk8R+`EHjT#9TI^5iO{bS%$b{-5e{amUhFn8 zb@XYn{}hwSIS)u|_~Q7N7Ukp5!xN5dvx--B(M+Ckv+L-MjbXd9Cd4+4=A`H+nRGPF z=)LCDpEc?Ln#={;Ta8oL9y%zuN${UZQeJAqSVd{3!~X^yYA@=3SqJceQXWK7<+knG zbuMYMK&R4rM89IeN@F8681`OcAc?E;3}EF$lo~Jp(sufE=~0(C?qar0>eaSm$Md}v z>tDs(yhn0cG;e;E^F(YM#iLnv?8=pAitnvKR>DzS zgnQi7i|Nd)6kE6>H+opaUZ8n(8IKRMA4hZ@9 zVx@(}v9i3vw{OpP4)XEw(T?wr|JJ}K!<*k7$Ki>a@x|;pyH0Jo-h7jcNPG4Q980ItjzFWD?c4FjWQ7KtorP7t)(Ixl=w z==4Kp;{|dsa*P$Q$l^`ypK2M;)c;6AgKICxqnT$cJy%M;^Ru6fxDvW;5#7x`UQ=~+ zlnqui|EKA<*r=<)zdL@Or(gy3AW>SVQ-ku%Q@B+e!3%h}@W212wj~%X)^WOqRGO5{ zhA}yu1GD4qY+YmX(kJb}MAC3j;b}m#h)LLiqny87?yX4F{alcu=LvF_{X$?uC;b6d(|}%kA)Gg9-1rQ682eTFYUk!KZU}zGo4rlWP~ZZj z1#OuN(R;1WO6&jVsP(^VKiO(f@+aTN_CgTi@OQ>1g*LOYJNfvN8=KbBK>y=o$?SFU zs=Q@!z{b2~(NT4-dKlI;DNY)=a+?9^%ruUivbW8BU(Ew_Wx;p%%?-*UQzY`ti?W6k z))g-~Y3_EkPO;FVyEgoe9r}dt>ls{2Df&k6Z*Dli`kzms5>Zkdc*5fZQG%PAP9^057k`#(4E-O zfBy@Wz~p@EV{EZGvxclDHJ}IP1NTnG=-^>i!$;hSvxKcimzG}ZkT76dq~~B)zJ)G9f46?57$Vw&Cn6+jcs8{Bfd&w24L$cG(Al*)>HK2dhjcCa zhwEzV@|pplgbl`0hlZoN==`r7_G#H3xijQ$de?UEx4@8$INircmxK2a2yD7~JsylH zXMfs=D?doO@MQ1w<8w^&CaTGMJHV{ll=|DoZ~loJoQaf3YNRV?VBnd%Q}w;(&K`R? z5UtIWD`DG6D zM`)-1u&?LyNa>g5A$lXKba=tib}RZ?Zl@oX5%6fWPnDnTF%9QW0~ejYNst7P)obG} z2o_B&-ZY)JvFT-UvRLYWWCR}8_e4D)R~;;CEc2JS7H>%hZ6X}O?~F^Xw1`?WTsb{F z-SUdg+KM^;<4%K48e3QdU7F`hJ8XH@rS2yxs@0N9?0O_b(&ndswa?$*Up?XrvF8l& zCRp`Ub-6?5jab0s>^kjGmK`NF<&-qD z{l|5Ijgv8Yd-w4_LNp&;w2tqglfTJe%L$hd>IL!km;M$yMrF^wX_=!BbZa&_{^7%s zw`*wuV8C%t*Qj#NkNZt~Bpgm|x3WA{gJ#9Rfh8B3ghBCzmC8M1r(C#qtv+F9K&=;c zR=~0;Iz1GiC~tsPTr8ceU&R2#G$+NCJTJu!W_(|5ZGF`uhA%lg$Ecer*=}w~7N8kl zTQlZhWa!==HpjC_QWqU)(QL4aYpeMq>nEr6ynitAs(5NZXGh1P%bp??o5@kdOwI>O z45H}F#(y~WfI32@OD$oLvqu$36q!&$iA-16=vCx3^-j~y{um7wv{1)$ z+0vye*RP+)8|NslXZvj8SWE*s8#3?rkLOd^AtO(kuU|P+f5$0LH}Wl*3w>#P5WrPD zXAZv-n!Rq|`3rx|+rI$IgQ;N|D4b4oaP4y2`gW9kqX%rS!J6d`(SDmeo!XOR()0xr z<~|T7QA6Q?&=%A6MrcL+Ty}5!qVJmm{j2|-(&ypZ0qO@nnPYdYnc*NUYcsQ*@Rx$; z9YsXAapRv6r53I+#h=EE8l^aIr~ynsEpn{uP$0Fxs16V(bR?D3oui})@nuPF|1H>JHu%&Z9RIikYynztt1l_ z$ldLGUN^Lad&q7V5{{rHxSwj>kG4x^0tr+#q4aTRt{MJArX%pA5#Gp$9LJxQjQnlb6gq?k1% zM$&^5qzCg8ap2^solha{X3m}pdUl`FCK;EOP38s`mkeJ_U}XT~z$Q1@hM+G@yS;69 zAX}ag>j$&1?L1%MK#WeBvv>b5fQ6!i2QHkI*}V6)?@t>(B%MKkb=#>db{ZNZ&JrKe ziwD3(K2^a;$=GtzPoFSX+x7cs8O{sk{CSLHq-~y9I3{b=(9KRMx2IzNcPlhtM6h2V zSQN+4ZiKfVXdZd{`K5wk`Ft8*x-4UqZtjf>{@r@`Ww4oL3I~^!vg=ndmqZf<{uEFF zlIPcFyvuGn96}yI*$+k}Qzhn&t4>&5Ez}&2Jl>#qnvo(v(5iH9H4o@W2e##N=IKT3 zVm4&f^cgeMmY1csYnbV(`_-B%@+_24Fpv}EOqAdE!9A{{;DRq{6PM-R4e>c^1k0m4 zjKgg7YFWdH~e*lw4YY{jW7Q?j^8nHh30(&X>F zXmy0?M+i3cepOc9hqMc-y}+LThVlbMS0Ty>IGUx!h{m z+@SMwcICb|O`SP?uI-_-nklcEXw68~IoJ4ZRO};PTV>mY?J5$L|MXK%XWRiB6<4F(aayRnJjpj*@}{sm>WIbYZ?=3AcN#xIRgI}o0tdFYs^mL z-8ZnO?f4BdqYniye&0=`AA z+{p3xsWJ=>MS;D31}zV}Q@NWpUxs}?FsdaJCLWka7k&N|!c!9F0k+2$KW2ha;97Ar zBjdAIMytVlzUb=edVVRJDznlBm7>CdW`F#BIj4n8>n2EJAn8WIhQk6(z@S}y(6)KA|}J@dVh<@P3~ ztyZG%v63EIMw7j_o%tN9J^j^|lEF+htlHLca;XMP8Idy%eLE~)36Ay<0XzXB!zVs| z;A#|q*!z7{Ip(Sw9EQ;^cI}yNsH)Vz)w!6y8-xbL$?TEvsw!Z zieV4iz21Eg;exn)@7bfRKfK|WH-Y}wfBq|fudiEgJ{;k?uY|2!37}csSMJUKG{nwk zW!>PhpFcHf7(Rvn`kBuE+3~w2=4o8h&#y*-4bJ>;{WXnjaHj>BU-57icQzl3AB1Ji z!MYoE!AvpPz+}i<1(%th3h1(rR9S#`F(koTZsKmAet<-`Ow~cu_FEn3LJC2y%r5SL zeU6e)J2=|~M+TrRym6ZT3#Rd_J8M$@6H8uJH~ZDw$sE)})Jf!B1+!daBlE(l290~gB!b`wv#sC^pau^w;1KE*L` zOWKQet!)-5%X`gLkQoWVp69XU^&vNf43$9pmt0O`&r6LFL@*RhPtD@y;gO-N&c8rG z(*fvNoZ$iD7|H(0E4RJ36X323c5~x%ir3=sBg+)3zWpMo^%loTOhF{H#>Ej!z>bo5 zz8-eef5!5eNl8UFx*Wc1`q4!1;t@(>JI+e00`{?$&lp6)1dP~Kr={~(Tb<^H2S`u! zT% zLpB}OrgfANV_M)7InR61w0Uz;DgI-il@)v&bR5B6y_LeUXMy3E!#?VIH1@@W|ZB>>Uy8?4pWeWia9YY*Hs27z^=&t1Se*bkp#2b|-)qnsf!(_ez;wLd1Ad_>f{qgzz zS0A!FWPjG3M?>G|yDDZd&uo_E7eiSSIh*NVEL!5QNGohWKh3t#i* zCjweA{kobtv-D&3*cgPJjypvX$`7M!(rCZGAw*x2_@nEh8geS5%E*MJKyxzY!>wjA zn#Tg1YPYV)8Q-(#AF4Mwcw7C6T_(x34h$%wWItfH6(>NRB!sa6 zco9u|>3Ez$*&&Gl=>CiT_Bj1ZlbE-UsI`%_J9s^_PmfLyjU!XQdO}9*qHW`|hTsU{ z4u%qNpK4GLSPDoiwjPoe%se{iE^V+;6toH)7j@ndxHl&u@^bV`ku0>56GtZ9$oK$; zmB3dO7P4b-Bf($=`==C>3#VlvrXKjZ_u?x}2G~ZBr2@jdrADCS#^vV}hpn=VKe)>i zBGxJk+Hxhs&;*e{ok-csD1V}H_)-$0p}c~#bWl8$M>NIwo0y)={#L@-VC2_b6m+Xb z`m%7=wyhL@mGkk@+)mxNJplE=j*QjR%Tt31W$7)+e?Of^xy5P{{oG z+qcE*QM%OZ!4WCqB8yQ2f*@o2&fL%Z`3DVLh$_;-B$Li}7)*w5>rud!+pjwubjf=w z=+)&hIdq+@0%{>8Fd9xtPIU?$@$sSp$U4#qo&f>p56(&Xwa|xU_wvR()Y+3*>xui+ zF`F~xE&sfw(8p#al8ZD?x`-m<6eywiRtBvIb?K|Xq5)aFtkVWF>IGZZ3cwyENXF*`j-?fUwP!F$Ds69n^|2Azv2;fDFu2h)pZCP$aL5 zHukzDM#7L7wo;)Wb_GgNh{hMnval~!P!jhIM{w&n<4k4b|d@XZ8lP$ z7Rd<_2{V`ui&JH@6Weh;qBFm8&?TcwOVvbQj3#wke7u`q)}KoU=@?(8h&eURCJkAof6?=)U3=5}M-KQfXkIsy0oGC=(io%MQDlDIP2>0FpYfx> z@*tT73HiQoivx8LoBhG_=efkndg_Ol1HUGR`*8^VLSI1^hsmO_-Mbr!4He&UD={&# zqZUl+angz=s#5N!v@luADajAY1g2|aTU+-b+x6?; z{n*&%AI+GCA!CIog>FqhRD+X`G^04&k72|6n>)u_Imd`Rp}g!Wp3F_;8@D-px03xI zjQ++EKD;il{C==1F&$L%%VSgZ6A^tLVpk%(+v1we50tzl>h5H7EnDpisA?Xv>Rd_^XE~D(KD?ePTbEUAt&b zg5Z9C=*??S3a?}|SC4NObnaZIBna09?0vDB1qiZ3^#>_${p?5WZ5DBs+(Cv)2Y)1E z;|SROIe&pfwMqkhRp`EqAlcw~Y13N2>|5ch0u2k!*XYfyO%3qS-d*9)m@5?+VsyA6(rduL&=Kjy0Ak1G!4 zi5(pI%QFwMhD^|cq$ZxpJZULG09tjSb!jIJtvEyJBT`sMW6HgD)yKv!BlNV|q>*8v zZt)Fq)algeMA4Q@dTX!VsF(~59=~o6wWj40ZCv7yAL)1{)9Pkzl@n*o!U%!52NQu2>X}8v`r=6`!xjTl=TW;1T8ldl8joZ35gGxq~gm25u z&z}Ma08V2O_tgH!mE^Ctw!AO7pEeRbp93rt!I)_J$P(ouMbv4sFMLlx%8R|4J$h^f zgp!ft1Sr%e5h{C~!nCxsUOwygtMxgKG+}Kc!_Rkm>9~nhaBlI*u}+(>R<#N{GUBne z=DJ@RHDZ#?1ewRqw4(=Xj@1AYSJgk~{pdxl`l#JXDh4&NSS`g(OPSQiq{E9#tsOF~ zzpRSPL`;(U#49!fSDv`Mq5kA9(qxJnQugMJ&65j%;mR~@bH86aZiJoQax`P)dXm(m z(pRPB>F1E!Wc0?j6WGU@SJ(Nf-Ox#BO_?cDcsijR8^D;uj1wA@ebL@{p!W*fZ4VC* zr;0cTU6%~p8i@@Bu{brqS!=C#9r8)|q8ZDu5%voh6?l$V16O6Uhz)ra|ixmJ6XSF)K@@d)Dx< z6>FYf?os=r%CuF>5SI7L;3W_3g=esaQ%rP~h zRlF5=wJpXZoR;rG*BEBSoWLXLGPR13J0Nz;v^Oa>pu!CP@aRZS`zL?_;=D)+5JZYP z!TiwRUcKs%A0Ka3fJYBa*rvECt369@-n1zU!hsp<44D=VdGxn0@sDCjFx0=Mv5KhJ zX_YpSZU?OS;p<!HO}tE(irr?MTVmrmyqzCKJCr()KW~Y#(@{r{J_JZz@a%lrf@qD-LqB zFa9!*ToC8%NRD=kJfWIV5bKxLLXH(3jLaJrniJWhW1JgnL9ea|*S;xZqZTdlc^P$S z#6h7<(iN^;l*1dl2f;^}1T>U-Fy@ehH6!#s@LESCs@TilG>>F3v<{g#b9Me+7w^TI zBL%qw#wmUx{GMx_C)&o!@LDXUgwsc6hsR3KQKOFcn7k{0X&iN;bS1boFjA^{>zk1g@DP7hw>pf2~MJ&(Wj!ju=(J6 znSn7PQs|UCJFx0~mS)oU1|nu5)936@q$E;0jspa6*!@ku98fw&C(KZNkwkWOmj)ucZS|kwxsrS` zrlCm9cdOLfR>u$z=jYm{VI zs6bm4%MFMAbXxsDx~w=cK1YB#>j%0_-Xyv1ICjf$)~F0p5g!z>i1=;b=G!+ogN2DI zl4HyPx)FaKMbsKO@m!`D(`8*TAAqK z?Y(Ny2%CPT8Q-SmyLunr(4HgwzIo-?k|p^yzqiJVyk{%YLd${`1{q-{_5t2~TWv21 z+j;n~?$w4x&2BNr=iDRr+zkRnGAPgpIH$fH;!TRNA#aCGnbP!>j$+)7x?IRs-Lb-y zmsb%}c(~Vc9Q>wvb$)Z&{*~(6IuNU3C*PUvqi}BgA3#>ch6VLL{Qm**%I+n?a)D(R zE}57;9)#KTvD1wF8uR}S1>2b8i#eqXH(`IpgcJ>37O?}qVBT}6AJpPSOB{OI)(3eK zsEZ+S1C5GRI7)D%`5mZ+nz!g`iHPTDjUYV|z}V`*dT5WN;+>L6f}|UC&Dwz0$NK1( z-_lQi3Rh4B<)W(1Og)CJCY-bE&9SWZTt16}^~mejuRGt%A6YXd%8fZ_0Hon#KI4kz z3*9B#=6f~15sMk60fc7r#J0N1u#I;#Q|(9|8p&x(q=aOsTQT$)X_!n)ct13V%`h@_ z6Fp#l7!`&&$a(9{8 zs??s&9^d!y-7lS?@YaKg7C=dV&Dqd8H*Fq)@utOvv?*|gnnre6BKW1X(r!~i}~Xx-!ZF!Jo4`WF)* z>fgj1Qe=c6S9#2fiq6|oX8Q4URcU?=bA(MXGFB%%vBBBW@zy)zuF%R0HHI6@Yvmf!@OwLm(dP>G;|j6);PhNPlO9 zbvvM4(YVfw!^pY3A^h{Xp$N-;KO>ETT^HCxix#Pw3eZGNv_wLbtNSI_00EQ&e zx!J!zfQPf$4D@L!j%uuF*~qebSTHiT06qn5F_nW_o>jz=H{nTLHHwdqbs9+{3YO-B z^XmzYGDivMk6{1JVXb+ZgpP@2`bZ_;CAJZgg%h?%d|$qqd;k5mJNo+ zNhmXS@hq7LB=H6Ls7%Mf=|(K3z$I-;v$eksB%lFs zJiq-8X`W~6Ce#D%2I_fmr}P-6vf<8SxB+Ec27r>G*SpLpX_+x7lZTklBaT!2Zex}u zP*vZoG;W~9(vW8><{oI{{f^_7$tgAm_y=Uezyy_bLTS+kUIvd@B>4_N_V2sidv9@yWrkZm4_iED7{EA5ws(Hp z{2Gm(*FL9#eWN@bEwCSW2W-N9fjtV?0#TSxf&~;%e-n2^n{u^!M?F8V8$FqiZihnz~aN{Lnt*-cJ+l`H3d3(cu z0H5@1cpLiWHc&XhoryVHNs&ADS_G~oMVGiuF|7l`#KTgky?_6J`t>d?G$u@sVIx`q zVc$7+i^76h|0c`polZj;SH?nRnC5C~Th59?CVi{xjD5;zA+}llVaN+*TNpaMzhae< zg0DKK)B<{}3Sj;dDA99icXQUz*aoJ3U1;2Rn~aV6TS$g$68;3`{x(#&NF+(HFx~fxAZmw~* zhDgNu#LVL4b>Bf8gP1#w1JuLm^+YTH0r~@^vzHr9SI@O=8_#J@EiuvyQn95+j9W>_ zHIGV&+~N{Lft%8C?@}aRQjL;qNm);wsN+QHnEI*f{gNyA*)>#f&W|{B6tsLL?-SP6 zQ|r98r~vZ1I+aEh$%~?w6Ubp0b$ww^+g?A5-QJ;H7L-5LoyR=v>9c1KPnCF2kmzV+ ztHi{)BYBg)3BDM2yq?T6;$#r(N71>XpOAr9;Ke#8E)A{V_!!>Co&7Ls%or2(6AF*h z!-$(BeIN8+uMTDC1DRHR9T(1Hq~?!@gtC|dh9rMizqazPZP|uBC&NAw;SPm1XU2Gn ze45QoO}+FM)|=nEc2TH)ClWt`EO9)M%$dj7x?Q`CS({!3A4my_`M5vI`{2Qqz0WG3 z&dR_)FqTPvx#QW(si~ ztcB-&6k)Mp2pTR>$!)D2G_~{Ax>?_?_Ffusp}WSTLbUO{GrQXjcyYzdc14E?IJ7~s zzhm>$FHy_u)b&sMb*%aLgU~9;iq}Yy4L)!kkVz5nfkBC&uTsGOdTMrI1x}@aq?93G6VWvg(L{~k9~#g0^8@B zN}{c%C%k6idqQ;tvfFxJbv|iD;n+1s`Ku0Jaas+Bh7-)3eGZ%9*LLlE20PjeEwG4h z+;Q#IR~IhjlL1ApNGka{rK#z>T(culpBz8mIMC4HU3ij1;R%bSRLK-S#1BSJKnIA= z5+5SOZek!u&Z>Us3Tb;jHgY#Eu1h;PV!ybEa0o4=|7vw0jbXs!89@zRr~KsbRx6e5 z1^och;GmB=w&~K9w^K?zoic92E=hI?L7j@mD(mzLej^R~;hV4B4*`s+-~km?J8G%o z>q_=Y-u24HAj5X^=G5|g>ZU_B*WTAi>v(s(JEz0T%R@L1Otu``lkb^m{Dxwd^&+Jm z{Y$!@H%-;UNz1JYPMv07hd|7E+0YqA*%f-cocq_o z>ZJW^r%s!eS6n<3bZ+amzfB^=Xc#E*2z5_+wq0809H$|xqxRN{91l*Cj6bwKTj)7% zR>ZS=u}{(tQE*_D)f@)2rKZ8R&VwEmPn@@)7WdaFFsD0 zQsMuzL3a}+jK!r`Qf@W6f)GMA6g=CsC(D=6hZLg{fz6>v*x}kQW>c&St7}Trt)a0V zlm-S979PjBI4L+-WVSk`hUR9o`<}$FJO+^g{7N%k>LKztQEie|WEl<}fVx9`OyROH z4R0H!3E_oH$s}aVAC}J~qLFBVV4~aHz9Dv75Np99)j}N&!{U=~i}G7!%v_d=?*T%S53rQc4QMsxfApl#&S-fmVCO+DA zakDPlLvb}<*ODs;Q;-f}ku>e@Py+oYp!d#?Bb$a6_N^fs6@e~wGve_p-?DAd zF6z{WJ9L~*t-yeY5pKf?LRp>IqU~iKs|Z7Q2Tz}`8?$!Wo0ynmRGcZ|s}0dvra6Gk z=aKDYSe#29`^P^8HsoWjHuLno<&!UR#yP$)yG#~>)1Y*Tq-8ExDqU;x^1F8WVAaAU zB&LUBHHVQ9xb82)$@M$rb}(wzYZ9Ck=od0UfIcs?ffyp|m}N9u>6LTk93j3kdIg&h zak~{9!=2>m(DCERGIiS2b)sw0X?wAqUjJnamG&G)&98lza4Mr@XvO6L|3+!=vFo#jQ-|I)Wpchh}+rdXD&-G6gA2!A~R0~xjwQQ zDTCVE57AFX!+SZ?N~GoZhZc?w%_d@ZB*vIR#=fKM%wbc=SsO?SvDpkZ&@!QRA@&tp z0J@4X-%6wJmQ;$Q>T8?BC=GXfOJ19!YA(9L1FUJ5+Q~BjQdrZCaf*wD21H#`wx| z$9(T;5o4eIFR)`($FOhDxnVgIxOhTxOuu#Q8vqFh1r?1oFj3Q_u*O5=>Wb1_L*}5~ zBr8dC`_*U6vH!q(UF^rFybM|tE$~sX^^j+St4-K%py%y2cI^2%gcd^f2Gfx26D8B^ z(y1%md*00?qCdx2hyeAcRc4!qMJKagRH+=>Gre?8gV&R%*R{Z=OzAAs(S*lNs@Jf~ zOfT76lsqy-sOji--n+N`{|NPk{*ml*NB^Oc{NeN%;sQ+&8TMy|pRB$8=jg}cIE^A< zxR>CY1o6`AuXt|c&jkF$E*YCb=qqjIhopOC_Cq(*5(i93lJv?BIF z_R8=LAXG!(JHMDHz@;gV1hHkGsN9HisHkuuQ6ktW!n>VL>OJ)Kt=bX_3)9 z^r&FVvne7d?I;s4Fx2X+n|iMc_DL1Ys$al&id8VVcOrs^cPTO_ly9%#H@_(@1+3X5 zTqz0|M@x;-qfd$sn@|DswAoG2B1cH|j(MJ%fKD^~Lf4`}qho79P@-ceG$NkX)eFz% zPKcHHB*RK)sICM+r9V}8VXQEE9Y3sT`)ljg-i?;ZoE>DOD5*hA+oE|3@c>+f6e@xu zDh6?@fIug+%_x&KQ(UM~g#5s3SAz#2KH!|mwzK=cN`cB%$8W;0S;&$EIpO~kR#eP* z)}GICi+t~O`_?TF)o{+9!jNmPa^axFd@a5hQ}eY1J}JD|_0d(0$wZRz2N9PImQ^8{ z<2$ILNnZ>d-ZT`^7y70dU{IcCO^>n|@wHzM=<_#EOi(6KA8_j5GLI~{@PIOgO%b)F zD%d8~Jd#}E9;bhW^Ex_BcR|(88^w>q!tN#vM;f+~=zs(6ljn(~gkp|yr5?hhk|2KV z)t3DLK-$+-fjxV+8d=9badfY)uIB7&)m>u&Ias)r8F)DYoZlhz!BeeI`=LHz=m1{} zN2w9)d~qwAerGHjoRy{zsb$LMYI)?mqIXBDjlix84d?TGF3p^=a}SpQoMMD zUEvzp6Vg=Y@hbQ&PvD43V1zSX&(zD|qJES*jopUon*E7~lfBACPr&b0W4;lX#fkUj zAP5TStD7VkVJ9rX3l8i#;=iM{#`u3zo}{y^BxMCrPTU0VREeiLk3|e8XbE<&wAes0 z41KP2xwAYJTeruJ>)JO<&=QjvGLFZTMTrQ18y`*$Z903#&ihkVtzLcpr5(foMmK|J z6kK5CN;Ji~KWhY`UmcFV#3a|3WBSS5TjSDtcih64LnOQ7Bdoq5uw_kNqsI zkX5n3aXkU_KupY?2Elqo`j$E8a|jTs4EnzQeq`CAXC;FTZv1I8nCx~6Tl8J%RN#4W z-(VMEfxI90iQTdT+O^x^>zie;f1VtTrSpE0tzT2%i5&!8X<_`q`&03lIM9^{=&)34@%P^QZtnoxBd1@oUrCyMatuFI^7-!g|#5G|MaIPS$fX zdWNl|3d|V8=rXGV)!(2#w`|<_HT26o+85?5dayhOX5C*K7OO+LQueP$4|V}-xd+qY zXVYsSq3Ar$`8ail3}lD%sCGKtRDIQzZEH7R|uD9om?XFQ%()Nhs9DTzT8C4lQOTN5VYZJZBFxqRSq3IQBLMti<>*b%0 zEHRWBIAYlW^%}KYN4Ad`)v#8sr9)bU&wqS)L(c4kzy52&&WIF>{#~S7nPWAf4N*Db z!gVslkUzk?v9+oM&d{#BuK|thH7JXw2j-g9yY@!1w7IWLu&FslL5w(n3c9%n_Y#*U zMcLEYCNi1q-N^gN!O?6sj?=Zl*#+LFig=llR6^-fTCBc3UBm92oma z$fa*`YHKu6!F^{@YPy8VeT?c_1mNPb^x?$hShL7XYP6e{S8_kqmR%+gwF=}Z@CYVj zHNjPYT6Ts$%<;q9F7lq%mHoOE*#8IxIukQzF{w{@ih$#1_&F3|N<#k=w=W4?$wixxO3x7cxrK#-;L8Lru@kR&Y!>D3*K8uyCi*PUkpK7EOZ2}h9G zLRPc8AyhUY$(8eZbHHmE(uKX5%->K#w{O8QA=GU^VFtFGz{3YfCx#Z;o#_eLe}a48 zr9KpWHpnoiy|m}VZd~TuTRrwZC!~7f1)!cCPa@j?95*WxN#^_#4RlevLP(qqWa&WO z+qil21}lki)Ez3^1@dAsqY&bg+$Uip^;w|2vABE34hw<2?_t%n$T9hU75QxLQ}wCv zOmh8!1FMfQwd>k}vJn67JxOU%dLYm^l4n9j5a?E0qu@~9#luqRl?Hu?xj?NsF*H(E zgy{91=O?4ku0s`Kkq>9+fKvTmUcY(c9a2M&M;-Bngeen~15ySnE2n^83X>4*MMEK= z5zQ&tGIj9mA~WPm0wd*9VG8@29iHiFn-%M%$vNI<$dHzY?@j@KV{2T=y4ef2Ra!ma zSp9G$2@O-k>b@gAdFzS~BqLG_5yDjUuU{?~Wfn}XyJRJvcJ%6vL2B=;ZHD7C$~zrn z^=s?u$rK9@rf*Orceh)V2fE{*x2p%)3+-O9-ZoiMwASq?I0*>2+MTpmG<|ZrQ8_9;L@XUd z4aATO*W2nW3kYqDHSo-Iwz${OD9*W)g+-BbR>z;EklpO*=208}Zet#)m7^0yO9x4= z>ywvuc3FXm#?s+x(`RP3jXvNt!6YXllx<8r30&YNVOpz?qMP-L1{~!1N~Fyp+geWS zI-krkpE*+lgpI=g==zV~W7Cga;xWXR)}!O|BuA?I`rj^m`akq*8X>*dpJ=T5^RB1l zkE;VN_H36nG~n4es9SYPEA~wGwEGRaxbuhn15hTL5>(&M3=TQ7 z{h-spx>l`d_g;;QYuLrB?i=`dv%O6$Fl+}tGErYM=`GVEezG4SN35iV-dyCjrC1e$ zkg+|Mi2sw2WO|z4SZT>9Nc6=>j7TeJo%VV(+rn69M=eB<99_Fj-rkhnIjRK%r3i2W zAtjI1sEI`HsAYF2^uNnu8{MRt#V(NpmNTXK1f*v4y#7F4II{+0dLq`%pLA`d_KX+C zM#&}yj?90T-wh#wmO2apvP^R)XB8y`n>O~_(7G#~QmS01wCk+T*(>c+*b_*C7;wu} z*3RtW%oH&Lj;Tl)`0?$d?O;gZ3=9uxjedsvbAPh_BmZof3hn~Yj8sCX{BYiT3XcMK zCQa`u(OiC7+GXG<3-Iizx94YpS8@0!y1$iHi0Cw+TOKEaq^{`C@{{S~q5A*CBZ1~1 z=8!&IckkI=7N__3f0jz*(m~QZCzGKbz>;YdI0;BJf=EjrI%i^@AQzII5Nc z&c;DE-`0r~^XJxa!E(EUn$RerV}8GsBdMSh>;gUx;^7HMa*f{_mhV>J7^Z2Vx$+Ses zA_W1IezhcZq(Qz9WX5Wl%|^Mqg$MuRth;0S*x~YS&!{u?rM}A2q%a4(ajX5IDI;g` zzW}pSLe~-EypFcpt6ao5X&E?M^Oav(r{Bz1Dg@zX0;LoKRBk}Xzk)dlF<|k{M|I0H z`NsrZ_imF;)*B?ho%ONd5z#y!(>nbREViW5aJUFND1A>M1AKMFq3#3DuKWoWxDU|3 zJ`B?Xg^WK2n7CIYCQvkS85ZOJJ{+nT=zhi6xpgqu8qrO=0?pyc3Kew*i+Fk3xDQ5d+k8=H|Jils7e&GD0DnlTBFn{r`eC6`l08pUJ z?0VhL9y(CR5p!%TP6d3+VT>cFudhS-_9`Gt6?Te<6e&@l_01;>qFEg4)H%Fv<>q(z z=Qj_H{n$nUiNwb#*i@nDwsppoiHiu?dAkb!;eM!{m`&tvj*gAp|Bo8j(fvfz(F*Q0 z$_-#|rTUMYutt#G-cSb-O*^byRCk58{eFJCIB>lG$!yxPWy{1JbthBL>YwP58qJ;O zT`c<4(C=&76PS~)yN&9e-zf2nWkZ!-_d{ls)djzce_A+Y*RAWmQMF@TkWNsNwl};u zz;x--D)k4g7L^w1-*-l0DiFUbsNZDpMs@9r=+Cdu7k{hG3wt?eRYrs6`F~6ZKCgQA z;hM`^d+4_@w%IqO>D9>gt2>74znEfkQ>}f1zizq8g=6Y(%wybFuCp4vcjk1RmGkco zd!~r$zj)2B%C>L%_K3)zD_|hex-W1rg;PTKO`ZgR-$a{XGR5!4Hxyg3) z>92`HU4P%T>z9JU!eZFd%4)_tgzB(!=gv*(=lDfu+MWv5Qr&&Khwp>J%14?Xn>TPD z`>RrS#p`d(|C|W-e=+E;{V}e|z2yYO^T_hX!xRcvOXz|IHw-N;i|tE$H{fGF+@7Ln ztZ?@qFl0z+X&e57;)~KJXSox;`s(oi>b{P5ROb^wUl(s_vCMgOHQh4ZE^TZ^rvfFe`+7aO{MQjJyN$afiFL^- z@(kYKj6*5+?k(2Sd)Db(-M3AWZ#y%Y`Oy9Q_SHG$bL7a>x@WObquvCC;`>t=iGdvq z9VSv&(MLW^Y`p-HQMFgE$rO&uV;sWm-;uEViP+}I(W5EDnz!gSPM@l85rltxk5wI) z<3LIH9I*TL@3j0^=v^!;*+y8pNKa&5t8rh>lwQwkxxSVz-fvyIhEg6}H^_Kh?jVFO z>`zO;Uy({bq>DG4Vm#C8`$>5Z8yk$PSC3a|X=(WwNM!`+xGXR_aS?G}iwBOSW@CE0 zo|)OX-hZ>A7=E12!pq+{dK1#bi#Kj8hn7CtFM?M06>{)JK!{}&^Lm>$T|u??dy}?( zryrt*9>E=gf;ipauRb#n_+Tt~`y(uvS%*q*lni-rTrEJi#Erh!$0zw9W`EAfESHlWDePbk-@lf}2{a+RTS9NC|6y>?4@pg$$j9c8IDB{vaMMdHj4LhT8 zK>~t;OA9D*Wmixj2(gn?$h{IpaY0dpD2g-!aY2>_Wh4$!M2OlTU;{4fHlS<@8t3Ms9p2 zEG*202E z=b`Lnqz{)ZUD~>TtmRkPL;{rqZbd$}6j~yrmM~9;+BfK=6vESOd|xuUSJUL7 zqVet5k%x~Rn|7k`-1Rp#v&%F669xYtPeN&Dk$G4BU#6a_ z&mJpwce~;5ckDvh2}sR8I5>;#HpyDYaD)8R?q*}UsRif1Ww3`MkCMuv%{j2kSx@(y zvcZoWKi=@CDtueVvqQ@p30EVfWtsr<_Tq)!{p7GS!Q`boP{1`%*>psT(0~EQHj#4~ z3}-ZVZap}y6n=5Uuwkc>j|nbuW%GNisCf8VgOiqZ4b78^(;oSx56rV)x$@AB8V%gsUp5PfWgnnQ`~ZfS#K+eWP)}1wNRzSyEp#oo%d~%_ZOZr?@`p*+S!#r z?Hg_SWwO&kTuif2I6}R3%y^`{aaQ=v(&r~uyZOZg%)9Ry}2eBG?_&-T{Nm~6?DphdJk=2{hWJWZLMt;83G_bk7 zpZveE+&TWVJGDn7+jd+GsHMY8`&E)ksjyGz@@ z&wZ;1NJr}ED3GJRx}$pZXl7JFO;8<-}T(9@<~^2oIRM!<{E9( z9y$ZWy$RlzU;h>~f8auT$I?RkWkZWvna*I(kZvr(IjT(WP9MQrtkO4#w|uGC3&50V%Z`8|GPT+}t>+v6E(pD|%So;&yPci%198E7n#8#u0BJvGnp z0lh<;4TLpysdp^2HXb*aWY^l{>eG8O0mRvXuO8%|nGf3hkTi@i}Kz z7a@~9P283)ahPg{{CcPK@u2&>i-WLza$jLXxQ0^*vUJ^J59C=2q#t~ zP)ld2O7;3=3&<1*x~i_Ow$=k9sy};n>B1rA@gT$c!0SCRd&9#`8#`H##C*J|Fisok z#mr!lQYthLbBm+`^ci$XielxmWqYNG7cV-nH$8lOI#1QT2y%3A__4b?*m?zJu7s%4 z(6@tgZM?0qmECtuXwK9QI~7#H$*XKjQYa3`#y`N%okm^H(f3( z4>{Sj3`ElMn(*#+QPK714_O*-wher=<9n$)UrTWH*ZtdL-@RD^*|pk5xJ`L@P~XwG z|5Z*-XW_nMukjDumC?L;0V|y}8!xUQr2f>mhZ!ZARJZZQJaz>pnRhB>|;F#3kB(k59eG$p$mg9K@DL;!9I@c?tgI0kVsnjXabQL_-A7 z`i6$~Jel&J+`h#ewqK5YdqH&)oxiBrCdZlG%ME8zbPQ%YktwFw#@mI3M~Ghh{4R9` zVXO%LW;Qhaw1bFCasIqLD;+U*Y{la)VIHk2L;&CPaI3ua+qwYd=Fwr%(a|GDjsI0$ zBax(hP3T7K!l*PH$pyJwLIu=X$QN$7bAJy}Ng9Gbob=L2pX?Wl%{w1%w9u={h-d4; z*q%lz@Z(>Nq;;f+r>7B_l$M8(vu~eGwRG_CP%J-|!I*gL?A5jYqHFD?OHyl!suhl4sgIwo;ie^{kmXSp~1mZA|OkKC8@CG65;RNoCX{#Got_qEI4+xrjGJNI$RQrd}JzESP5f;-t_X%6f&r|7F2KpvU#(5b4jFrJ|5) ziZz(^fEHfr2%|-8n3{1eE6aodMfnN7BqW&Onyv7>kdjh@ET)|#z-MWfqYykcg_Z)FzU3)09Tq z&=e?f^{{zqq1b(vq-svxYA2`ZmX_gedWee0HcX@4Vus!cnINHMB1O?A(? zZ@%db1izEOnD!ky=D}B_w|vrf7tNkI(-AGRGNtJRSKmeBt>m?r7bEjHD5V>SI}uhe zl!y@>N|R1$Bm4KY;CG{wlhZOgyUvF2h=|hb@80@iYp?FEt31+81E9@mvQPmEOQw6$ zhR_kbNNI2R^*z_qEtypckE=OsBy8%Reuwpt1WI-D{lG*uw6lBDZ|IjwLc7$Z?rnPx zRcMY@XiDHjdgeulx4iP{D;G99Nmbsc4vzZ95&kXZanPTO5mGz*awMMwf-a$w?DpgBukMr;7soL*jaCt>sp@frSfZ8IbMtGYo~eOc zhMS8@P6FPF2E1T`b||K#D_0x^>jJNR7Bk8{7HG zDkSj;NC_oDus7|SUuiFsMYBSII|pZ<;U;T$c6y0i%akNlcg*s=xhJ*!ZR%F}_Cka2 z_HZHxd=OFJ>?e_w<{A!620pPR!4Rtm9S{RtK$rAh|Ngu4Ls54Ll@&{sx;%2~dblxy zs<$1B>ot+B1`a9*bwr;Hy-PCP>uJlbTKB z_9LP0XVQUcDNNOHOUlWJ)FM?LPWT1_gk)F~*T*sVt@<)M)yczoj}H`Xd77pV6TD%F zAa-jR<9s?gS_fQlYm4&DjIUe_q6l9`=;)Mxr`k0xs$dHA@o*n5P~G#Pq|+;;FF4TB z$nV)N%?6MAyHSvaMQv)H!xtsjo7vk+P@n0R+Q>%Y?N&6E|IX_ljuZYn-nt%6XczFY z<@XyIUr?eZX%9Q(|o@xx6hDz_#e$B9jX;~QG1r`qFluza=B{2?a9Nn#NJ;( z=P<>@#87UScPsQb4fn)5#BjtxW9G!$lyX_g_74RbHM|J9>Va-6GXBz~IiaLTU0m~E z8?r)d#aFgogdw>R;>n_9JjxRV7c$K*nNe}(FMpZr_vtuI^o&`vYys*eNUO3#eY0PL zp?^$7n7g|NmZXE~<3>d5_r25A=O{H$0CmFLwvn2QG`QB~%UQE%qc!6SfTnke@5MET z4;`8uRd5!~%}R0(k!qi={ZuZ+Lc>rTtJi?aDob;11vP#R>DS*TW0lje z*?`lImZ~aK;%a+x{E_hrg?>$4U4h{b1tnE9o1xg7DZvQO@e z9kgr(mZ54~gzomJbo#`J|4g1GisI8I-L2^rIi?auXdH=+-BV_q#CJ=D`Y&9B76nwJ z9^h+l7$hMKKnNP&UoWJ%=fi_Mr%S%8t2UCF}%T?rj z@SZ8bf*p%Xm>_mc5pBl0uOLa7Weu=vXcf$(^wyTP&_7pKXgXg7y!9@OId#e)y&@UQ zq$ckn94e%cCdqX;SE;wwdNTj01(`Mm@9h~CUK3r{8DwUmv59!pT#;T>K^n>!BjnO1 zt3rWfmzw=@FL??D3CQ|$Cw%S!DX{C6iA@43Z^_k$UH*)_v(TJAJ&EWY?jb+Hl6?~S zpt!iW)(re_vb|cqeEr(B#~JvMqXAJ++T^&Wr=scs?f+nH^`}nFuj?~Gw~*aJ`Pw~% z!6NBFGElH|L~n3^Q6f^XTPJ+6VV~YsSfP_QzYrt|k=qsOphk`uG0no_nks{8ap>D7 z)#~+53?zU+`Xg!QrDGa!K{(k){+EifIY-h%6wkKgTf~R!b=c{2QRPZBiFAF4b2h8f_n9WhMmhIIY-X|ltw|V)t%~@ ztTV3vB<=IsH{M)USXdbSr>*;Gf0&BEp&m(~yZ>|OXujyPRNXE^_IyAJ0=1cU!j?2g zDw&7VRADs`f*!v4#jiv^MjXpnW5LF=y&E`h0)688DQVhOFe^PMKN|(f?K^kcjazV( zQGamQO?y*YmRNQl98Y~w&g9n!w{w}^Ps33nJGg@kDkVU z*L(LWU*HdF@Dx16l!7MyTGIM9sBcF9CxTq#6+CKuujaB>AF(d+`d?sxp1@C4c1mF6951J From 6634e495269b7a8db1d685c2261d5401a676fafd Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Thu, 1 Oct 2020 06:12:15 +0700 Subject: [PATCH 064/129] docs(i18n-id): translate downlevelIteration.md and several config into Indonesia --- .../copy/id/options/downlevelIteration.md | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 packages/tsconfig-reference/copy/id/options/downlevelIteration.md diff --git a/packages/tsconfig-reference/copy/id/options/downlevelIteration.md b/packages/tsconfig-reference/copy/id/options/downlevelIteration.md new file mode 100644 index 000000000000..27576f52d9d1 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/downlevelIteration.md @@ -0,0 +1,75 @@ +--- +display: "Iterasi tingkat bawah" +oneline: "Menghasilkan JavaScript yang lebih sesuai, tetapi sangat rumit untuk objek iterasi" +--- + +Downleveling adalah istilah TypeScript untuk mentranspilasi ke versi JavaScript yang lebih lama. +Saran ini untuk mengaktifkan dukungan implementasi yang lebih akurat tentang bagaimana JavaScript modern melakukan iterasi melalui konsep baru di _runtime_ JavaScript yang lebih lama. + +ECMAScript 6 menambahkan beberapa primitif iterasi baru: loop `for / of` (`for (el of arr)`), Array menyebar (`[a, ...b]`), penyebaran argumen (`fn(...args)`), dan `Symbol.iterator`. +`--downlevelIteration` memungkinkan primitif iterasi ini digunakan secara lebih akurat dalam lingkungan ES5 jika ada implementasi `Symbol.iterator`. + +#### Contoh: Efek pada `for / of` + +Tanpa `downlevelIteration` aktif, loop `for / of` pada objek apa pun diturunkan levelnya menjadi loop `for` tradisional: + +```ts twoslash +// @target: ES5 +// @showEmit +const str = "Hello!"; +for (const s of str) { + console.log(s); +} +``` + +Hal ini sering kali diharapkan orang, tetapi tidak 100% sesuai dengan perilaku ECMAScript 6. +String tertentu, seperti emoji (😜), memiliki `.length` 2 (atau bahkan lebih!), Tetapi harus diiterasi sebagai 1 unit dalam loop `for-of`. +Lihat [postingan blog oleh Jonathan New](https://blog.jonnew.com/posts/poo-dot-length-equals-two) untuk penjelasan yang lebih panjang. + +Jika `downlevelIteration` diaktifkan, TypeScript akan menggunakan fungsi helper yang memeriksa implementasi `Symbol.iterator` (baik native maupun polyfill). +Jika implementasi ini hilang, Anda akan kembali ke iterasi berbasis _indeks_. + +```ts twoslash +// @target: ES5 +// @downlevelIteration +// @showEmit +const str = "Hello!"; +for (const s of str) { + console.log(s); +} +``` + +> > **Note:** enabling `downlevelIteration` does not improve compliance if `Symbol.iterator` is not present in the runtime. + +#### Example: Efek pada Array Menyebar + +ini adalah sebaran array: + +```js +// Make a new array who elements are 1 followed by the elements of arr2 +const arr = [1, ...arr2]; +``` + +Berdasarkan uraian tersebut, sepertinya mudah untuk menurunkan ke ES5: + +```js +// The same, right? +const arr = [1].concat(arr2); +``` + +Namun, ini sangat berbeda dalam kasus tertentu yang jarang terjadi. +Misalnya, jika sebuah array memiliki "lubang" di dalamnya, indeks yang hilang akan membuat properti _own_ jika disebarkan, tetapi tidak akan jika dibuat menggunakan `concat`: + +```js +// Make an array where the '1' element is missing +let missing = [0, , 1]; +let spreaded = [...missing]; +let concated = [].concat(missing); + +// true +"1" in spreaded; +// false +"1" in concated; +``` + +Seperti halnya dengan `for / of`, `downlevelIteration` akan menggunakan `Symbol.iterator` (jika ada) untuk meniru perilaku ES 6 dengan lebih akurat. From 19951bd093b161b6e2da392f0a7953b867fc4a51 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Thu, 1 Oct 2020 07:41:17 +0700 Subject: [PATCH 065/129] docs(i18n-id): translate emitBOM.md, emitDeclarationOnly.md and several config into Indonesia --- .../tsconfig-reference/copy/id/options/emitBOM.md | 8 ++++++++ .../copy/id/options/emitDeclarationOnly.md | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 packages/tsconfig-reference/copy/id/options/emitBOM.md create mode 100644 packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md diff --git a/packages/tsconfig-reference/copy/id/options/emitBOM.md b/packages/tsconfig-reference/copy/id/options/emitBOM.md new file mode 100644 index 000000000000..491e3eea2234 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/emitBOM.md @@ -0,0 +1,8 @@ +--- +display: "_Emit BOM_" +oneline: "Sertakan tanda urutan byte ke berkas keluaran" +--- + +Mengontrol apakah TypeScript akan menghasilkan [tanda urutan byte (BOM)](https://wikipedia.org/wiki/Byte_order_mark) saat menulis berkas output. +Beberapa lingkungan _runtime_ memerlukan _BOM_ untuk menafsirkan file JavaScript dengan benar; yang lain mengharuskan itu tidak ada. +Nilai bawaan dari `false` umumnya paling baik kecuali Anda memiliki alasan untuk mengubahnya. \ No newline at end of file diff --git a/packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md b/packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md new file mode 100644 index 000000000000..840cfc0edb93 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md @@ -0,0 +1,11 @@ +--- +display: "Menghasilkan Deklarasi Saja" +oneline: "Hanya mengeluarkan berkas d.ts dan bukan berkas .js" +--- + +_Hanya_ menghasilkan berkas `.d.ts`; jangan mengirimkan berkas `.js`. + +Pengaturan ini berguna dalam dua kasus: + +- Anda menggunakan transpiler selain TypeScript untuk membuat JavaScript Anda. +- Anda menggunakan TypeScript untuk hanya menghasilkan berkas `d.ts` untuk konsumen Anda. \ No newline at end of file From 498fb9a02051cb5a52bf88a8c06451e498036790 Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Thu, 1 Oct 2020 14:12:39 +0700 Subject: [PATCH 066/129] docs(translation): Add Indonesian translation for Types And Code Flow section --- .../Assertion Functions.ts | 76 +++++++++++++++++++ .../Recursive Type Reference.ts | 43 +++++++++++ .../Uncalled Function Checks.ts | 43 +++++++++++ 3 files changed, 162 insertions(+) create mode 100644 packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts create mode 100644 packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts create mode 100644 packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts diff --git a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts new file mode 100644 index 000000000000..4421df25d77d --- /dev/null +++ b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts @@ -0,0 +1,76 @@ +//// { compiler: { }, order: 1 } + +// Karena sifat JavaScript yang fleksibel, menambahkan pemeriksaan +// tipe data merupakan ide yang bagus untuk memastikan asumsi anda + +// Hal-hal ini biasanya disebut _assertions_ (atau _invariants_) +// _Assertions_ merupakan sebuah fungsi kecil yang mengeluarkan pesan +// kesalahan dini ketika variabel yang diberikan tidak sesuai +// dengan apa yang anda harapkan. + +// Node menyediakan fungsi bawaan untuk menyelesaikan masalah ini. +// Fungsi tersebut bernama `assert` dan fungsi tersebut tersedia +// tanpa harus melakukan `import` terlebih dahulu. + +// Sekarang, kita akan membuat fungsi `assert` kita sendiri. +// Kode program dibawah ini akan mendeklarasikan fungsi yang +// menegaskan bahwa ekspresi yang bernama `value` bernilai +// `true`. +declare function assert(value: unknown): asserts value; + +// Sekarang, kita akan menggunakan fungsi tersebut untuk +// memeriksa tipe dari sebuah `enum` +declare const mungkinAngkaAtauString: string | number; +assert(typeof mungkinAngkaAtauString === "string"); + +// Dengan TypeScript versi 3.7, fitur analisis alur kode dapat +// menggunakan fungsi-fungsi semacam ini untuk mengetahui +// maksud dari kode program. Jadi, ketika anda menyorot +// variabel dibawah ini - anda dapat melihat bahwa variabel +// tersebut telah dipersempit dari sebuah _string_ atau bilangan +// menjadi hanya sebuah _string_ + +mungkinAngkaAtauString; + +// Anda dapat menggunakan fungsi _assertion_ untuk menjamin +// tipe di seluruh kode program anda, contohnya TypeScript +// mengetahui bahwa fungsi ini akan mengembalikan sebuah +// bilangan tanpa perlu penambahan tipe pada parameter +// melalui deklarasi _assert_ pada baris sebelumnya + +function perkalian(x: any, y: any) { + assert(typeof x === "number"); + assert(typeof y === "number"); + + return x * y; +} + +// Fungsi _assertion_ merupakan saudara dari _Type Guards_ +// Hal yang membedakan adalah _type-guards_ mempengaruhi alur +// kode seiring berjalannya fungsi. + +// Contohnya, kita dapat menggunakan fungsi _assertion_ untuk +// mempersempit tipe dari sebuah _enum_ seiring berjalannya +// waktu. + +declare const salahSatuDariLimaBilanganPertama: 1 | 2 | 3 | 4 | 5; + +declare function adalahGanjil(param: unknown): asserts param is 1 | 3 | 5; +declare function adalahDibawahEmpat(param: unknown): asserts param is 1 | 2 | 3 | 4; + +// Hal ini seharusnya mempersempit _enum_ menjadi: 1 | 3 | 5 + +adalahGanjil(salahSatuDariLimaBilanganPertama); +salahSatuDariLimaBilanganPertama; + +// Hal ini akan memotong nilai _enum_ yang mungkin menjadi: 1 | 3 + +adalahDibawahEmpat(salahSatuDariLimaBilanganPertama); +salahSatuDariLimaBilanganPertama; + +// Hal-hal diatas adalah dasar dari beberapa fitur yang dimiliki +// oleh fungsi _assertion_ pada TypeScript versi 3.7 - anda dapat +// mengetahui lebih lanjut dengan membaca catatan rilis TypeScript +// versi 3.7: +// +// https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/ diff --git a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts new file mode 100644 index 000000000000..c0b9418d9add --- /dev/null +++ b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts @@ -0,0 +1,43 @@ +//// { compiler: { }, order: 2 } + +// Memilih antara menggunakan tipe dan antarmuka adalah +// tentang memilih batasan dari fitur yang ditawarkan keduanya. +// Dengan TypeScript 3.7, salah satu batasan yang dimiliki +// oleh tipe namun tidak dimiliki antarmuka telah dihapus. + +// Anda dapat mengetahui lebih lanjut tentang hal ini pada +// example:types-vs-interfaces + +// Dulunya, anda tidak dapat mengacu pada tipe yang anda +// definiskan di dalam tipe itu sendiri. Hal ini adalah sebuah +// batasan yang tidak terdapat dalam sebuah antarmuka, dan dapat +// diatasi dengan sebuah cara tertentu. + +// Contohnya, ekspresi dibawah ini tidak valid pada TypeScript versi 3.6: +type NilaiAtauArray = T | Array>; + +// Dibawah ini merupakan cara untuk mengatasi masalah tersebut, dengan +// menggabungkan tipe dengan sebuah antarmuka +type NilaiAtauArray2 = T | ArrayOfNilaiAtauArray; +interface ArrayOfNilaiAtauArray extends Array> { } + +// Hal tersebut memungkinkan sebuah definisi JSON yang komprehensif, +// yang dinyatakan dengan mengacu pada dirinya sendiri. + +type Json = string | number | boolean | null | Json[] | { [key: string]: Json }; + +const contohStatusJSON: Json = { + tersedia: true, + namaPengguna: "Jean-loup", + ruangan: { + nama: "Highcrest", + // Tidak dapat menambahkan fungsi pada tipe Json + // perbarui: () => {} + }, +}; + +// Ada hal lain yang dapat dipelajari dari catatan rilis TypeScript versi +// 3.7 _beta_ dan _pull request_nya. +// +// https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/ +// https://github.com/microsoft/TypeScript/pull/33050 diff --git a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts new file mode 100644 index 000000000000..50f8b1b568a4 --- /dev/null +++ b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts @@ -0,0 +1,43 @@ +//// { compiler: { }, order: 1 } + +// Terdapat sebuah fitur pada TypeScript versi 3.7, +// yaitu pemeriksaan pada pernyataan `if` ketika +// anda secara tidak sengaja menggunakan sebuah fungsi +// dimana seharusnya anda menggunakan nilai kembalian +// dari sebuah fungsi. + +// Hal ini hanya berlaku bila fungsi yang dimaksud ada, +// yang menyebabkan pernyataan `if` akan selalu bernilai `true`. + +// Dibawah ini merupakan sebuah contoh antarmuka _plugin_, +// dimana ada _callback_ yang harus ada dan _callback_ pilihan. + +interface PengaturanPlugin { + pluginShouldLoad?: () => void; + pluginIsActivated: () => void; +} + +declare const plugin: PengaturanPlugin; + +// Karena _method_ `pluginShouldLoad` bisa saja tidak ada, +// maka pemeriksaan pada pernyataan `if` sah dilakukan. + +if (plugin.pluginShouldLoad) { + // Lakukan sesuatu ketika `pluginShouldLoad` ada. +} + +// Pada TypeScript versi 3.6 kebawah, hal ini bukan merupakan sebuah kesalahan. + +if (plugin.pluginIsActivated) { + // Ingin melakukan sesuatu ketika _plugin_ diaktifkan, + // namun tidak dengan memanggil _method_ melainkan kita gunakan + // sebagai properti. +} + +// _Method_ `pluginIsActivated` seharusnya selalu ada, namun TypeScript +// tetap memperbolehkan pemeriksaan pada pernyataan `if`, karena _method_ +// tersebut dijalankan di dalam blok `if`. + +if (plugin.pluginIsActivated) { + plugin.pluginIsActivated(); +} From 3f557f6f158f71d918400ab6ca8691b7c0955cac Mon Sep 17 00:00:00 2001 From: Adam Quinton Date: Thu, 1 Oct 2020 08:25:36 -0600 Subject: [PATCH 067/129] Fix Broken Playground Links --- .../documentation/copy/en/get-started/TS for JS Programmers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/documentation/copy/en/get-started/TS for JS Programmers.md b/packages/documentation/copy/en/get-started/TS for JS Programmers.md index 199403e051a9..030d2341133f 100644 --- a/packages/documentation/copy/en/get-started/TS for JS Programmers.md +++ b/packages/documentation/copy/en/get-started/TS for JS Programmers.md @@ -118,7 +118,7 @@ function deleteUser(user: User) { } ``` -There are already a small set of primitive types available in JavaScript: `boolean`, `bigint`, `null`, `number`, `string`, `symbol`, `object`, and `undefined`, which you can use in an interface. TypeScript extends this list with a few more, such as `any` (allow anything), [`unknown`](/en/play#example/unknown-and-never) (ensure someone using this type declares what the type is), [`never`](/en/play#example/unknown-and-never) (it's not possible that this type could happen), and `void` (a function which returns `undefined` or has no return value). +There are already a small set of primitive types available in JavaScript: `boolean`, `bigint`, `null`, `number`, `string`, `symbol`, `object`, and `undefined`, which you can use in an interface. TypeScript extends this list with a few more, such as `any` (allow anything), [`unknown`](/play#example/unknown-and-never) (ensure someone using this type declares what the type is), [`never`](/play#example/unknown-and-never) (it's not possible that this type could happen), and `void` (a function which returns `undefined` or has no return value). You'll see that there are two syntaxes for building types: [Interfaces and Types](/play/?e=83#example/types-vs-interfaces). You should prefer `interface`. Use `type` when you need specific features. From 2540b8c96808f6f2a2cea12bc43ed2635fe1f4af Mon Sep 17 00:00:00 2001 From: Douglas Lima Date: Thu, 1 Oct 2020 11:45:06 -0300 Subject: [PATCH 068/129] translate disableReferencedProjectLoad.md from tsconfig section into [pt-br] --- .../copy/pt/options/disableReferencedProjectLoad.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 packages/tsconfig-reference/copy/pt/options/disableReferencedProjectLoad.md diff --git a/packages/tsconfig-reference/copy/pt/options/disableReferencedProjectLoad.md b/packages/tsconfig-reference/copy/pt/options/disableReferencedProjectLoad.md new file mode 100644 index 000000000000..6eae335f401d --- /dev/null +++ b/packages/tsconfig-reference/copy/pt/options/disableReferencedProjectLoad.md @@ -0,0 +1,9 @@ +--- +display: "Desabilitar o carregamento do projeto referenciado" +oneline: "Reduz o número de projetos carregados automaticamente pelo TypeScript" +--- + +Em aplicações Typescript de multi projetos, o TypeScript irá carregar todos os projetos disponíveis na memória com o objetivo de +fornecer resultados mais precisos para as respostas do editor que requerem um gráfico de conhecimento completo como 'Localizar todas as referências'. + +Se o seu projeto for grande, você pode utilizar a _flag_ `disableReferencedProjectLoad` para desabilitar o carregamento automático de todos os projetos. Com isso, os projetos serão carregados dinamicamente quando você abrir os arquivos através do seu editor. From f1455b5444bc942cc6d91e6562ad7c96b65131a7 Mon Sep 17 00:00:00 2001 From: "anzhari.p@gmail.com" <10259593+anzharip@users.noreply.github.com> Date: Thu, 1 Oct 2020 22:43:13 +0700 Subject: [PATCH 069/129] I18n-id for Code Flow.ts, Functions.ts, Hellow World.ts, Objects and Arrays.ts --- .../JavaScript Essentials/Code Flow.ts | 65 ++++++++++ .../JavaScript Essentials/Functions.ts | 89 ++++++++++++++ .../JavaScript Essentials/Hello World.ts | 36 ++++++ .../Objects and Arrays.ts | 112 ++++++++++++++++++ 4 files changed, 302 insertions(+) create mode 100644 packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts create mode 100644 packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts create mode 100644 packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Hello World.ts create mode 100644 packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts diff --git a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts new file mode 100644 index 000000000000..2db28fd81a7e --- /dev/null +++ b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts @@ -0,0 +1,65 @@ +//// { order: 3, compiler: { strictNullChecks: true } } + +//// {order: 3, compiler: {strictNullChecks: true}} + +// Bagaimana kode mengalir di dalam file JavaScript dapat mempengaruhi +// tipe (type) di seluruh program kita. + +const users = [{ name: "Ahmed" }, { name: "Gemma" }, { name: "Jon" }]; + +// Kita akan melihat apakah kita dapat menemukan pengguna bernama "jon". +const jon = users.find(u => u.name === "jon"); + +// Dalam kasus di atas, 'find' bisa gagal. Dalam hal ini kita +// tidak memiliki objek. Ini menghasilkan sebuah tipe (type): +// +// {name: string} | undefined +// +// Jika Anda mengarahkan mouse ke tiga penggunaan 'jon' berikut, +// Anda akan melihat bagaimana tipe berubah tergantung di mana kata tersebut berada: + +if (jon) { + jon; +} else { + jon; +} + +// Tipe '{name: string} | undefined' menggunakan fitur TypeScript +// yang disebut tipe gabungan (union types). Tipe gabungan (union types) adalah cara untuk +// nyatakan bahwa sebuah objek bisa menjadi salah satu dari banyak hal. +// // +// Tanda pipa (|) bertindak sebagai pemisah antara tipe (type) yang berbeda. +// Sifat dinamis JavaScript berarti bahwa banyak fungsi +// menerima dan dan mengembalikan objek dari tipe (type) yang tidak terkait dan kita perlu +// untuk dapat mengungkapkan tipe (type) mana yang mungkin kita hadapi. + +// Kita bisa menggunakan ini dalam beberapa cara. Mari kita mulai dengan melihat +// himpunan (array) yang nilainya memiliki tipe berbeda. + +const identifiers = ["Hello", "World", 24, 19]; + +// Kita bisa menggunakan sintaks javascript 'type x === y' untuk +// memeriksa jenis elemen pertama. Anda dapat mengarahkan kursor ke atas +// 'randomIdentifier' di bawah untuk melihat perubahannya +// lokasi berbeda + +const randomIdentifier = identifiers[0]; +if (typeof randomIdentifier === "number") { + randomIdentifier; +} else { + randomIdentifier; +} + +// Analisis aliran kontrol ini berarti kita dapat menulis +// JavaScript polos, dan TypeScript akan mencoba memahami bagaimana file +// jenis kode akan berubah di lokasi berbeda. + +// Untuk mempelajari lebih lanjut tentang analisis aliran kode: +// - example:type-guards + +// Untuk melanjutkan membaca contoh-contoh lain, Anda dapat melompat ke +// beberapa tempat lain sekarang: +// +// - Modern JavaScript: example:immutability +// - Type Guards: example:type-guards +// - Functional Programming with JavaScript example:function-chaining diff --git a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts new file mode 100644 index 000000000000..939432930ca6 --- /dev/null +++ b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts @@ -0,0 +1,89 @@ +//// { order: 2, compiler: { noImplicitAny: false } } + +// Ada beberapa cara untuk mendeklarasikan fungsi di +// JavaScript. Mari kita lihat fungsi yang menambahkan dua +// angka bersama: + +// Membuat fungsi dalam lingkup global yang disebut addOldSchool +function addOldSchool(x, y) { + return x + y; +} + +// Anda dapat memindahkan nama fungsi ke variabel +// nama juga +const anonymousOldSchoolFunction = function (x, y) { + return x + y; +}; + +// Anda juga dapat menggunakan singkatan panah-gemuk (fat-arrow) untuk suatu fungsi +const addFunction = (x, y) => { + return x + y; +}; + +// Kita akan fokus pada cara terakhir, tapi semuanya +// berlaku untuk ketiga format termasuk dua yang sebelumnya. + +// TypeScript menyediakan sintaks tambahan yang ditambahkan ke +// definisi fungsi dan menawarkan petunjuk tentang tipe (type) apa +// diharapkan oleh fungsi ini. +// +// Selanjutnya adalah versi paling terbuka dari fungsi add, versi ini +// mengatakan bahwa add mengambil dua masukan dari jenis apa pun: dimana masukan ini bisa +// berupa string, angka atau objek yang telah Anda buat. + +const add1 = (x: any, y: any) => { + return x + y; +}; +add1("Hello", 23); + +// Ini adalah JavaScript yang sah (string dapat ditambahkan +// seperti ini misalnya) tetapi tidak optimal untuk fungsi kita +// yang kita tahu adalah angka, jadi kita akan mengonversi x dan +// y hanya menjadi angka. + +const add2 = (x: number, y: number) => { + return x + y; +}; +add2(16, 23); +add2("Hello", 23); + +// Bagus. Kita mendapatkan kesalahan ketika ada selain angka +// yang diteruskan ke dalam fungsi. Jika Anda mengarahkan kursor ke kata add2 di atas, +// Anda akan melihat bahwa TypeScript mendeskripsikannya sebagai: +// +// const add2: (x: number, y: number) => number +// +// Di mana ia menyimpulkan bahwa ketika dua input merupakan +// nomor, maka satu-satunya jenis pengembalian yang mungkin adalah nomor. +// Ini bagus, Anda tidak perlu menulis sintaks tambahan. +// Mari kita lihat apa yang diperlukan untuk melakukan itu: + +const add3 = (x: number, y: number): string => { + return x + y; +}; + +// Fungsi ini gagal karena kita memberi tahu TypeScript bahwa TypeScipt +// seharusnya menerima nilai kembali dalam bentuk string, tetapi ternyata fungsinya +// tidak memenuhi janji itu. + +const add4 = (x: number, y: number): number => { + return x + y; +}; + +// Ini adalah versi yang sangat eksplisit dari add2 - ada +// kasus ketika Anda ingin menggunakan sintaks tipe pengembalian eksplisit +// untuk memberi diri Anda ruang untuk bekerja sebelumnya +// Anda memulai. Agak mirip seperti bagaimana test-driven development +// merekomendasikan memulai dengan tes yang gagal, tetapi dalam kasus ini +// ini dengan bentuk fungsi yang gagal. + +// Contoh ini hanyalah dasar, Anda dapat mempelajari lebih banyak lagi +// tentang bagaimana fungsi bekerja di TypeScript di buku pegangan (handbook) dan +// di dalam bagian JavaScript Fungsional dari contoh: +// +// https://www.typescriptlang.org/docs/handbook/functions.html +// example:function-chaining + +// Dan untuk melanjutkan tur dasar-dasar JavaScript, +// kita akan melihat bagaimana aliran kode memengaruhi tipe (type) TypeScript: +// example:code-flow diff --git a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Hello World.ts b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Hello World.ts new file mode 100644 index 000000000000..dac141e5d597 --- /dev/null +++ b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Hello World.ts @@ -0,0 +1,36 @@ +//// { order: 0, compiler: { target: 1 } } + +// Selamat datang di area bermain TypeScript. Situs ini mirip +// seperti menjalankan proyek TypeScript di dalam peramban web. + +// Area bermain memudahkan Anda bereksperimen dengan aman +// dengan ide-ide dalam bahasa TypeScript, dengan membuat +// proyek ini mudah untuk dibagikan. Semua yang diperlukan +// untuk memuat proyek untuk orang lain bisa dilakukan +// dengan memuat URL ini. + +const halo = "Halo"; + +// Anda dapat melihat di sebelah kanan hasil dari kompilator +// TypeScript: ini adalah kode JavaScript polos yang dapat +// dijalankan di peramban, server, atau di mana saja. + +const dunia = "Dunia"; + +// Anda dapat melihat bagaimana kompilator Typescript membuat +// perubahan kecil pada kode, dengan mengonversi "const" +// menjadi "var". Ini salah satu dari sekian banyak +// hal-hal yang dilakukan TypeScript agar dapat dijalankan +// di mana saja JavaScript bisa dijalankan. + +console.log(halo + " " + dunia); + +// Karena sekarang Anda sudah mengetahui cara kerja area bermain, +// mari kita lihat bagaimana TypeScript bisa membuat bekerja dengan +// JavaScript jadi lebih menyenangkan. Pada bagian ini kami akan mencoba +// menjaga agar kode yang ada menjadi sedekat mungkin dengan JavaScript polos +// agar Anda dapat menggunakan ulang pengetahuan JavaScript Anda. +// +// Klik di bawah untuk melanjutkan: +// +// example:objects-and-arrays diff --git a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts new file mode 100644 index 000000000000..0b01363156fc --- /dev/null +++ b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts @@ -0,0 +1,112 @@ +//// { order: 1, compiler: { strict: false } } + +// Objek JavaScript merupakan kumpulan nilai-nilai yang +// dibungkus menggunakan kata kunci yang memiliki nama. + +const userAccount = { + name: "Kieron", + id: 0, +}; + +// Anda dapat menggabungkan objek-objek ini untuk +// membuat model data yang lebih besar dan lebih rumit. + +const pie = { + type: "Apple", +}; + +const purchaseOrder = { + owner: userAccount, + item: pie, +}; + +// Jika Anda menggunakan tetikus untuk mengarahkan +// kursor ke beberapa kata ini (coba arahkan kursor +// ke objek purchaseOrder di atas) Anda dapat melihat +// bagaimana TypeScript menafsirkan JavaScript Anda menjadi +// jenis (type) berlabel. + +// Nilai dapat diakses melalui ".", Jadi untuk mendapatkan +// nama pengguna untuk pesanan pembelian: +console.log(purchaseOrder.item.type); + +// Jika Anda mengarahkan kursor tetikus ke setiap bagian kode +// antara tanda (), Anda dapat melihat TypeScript menampilkan lebih banyak +// informasi tentang tiap-tiap bagian. Coba tulis ulang kode di bawah ini: + +// Salin ini di baris berikutnya, karakter demi karakter: +// +// purchaseOrder.item.type + +// TypeScript memberikan umpan balik ke area bermain +// tentang objek JavaScript apa saja yang tersedia di berkas ini +// dan memungkinkan Anda menghindari kesalahan ketik dan melihat tambahan +// informasi tanpa harus mencarinya di tempat lain. + +// TypeScript juga menawarkan fitur yang sama untuk himpunan (array). +// Berikut adalah himpunan (array) yang isinya hanya pesanan pembelian yang kita buat. + +const allOrders = [purchaseOrder]; + +// Jika Anda mengarahkan kursor ke allOrders, Anda dapat +// mengetahui bahwa itu adalah himpunan (array) +// karena info hover diakhiri dengan []. Anda dapat mengakses +// urutan pertama menggunakan tanda kurung siku dengan indeks +// (mulai dari nol). + +const firstOrder = allOrders[0]; +console.log(firstOrder.item.type); + +// Cara alternatif untuk mendapatkan objek adalah melalui memencet (popping) +// himpunan (array) untuk menghapus objek. Dengan melakukan ini, kita bisa menghapus objek +// dari himpunan (array), dan mengembalikan objek. Ini disebut +// mutasi himpunan (array), karena mengubah data di dalamnya. + +const poppedFirstOrder = allOrders.pop(); + +// Sekarang allOrders menjadi kosong. Mutasi data dapat bermanfaat untuk +// banyak hal, tapi satu cara untuk mengurangi kerumitan di +// basis kode Anda adalah dengan menghindari mutasi. TypeScript menawarkan cara +// untuk mendeklarasikan himpunan (array) hanya baca (read-only): + +// Membuat tipe (type) berdasarkan bentuk pesanan pembelian: +type PurchaseOrder = typeof purchaseOrder; + +// Membuat himpunan (array) pesanan pembelian yang hanya bisa dibaca +const readonlyOrders: readonly PurchaseOrder[] = [purchaseOrder]; + +// Ya! Agak lebih banyak kode memang. Ada empat +// hal-hal baru di sini: +// +// type PurchaseOrder - Menyatakan tipe (type) baru ke TypeScript. +// +// typeof - Gunakan sistem inferensi tipe (type inference) untuk menyetel tipe (type) +// berdasarkan konstanta yang diteruskan berikutnya. +// +// purchaseOrder - Dapatkan variabel purchaseOrder dan beri tahu +// TypeScript ini adalah bentuk dari semua +// objek didalam himpunan (array) pesanan. +// +// readonly - Objek ini tidak mendukung mutasi, sekali +// objek ini dibuat maka isi himpunan (array) +// akan selalu sama. +// +// Sekarang jika Anda mencoba untuk keluar dari readonlyOrders, TypeScript +// akan memunculkan kesalahan. + +readonlyOrders.pop(); + +// Anda bisa menggunakan readonly di semua tempat, +// sedikit lebih banyak sintaks tambahan di sana-sini, tapi sintaks +// ini memberikan lebih banyak keamanan ekstra. + +// Anda dapat mengetahui lebih lanjut tentang readonly: +// - https://www.typescriptlang.org/docs/handbook/interfaces.html#readonly-properties +// - https://basarat.gitbooks.io/typescript/content/docs/types/readonly.html + +// Dan Anda bisa terus belajar tentang JavaScript dan +// TypeScript didalam contoh tentang fungsi: +// example:functions +// +// Atau jika Anda ingin tahu lebih banyak tentang immutability: +// example:immutability From 657913c10aef07cf3e8626f8f060dde06855d80b Mon Sep 17 00:00:00 2001 From: Ben North Date: Thu, 1 Oct 2020 17:15:46 +0100 Subject: [PATCH 070/129] fix: Typo: 'synonomous' should be 'synonymous' --- packages/tsconfig-reference/scripts/tsconfigRules.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/scripts/tsconfigRules.ts b/packages/tsconfig-reference/scripts/tsconfigRules.ts index d4fe7c1a84cb..e34991715f1f 100644 --- a/packages/tsconfig-reference/scripts/tsconfigRules.ts +++ b/packages/tsconfig-reference/scripts/tsconfigRules.ts @@ -193,7 +193,7 @@ export const allowedValues = { target: [ "`ES3` (default)", "`ES5`", - "`ES6`/`ES2015` (synonomous)", + "`ES6`/`ES2015` (synonymous)", "`ES7`/`ES2016`", "`ES2017`", "`ES2018`", From ab76fc6d5cdfaeb64e4cdef320465e315f128710 Mon Sep 17 00:00:00 2001 From: Cory Donnelly Date: Wed, 23 Sep 2020 14:02:43 -0400 Subject: [PATCH 071/129] Add link to References 'Merging Namespaces' section --- packages/documentation/copy/en/reference/Declaration Merging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/documentation/copy/en/reference/Declaration Merging.md b/packages/documentation/copy/en/reference/Declaration Merging.md index a1e85499226e..fedab5de4f24 100644 --- a/packages/documentation/copy/en/reference/Declaration Merging.md +++ b/packages/documentation/copy/en/reference/Declaration Merging.md @@ -202,7 +202,7 @@ namespace Album { } ``` -The visibility rules for merged members is the same as described in the 'Merging Namespaces' section, so we must export the `AlbumLabel` class for the merged class to see it. +The visibility rules for merged members is the same as described in the [Merging Namespaces](./declaration-merging.html#merging-namespaces) section, so we must export the `AlbumLabel` class for the merged class to see it. The end result is a class managed inside of another class. You can also use namespaces to add more static members to an existing class. From bb65985f3624295a991a80f3d13c92c0a5ac64ac Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Fri, 2 Oct 2020 08:13:24 +0700 Subject: [PATCH 072/129] docs(i18n-id): Provide Indonesian translation for section 3-8/Breaking Changes --- .../Checking Unions with Index Signatures.ts | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts diff --git a/packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts b/packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts new file mode 100644 index 000000000000..85a1e84e397f --- /dev/null +++ b/packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts @@ -0,0 +1,35 @@ +//// { compiler: { ts: "3.8.3" } } + +// Pada TypeScript versi sebelumnya, fitur pemeriksaan kode tidak akan +// memastikan _field_ yang tidak dideklarasikan dalam sebuah _union_ +// sesuai dengan tipe apapun yang terindeks pada _union_. + +// Anda dapat mempelajari lebih lanjut tentang tipe yang +// terindeks melalui: example:indexed-types + +// Sebagai contoh, tipe IdentifierCache dibawah ini menyatakan bahwa +// setiap _key_ pada objek tersebut merupakan sebuah angka: + +type IdentifierCache = { [key: string]: number }; + +// Hal tersebut menyebabkan ekspresi dibawah ini menjadi tidak valid, +// karena 'file_a' memiliki nilai sebuah _string_. + +const cacheDenganString: IdentifierCache = { file_a: "12343" }; + +// Namun, ketika anda menyatakan hal tersebut dalam sebuah _union_, +// maka pemeriksaan kode tidak akan dijalankan: + +let cachePengguna: IdentifierCache | { index: number }; +cachePengguna = { file_pertama: 5, file_kedua: "abc" }; + +// Masalah tersebut sudah diperbaiki, dan akan ada +// sebuah pesan kesalahan mengenai 'file_kedua' dari _compiler_. + +// Perbaikan tersebut juga sudah mampu menanngani kasus dimana _key_ +// memiliki tipe yang berbeda, contohnya ([key: string] dan [key: number]) + +type IdentifierResponseCache = { [key: number]: number }; + +let cacheHasil: IdentifierCache | IdentifierResponseCache; +cacheHasil = { file_pertama: "abc" }; From 15abbeb15c7e77a509851fe10ac0dac11bc1b6a7 Mon Sep 17 00:00:00 2001 From: Nik Rahmel Date: Fri, 2 Oct 2020 10:06:40 +0100 Subject: [PATCH 073/129] Fix: Invalid relative .md links There are a couple of different ways how links are done in this repo: - The [Project Reference](https://github.com/microsoft/TypeScript-Website/blob/v2/packages/documentation/copy/en/project-config/Project%20References.md) links using an absolute http URL; which is what I've done in this PR for the broken links - The [Advanced Types](https://github.com/microsoft/TypeScript-Website/blob/v2/packages/documentation/copy/en/reference/Advanced%20Types.md) links with a relative path to the enum.html, but using the published structure paths (i.e. flattened folders and `.html`, instead of `.md`) - These two files ("Typescript 3.0" and "Migrating from JavaScript") are the only files linking to relative .md paths; both of which are broken on the published website. --- packages/documentation/copy/en/release-notes/TypeScript 3.0.md | 2 +- .../copy/en/tutorials/Migrating from JavaScript.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/documentation/copy/en/release-notes/TypeScript 3.0.md b/packages/documentation/copy/en/release-notes/TypeScript 3.0.md index 8477bab3c4ab..7f1790b11047 100644 --- a/packages/documentation/copy/en/release-notes/TypeScript 3.0.md +++ b/packages/documentation/copy/en/release-notes/TypeScript 3.0.md @@ -11,7 +11,7 @@ TypeScript 3.0 introduces a new concept of project references. Project reference TypeScript 3.0 also introduces a new mode for tsc, the `--build` flag, that works hand-in-hand with project references to enable faster TypeScript builds. -See [Project References handbook page](../Project%20References.md) for more documentation. +See [Project References handbook page](https://www.typescriptlang.org/docs/handbook/project-references.html) for more documentation. ## Tuples in rest parameters and spread expressions diff --git a/packages/documentation/copy/en/tutorials/Migrating from JavaScript.md b/packages/documentation/copy/en/tutorials/Migrating from JavaScript.md index 41825868b17c..f31c6822a971 100644 --- a/packages/documentation/copy/en/tutorials/Migrating from JavaScript.md +++ b/packages/documentation/copy/en/tutorials/Migrating from JavaScript.md @@ -133,7 +133,7 @@ It's important to note that ts-loader will need to run before any other loader t The same goes for [awesome-typescript-loader](https://github.com/TypeStrong/ts-loader), another TypeScript loader for Webpack. You can read more about the differences between the two [here](https://github.com/s-panferov/awesome-typescript-loader#differences-between-ts-loader). -You can see an example of using Webpack in our [tutorial on React and Webpack](./React%20&%20Webpack.md). +You can see an example of using Webpack in our [tutorial on React and Webpack](https://www.typescriptlang.org/docs/handbook/react-&-webpack.html). ## Moving to TypeScript Files From a4a2afa00c9873e1b05a0d62dd26d206a27e3140 Mon Sep 17 00:00:00 2001 From: Shahriyar Hasan Soykot <64215200+ShahriyarHasan5115@users.noreply.github.com> Date: Fri, 2 Oct 2020 15:46:37 +0600 Subject: [PATCH 074/129] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 47d464543c79..d1ad4becae5a 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ yarn start Working on this repo is done by running `yarn start` - this starts up the website on port `8000` and creates a builder worker for every package in the repo, so if you make a change outside of the site it will compile and lint etc. -Some useful knowledge: +Some useful knowledge you need to know: - All packages have: `yarn build` and `yarn test` - All packages use [debug](https://www.npmjs.com/package/debug) - which means you can do `env DEBUG="*" yarn test` to get verbose logs @@ -102,7 +102,7 @@ The docs for TypeScript. Originally ported over from [microsoft/TypeScript-Handb ## Playground Examples -The code samples used in the Playground split across many languages +The code samples used in the Playground split across many languages. # Infra Packages @@ -126,7 +126,7 @@ Generates an epub file from the handbook files. You can try downloading it at ht ## Community Meta -Generates contributions JSON metadata on who edited handbook pages +Generates contributions JSON metadata on who edited handbook pages. # Contributing From 8c493e44239e5cbf705100fb96c0040d4efbb8e2 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Fri, 2 Oct 2020 06:51:13 -0400 Subject: [PATCH 075/129] Apply suggestions from code review --- packages/documentation/copy/en/release-notes/TypeScript 3.0.md | 2 +- .../copy/en/tutorials/Migrating from JavaScript.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/documentation/copy/en/release-notes/TypeScript 3.0.md b/packages/documentation/copy/en/release-notes/TypeScript 3.0.md index 7f1790b11047..3ace86928f0b 100644 --- a/packages/documentation/copy/en/release-notes/TypeScript 3.0.md +++ b/packages/documentation/copy/en/release-notes/TypeScript 3.0.md @@ -11,7 +11,7 @@ TypeScript 3.0 introduces a new concept of project references. Project reference TypeScript 3.0 also introduces a new mode for tsc, the `--build` flag, that works hand-in-hand with project references to enable faster TypeScript builds. -See [Project References handbook page](https://www.typescriptlang.org/docs/handbook/project-references.html) for more documentation. +See [Project References handbook page](/docs/handbook/project-references.html) for more documentation. ## Tuples in rest parameters and spread expressions diff --git a/packages/documentation/copy/en/tutorials/Migrating from JavaScript.md b/packages/documentation/copy/en/tutorials/Migrating from JavaScript.md index f31c6822a971..b8c9a96cf820 100644 --- a/packages/documentation/copy/en/tutorials/Migrating from JavaScript.md +++ b/packages/documentation/copy/en/tutorials/Migrating from JavaScript.md @@ -133,7 +133,7 @@ It's important to note that ts-loader will need to run before any other loader t The same goes for [awesome-typescript-loader](https://github.com/TypeStrong/ts-loader), another TypeScript loader for Webpack. You can read more about the differences between the two [here](https://github.com/s-panferov/awesome-typescript-loader#differences-between-ts-loader). -You can see an example of using Webpack in our [tutorial on React and Webpack](https://www.typescriptlang.org/docs/handbook/react-&-webpack.html). +You can see an example of using Webpack in our [tutorial on React and Webpack](/docs/handbook/react-&-webpack.html). ## Moving to TypeScript Files From 8362b4cb28b5c01cc9fd6a229a5a52297092c77a Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Fri, 2 Oct 2020 17:59:37 +0700 Subject: [PATCH 076/129] docs(i18n-id): fix translasi, italicized word, and adjust the technical word --- .../copy/id/options/downlevelIteration.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/downlevelIteration.md b/packages/tsconfig-reference/copy/id/options/downlevelIteration.md index 27576f52d9d1..8c62b9939668 100644 --- a/packages/tsconfig-reference/copy/id/options/downlevelIteration.md +++ b/packages/tsconfig-reference/copy/id/options/downlevelIteration.md @@ -3,11 +3,11 @@ display: "Iterasi tingkat bawah" oneline: "Menghasilkan JavaScript yang lebih sesuai, tetapi sangat rumit untuk objek iterasi" --- -Downleveling adalah istilah TypeScript untuk mentranspilasi ke versi JavaScript yang lebih lama. +_Downleveling_ adalah istilah TypeScript untuk mentranspilasi ke versi JavaScript yang lebih lama. Saran ini untuk mengaktifkan dukungan implementasi yang lebih akurat tentang bagaimana JavaScript modern melakukan iterasi melalui konsep baru di _runtime_ JavaScript yang lebih lama. -ECMAScript 6 menambahkan beberapa primitif iterasi baru: loop `for / of` (`for (el of arr)`), Array menyebar (`[a, ...b]`), penyebaran argumen (`fn(...args)`), dan `Symbol.iterator`. -`--downlevelIteration` memungkinkan primitif iterasi ini digunakan secara lebih akurat dalam lingkungan ES5 jika ada implementasi `Symbol.iterator`. +ECMAScript 6 menambahkan beberapa iterasi primitif baru: loop `for / of` (`for (el of arr)`), Array spread (`[a, ...b]`), penyebaran argumen (`fn(...args)`), dan `Symbol.iterator`. +`--downlevelIteration` memungkinkan iterasi primitif ini digunakan secara lebih akurat dalam lingkungan ES5 jika ada implementasi `Symbol.iterator`. #### Contoh: Efek pada `for / of` @@ -24,7 +24,7 @@ for (const s of str) { Hal ini sering kali diharapkan orang, tetapi tidak 100% sesuai dengan perilaku ECMAScript 6. String tertentu, seperti emoji (😜), memiliki `.length` 2 (atau bahkan lebih!), Tetapi harus diiterasi sebagai 1 unit dalam loop `for-of`. -Lihat [postingan blog oleh Jonathan New](https://blog.jonnew.com/posts/poo-dot-length-equals-two) untuk penjelasan yang lebih panjang. +Lihat [postingan blog oleh Jonathan New](https://blog.jonnew.com/posts/poo-dot-length-equals-two) untuk penjelasan yang lebih lengkap. Jika `downlevelIteration` diaktifkan, TypeScript akan menggunakan fungsi helper yang memeriksa implementasi `Symbol.iterator` (baik native maupun polyfill). Jika implementasi ini hilang, Anda akan kembali ke iterasi berbasis _indeks_. @@ -39,14 +39,14 @@ for (const s of str) { } ``` -> > **Note:** enabling `downlevelIteration` does not improve compliance if `Symbol.iterator` is not present in the runtime. +> > **Catatan:** memungkinkan `downlevelIteration` tidak meningkatkan kepatuhan jika `Symbol.iterator` tidak ada saat runtime. -#### Example: Efek pada Array Menyebar +#### Contoh: Efek pada Array Spreads -ini adalah sebaran array: +ini adalah array spread: ```js -// Make a new array who elements are 1 followed by the elements of arr2 +// Buat array baru yang elemennya 1 diikuti dengan elemen arr2 const arr = [1, ...arr2]; ``` @@ -61,7 +61,7 @@ Namun, ini sangat berbeda dalam kasus tertentu yang jarang terjadi. Misalnya, jika sebuah array memiliki "lubang" di dalamnya, indeks yang hilang akan membuat properti _own_ jika disebarkan, tetapi tidak akan jika dibuat menggunakan `concat`: ```js -// Make an array where the '1' element is missing +// Buatlah array dimana elemen '1' hilang let missing = [0, , 1]; let spreaded = [...missing]; let concated = [].concat(missing); From 2f3c18bf10ade8f582776ebcbd7887d605ce2363 Mon Sep 17 00:00:00 2001 From: Nik Rahmel Date: Fri, 2 Oct 2020 12:00:59 +0100 Subject: [PATCH 077/129] Task: Align all documentation links in rendered markdown to be relative --- .../copy/en/declaration-files/Introduction.md | 10 +++++----- .../copy/en/project-config/Compiler Options.md | 2 +- .../copy/en/project-config/Project References.md | 2 +- .../documentation/copy/en/release-notes/Overview.md | 2 +- .../copy/en/release-notes/TypeScript 2.6.md | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/documentation/copy/en/declaration-files/Introduction.md b/packages/documentation/copy/en/declaration-files/Introduction.md index 27a85def37f4..af37526ef7d4 100644 --- a/packages/documentation/copy/en/declaration-files/Introduction.md +++ b/packages/documentation/copy/en/declaration-files/Introduction.md @@ -7,7 +7,7 @@ oneline: "How to write a high-quality TypeScript Declaration (d.ts) file" The Declaration Files section is designed to teach you how to write a high-quality TypeScript Declaration File. We need to assume basic familiarity with the TypeScript language in order to get started. -If you haven't already, you should read the [TypeScript Handbook](https://www.typescriptlang.org/docs/handbook/basic-types.html) +If you haven't already, you should read the [TypeScript Handbook](/docs/handbook/basic-types.html) to familiarize yourself with basic concepts, especially types and modules. The most common case for learning how .d.ts files work is that you're typing an npm package with no types. @@ -33,15 +33,15 @@ when writing a new file. If you already know what your structure is, see the d.t ## [Do's and Don'ts](/docs/handbook/declaration-files/do-s-and-don-ts.html) Many common mistakes in declaration files can be easily avoided. -The [Do's and Don'ts](/docs/handbook/declaration-files/do-s-and-don-ts.html) section identifies common errors, -describes how to detect them, +The [Do's and Don'ts](/docs/handbook/declaration-files/do-s-and-don-ts.html) section identifies common errors, +describes how to detect them, and how to fix them. Everyone should read this section to help themselves avoid common mistakes. ## [Deep Dive](/docs/handbook/declaration-files/deep-dive.html) -For seasoned authors interested in the underlying mechanics of how declaration files work, -the [Deep Dive](/docs/handbook/declaration-files/deep-dive.html) section explains many advanced concepts in declaration writing, +For seasoned authors interested in the underlying mechanics of how declaration files work, +the [Deep Dive](/docs/handbook/declaration-files/deep-dive.html) section explains many advanced concepts in declaration writing, and shows how to leverage these concepts to create cleaner and more intuitive declaration files. ## [Publish to npm](/docs/handbook/declaration-files/publishing.html) diff --git a/packages/documentation/copy/en/project-config/Compiler Options.md b/packages/documentation/copy/en/project-config/Compiler Options.md index 54277b833529..0d714606842e 100644 --- a/packages/documentation/copy/en/project-config/Compiler Options.md +++ b/packages/documentation/copy/en/project-config/Compiler Options.md @@ -96,7 +96,7 @@ Option | Type | Default `--outDir` | `string` | | Redirect output structure to the directory. `--outFile` | `string` | | Concatenate and emit output to single file. The order of concatenation is determined by the list of files passed to the compiler on the command line along with triple-slash references and imports. See [output file order documentation](https://github.com/Microsoft/TypeScript/wiki/FAQ#how-do-i-control-file-ordering-in-combined-output---out) for more details. `paths`[2] | `Object` | | List of path mapping entries for module names to locations relative to the `baseUrl`. See [Module Resolution documentation](/docs/handbook/module-resolution.html#path-mapping) for more details. -`--preserveConstEnums` | `boolean` | `false` | Do not erase const enum declarations in generated code. See [const enums documentation](https://www.typescriptlang.org/docs/handbook/enums.html#const-enums) for more details. +`--preserveConstEnums` | `boolean` | `false` | Do not erase const enum declarations in generated code. See [const enums documentation](/docs/handbook/enums.html#const-enums) for more details. `--preserveSymlinks` | `boolean` | `false` | Do not resolve symlinks to their real path; treat a symlinked file like a real one. `--preserveWatchOutput` | `boolean` | `false` | Keep outdated console output in watch mode instead of clearing the screen `--pretty` | `boolean` | `true` unless piping to another program or redirecting output to a file | Stylize errors and messages using color and context. diff --git a/packages/documentation/copy/en/project-config/Project References.md b/packages/documentation/copy/en/project-config/Project References.md index 44753b0eefda..7f2c00bfded1 100644 --- a/packages/documentation/copy/en/project-config/Project References.md +++ b/packages/documentation/copy/en/project-config/Project References.md @@ -189,7 +189,7 @@ If your solution is like this, you can continue to use `msbuild` with `tsc -p` a ## Overall Structure -With more `tsconfig.json` files, you'll usually want to use [Configuration file inheritance](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) to centralize your common compiler options. +With more `tsconfig.json` files, you'll usually want to use [Configuration file inheritance](/docs/handbook/tsconfig-json.html) to centralize your common compiler options. This way you can change a setting in one file rather than having to edit multiple files. Another good practice is to have a "solution" `tsconfig.json` file that simply has `references` to all of your leaf-node projects and sets `files` to an empty array (otherwise the solution file will cause double compilation of files). Note that starting with 3.0, it is no longer an error to have an empty `files` array if you have at least one `reference` in a `tsconfig.json` file. diff --git a/packages/documentation/copy/en/release-notes/Overview.md b/packages/documentation/copy/en/release-notes/Overview.md index ad0596c8a8c9..5be35935844c 100644 --- a/packages/documentation/copy/en/release-notes/Overview.md +++ b/packages/documentation/copy/en/release-notes/Overview.md @@ -4996,7 +4996,7 @@ The watcher logic has been completely rewritten to respond faster to change even ## Write-only references now flagged as unused -TypeScript 2.6 adds revised implementation the `--noUnusedLocals` and `--noUnusedParameters` [compiler options](https://www.typescriptlang.org/docs/handbook/compiler-options.html). +TypeScript 2.6 adds revised implementation the `--noUnusedLocals` and `--noUnusedParameters` [compiler options](/docs/handbook/compiler-options.html). Declarations are only written to but never read from are now flagged as unused. #### Example diff --git a/packages/documentation/copy/en/release-notes/TypeScript 2.6.md b/packages/documentation/copy/en/release-notes/TypeScript 2.6.md index 8fc6216635e6..04c22cfee736 100644 --- a/packages/documentation/copy/en/release-notes/TypeScript 2.6.md +++ b/packages/documentation/copy/en/release-notes/TypeScript 2.6.md @@ -242,7 +242,7 @@ The watcher logic has been completely rewritten to respond faster to change even ## Write-only references now flagged as unused -TypeScript 2.6 adds revised implementation the `--noUnusedLocals` and `--noUnusedParameters` [compiler options](https://www.typescriptlang.org/docs/handbook/compiler-options.html). +TypeScript 2.6 adds revised implementation the `--noUnusedLocals` and `--noUnusedParameters` [compiler options](/docs/handbook/compiler-options.html). Declarations are only written to but never read from are now flagged as unused. ##### Example From 952f57aca55e971e4a6856814c277b9c663d7468 Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Fri, 2 Oct 2020 18:03:18 +0700 Subject: [PATCH 078/129] docs(i18n-id): Fixed typos and wrong capitalization --- .../Breaking Changes/Checking Unions with Index Signatures.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts b/packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts index 85a1e84e397f..7007d4fa0af1 100644 --- a/packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts +++ b/packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts @@ -17,7 +17,7 @@ type IdentifierCache = { [key: string]: number }; const cacheDenganString: IdentifierCache = { file_a: "12343" }; -// Namun, ketika anda menyatakan hal tersebut dalam sebuah _union_, +// Namun, ketika Anda menyatakan hal tersebut dalam sebuah _union_, // maka pemeriksaan kode tidak akan dijalankan: let cachePengguna: IdentifierCache | { index: number }; @@ -26,7 +26,7 @@ cachePengguna = { file_pertama: 5, file_kedua: "abc" }; // Masalah tersebut sudah diperbaiki, dan akan ada // sebuah pesan kesalahan mengenai 'file_kedua' dari _compiler_. -// Perbaikan tersebut juga sudah mampu menanngani kasus dimana _key_ +// Perbaikan tersebut juga sudah mampu mengangani kasus dimana _key_ // memiliki tipe yang berbeda, contohnya ([key: string] dan [key: number]) type IdentifierResponseCache = { [key: number]: number }; From 21c0363ee33f941cf985e486502a28815dfbe7d5 Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Fri, 2 Oct 2020 18:05:24 +0700 Subject: [PATCH 079/129] docs(i18n-id): Translate compiler into 'kompilator' --- .../Breaking Changes/Checking Unions with Index Signatures.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts b/packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts index 7007d4fa0af1..2cb21e079eeb 100644 --- a/packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts +++ b/packages/playground-examples/copy/id/3-8/Breaking Changes/Checking Unions with Index Signatures.ts @@ -24,7 +24,7 @@ let cachePengguna: IdentifierCache | { index: number }; cachePengguna = { file_pertama: 5, file_kedua: "abc" }; // Masalah tersebut sudah diperbaiki, dan akan ada -// sebuah pesan kesalahan mengenai 'file_kedua' dari _compiler_. +// sebuah pesan kesalahan mengenai 'file_kedua' dari kompilator. // Perbaikan tersebut juga sudah mampu mengangani kasus dimana _key_ // memiliki tipe yang berbeda, contohnya ([key: string] dan [key: number]) From 4e2d1c7c86a1875f6a97dbba876a90c3e7bde13b Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Fri, 2 Oct 2020 18:08:43 +0700 Subject: [PATCH 080/129] docs(i18n-id): fix word files, and the italics on the transpiler --- packages/tsconfig-reference/copy/id/options/emitBOM.md | 2 +- .../tsconfig-reference/copy/id/options/emitDeclarationOnly.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/emitBOM.md b/packages/tsconfig-reference/copy/id/options/emitBOM.md index 491e3eea2234..ff19ec5f07e9 100644 --- a/packages/tsconfig-reference/copy/id/options/emitBOM.md +++ b/packages/tsconfig-reference/copy/id/options/emitBOM.md @@ -4,5 +4,5 @@ oneline: "Sertakan tanda urutan byte ke berkas keluaran" --- Mengontrol apakah TypeScript akan menghasilkan [tanda urutan byte (BOM)](https://wikipedia.org/wiki/Byte_order_mark) saat menulis berkas output. -Beberapa lingkungan _runtime_ memerlukan _BOM_ untuk menafsirkan file JavaScript dengan benar; yang lain mengharuskan itu tidak ada. +Beberapa lingkungan _runtime_ memerlukan _BOM_ untuk menafsirkan berkas JavaScript dengan benar; yang lain mengharuskan itu tidak ada. Nilai bawaan dari `false` umumnya paling baik kecuali Anda memiliki alasan untuk mengubahnya. \ No newline at end of file diff --git a/packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md b/packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md index 840cfc0edb93..0a463960573f 100644 --- a/packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md +++ b/packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md @@ -7,5 +7,5 @@ _Hanya_ menghasilkan berkas `.d.ts`; jangan mengirimkan berkas `.js`. Pengaturan ini berguna dalam dua kasus: -- Anda menggunakan transpiler selain TypeScript untuk membuat JavaScript Anda. +- Anda menggunakan _transpiler_ selain TypeScript untuk membuat JavaScript Anda. - Anda menggunakan TypeScript untuk hanya menghasilkan berkas `d.ts` untuk konsumen Anda. \ No newline at end of file From 575b323afd34f94891e8dc33c97b756def8f69a4 Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Fri, 2 Oct 2020 18:08:47 +0700 Subject: [PATCH 081/129] docs(i18n-id): Capitalize all 'anda' --- .../3-7/Types and Code Flow/Assertion Functions.ts | 12 ++++++------ .../Types and Code Flow/Recursive Type Reference.ts | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts index 4421df25d77d..8bc028897cb4 100644 --- a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts +++ b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts @@ -1,12 +1,12 @@ //// { compiler: { }, order: 1 } // Karena sifat JavaScript yang fleksibel, menambahkan pemeriksaan -// tipe data merupakan ide yang bagus untuk memastikan asumsi anda +// tipe data merupakan ide yang bagus untuk memastikan asumsi Anda // Hal-hal ini biasanya disebut _assertions_ (atau _invariants_) // _Assertions_ merupakan sebuah fungsi kecil yang mengeluarkan pesan // kesalahan dini ketika variabel yang diberikan tidak sesuai -// dengan apa yang anda harapkan. +// dengan apa yang Anda harapkan. // Node menyediakan fungsi bawaan untuk menyelesaikan masalah ini. // Fungsi tersebut bernama `assert` dan fungsi tersebut tersedia @@ -25,15 +25,15 @@ assert(typeof mungkinAngkaAtauString === "string"); // Dengan TypeScript versi 3.7, fitur analisis alur kode dapat // menggunakan fungsi-fungsi semacam ini untuk mengetahui -// maksud dari kode program. Jadi, ketika anda menyorot -// variabel dibawah ini - anda dapat melihat bahwa variabel +// maksud dari kode program. Jadi, ketika Anda menyorot +// variabel dibawah ini - Anda dapat melihat bahwa variabel // tersebut telah dipersempit dari sebuah _string_ atau bilangan // menjadi hanya sebuah _string_ mungkinAngkaAtauString; // Anda dapat menggunakan fungsi _assertion_ untuk menjamin -// tipe di seluruh kode program anda, contohnya TypeScript +// tipe di seluruh kode program Anda, contohnya TypeScript // mengetahui bahwa fungsi ini akan mengembalikan sebuah // bilangan tanpa perlu penambahan tipe pada parameter // melalui deklarasi _assert_ pada baris sebelumnya @@ -69,7 +69,7 @@ adalahDibawahEmpat(salahSatuDariLimaBilanganPertama); salahSatuDariLimaBilanganPertama; // Hal-hal diatas adalah dasar dari beberapa fitur yang dimiliki -// oleh fungsi _assertion_ pada TypeScript versi 3.7 - anda dapat +// oleh fungsi _assertion_ pada TypeScript versi 3.7 - Anda dapat // mengetahui lebih lanjut dengan membaca catatan rilis TypeScript // versi 3.7: // diff --git a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts index c0b9418d9add..0e3b01857f88 100644 --- a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts +++ b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts @@ -8,7 +8,7 @@ // Anda dapat mengetahui lebih lanjut tentang hal ini pada // example:types-vs-interfaces -// Dulunya, anda tidak dapat mengacu pada tipe yang anda +// Dulunya, Anda tidak dapat mengacu pada tipe yang Anda // definiskan di dalam tipe itu sendiri. Hal ini adalah sebuah // batasan yang tidak terdapat dalam sebuah antarmuka, dan dapat // diatasi dengan sebuah cara tertentu. From 5a5154d1214208e89459d4d7b6e7170453f18be1 Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Fri, 2 Oct 2020 18:10:26 +0700 Subject: [PATCH 082/129] docs(i18n-id): Separate 'bawah' from common prefixes --- .../copy/id/3-7/Types and Code Flow/Assertion Functions.ts | 4 ++-- .../id/3-7/Types and Code Flow/Recursive Type Reference.ts | 4 ++-- .../id/3-7/Types and Code Flow/Uncalled Function Checks.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts index 8bc028897cb4..18c17813d2cd 100644 --- a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts +++ b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Assertion Functions.ts @@ -13,7 +13,7 @@ // tanpa harus melakukan `import` terlebih dahulu. // Sekarang, kita akan membuat fungsi `assert` kita sendiri. -// Kode program dibawah ini akan mendeklarasikan fungsi yang +// Kode program di bawah ini akan mendeklarasikan fungsi yang // menegaskan bahwa ekspresi yang bernama `value` bernilai // `true`. declare function assert(value: unknown): asserts value; @@ -26,7 +26,7 @@ assert(typeof mungkinAngkaAtauString === "string"); // Dengan TypeScript versi 3.7, fitur analisis alur kode dapat // menggunakan fungsi-fungsi semacam ini untuk mengetahui // maksud dari kode program. Jadi, ketika Anda menyorot -// variabel dibawah ini - Anda dapat melihat bahwa variabel +// variabel di bawah ini - Anda dapat melihat bahwa variabel // tersebut telah dipersempit dari sebuah _string_ atau bilangan // menjadi hanya sebuah _string_ diff --git a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts index 0e3b01857f88..d85944baf880 100644 --- a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts +++ b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Recursive Type Reference.ts @@ -13,10 +13,10 @@ // batasan yang tidak terdapat dalam sebuah antarmuka, dan dapat // diatasi dengan sebuah cara tertentu. -// Contohnya, ekspresi dibawah ini tidak valid pada TypeScript versi 3.6: +// Contohnya, ekspresi di bawah ini tidak valid pada TypeScript versi 3.6: type NilaiAtauArray = T | Array>; -// Dibawah ini merupakan cara untuk mengatasi masalah tersebut, dengan +// Di bawah ini merupakan cara untuk mengatasi masalah tersebut, dengan // menggabungkan tipe dengan sebuah antarmuka type NilaiAtauArray2 = T | ArrayOfNilaiAtauArray; interface ArrayOfNilaiAtauArray extends Array> { } diff --git a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts index 50f8b1b568a4..3e1715e77484 100644 --- a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts +++ b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts @@ -26,7 +26,7 @@ if (plugin.pluginShouldLoad) { // Lakukan sesuatu ketika `pluginShouldLoad` ada. } -// Pada TypeScript versi 3.6 kebawah, hal ini bukan merupakan sebuah kesalahan. +// Pada TypeScript versi 3.6 ke bawah, hal ini bukan merupakan sebuah kesalahan. if (plugin.pluginIsActivated) { // Ingin melakukan sesuatu ketika _plugin_ diaktifkan, From 03af565d1005299ca519381b3c4738b79010d109 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Fri, 2 Oct 2020 18:14:43 +0700 Subject: [PATCH 083/129] docs(i18n-id): fix the commented word --- .../copy/id/options/downlevelIteration.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/downlevelIteration.md b/packages/tsconfig-reference/copy/id/options/downlevelIteration.md index 8c62b9939668..5302a6e21cb8 100644 --- a/packages/tsconfig-reference/copy/id/options/downlevelIteration.md +++ b/packages/tsconfig-reference/copy/id/options/downlevelIteration.md @@ -53,7 +53,7 @@ const arr = [1, ...arr2]; Berdasarkan uraian tersebut, sepertinya mudah untuk menurunkan ke ES5: ```js -// The same, right? +// Sama kan? const arr = [1].concat(arr2); ``` @@ -66,9 +66,9 @@ let missing = [0, , 1]; let spreaded = [...missing]; let concated = [].concat(missing); -// true +// benar "1" in spreaded; -// false +// salah "1" in concated; ``` From cf1b32cfb84c68323c72478383dc3727be8134ac Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Fri, 2 Oct 2020 19:46:03 +0700 Subject: [PATCH 084/129] docs(i18n-id): Separate final 'bawah' from 'di' prefix --- .../id/3-7/Types and Code Flow/Uncalled Function Checks.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts index 3e1715e77484..8d56eb4e910c 100644 --- a/packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts +++ b/packages/playground-examples/copy/id/3-7/Types and Code Flow/Uncalled Function Checks.ts @@ -9,9 +9,8 @@ // Hal ini hanya berlaku bila fungsi yang dimaksud ada, // yang menyebabkan pernyataan `if` akan selalu bernilai `true`. -// Dibawah ini merupakan sebuah contoh antarmuka _plugin_, +// Di bawah ini merupakan sebuah contoh antarmuka _plugin_, // dimana ada _callback_ yang harus ada dan _callback_ pilihan. - interface PengaturanPlugin { pluginShouldLoad?: () => void; pluginIsActivated: () => void; From 05bac938dfc719f61f8c77309c2d4e4e081a5064 Mon Sep 17 00:00:00 2001 From: anzharip <10259593+anzharip@users.noreply.github.com> Date: Fri, 2 Oct 2020 19:49:34 +0700 Subject: [PATCH 085/129] Fix 'type' to 'tipe data' --- .../JavaScript Essentials/Code Flow.ts | 18 +++++++++-------- .../JavaScript Essentials/Functions.ts | 20 ++++++++++--------- .../Objects and Arrays.ts | 17 ++++++++-------- 3 files changed, 30 insertions(+), 25 deletions(-) diff --git a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts index 2db28fd81a7e..fe6f8bb86bb3 100644 --- a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts +++ b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts @@ -3,7 +3,7 @@ //// {order: 3, compiler: {strictNullChecks: true}} // Bagaimana kode mengalir di dalam file JavaScript dapat mempengaruhi -// tipe (type) di seluruh program kita. +// tipe data di seluruh program kita. const users = [{ name: "Ahmed" }, { name: "Gemma" }, { name: "Jon" }]; @@ -11,7 +11,7 @@ const users = [{ name: "Ahmed" }, { name: "Gemma" }, { name: "Jon" }]; const jon = users.find(u => u.name === "jon"); // Dalam kasus di atas, 'find' bisa gagal. Dalam hal ini kita -// tidak memiliki objek. Ini menghasilkan sebuah tipe (type): +// tidak memiliki objek. Ini menghasilkan sebuah tipe data: // // {name: string} | undefined // @@ -25,13 +25,15 @@ if (jon) { } // Tipe '{name: string} | undefined' menggunakan fitur TypeScript -// yang disebut tipe gabungan (union types). Tipe gabungan (union types) adalah cara untuk -// nyatakan bahwa sebuah objek bisa menjadi salah satu dari banyak hal. -// // -// Tanda pipa (|) bertindak sebagai pemisah antara tipe (type) yang berbeda. +// yang disebut tipe data gabungan (union types). Tipe data gabungan +// (union types) adalah cara untuk nyatakan bahwa sebuah objek bisa +// menjadi salah satu dari banyak hal. +// +// Tanda pipa (|) bertindak sebagai pemisah antara tipe data yang berbeda. // Sifat dinamis JavaScript berarti bahwa banyak fungsi -// menerima dan dan mengembalikan objek dari tipe (type) yang tidak terkait dan kita perlu -// untuk dapat mengungkapkan tipe (type) mana yang mungkin kita hadapi. +// menerima dan dan mengembalikan objek dari tipe data yang tidak terkait +// dan kita perlu untuk dapat mengungkapkan tipe data mana yang mungkin +// kita hadapi. // Kita bisa menggunakan ini dalam beberapa cara. Mari kita mulai dengan melihat // himpunan (array) yang nilainya memiliki tipe berbeda. diff --git a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts index 939432930ca6..45301ece31cf 100644 --- a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts +++ b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts @@ -15,7 +15,8 @@ const anonymousOldSchoolFunction = function (x, y) { return x + y; }; -// Anda juga dapat menggunakan singkatan panah-gemuk (fat-arrow) untuk suatu fungsi +// Anda juga dapat menggunakan singkatan panah-gemuk (fat-arrow) +// untuk suatu fungsi const addFunction = (x, y) => { return x + y; }; @@ -24,7 +25,7 @@ const addFunction = (x, y) => { // berlaku untuk ketiga format termasuk dua yang sebelumnya. // TypeScript menyediakan sintaks tambahan yang ditambahkan ke -// definisi fungsi dan menawarkan petunjuk tentang tipe (type) apa +// definisi fungsi dan menawarkan petunjuk tentang tipe data apa // diharapkan oleh fungsi ini. // // Selanjutnya adalah versi paling terbuka dari fungsi add, versi ini @@ -48,8 +49,9 @@ add2(16, 23); add2("Hello", 23); // Bagus. Kita mendapatkan kesalahan ketika ada selain angka -// yang diteruskan ke dalam fungsi. Jika Anda mengarahkan kursor ke kata add2 di atas, -// Anda akan melihat bahwa TypeScript mendeskripsikannya sebagai: +// yang diteruskan ke dalam fungsi. Jika Anda mengarahkan kursor +// ke kata add2 di atas, Anda akan melihat bahwa TypeScript +// mendeskripsikannya sebagai: // // const add2: (x: number, y: number) => number // @@ -63,8 +65,8 @@ const add3 = (x: number, y: number): string => { }; // Fungsi ini gagal karena kita memberi tahu TypeScript bahwa TypeScipt -// seharusnya menerima nilai kembali dalam bentuk string, tetapi ternyata fungsinya -// tidak memenuhi janji itu. +// seharusnya menerima nilai kembali dalam bentuk string, tetapi +// ternyata fungsinya tidak memenuhi janji itu. const add4 = (x: number, y: number): number => { return x + y; @@ -78,12 +80,12 @@ const add4 = (x: number, y: number): number => { // ini dengan bentuk fungsi yang gagal. // Contoh ini hanyalah dasar, Anda dapat mempelajari lebih banyak lagi -// tentang bagaimana fungsi bekerja di TypeScript di buku pegangan (handbook) dan -// di dalam bagian JavaScript Fungsional dari contoh: +// tentang bagaimana fungsi bekerja di TypeScript di buku pegangan +// (handbook) dan di dalam bagian JavaScript Fungsional dari contoh: // // https://www.typescriptlang.org/docs/handbook/functions.html // example:function-chaining // Dan untuk melanjutkan tur dasar-dasar JavaScript, -// kita akan melihat bagaimana aliran kode memengaruhi tipe (type) TypeScript: +// kita akan melihat bagaimana aliran kode memengaruhi tipe data TypeScript: // example:code-flow diff --git a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts index 0b01363156fc..1ab85a1e792d 100644 --- a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts +++ b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts @@ -24,7 +24,7 @@ const purchaseOrder = { // kursor ke beberapa kata ini (coba arahkan kursor // ke objek purchaseOrder di atas) Anda dapat melihat // bagaimana TypeScript menafsirkan JavaScript Anda menjadi -// jenis (type) berlabel. +// tipe data berlabel. // Nilai dapat diakses melalui ".", Jadi untuk mendapatkan // nama pengguna untuk pesanan pembelian: @@ -44,7 +44,8 @@ console.log(purchaseOrder.item.type); // informasi tanpa harus mencarinya di tempat lain. // TypeScript juga menawarkan fitur yang sama untuk himpunan (array). -// Berikut adalah himpunan (array) yang isinya hanya pesanan pembelian yang kita buat. +// Berikut adalah himpunan (array) yang isinya hanya pesanan pembelian +// yang kita buat. const allOrders = [purchaseOrder]; @@ -58,8 +59,8 @@ const firstOrder = allOrders[0]; console.log(firstOrder.item.type); // Cara alternatif untuk mendapatkan objek adalah melalui memencet (popping) -// himpunan (array) untuk menghapus objek. Dengan melakukan ini, kita bisa menghapus objek -// dari himpunan (array), dan mengembalikan objek. Ini disebut +// himpunan (array) untuk menghapus objek. Dengan melakukan ini, kita bisa +// menghapus objek dari himpunan (array), dan mengembalikan objek. Ini disebut // mutasi himpunan (array), karena mengubah data di dalamnya. const poppedFirstOrder = allOrders.pop(); @@ -69,7 +70,7 @@ const poppedFirstOrder = allOrders.pop(); // basis kode Anda adalah dengan menghindari mutasi. TypeScript menawarkan cara // untuk mendeklarasikan himpunan (array) hanya baca (read-only): -// Membuat tipe (type) berdasarkan bentuk pesanan pembelian: +// Membuat tipe data berdasarkan bentuk pesanan pembelian: type PurchaseOrder = typeof purchaseOrder; // Membuat himpunan (array) pesanan pembelian yang hanya bisa dibaca @@ -78,10 +79,10 @@ const readonlyOrders: readonly PurchaseOrder[] = [purchaseOrder]; // Ya! Agak lebih banyak kode memang. Ada empat // hal-hal baru di sini: // -// type PurchaseOrder - Menyatakan tipe (type) baru ke TypeScript. +// type PurchaseOrder - Menyatakan tipe data baru ke TypeScript. // -// typeof - Gunakan sistem inferensi tipe (type inference) untuk menyetel tipe (type) -// berdasarkan konstanta yang diteruskan berikutnya. +// typeof - Gunakan sistem inferensi tipe data (type inference) untuk +// menyetel tipe data berdasarkan konstanta yang diteruskan berikutnya. // // purchaseOrder - Dapatkan variabel purchaseOrder dan beri tahu // TypeScript ini adalah bentuk dari semua From c85595e5d276d7a1ad6070fa7a6bdeddbb9d1dcb Mon Sep 17 00:00:00 2001 From: Miftahul Lubab Date: Thu, 1 Oct 2020 15:31:37 +0700 Subject: [PATCH 086/129] docs(i18n-id): translate from reactNamespace.md to rootDir.md into Indonesia --- .../copy/id/options/reactNamespace.md | 6 ++ .../copy/id/options/references.md | 9 +++ .../copy/id/options/removeComments.md | 33 ++++++++++ .../copy/id/options/resolveJsonModule.md | 44 +++++++++++++ .../copy/id/options/rootDir.md | 66 +++++++++++++++++++ 5 files changed, 158 insertions(+) create mode 100644 packages/tsconfig-reference/copy/id/options/reactNamespace.md create mode 100644 packages/tsconfig-reference/copy/id/options/references.md create mode 100644 packages/tsconfig-reference/copy/id/options/removeComments.md create mode 100644 packages/tsconfig-reference/copy/id/options/resolveJsonModule.md create mode 100644 packages/tsconfig-reference/copy/id/options/rootDir.md diff --git a/packages/tsconfig-reference/copy/id/options/reactNamespace.md b/packages/tsconfig-reference/copy/id/options/reactNamespace.md new file mode 100644 index 000000000000..1a535c78e646 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/reactNamespace.md @@ -0,0 +1,6 @@ +--- +display: "React Namespace" +oneline: "Menentukan objek yang dipanggil oleh 'createElement' di JSX" +--- + +Gunakan [`--jsxFactory`](#jsxFactory) sebagai gantinya. Tentukan objek yang dipanggil oleh `createElement` ketika menargetkan `react` pada file TSX. diff --git a/packages/tsconfig-reference/copy/id/options/references.md b/packages/tsconfig-reference/copy/id/options/references.md new file mode 100644 index 000000000000..f7c7b6375ab3 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/references.md @@ -0,0 +1,9 @@ +--- +display: "Referensi" +oneline: "Menyediakan struktur untuk proyek komposit" +--- + +Referensi proyek adalah cara untuk menyusun program TypeScript Anda menjadi bagian-bagian yang lebih kecil. +Menggunakan Referensi Proyek dapat sangat meningkatkan waktu interaksi build dan editor, menerapkan pemisahan logika antar komponen, dan mengatur kode Anda dengan cara yang baru dan lebih baik. + +Anda dapat membaca lebih lanjut tentang bagaimana cara kerja referensi di bagian [Referensi Proyek](/docs/handbook/project-references.html) dari buku pegangan diff --git a/packages/tsconfig-reference/copy/id/options/removeComments.md b/packages/tsconfig-reference/copy/id/options/removeComments.md new file mode 100644 index 000000000000..9819fcc83b47 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/removeComments.md @@ -0,0 +1,33 @@ +--- +display: "Menghapus Komentar" +oneline: "Menghapus Komentar di TypeScript sehingga tidak muncul di Javascript" +--- + +Menghapus semua komentar pada file Typescript pada saat mengkonversi ke file Javascript. Pengaturan default-nya adalah `false` + +Sebagai contoh, ini adalah file TypeScript yang memiliki komentar JSDoc: + +```ts +/** Terjemahan dari 'Hello world' ke bahasa Portugis */ +export const helloWorldPTBR = "Olá Mundo"; +``` + +Ketika `removeComments` disetel ke `true`: + +```ts twoslash +// @showEmit +// @removeComments: true +/** Terjemahan dari 'Hello world' ke bahasa Portugis */ +export const helloWorldPTBR = "Olá Mundo"; +``` + +Tanpa menyetel `removeComments` atau menjadikannya sebagai `false`: + +```ts twoslash +// @showEmit +// @removeComments: false +/** Terjemahan dari 'Hello world' ke bahasa Portugis */ +export const helloWorldPTBR = "Olá Mundo"; +``` + +Artinya, komentar anda akan muncul di kode Javascript diff --git a/packages/tsconfig-reference/copy/id/options/resolveJsonModule.md b/packages/tsconfig-reference/copy/id/options/resolveJsonModule.md new file mode 100644 index 000000000000..605eba28ec44 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/resolveJsonModule.md @@ -0,0 +1,44 @@ +--- +display: "Menyelesaikan Module JSON" +oneline: "Memperbolehkan mengimpor file .json" +--- + +Memperbolehkan mengimpor modul dengan ekstensi '.json' merupakan praktik umum pada proyek node. +Ini termasuk membuat jenis untuk `import` berdasarkan bentuk JSON statis. + +TypeScript tidak mendukung penyelesaian file JSON secara default: + +```ts twoslash +// @errors: 2732 +// @filename: settings.json +{ + "repo": "TypeScript", + "dry": false, + "debug": false +} +// @filename: index.ts +import settings from "./settings.json"; + +settings.debug === true; +settings.dry === 2; +``` + +Mengaktifkan opsi memungkinkan impor JSON, dan memvalidasi jenis dalam file JSON tersebut. + +```ts twoslash +// @errors: 2367 +// @resolveJsonModule +// @module: commonjs +// @moduleResolution: node +// @filename: settings.json +{ + "repo": "TypeScript", + "dry": false, + "debug": false +} +// @filename: index.ts +import settings from "./settings.json"; + +settings.debug === true; +settings.dry === 2; +``` diff --git a/packages/tsconfig-reference/copy/id/options/rootDir.md b/packages/tsconfig-reference/copy/id/options/rootDir.md new file mode 100644 index 000000000000..e9df84063310 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/rootDir.md @@ -0,0 +1,66 @@ +--- +display: "Root Dir" +oneline: "Menyetel folder root di dalam file sumber Anda" +--- + +**Default**: Jalur umum terpanjang dari semua file masukan non-deklarasi. jika `composite` disetel, defaultnya adalah direktori yang berisi file `tsconfig.json`. + +Ketika TypeScript mengkompilasi file, ia mempertahankan struktur direktori yang sama pada direktori keluaran seperti struktur di direktori masukan. + +Misalnya, Anda memiliki beberapa file input: + +``` +MyProj +├── tsconfig.json +├── core +│ ├── a.ts +│ ├── b.ts +│ ├── sub +│ │ ├── c.ts +├── types.d.ts +``` + +Kasimpulan untuk `rootDir` adalah jalur umum terpanjang dari semua file input non-deklarasi, yang dalam hal ini adalah`core/`. + +Jika nilai `outDir` anda adalah `dist`, maka TypeScript akan membuat struktur folder seperti ini: + +``` +MyProj +├── dist +│ ├── a.ts +│ ├── b.ts +│ ├── sub +│ │ ├── c.ts +``` + +Namun, kamu mungkin mengharapkan `core` menjadi bagian dari struktur direktori keluaran. +Dengan mensetel `rootDir: "."` pada `tsconfig.json`, TypeScript akan menghasilkan struktur direktori seperti ini: + +``` +MyProj +├── dist +│ ├── core +│ │ ├── a.js +│ │ ├── b.js +│ │ ├── sub +│ │ │ ├── c.js +``` + +Yang terpenting, `rootDir` **tidak mempengaruhi file mana yang menjadi bagian dari kompilasi**. +`rootDir` tidak memiliki hubungan dengan pengaturan `include`, `exclude`, atau `files` pada `tsconfig.json` + +Perhatikan bahwa TypeScript tidak akan pernah menulis file keluaran ke direktori di luar dari `outDir`, dan tidak akan pernah melewatkan pengeluaran file. +Karena alasan ini, `rootDir` menetapkan bahwa semua file yang perlu dikeluarkan berada dibawah jalur `rootDir`. + +Misalnya, Anda memiliki struktur folder seperti ini: + +``` +MyProj +├── tsconfig.json +├── core +│ ├── a.ts +│ ├── b.ts +├── helpers.ts +``` + +Ini akan menimbulkan error ketika menentukan `rootDir` sebagai `core` _dan_ `include` sebagai `*` karena ini membuat file (`helpers.ts`) yang perlu diletakkan _diluar_ dari `outDir` (yaitu `../helpers.js`) From 5dc85ad87f3a1f8ae3123cf3cd7c0e59df397d43 Mon Sep 17 00:00:00 2001 From: sharechiwai Date: Fri, 2 Oct 2020 22:15:52 +0800 Subject: [PATCH 087/129] fixed links issue in Docs section --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d1ad4becae5a..a1e47eca7c54 100644 --- a/README.md +++ b/README.md @@ -45,10 +45,10 @@ You can find the build logs in [GitHub Actions](https://github.com/microsoft/Typ If you want to know _in-depth_ how this website works, there is an [hour long video covering the codebase, deployment and tooling on YouTube.](https://www.youtube.com/watch?v=HOvivt6B7hE). Otherwise there are some short guides: -- [Converting Twoslash Code Samples](./docs/Converting Twoslash Code Samples.md) -- [How i8n Works For Site Copy](./docs/How i8n Works For Site Copy.md) -- [Updating the TypeScript Version](./docs/New TypeScript Version.md) -- [Something Went Wrong](./docs/Something Went Wrong.md) +- [Converting Twoslash Code Samples](./docs/Converting%20Twoslash%20Code%20Samples.md) +- [How i8n Works For Site Copy](./docs/How%20i8n%20Works%20For%20Site%20Copy.md) +- [Updating the TypeScript Version](./docs/New%20TypeScript%20Version.md) +- [Something Went Wrong](./docs/Something%20Went%20Wrong.md) # Website Packages From 6bdb7f2d39bf8cb9965f8aa63473df18bb0a82ea Mon Sep 17 00:00:00 2001 From: Miftahul Lubab <31479825+babul28@users.noreply.github.com> Date: Fri, 2 Oct 2020 22:20:48 +0700 Subject: [PATCH 088/129] docs(i18n-id): Update rootDir.md --- .../copy/id/options/rootDir.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/rootDir.md b/packages/tsconfig-reference/copy/id/options/rootDir.md index e9df84063310..3bc8e3fee1f7 100644 --- a/packages/tsconfig-reference/copy/id/options/rootDir.md +++ b/packages/tsconfig-reference/copy/id/options/rootDir.md @@ -1,13 +1,13 @@ --- display: "Root Dir" -oneline: "Menyetel folder root di dalam file sumber Anda" +oneline: "Menyetel direktori root di dalam berkas sumber Anda" --- -**Default**: Jalur umum terpanjang dari semua file masukan non-deklarasi. jika `composite` disetel, defaultnya adalah direktori yang berisi file `tsconfig.json`. +**Default**: Jalur umum terpanjang dari semua berkas masukan non-deklarasi. jika `composite` disetel, defaultnya adalah direktori yang berisi berkas `tsconfig.json`. -Ketika TypeScript mengkompilasi file, ia mempertahankan struktur direktori yang sama pada direktori keluaran seperti struktur di direktori masukan. +Ketika TypeScript mengkompilasi berkas, ia mempertahankan struktur direktori yang sama pada direktori keluaran seperti struktur di direktori masukan. -Misalnya, Anda memiliki beberapa file input: +Misalnya, Anda memiliki beberapa berkas masukan: ``` MyProj @@ -20,9 +20,9 @@ MyProj ├── types.d.ts ``` -Kasimpulan untuk `rootDir` adalah jalur umum terpanjang dari semua file input non-deklarasi, yang dalam hal ini adalah`core/`. +Kasimpulan untuk `rootDir` adalah jalur umum terpanjang dari semua berkas masukan non-deklarasi, yang dalam hal ini adalah`core/`. -Jika nilai `outDir` anda adalah `dist`, maka TypeScript akan membuat struktur folder seperti ini: +Jika nilai `outDir` anda adalah `dist`, maka TypeScript akan membuat struktur direktori seperti ini: ``` MyProj @@ -33,7 +33,7 @@ MyProj │ │ ├── c.ts ``` -Namun, kamu mungkin mengharapkan `core` menjadi bagian dari struktur direktori keluaran. +Namun, anda mungkin mengharapkan `core` menjadi bagian dari struktur direktori keluaran. Dengan mensetel `rootDir: "."` pada `tsconfig.json`, TypeScript akan menghasilkan struktur direktori seperti ini: ``` @@ -46,13 +46,13 @@ MyProj │ │ │ ├── c.js ``` -Yang terpenting, `rootDir` **tidak mempengaruhi file mana yang menjadi bagian dari kompilasi**. +Yang terpenting, `rootDir` **tidak mempengaruhi berkas mana yang menjadi bagian dari kompilasi**. `rootDir` tidak memiliki hubungan dengan pengaturan `include`, `exclude`, atau `files` pada `tsconfig.json` -Perhatikan bahwa TypeScript tidak akan pernah menulis file keluaran ke direktori di luar dari `outDir`, dan tidak akan pernah melewatkan pengeluaran file. -Karena alasan ini, `rootDir` menetapkan bahwa semua file yang perlu dikeluarkan berada dibawah jalur `rootDir`. +Perhatikan bahwa TypeScript tidak akan pernah menulis berkas keluaran ke direktori di luar dari `outDir`, dan tidak akan pernah melewatkan pengeluaran berkas. +Karena alasan ini, `rootDir` mengharuskan semua berkas yang perlu dikeluarkan berada dibawah jalur `rootDir`. -Misalnya, Anda memiliki struktur folder seperti ini: +Misalnya, Anda memiliki struktur direktori seperti ini: ``` MyProj @@ -63,4 +63,4 @@ MyProj ├── helpers.ts ``` -Ini akan menimbulkan error ketika menentukan `rootDir` sebagai `core` _dan_ `include` sebagai `*` karena ini membuat file (`helpers.ts`) yang perlu diletakkan _diluar_ dari `outDir` (yaitu `../helpers.js`) +Ini akan menimbulkan galat ketika menentukan `rootDir` sebagai `core` dan `include` sebagai `*` karena ini membuat berkas (`helpers.ts`) yang perlu diletakkan di luar dari `outDir` (yaitu `../helpers.js`) From 317cd01bac13cde1f70c01fdf48af600ed6614bd Mon Sep 17 00:00:00 2001 From: Miftahul Lubab <31479825+babul28@users.noreply.github.com> Date: Fri, 2 Oct 2020 22:24:02 +0700 Subject: [PATCH 089/129] docs(i18n-id): fix word file translation on rootDir.md file --- .../tsconfig-reference/copy/id/options/resolveJsonModule.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/resolveJsonModule.md b/packages/tsconfig-reference/copy/id/options/resolveJsonModule.md index 605eba28ec44..bbcac13bd944 100644 --- a/packages/tsconfig-reference/copy/id/options/resolveJsonModule.md +++ b/packages/tsconfig-reference/copy/id/options/resolveJsonModule.md @@ -1,12 +1,12 @@ --- display: "Menyelesaikan Module JSON" -oneline: "Memperbolehkan mengimpor file .json" +oneline: "Memperbolehkan mengimpor berkas .json" --- Memperbolehkan mengimpor modul dengan ekstensi '.json' merupakan praktik umum pada proyek node. Ini termasuk membuat jenis untuk `import` berdasarkan bentuk JSON statis. -TypeScript tidak mendukung penyelesaian file JSON secara default: +TypeScript tidak mendukung penyelesaian berkas JSON secara default: ```ts twoslash // @errors: 2732 @@ -23,7 +23,7 @@ settings.debug === true; settings.dry === 2; ``` -Mengaktifkan opsi memungkinkan impor JSON, dan memvalidasi jenis dalam file JSON tersebut. +Mengaktifkan opsi memungkinkan impor JSON, dan memvalidasi jenis dalam berkas JSON tersebut. ```ts twoslash // @errors: 2367 From 5c45689c68ab9987caf141d3db9f20af666a0ac8 Mon Sep 17 00:00:00 2001 From: Miftahul Lubab <31479825+babul28@users.noreply.github.com> Date: Fri, 2 Oct 2020 22:25:58 +0700 Subject: [PATCH 090/129] doc(i18n-id): fix word file translation on removeComments.md --- packages/tsconfig-reference/copy/id/options/removeComments.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/removeComments.md b/packages/tsconfig-reference/copy/id/options/removeComments.md index 9819fcc83b47..311a9e5a41ec 100644 --- a/packages/tsconfig-reference/copy/id/options/removeComments.md +++ b/packages/tsconfig-reference/copy/id/options/removeComments.md @@ -3,9 +3,9 @@ display: "Menghapus Komentar" oneline: "Menghapus Komentar di TypeScript sehingga tidak muncul di Javascript" --- -Menghapus semua komentar pada file Typescript pada saat mengkonversi ke file Javascript. Pengaturan default-nya adalah `false` +Menghapus semua komentar pada berkas Typescript pada saat mengkonversi ke berkas Javascript. Pengaturan bawaannya adalah `false` -Sebagai contoh, ini adalah file TypeScript yang memiliki komentar JSDoc: +Sebagai contoh, ini adalah berkas TypeScript yang memiliki komentar JSDoc: ```ts /** Terjemahan dari 'Hello world' ke bahasa Portugis */ From 1971ffdde9942666c070339de8e511529c320f77 Mon Sep 17 00:00:00 2001 From: Miftahul Lubab <31479825+babul28@users.noreply.github.com> Date: Fri, 2 Oct 2020 22:27:42 +0700 Subject: [PATCH 091/129] docs(i18n-id): fix word file translation on reactNamespace.md --- packages/tsconfig-reference/copy/id/options/reactNamespace.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/id/options/reactNamespace.md b/packages/tsconfig-reference/copy/id/options/reactNamespace.md index 1a535c78e646..f18251ba353a 100644 --- a/packages/tsconfig-reference/copy/id/options/reactNamespace.md +++ b/packages/tsconfig-reference/copy/id/options/reactNamespace.md @@ -3,4 +3,4 @@ display: "React Namespace" oneline: "Menentukan objek yang dipanggil oleh 'createElement' di JSX" --- -Gunakan [`--jsxFactory`](#jsxFactory) sebagai gantinya. Tentukan objek yang dipanggil oleh `createElement` ketika menargetkan `react` pada file TSX. +Gunakan [`--jsxFactory`](#jsxFactory) sebagai gantinya. Tentukan objek yang dipanggil oleh `createElement` ketika menargetkan `react` pada berkas TSX. From f2634ab0249c2667cd8cb397a1c9a3d5044aed0b Mon Sep 17 00:00:00 2001 From: Pandu Date: Sat, 3 Oct 2020 02:58:19 +0700 Subject: [PATCH 092/129] docs(i18n-id): translate jsx, jsxFactory & jsxFragmentFactory into Indonesia --- .../tsconfig-reference/copy/id/options/jsx.md | 11 ++++ .../copy/id/options/jsxFactory.md | 9 ++++ .../copy/id/options/jsxFragmentFactory.md | 54 +++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 packages/tsconfig-reference/copy/id/options/jsx.md create mode 100644 packages/tsconfig-reference/copy/id/options/jsxFactory.md create mode 100644 packages/tsconfig-reference/copy/id/options/jsxFragmentFactory.md diff --git a/packages/tsconfig-reference/copy/id/options/jsx.md b/packages/tsconfig-reference/copy/id/options/jsx.md new file mode 100644 index 000000000000..cc166295e88e --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/jsx.md @@ -0,0 +1,11 @@ +--- +display: "JSX" +oneline: "Mengatur bagaimana JSX dihasilkan" +--- + +Mengatur bagaimana konstruksi JSX dihasilkan di dalam file Javascript. +Ini hanya akan berpengaruh pada keluaran file JS yang dimulai di file `.tsx`. + +- `react`: Menghasilkan file `.js` dengan JSX yang diubah seperti pemanggilan `React.createElement` +- `preserve`: Menghasilkan file `.jsx` tanpa mengubah JSX +- `react-native`: Menghasilkan file `.jsx` tanpa mengubah JSX diff --git a/packages/tsconfig-reference/copy/id/options/jsxFactory.md b/packages/tsconfig-reference/copy/id/options/jsxFactory.md new file mode 100644 index 000000000000..d20e88a5ce8c --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/jsxFactory.md @@ -0,0 +1,9 @@ +--- +display: "JSX Factory" +oneline: "Mengatur fungsi yang dihasilkan oleh JSX" +--- + +Mengubah fungsi yang dipanggil pada file `.js` ketika melakukan kompilasi elemen-elemen JSX. +Perubahan yang paling umum adalah dengan menggunakan `"h"` atau `"preact.h"` dibandingkan penggunaan default `"React.createElement"` jika menggunakan `preact`. + +Opsi ini dapat digunakan pada basis per file juga seperti halnya [Babel's `/** @jsx h */` directive](https://babeljs.io/docs/en/babel-plugin-transform-react-jsx#custom). diff --git a/packages/tsconfig-reference/copy/id/options/jsxFragmentFactory.md b/packages/tsconfig-reference/copy/id/options/jsxFragmentFactory.md new file mode 100644 index 000000000000..4def3cc57cbb --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/jsxFragmentFactory.md @@ -0,0 +1,54 @@ +--- +display: "jsxFragmentFactory" +oneline: "Menentukan pengidentifikasi fragmen JSX akan diubah seperti apa" +--- + +Menentukan fungsi penghasil fragmen JSX yang akan digunakan ketika menargetkan kompiler react JSX `jsxFactory` sudah ditentukan, misalnya seperti `Fragment`. + +Opsi ini dapat digunakan pada basis per file juga seperti halnya [Babel's `/** @jsxFrag h */` directive](https://babeljs.io/docs/en/babel-plugin-transform-react-jsx#fragments). + +Contoh dengan menggunakan TSConfig berikut ini: + +```json tsconfig +{ + "compilerOptions": { + "target": "esnext", + "module": "commonjs", + "jsx": "react", + "jsxFactory": "h", + "jsxFragmentFactory": "Fragment" + } +} +``` + +TSX file berikut: + +```tsx +import { h, Fragment } from "preact"; + +const HelloWorld = () => ( + <> +

+ +); +``` + +Akan terlihat seperti: + +```tsx twoslash +// @showEmit +// @showEmittedFile: index.js +// @jsxFactory: h +// @jsxFragmentFactory: Fragment +// @noErrors +// @target: esnext +// @module: commonjs + +import { h, Fragment } from "preact"; + +const HelloWorld = () => ( + <> +
Hello
+ +); +``` From b2fe858e48ce1ffd0a5185fb364a1848b9f15910 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Sat, 3 Oct 2020 05:46:22 +0700 Subject: [PATCH 093/129] docs(i18n-id): fix italics on the spread --- .../copy/id/options/downlevelIteration.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/downlevelIteration.md b/packages/tsconfig-reference/copy/id/options/downlevelIteration.md index 5302a6e21cb8..f541fe23e612 100644 --- a/packages/tsconfig-reference/copy/id/options/downlevelIteration.md +++ b/packages/tsconfig-reference/copy/id/options/downlevelIteration.md @@ -6,8 +6,8 @@ oneline: "Menghasilkan JavaScript yang lebih sesuai, tetapi sangat rumit untuk o _Downleveling_ adalah istilah TypeScript untuk mentranspilasi ke versi JavaScript yang lebih lama. Saran ini untuk mengaktifkan dukungan implementasi yang lebih akurat tentang bagaimana JavaScript modern melakukan iterasi melalui konsep baru di _runtime_ JavaScript yang lebih lama. -ECMAScript 6 menambahkan beberapa iterasi primitif baru: loop `for / of` (`for (el of arr)`), Array spread (`[a, ...b]`), penyebaran argumen (`fn(...args)`), dan `Symbol.iterator`. -`--downlevelIteration` memungkinkan iterasi primitif ini digunakan secara lebih akurat dalam lingkungan ES5 jika ada implementasi `Symbol.iterator`. +ECMAScript 6 menambahkan beberapa iterasi primitif baru: loop `for / of` (`for (el of arr)`), Array _spread_ (`[a, ...b]`), penyebaran argumen (`fn(...args)`), dan `Symbol.iterator`. +`--downlevelIteration` memungkinkan iterasi primitif ini digunakan secara lebih akurat dalam lingkungan ES5 jika ada implementasi `Symbol.iterator`. #### Contoh: Efek pada `for / of` @@ -18,7 +18,7 @@ Tanpa `downlevelIteration` aktif, loop `for / of` pada objek apa pun diturunkan // @showEmit const str = "Hello!"; for (const s of str) { - console.log(s); + console.log(s); } ``` @@ -41,9 +41,9 @@ for (const s of str) { > > **Catatan:** memungkinkan `downlevelIteration` tidak meningkatkan kepatuhan jika `Symbol.iterator` tidak ada saat runtime. -#### Contoh: Efek pada Array Spreads +#### Contoh: Efek pada Array _Spreads_ -ini adalah array spread: +ini adalah array _spread_: ```js // Buat array baru yang elemennya 1 diikuti dengan elemen arr2 From 8d3529cb65f5f1dba9520682bdb94be1580d60e1 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Sat, 3 Oct 2020 05:52:34 +0700 Subject: [PATCH 094/129] docs(i18n-id): fix translasi on source of truth --- .../id/options/disableSourceOfProjectReferenceRedirect.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/disableSourceOfProjectReferenceRedirect.md b/packages/tsconfig-reference/copy/id/options/disableSourceOfProjectReferenceRedirect.md index 3e67bea04aa6..212e9f692829 100644 --- a/packages/tsconfig-reference/copy/id/options/disableSourceOfProjectReferenceRedirect.md +++ b/packages/tsconfig-reference/copy/id/options/disableSourceOfProjectReferenceRedirect.md @@ -3,5 +3,5 @@ display: "Nonaktifkan Pengalihan Referensi Proyek Sumber" oneline: "Gunakan berkas d.ts sebagai sumber kebenaran untuk perkakas antara batasan proyek gabungan" --- -Saat bekerja dengan [proyek TypeScript komposit](/docs/handbook/project-references.html), opsi ini menyediakan cara untuk kembali [kembali ke pra-3.7](/docs/handbook/release-notes/typescript-3-7.html#build-free-editing-with-project-references) perilaku di mana berkas d.ts digunakan sebagai batas antar modul. -Di 3.7 sumber kebenaran sekarang adalah berkas TypeScript Anda. +Saat bekerja dengan [proyek TypeScript komposit](/docs/handbook/project-references.html), opsi ini menyediakan cara untuk menuju [kembali ke pra-3.7](/docs/handbook/release-notes/typescript-3-7.html#build-free-editing-with-project-references) perilaku di mana berkas d.ts digunakan sebagai batas antar modul. +Di 3.7, sumber kebenaran sekarang adalah berkas TypeScript Anda. From 3acdc342d84ab87ea2ef3bcda32731b31d83e4e3 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Sat, 3 Oct 2020 06:02:14 +0700 Subject: [PATCH 095/129] docs(i18n-id): translate esModuleInterop.md and several config into Indonesia --- .../copy/id/options/esModuleInterop.md | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 packages/tsconfig-reference/copy/id/options/esModuleInterop.md diff --git a/packages/tsconfig-reference/copy/id/options/esModuleInterop.md b/packages/tsconfig-reference/copy/id/options/esModuleInterop.md new file mode 100644 index 000000000000..ac29a327d885 --- /dev/null +++ b/packages/tsconfig-reference/copy/id/options/esModuleInterop.md @@ -0,0 +1,72 @@ +--- +display: "Interop Modul ES" +oneline: "Menghasilkan JS tambahan untuk memudahkan dukungan untuk mengimpor modul commonjs" +--- + +Secara bawaan (dengan `esModuleInterop` _false_ atau tidak disetel) TypeScript memperlakukan modul CommonJS/AMD/UMD mirip dengan modul ES6. Dalam melakukan ini, ada dua bagian tertentu yang ternyata merupakan asumsi yang salah: + +- impor namespace seperti `import * as moment from "moment"` bertindak sama seperti `const moment = require("moment")` + +- impor bawaan seperti `import moment as "moment"` berfungsi sama seperti `const moment = require ("moment").default` + +Ketidakcocokan ini menyebabkan dua masalah berikut: + +- spesifikasi modul ES6 menyatakan bahwa impor namespace (`import * as x`) hanya dapat menjadi objek, dengan memiliki TypeScript + memperlakukannya sama dengan `= require ("x")` maka TypeScript diizinkan untuk impor diperlakukan sebagai fungsi dan dapat dipanggil. Ini melanggar rekomendasi spesifikasi. + +- Meskipun akurat untuk spesifikasi modul ES6, sebagian besar pustaka dengan modul CommonJS/AMD/UMD tidak seketat implementasi TypeScript. + +Mengaktifkan `esModuleInterop` akan memperbaiki kedua masalah ini dalam kode yang ditranspilasi oleh TypeScript. Perubahan pertama perilaku di compiler, yang kedua diperbaiki oleh dua fungsi pembantu baru yang menyediakan _shim_ untuk memastikan kompatibilitas dalam JavaScript yang dihasilkan: + +```ts +import * as fs from "fs"; +import _ from "lodash"; + +fs.readFileSync("file.txt", "utf8"); +_.chunk(["a", "b", "c", "d"], 2); +``` + +Dengan menonaktifkan `esModuleInterop`: + +```ts twoslash +// @noErrors +// @showEmit +// @esModuleInterop: false +// @module: commonjs +import * as fs from "fs"; +import _ from "lodash"; + +fs.readFileSync("file.txt", "utf8"); +_.chunk(["a", "b", "c", "d"], 2); +``` + +Dengan `esModuleInterop` disetel ke `true`: + +```ts twoslash +// @noErrors +// @showEmit +// @esModuleInterop +// @module: commonjs +import * as fs from "fs"; +import _ from "lodash"; + +fs.readFileSync("file.txt", "utf8"); +_.chunk(["a", "b", "c", "d"], 2); +``` + +_Catatan_: Anda dapat membuat emisi JS lebih pendek dengan mengaktifkan [`importHelpers`](#importHelpers): + +```ts twoslash +// @noErrors +// @showEmit +// @esModuleInterop +// @importHelpers +// @module: commonjs +import * as fs from "fs"; +import _ from "lodash"; + +fs.readFileSync("file.txt", "utf8"); +_.chunk(["a", "b", "c", "d"], 2); +``` + +Mengaktifkan `esModuleInterop` juga akan mengaktifkan [`allowSyntheticDefaultImports`](#allowSyntheticDefaultImports). \ No newline at end of file From a65599d1d51bd7b0b633c564826c1327ae0bf5e5 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Sat, 3 Oct 2020 06:33:20 +0700 Subject: [PATCH 096/129] docs(i18n-id): fix spaces in the word require --- .../tsconfig-reference/copy/id/options/esModuleInterop.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/esModuleInterop.md b/packages/tsconfig-reference/copy/id/options/esModuleInterop.md index ac29a327d885..0428df26788a 100644 --- a/packages/tsconfig-reference/copy/id/options/esModuleInterop.md +++ b/packages/tsconfig-reference/copy/id/options/esModuleInterop.md @@ -7,12 +7,12 @@ Secara bawaan (dengan `esModuleInterop` _false_ atau tidak disetel) TypeScript m - impor namespace seperti `import * as moment from "moment"` bertindak sama seperti `const moment = require("moment")` -- impor bawaan seperti `import moment as "moment"` berfungsi sama seperti `const moment = require ("moment").default` +- impor bawaan seperti `import moment as "moment"` berfungsi sama seperti `const moment = require("moment").default` Ketidakcocokan ini menyebabkan dua masalah berikut: - spesifikasi modul ES6 menyatakan bahwa impor namespace (`import * as x`) hanya dapat menjadi objek, dengan memiliki TypeScript - memperlakukannya sama dengan `= require ("x")` maka TypeScript diizinkan untuk impor diperlakukan sebagai fungsi dan dapat dipanggil. Ini melanggar rekomendasi spesifikasi. + memperlakukannya sama dengan `= require ("x")` maka TypeScript diizinkan untuk impor diperlakukan sebagai fungsi dan dapat dipanggil. Ini melanggar rekomendasi spesifikasi. - Meskipun akurat untuk spesifikasi modul ES6, sebagian besar pustaka dengan modul CommonJS/AMD/UMD tidak seketat implementasi TypeScript. @@ -69,4 +69,4 @@ fs.readFileSync("file.txt", "utf8"); _.chunk(["a", "b", "c", "d"], 2); ``` -Mengaktifkan `esModuleInterop` juga akan mengaktifkan [`allowSyntheticDefaultImports`](#allowSyntheticDefaultImports). \ No newline at end of file +Mengaktifkan `esModuleInterop` juga akan mengaktifkan [`allowSyntheticDefaultImports`](#allowSyntheticDefaultImports). From 61287ff52a000008fcb6c05cebd4b46ba65c31f5 Mon Sep 17 00:00:00 2001 From: Pandu Date: Sat, 3 Oct 2020 10:12:06 +0700 Subject: [PATCH 097/129] docs(i18n-id): translate jsx, jsxFactory & jsxFragmentFactory into Indonesia (change default) --- packages/tsconfig-reference/copy/id/options/jsxFactory.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/jsxFactory.md b/packages/tsconfig-reference/copy/id/options/jsxFactory.md index d20e88a5ce8c..7361ecc1546a 100644 --- a/packages/tsconfig-reference/copy/id/options/jsxFactory.md +++ b/packages/tsconfig-reference/copy/id/options/jsxFactory.md @@ -4,6 +4,6 @@ oneline: "Mengatur fungsi yang dihasilkan oleh JSX" --- Mengubah fungsi yang dipanggil pada file `.js` ketika melakukan kompilasi elemen-elemen JSX. -Perubahan yang paling umum adalah dengan menggunakan `"h"` atau `"preact.h"` dibandingkan penggunaan default `"React.createElement"` jika menggunakan `preact`. - +Perubahan yang paling umum adalah dengan menggunakan `"h"` atau `"preact.h"` dibandingkan penggunaan bawaan `"React.createElement"` jika menggunakan `preact`. + Opsi ini dapat digunakan pada basis per file juga seperti halnya [Babel's `/** @jsx h */` directive](https://babeljs.io/docs/en/babel-plugin-transform-react-jsx#custom). From 56c6f3d8694ef9522015fa220e6a7d5c68c06624 Mon Sep 17 00:00:00 2001 From: zigsong Date: Mon, 28 Sep 2020 00:26:28 +0900 Subject: [PATCH 098/129] translate 2 files into ko: any, literals --- .../copy/ko/TypeScript/Primitives/Any.ts | 50 ++++++++++++++ .../copy/ko/TypeScript/Primitives/Literals.ts | 65 +++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 packages/playground-examples/copy/ko/TypeScript/Primitives/Any.ts create mode 100644 packages/playground-examples/copy/ko/TypeScript/Primitives/Literals.ts diff --git a/packages/playground-examples/copy/ko/TypeScript/Primitives/Any.ts b/packages/playground-examples/copy/ko/TypeScript/Primitives/Any.ts new file mode 100644 index 000000000000..ee329a6287aa --- /dev/null +++ b/packages/playground-examples/copy/ko/TypeScript/Primitives/Any.ts @@ -0,0 +1,50 @@ +// any는 TypeScript의 탈출 구문입니다. +// 일부 코드를 JavaScript처럼 동적으로 동작하도록 선언하고 싶을 때, +// 또는 타입 시스템의 제한을 벗어나고 싶을 때 +// any를 사용할 수 있습니다. + +// JSON 파싱은 any의 좋은 예시입니다. + +const myObject = JSON.parse("{}"); + +// any를 사용한다는 것은 여러분이 코드를 더 잘 알고 있음을 뜻하기 때문에, +// 타입이 완전히 정확하지 않더라도 TypeScript는 코드가 안전하다고 인식합니다. +// 예를 들어, 아래 코드는 오류가 발생합니다. + +myObject.x.y.z; + +// any를 사용하면 타입의 안전성을 희생하는 대신 +// 코드를 원래의 JavaScript에 더욱 가깝게 작성할 수 있습니다. + +// any는 어떤 타입(never를 제외하고)이든 +// 다른 타입에 할당할 수 있도록 만드는 +// '타입 와일드카드'와도 같습니다. + +declare function debug(value: any): void; + +debug("a string"); +debug(23); +debug({ color: "blue" }); + +// 인수의 타입을 모두 any로 대신할 수 있기 때문에 +// debug의 각 호출이 허용됩니다. + +// TypeScript는 any의 위치를 +// 다양한 형태에서 고려합니다. +// 함수 인수로 사용되는 아래의 튜플이 그 예시입니다. + +declare function swap(x: [number, string]): [string, number]; + +declare const pair: [any, any]; +swap(pair); + +// pair의 첫 번째 any를 number로 대체하고, +// 두 번째 `any`를 string으로 대체하면서 인자가 매칭되기 때문에 +// swap 호출이 가능합니다. + +// 튜플을 처음 봤다면, 다음을 참고하세요: example:tuples + +// unknown은 any의 자매 타입입니다. +// 만약 any가 "뭐가 최선인지 알겠어"와 같다면, +// unknown은 "뭐가 최선일지 모르니까, TS에 타입을 알려줘"와 같습니다. +// example:unknown-and-never diff --git a/packages/playground-examples/copy/ko/TypeScript/Primitives/Literals.ts b/packages/playground-examples/copy/ko/TypeScript/Primitives/Literals.ts new file mode 100644 index 000000000000..112dae015178 --- /dev/null +++ b/packages/playground-examples/copy/ko/TypeScript/Primitives/Literals.ts @@ -0,0 +1,65 @@ +// TypeScript는 소스 코드에서 리터럴을 위한 +// 재미있고 특별한 기능들이 있습니다. + +// 여기선, 타입 넓히기와 좁히기 ( example:type-widening-narrowing )가 +// 중점적으로 다뤄지고 있으므로 +// 그 부분을 먼저 살펴보도록 하곘습니다. + +// 리터럴은 collection 타입의 더욱 구체적인 하위 타입입니다. +// 이는 "Hello World"는 string이지만, +// 타입 시스템에서 string은 "Hello World"가 아니라는 것을 의미합니다. + +const helloWorld = "Hello World"; +let hiWorld = "Hi World"; // 이것은 let이기 때문에 string입니다. + +// 이 함수는 모든 string을 받습니다. +declare function allowsAnyString(arg: string); +allowsAnyString(helloWorld); +allowsAnyString(hiWorld); + +// 이 함수는 "Hello World" string 리터럴만을 받습니다. +declare function allowsOnlyHello(arg: "Hello World"); +allowsOnlyHello(helloWorld); +allowsOnlyHello(hiWorld); + +// 이를 통해 특정 리터럴만을 받기 위해 union을 사용하는 +// API를 선언할 수 있습니다. + +declare function allowsFirstFiveNumbers(arg: 1 | 2 | 3 | 4 | 5); +allowsFirstFiveNumbers(1); +allowsFirstFiveNumbers(10); + +let potentiallyAnyNumber = 3; +allowsFirstFiveNumbers(potentiallyAnyNumber); + +// 언뜻 보기에, 이 규칙은 복잡한 객체들에는 적용되지 않습니다. + +const myUser = { + name: "Sabrina", +}; + +// 상수로 선언되어 있음에도 불구하고 이것이 어떻게 +// `name: "Sabrina"`를 `name: string`으로 바꾸는지 보세요. +// 이는 여전히 이름이 언제든 바뀔 수 있기 때문입니다. + +myUser.name = "Cynthia"; + +// myUser의 name 프로퍼티가 바뀔 수 있기 때문에, +// TypeScript는 타입 시스템에서 리터럴 버전을 사용할 수 없습니다. +// 하지만 이것을 가능하게끔 해주는 기능이 있습니다. + +const myUnchangingUser = { + name: "Fatma", +} as const; + +// mutable object는 바뀔 수 있는 대신, +// 객체에 "as const"가 적용되면, +// object 리터럴이 되어 바뀌지 않습니다. + +myUnchangingUser.name = "Raîssa"; + +// "as const"는 고정된 데이터를 다루는 좋은 도구이며, +// 코드를 한 줄의 리터럴로 적게끔 해줍니다. +// 또한 "as const"는 배열에서도 동작합니다. + +const exampleUsers = [{ name: "Brian" }, { name: "Fahrooq" }] as const; From 6dd59a52e3265f1fde30e9a55793e17379033a32 Mon Sep 17 00:00:00 2001 From: anzharip <10259593+anzharip@users.noreply.github.com> Date: Sat, 3 Oct 2020 12:51:27 +0700 Subject: [PATCH 099/129] Fix: annotate English words with italic and remove redundant word explanation --- .../JavaScript Essentials/Code Flow.ts | 6 ++-- .../JavaScript Essentials/Functions.ts | 11 ++++---- .../Objects and Arrays.ts | 28 +++++++++---------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts index fe6f8bb86bb3..5a433facd4fa 100644 --- a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts +++ b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Code Flow.ts @@ -25,8 +25,8 @@ if (jon) { } // Tipe '{name: string} | undefined' menggunakan fitur TypeScript -// yang disebut tipe data gabungan (union types). Tipe data gabungan -// (union types) adalah cara untuk nyatakan bahwa sebuah objek bisa +// yang disebut tipe data gabungan (_union types_). Tipe data gabungan +// adalah cara untuk nyatakan bahwa sebuah objek bisa // menjadi salah satu dari banyak hal. // // Tanda pipa (|) bertindak sebagai pemisah antara tipe data yang berbeda. @@ -36,7 +36,7 @@ if (jon) { // kita hadapi. // Kita bisa menggunakan ini dalam beberapa cara. Mari kita mulai dengan melihat -// himpunan (array) yang nilainya memiliki tipe berbeda. +// himpunan (_array_) yang nilainya memiliki tipe berbeda. const identifiers = ["Hello", "World", 24, 19]; diff --git a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts index 45301ece31cf..274ed9c630a7 100644 --- a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts +++ b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Functions.ts @@ -15,7 +15,7 @@ const anonymousOldSchoolFunction = function (x, y) { return x + y; }; -// Anda juga dapat menggunakan singkatan panah-gemuk (fat-arrow) +// Anda juga dapat menggunakan singkatan panah-gemuk (_fat-arrow_) // untuk suatu fungsi const addFunction = (x, y) => { return x + y; @@ -29,15 +29,16 @@ const addFunction = (x, y) => { // diharapkan oleh fungsi ini. // // Selanjutnya adalah versi paling terbuka dari fungsi add, versi ini -// mengatakan bahwa add mengambil dua masukan dari jenis apa pun: dimana masukan ini bisa -// berupa string, angka atau objek yang telah Anda buat. +// mengatakan bahwa add mengambil dua masukan dari jenis +// apa pun: dimana masukan ini bisa berupa _string_, angka atau objek +// yang telah Anda buat. const add1 = (x: any, y: any) => { return x + y; }; add1("Hello", 23); -// Ini adalah JavaScript yang sah (string dapat ditambahkan +// Ini adalah JavaScript yang sah (_string_ dapat ditambahkan // seperti ini misalnya) tetapi tidak optimal untuk fungsi kita // yang kita tahu adalah angka, jadi kita akan mengonversi x dan // y hanya menjadi angka. @@ -65,7 +66,7 @@ const add3 = (x: number, y: number): string => { }; // Fungsi ini gagal karena kita memberi tahu TypeScript bahwa TypeScipt -// seharusnya menerima nilai kembali dalam bentuk string, tetapi +// seharusnya menerima nilai kembali dalam bentuk _string_, tetapi // ternyata fungsinya tidak memenuhi janji itu. const add4 = (x: number, y: number): number => { diff --git a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts index 1ab85a1e792d..de74996822fe 100644 --- a/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts +++ b/packages/playground-examples/copy/id/JavaScript/JavaScript Essentials/Objects and Arrays.ts @@ -43,37 +43,37 @@ console.log(purchaseOrder.item.type); // dan memungkinkan Anda menghindari kesalahan ketik dan melihat tambahan // informasi tanpa harus mencarinya di tempat lain. -// TypeScript juga menawarkan fitur yang sama untuk himpunan (array). -// Berikut adalah himpunan (array) yang isinya hanya pesanan pembelian +// TypeScript juga menawarkan fitur yang sama untuk himpunan (_array_). +// Berikut adalah himpunan yang isinya hanya pesanan pembelian // yang kita buat. const allOrders = [purchaseOrder]; // Jika Anda mengarahkan kursor ke allOrders, Anda dapat -// mengetahui bahwa itu adalah himpunan (array) -// karena info hover diakhiri dengan []. Anda dapat mengakses +// mengetahui bahwa itu adalah himpunan karena info _hover_ +// diakhiri dengan []. Anda dapat mengakses // urutan pertama menggunakan tanda kurung siku dengan indeks // (mulai dari nol). const firstOrder = allOrders[0]; console.log(firstOrder.item.type); -// Cara alternatif untuk mendapatkan objek adalah melalui memencet (popping) -// himpunan (array) untuk menghapus objek. Dengan melakukan ini, kita bisa -// menghapus objek dari himpunan (array), dan mengembalikan objek. Ini disebut -// mutasi himpunan (array), karena mengubah data di dalamnya. +// Cara alternatif untuk mendapatkan objek adalah dengan memencet (_popping_) +// himpunan untuk menghapus objek. Dengan melakukan ini, kita bisa +// menghapus objek dari himpunan, dan mengembalikan objek. Ini disebut +// mutasi himpunan, karena mengubah data di dalamnya. const poppedFirstOrder = allOrders.pop(); // Sekarang allOrders menjadi kosong. Mutasi data dapat bermanfaat untuk // banyak hal, tapi satu cara untuk mengurangi kerumitan di // basis kode Anda adalah dengan menghindari mutasi. TypeScript menawarkan cara -// untuk mendeklarasikan himpunan (array) hanya baca (read-only): +// untuk mendeklarasikan himpunan hanya baca (_read-only_): // Membuat tipe data berdasarkan bentuk pesanan pembelian: type PurchaseOrder = typeof purchaseOrder; -// Membuat himpunan (array) pesanan pembelian yang hanya bisa dibaca +// Membuat himpunan pesanan pembelian yang hanya bisa dibaca const readonlyOrders: readonly PurchaseOrder[] = [purchaseOrder]; // Ya! Agak lebih banyak kode memang. Ada empat @@ -81,15 +81,15 @@ const readonlyOrders: readonly PurchaseOrder[] = [purchaseOrder]; // // type PurchaseOrder - Menyatakan tipe data baru ke TypeScript. // -// typeof - Gunakan sistem inferensi tipe data (type inference) untuk +// typeof - Gunakan sistem inferensi tipe data (_type inference_) untuk // menyetel tipe data berdasarkan konstanta yang diteruskan berikutnya. // // purchaseOrder - Dapatkan variabel purchaseOrder dan beri tahu // TypeScript ini adalah bentuk dari semua -// objek didalam himpunan (array) pesanan. +// objek didalam himpunan pesanan. // // readonly - Objek ini tidak mendukung mutasi, sekali -// objek ini dibuat maka isi himpunan (array) +// objek ini dibuat maka isi himpunan // akan selalu sama. // // Sekarang jika Anda mencoba untuk keluar dari readonlyOrders, TypeScript @@ -97,7 +97,7 @@ const readonlyOrders: readonly PurchaseOrder[] = [purchaseOrder]; readonlyOrders.pop(); -// Anda bisa menggunakan readonly di semua tempat, +// Anda bisa menggunakan _readonly_ di semua tempat, // sedikit lebih banyak sintaks tambahan di sana-sini, tapi sintaks // ini memberikan lebih banyak keamanan ekstra. From 8b679498b8fa5242b42a3c0052118b4ddb8fcfc2 Mon Sep 17 00:00:00 2001 From: miftahul lubab Date: Sat, 3 Oct 2020 13:55:52 +0700 Subject: [PATCH 100/129] doc(i18n-id): fix word default translation --- .../tsconfig-reference/copy/id/options/resolveJsonModule.md | 2 +- packages/tsconfig-reference/copy/id/options/rootDir.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/resolveJsonModule.md b/packages/tsconfig-reference/copy/id/options/resolveJsonModule.md index bbcac13bd944..97d6ef87f91c 100644 --- a/packages/tsconfig-reference/copy/id/options/resolveJsonModule.md +++ b/packages/tsconfig-reference/copy/id/options/resolveJsonModule.md @@ -6,7 +6,7 @@ oneline: "Memperbolehkan mengimpor berkas .json" Memperbolehkan mengimpor modul dengan ekstensi '.json' merupakan praktik umum pada proyek node. Ini termasuk membuat jenis untuk `import` berdasarkan bentuk JSON statis. -TypeScript tidak mendukung penyelesaian berkas JSON secara default: +TypeScript tidak mendukung penyelesaian berkas JSON secara bawaan: ```ts twoslash // @errors: 2732 diff --git a/packages/tsconfig-reference/copy/id/options/rootDir.md b/packages/tsconfig-reference/copy/id/options/rootDir.md index 3bc8e3fee1f7..1d5691d8a230 100644 --- a/packages/tsconfig-reference/copy/id/options/rootDir.md +++ b/packages/tsconfig-reference/copy/id/options/rootDir.md @@ -3,7 +3,7 @@ display: "Root Dir" oneline: "Menyetel direktori root di dalam berkas sumber Anda" --- -**Default**: Jalur umum terpanjang dari semua berkas masukan non-deklarasi. jika `composite` disetel, defaultnya adalah direktori yang berisi berkas `tsconfig.json`. +**Bawaan**: Jalur umum terpanjang dari semua berkas masukan non-deklarasi. jika `composite` disetel, bawaannya adalah direktori yang berisi berkas `tsconfig.json`. Ketika TypeScript mengkompilasi berkas, ia mempertahankan struktur direktori yang sama pada direktori keluaran seperti struktur di direktori masukan. From 35a2370148d78690c3583ba3718fbb716ab4e2c0 Mon Sep 17 00:00:00 2001 From: Rafael Rozon Date: Mon, 21 Sep 2020 17:27:19 -0700 Subject: [PATCH 101/129] translated playground docs: Import Export, JSDoc Support, and Generic Classes --- .../Modern JavaScript/Import Export.ts | 108 ++++++++++++++++++ .../Modern JavaScript/JSDoc Support.js | 94 +++++++++++++++ .../Working With Classes/Generic Classes.ts | 95 +++++++++++++++ 3 files changed, 297 insertions(+) create mode 100644 packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/Import Export.ts create mode 100644 packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/JSDoc Support.js create mode 100644 packages/playground-examples/copy/pt/JavaScript/Working With Classes/Generic Classes.ts diff --git a/packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/Import Export.ts b/packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/Import Export.ts new file mode 100644 index 000000000000..4013637a2f8d --- /dev/null +++ b/packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/Import Export.ts @@ -0,0 +1,108 @@ +//// { order: 1, target: "ES5" } + +// O JavaScript adicionou import/export à linguagem em 2016 +// e TypeScript tem suporte completo para esse estilo de +// conexão entre arquivos e entre modulos externos. +// O TypeScript expande essa sintaxe ao permitir que tipos +// sejam importados e exportados junto com o código. + +// Vamos ver o import de código de um módulo. + +import { danger, message, warn, DangerDSLType } from "danger"; + +// Aqui importamos um conjunto de import nomeados +// ("named imports") de um módulo do Node chamado danger. +// Apesar de haver mais do que quatro imports, +// esses são os únicos que nós escolhemos importar. + +// Nomeando especificamente quais imports você precisa, +// permite que ferramentas tenham a habilidade de remover +// código não utilizado em seu applicativo, e ajuda você a +// entender o que está sendo utilizado nessa arquivo em particular. + +// Nesse caso: danger, message e warn são imports de JavaScript +// enquanto que DangerDSLType é uma interface. + +// O TypeScript permite que engenheiros documentem seus códigos usando +// JSDoc, e a documentação é importada também. Por exemplo, se você +// passar o mouse sobre diferentes partes abaixo, você verá +// explicações sobre o que elas são. + +danger.git.modified_files; + +// Se você quiser saber como criar essas anotações de documentação +// leia o exemplo:jsdoc-support + +// Outro modo de importar código é através do export +// padrão de um módulo. Um exemplo disso é o módulo debug, o qual +// expõe uma função que cria uma função de log. + +import debug from "debug"; +const log = debug("playground"); +log("Código começou a rodar"); + +// Por conta das exports padrões ("default exports") não terem um nome, +// elas podem ser delicadas de se trabalhar junto com ferramentas de análise estática +// como o suporte a refactoração em TypeScript, mas elas têm o seu próprio uso. + +// Por haver uma longa história sobre import/export de código +// em JavaScript, existe uma parte confusa sobre o export padrão: +// alguns módulos exportados tem documentação que sugere que você possa +// escrever um import como este: + +import req from "request"; + +// Entretanto, isto apresenta uma erro. E então você encontra no +// Stack Overflow uma recomendação de import como esta: + +import * as req from "request"; + +// E este funciona. Por que? Nós vamos voltar a isso no final +// da nossa sessão sobre export. + +// Para realizar um import, você precisa fazer um export. +// O modo moderno de escrever exports é através da palavra-chave export + +/** O número atual de adesivos que sobraram no rolo */ +export const numeroDeAdesivos = 11; + +// Isso poderia ter sido importado em outro arquivo usando: +// +// import { numeroDeAdesivos } from "./caminho/para/o/arquivo" + +// Vocé pode ter tantas importações em um arquivo quantas forem necessárias. +// Já um export padrão é bem parecido com isso. + +/** Cria um adesivo para você */ +const geradorDeAdesivos = () => {}; +export default geradorDeAdesivos; + +// Isto poderia ser importado em outro arquivo usando: +// +// import pegueAdesivos from "./caminho/para/o/arquivo" +// +// O nome é decidido pelo módulo que está realizando o import. + +// Estes não são os únicos tipos de import, apenas os +// mais comuns em código moderno. Há um tópico bem abrangente +// sobre todos os modos que um código pode cruzar as fronteiras +// de um módulo no manual: +// +// https://www.typescriptlang.org/docs/handbook/modules.html + +// Entretanto, para tentar responder a última questão. Se você +// observar o código JavaScript desse exemplo, você verá isto: + +// var geradorDeAdesivos = function () { }; +// exports.default = geradorDeAdesivos; + +// Isso define a propriedade padrão ("default") no objeto exports como +// geradorDeAdesivos. Existe código que define o exports como uma +// função ao invés de um objeto. +// +// O TypeScript optou por utilizar a especificação ECMAScript +// sobre como lidar com esses casos, que é criar um erro. +// Entretanto, existe uma configuração do compilador que lida +// automaticamente com esses casos para você, que é a esModuleInterop. +// +// Se você ativar ela nesse exemplo, você verá que o erro desaparece. diff --git a/packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/JSDoc Support.js b/packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/JSDoc Support.js new file mode 100644 index 000000000000..5105538e1943 --- /dev/null +++ b/packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/JSDoc Support.js @@ -0,0 +1,94 @@ +//// { order: 3, isJavaScript: true } + +// O TypeScript tem um suporte muito rico ao JSDoc, para muitos casos +// você pode até não utilizar arquivos .ts e apenas usar anotações de JSDoc +// para criar um ambiente de desenvolvimento rico. +// +// Um comentário JSDoc é um comentário de múltiplas linhas que +// começam com dois asteriscos ao invés de um. + +/* Este é um comentário normal */ +/** Este é um comentário JSDoc */ + +// Comentários JSDoc pertencem ao código JavaScript mais +// próximo abaixo dele + +const minhaVariavel = "Oi"; + +// Se você passar o mouse sobre minhaVariavel, você pode ver que +// ela tem o texto do comentário JSDoc acima. + +// Comentários JSDoc são um meio de fornecer para o TypeScript e editores +// informação sobre os tipos utilizados. Vamos começar com um fácil, +// definindo o tipo de uma variável como um tipo nativo. + +// Para todos os exemplos, você pode passar o mouse sobre o nome. +// E na próxima linha tente escrever [exemplo] para ver +// as opções de auto-complete. + +/** @type {number} */ +var meuNumero; + +// Você pode ver todas as tags disponíveis no manual: +// +// https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html#supported-jsdoc + +// Entretanto, nós vamos tentar cobrir alguns exemplos a mais aqui. +// Você também pode copiar e colar aqui quaisquer exemplos do manual. + +// Importando tipos para arquivos de configuração em JavaScript. + +/** @type { import("webpack").Config } */ +const config = {}; + +// Criando um tipo complexo para reutilizar em múltiplos lugares: + +/** + * @typedef {Object} Usuario - a conta de um usuario + * @property {string} nome - o nome de usuario + * @property {number} id - um id único + */ + +// Então use-o através do nome do typedef: + +/** @type { Usuario } */ +const usuario = {}; + +// Existe em TypeScript uma definição de tipo em linha ("inline type shorthand") que é equivalente +// e a qual você pode usar para ambos: o type e o typedef. + +/** @type {{ dono: Usuario, nome: string }} */ +const recurso; + +/** @typedef {{dono: Usuario, nome: string}} Recurso */ + +/** @type {Recurso} */ +const outroRecurso; + + +// Declarando uma função com tipos: + +/** + * Adiciona dois números + * @param {number} a O primeiro número + * @param {number} b O segundo número + * @returns {number} + */ +function adicionaDoisNumeros(a, b) { + return a + b; +} + +// Você pode usar a maioria das ferramentas de tipos do TypeScript, como uniões ("unions"): + +/** @type {(string | boolean)} */ +let stringOuBoolean = ""; +stringOuBoolean = false; + +// Estender globais em JSDoc é um processo mais complicado +// que você pode conferir no manual do VS Code: +// +// https://code.visualstudio.com/docs/nodejs/working-with-javascript#_global-variables-and-type-checking + +// Adicionar comentários do JSDoc em suas funções é uma situação +// em que todos ganham. Você tem melhores ferramentas assim como +// todo os consumidores da sua API. diff --git a/packages/playground-examples/copy/pt/JavaScript/Working With Classes/Generic Classes.ts b/packages/playground-examples/copy/pt/JavaScript/Working With Classes/Generic Classes.ts new file mode 100644 index 000000000000..965ba568fa92 --- /dev/null +++ b/packages/playground-examples/copy/pt/JavaScript/Working With Classes/Generic Classes.ts @@ -0,0 +1,95 @@ +//// { order: 3 } + +// Este exemplo é, em sua maioria, em TypeScript, porque é um modo muito +// mais fácil de entender primeiro. Ao fim, nós iremos +// ver como criar a mesma classe, porém utilizando JSDoc. + +// Classes Genéricas são um meio de dizer que um tipo em particular +// depende de outro tipo. Por exemplo, aqui está uma gaveta +// que pode conter qualquer tipo de objeto, mas somente um tipo: + +class Gaveta { + conteudo: TipoDeRoupa[] = []; + + adicionar(objeto: TipoDeRoupa) { + this.conteudo.push(objeto); + } + + remover() { + return this.conteudo.pop(); + } +} + +// Para usar uma Gaveta você precisará trabalhar com outro tipo: + +interface Meia { + cor: string; +} + +interface Camiseta { + tamanho: "s" | "m" | "l"; +} + +// Nós podemos criar uma Gaveta somente para meias passando +// o tipo Meia quando criamos uma nova Gaveta: +const gavetaDeMeias = new Gaveta(); + +// Agora nós podemos adicionar ou remover meias na/da gaveta +gavetaDeMeias.adicionar({ cor: "branco" }); +const minhaMeia = gavetaDeMeias.remover(); + +// Assim como criar uma gaveta de Camisetas: +const gavetaDeCamisetas = new Gaveta(); +gavetaDeCamisetas.adicionar({ tamanho: "m" }); + +// Se você for um pouco excêntrico, você pode até criar +// uma gaveta que tem Meias e Camisetas usando para isso +// uma união ("union"): + +const gavetaMista = new Gaveta(); + +// Criar uma classe como a Gaveta sem a sintaxe do TypeScript +// requer o uso da tag "template" em JSDoc. +// Neste exemplo nós definimos a variável template, então +// definimos as propriedades da classe: + +// Para ter esse exemplo funcionando no playground, você terá +// que mudar as configurações para que seja um arquivo JavaScript, +// e apagar o código TypeScript acima. + +/** + * @template {{}} TipoDeRoupa + */ +class Comoda { + constructor() { + /** @type {TipoDeRoupa[]} */ + this.conteudo = []; + } + + /** @param {TipoDeRoupa} object */ + adicionar(objeto) { + this.conteudo.push(objeto); + } + + /** @return {TipoDeRoupa} */ + remover() { + return this.conteudo.pop(); + } +} + +// Então nós criamos um tipo novo através do JSDoc: + +/** + * @typedef {Object} Casaco uma roupa + * @property {string} cor cor do casaco + */ + +// Então, quando nós criamos uma nova instância daquela classe +// nós utilizamos @type para marcar a variável como uma Comoda +// que lida com Casacos + +/** @type {Comoda} */ +const comodaDeCasacos = new Comoda(); + +comodaDeCasacos.adicionar({ cor: "verde" }); +const casaco = comodaDeCasacos.remover(); From 076564ac79c956ea59ac0ec0b4a40a3f9839c5d6 Mon Sep 17 00:00:00 2001 From: Edmund Alwin de Leon Date: Sun, 4 Oct 2020 08:54:49 +0800 Subject: [PATCH 102/129] fix: update broken link in playground example --- .../copy/en/JavaScript/Modern JavaScript/Immutability.ts | 2 +- .../copy/pt/JavaScript/Modern JavaScript/Immutability.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/playground-examples/copy/en/JavaScript/Modern JavaScript/Immutability.ts b/packages/playground-examples/copy/en/JavaScript/Modern JavaScript/Immutability.ts index 49732a191252..477ccf9f71ca 100644 --- a/packages/playground-examples/copy/en/JavaScript/Modern JavaScript/Immutability.ts +++ b/packages/playground-examples/copy/en/JavaScript/Modern JavaScript/Immutability.ts @@ -54,4 +54,4 @@ myFrozenArray.push("World"); // section of the examples: // // example:literals -// example:type-type-widening-and-narrowing +// example:type-widening-and-narrowing diff --git a/packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/Immutability.ts b/packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/Immutability.ts index a4306a3601c6..8171db55b4ea 100644 --- a/packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/Immutability.ts +++ b/packages/playground-examples/copy/pt/JavaScript/Modern JavaScript/Immutability.ts @@ -54,4 +54,4 @@ meuArrayCongelado.push("Mundo"); // na seção de exemplos do TypeScript: // // example:literals -// example:type-type-widening-and-narrowing +// example:type-widening-and-narrowing From 673a8730c63ce7aab1e402e45ee2a7562b091e6c Mon Sep 17 00:00:00 2001 From: Edmund Alwin de Leon Date: Sun, 4 Oct 2020 09:08:55 +0800 Subject: [PATCH 103/129] fix: updates readme broken link in getting started section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a1e47eca7c54..7ade08f16b02 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Some useful knowledge you need to know: You can manually via GH Actions for [production here](https://github.com/microsoft/TypeScript-Website/actions?query=workflow%3A%22Monday+Website+Push+To+Production%22) and [staging here](https://github.com/microsoft/TypeScript-Website/actions?query=workflow%3A%22Build+Website+To+Staging%22). -Having issues getting set up? [Consult the troubleshooting](./docs/Setup Troubleshooting.md). +Having issues getting set up? [Consult the troubleshooting](./docs/Setup%20Troubleshooting.md). ## Deployment From 4670531bbddee6084e9c305c9fa12b3d2082fc6f Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Sun, 4 Oct 2020 12:15:35 +0700 Subject: [PATCH 104/129] docs(i18n-id): Provide Indonesian translation for JSDoc Improvement section --- .../Accessibility Modifiers.js | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js diff --git a/packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js b/packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js new file mode 100644 index 000000000000..18dfceaf2e66 --- /dev/null +++ b/packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js @@ -0,0 +1,80 @@ +//// { compiler: { ts: "3.8.3" }, isJavaScript: true } +// @ts-check + +// Dukungan JSDoc terhadap TypeScript telah diperluas untuk +// mendukung pengubah izin akses pada atribut kelas. Ada: +// +// @public - yang merupakan nilai anggapan. +// @private - atribut yang memiliki izin akses ini +// hanya dapat diakses pada kelas yang sama +// dimana properti ini ditetapkan. +// @protected - atribut yang memiliki izin akses ini +// dapat diakses pada kelas dimana +// properti ini ditetapkan dan kelas-kelas turunannya. + +// Di bawah ini merupakan sebuah kelas dasar yang bernama Binatang, +// kelas ini memiliki sebuah atribut `private` dan `protected`. +// Kelas turunan dari Binatang dapat mengakses "this.cepat" +// tapi tidak bisa mengakses "this.tipe". + +// Diluar kelas-kelas tersebut, kedua atribut tidak terlihat +// dan akan mengembalikan kesalahan kompilasi ketika // @ts-check +// diaktifkan. + +class Binatang { + constructor(tipe) { + /** @private */ + this.tipe = tipe + /** @protected */ + this.cepat = tipe === 'cheetah' + } + + bersuara() { + // Biasanya binatang ini jarang menimbulkan suara + if (this.tipe === 'bengal') { + console.log('') + } else { + throw new Error('bersuara dipanggil pada kelas dasar') + } + } +} + +class Kucing extends Binatang { + constructor(type) { + super(type || 'kucing rumahan') + } + + bersuara() { + console.log('meow') + } + + lari() { + if (this.cepat) { + console.log('Berhasil menjauh') + } else { + console.log('Gagal menjauh') + } + } +} + +class Citah extends Kucing { + constructor() { + super('citah') + } +} + +class Bengal extends Kucing { + constructor() { + super('bengal') + } +} + +const kucingRumahan = new Kucing() +kucingRumahan.bersuara() + +// Atribut-atribut di bawah ini tidak tersedia +kucingRumahan.tipe +kucingRumahan.cepat + +// Anda dapat mempelajari lebih lanjut melalui +// https://devblogs.microsoft.com/typescript/announcing-typescript-3-8-beta/#jsdoc-modifiers From f4ea6449adb705cf98482b59899e613b0d027edd Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Sun, 4 Oct 2020 12:21:56 +0700 Subject: [PATCH 105/129] docs(i18n-id): Change all 'properti' to 'atribut' for better consistency --- .../copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js b/packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js index 18dfceaf2e66..fc784c784d24 100644 --- a/packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js +++ b/packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js @@ -7,10 +7,10 @@ // @public - yang merupakan nilai anggapan. // @private - atribut yang memiliki izin akses ini // hanya dapat diakses pada kelas yang sama -// dimana properti ini ditetapkan. +// dimana atribut ini ditetapkan. // @protected - atribut yang memiliki izin akses ini // dapat diakses pada kelas dimana -// properti ini ditetapkan dan kelas-kelas turunannya. +// atribut ini ditetapkan dan kelas-kelas turunannya. // Di bawah ini merupakan sebuah kelas dasar yang bernama Binatang, // kelas ini memiliki sebuah atribut `private` dan `protected`. From a0520a79a0db9be2cc4723c8be93b632561ec76c Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Sun, 4 Oct 2020 13:54:47 +0700 Subject: [PATCH 106/129] docs(i18n-id): Replace all cheetah(s) with citah --- .../copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js b/packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js index fc784c784d24..3dd8f4545c53 100644 --- a/packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js +++ b/packages/playground-examples/copy/id/3-8/JSDoc Improvements/Accessibility Modifiers.js @@ -26,7 +26,7 @@ class Binatang { /** @private */ this.tipe = tipe /** @protected */ - this.cepat = tipe === 'cheetah' + this.cepat = tipe === 'citah' } bersuara() { From 835d35865271581e82252000a77ffae57a8160e1 Mon Sep 17 00:00:00 2001 From: Miftahul Lubab Date: Sun, 4 Oct 2020 18:18:53 +0700 Subject: [PATCH 107/129] Update packages/tsconfig-reference/copy/id/options/rootDir.md Co-authored-by: Manda Putra --- packages/tsconfig-reference/copy/id/options/rootDir.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/id/options/rootDir.md b/packages/tsconfig-reference/copy/id/options/rootDir.md index 1d5691d8a230..cbec6a548abc 100644 --- a/packages/tsconfig-reference/copy/id/options/rootDir.md +++ b/packages/tsconfig-reference/copy/id/options/rootDir.md @@ -20,7 +20,7 @@ MyProj ├── types.d.ts ``` -Kasimpulan untuk `rootDir` adalah jalur umum terpanjang dari semua berkas masukan non-deklarasi, yang dalam hal ini adalah`core/`. +Kesimpulan untuk `rootDir` adalah jalur umum terpanjang dari semua berkas masukan non-deklarasi, yang dalam hal ini adalah`core/`. Jika nilai `outDir` anda adalah `dist`, maka TypeScript akan membuat struktur direktori seperti ini: From ca1c2e139801e302345e8fec255675f622e0452d Mon Sep 17 00:00:00 2001 From: Miftahul Lubab Date: Sun, 4 Oct 2020 18:19:08 +0700 Subject: [PATCH 108/129] Update packages/tsconfig-reference/copy/id/options/rootDir.md Co-authored-by: Manda Putra --- packages/tsconfig-reference/copy/id/options/rootDir.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/id/options/rootDir.md b/packages/tsconfig-reference/copy/id/options/rootDir.md index cbec6a548abc..c1b16bd1236a 100644 --- a/packages/tsconfig-reference/copy/id/options/rootDir.md +++ b/packages/tsconfig-reference/copy/id/options/rootDir.md @@ -49,7 +49,7 @@ MyProj Yang terpenting, `rootDir` **tidak mempengaruhi berkas mana yang menjadi bagian dari kompilasi**. `rootDir` tidak memiliki hubungan dengan pengaturan `include`, `exclude`, atau `files` pada `tsconfig.json` -Perhatikan bahwa TypeScript tidak akan pernah menulis berkas keluaran ke direktori di luar dari `outDir`, dan tidak akan pernah melewatkan pengeluaran berkas. +Perhatikan bahwa TypeScript tidak akan pernah menulis berkas keluaran (_file output_) ke direktori di luar dari `outDir`, dan tidak akan pernah melewatkan pengeluaran berkas. Karena alasan ini, `rootDir` mengharuskan semua berkas yang perlu dikeluarkan berada dibawah jalur `rootDir`. Misalnya, Anda memiliki struktur direktori seperti ini: From 96a03ed7c42355804cd6495b53becad6fed47ef5 Mon Sep 17 00:00:00 2001 From: Kenrick Date: Sun, 4 Oct 2020 21:20:51 +0800 Subject: [PATCH 109/129] Reorder navigation for Handbook v2 Based on ordering mentioned in https://github.com/microsoft/TypeScript-New-Handbook/blob/master/structure.json and https://github.com/microsoft/TypeScript-New-Handbook/blob/master/meta/OUTLINE.md Fixes #1196 --- .../scripts/generateDocsNavigationPerLanguage.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/documentation/scripts/generateDocsNavigationPerLanguage.js b/packages/documentation/scripts/generateDocsNavigationPerLanguage.js index 9cb3ed8c7d83..8532c9350a90 100644 --- a/packages/documentation/scripts/generateDocsNavigationPerLanguage.js +++ b/packages/documentation/scripts/generateDocsNavigationPerLanguage.js @@ -159,15 +159,15 @@ const handbookPages = [ beta: true, items: [ { file: "handbook-v2/Basics.md" }, - { file: "handbook-v2/Classes.md" }, { file: "handbook-v2/Everyday Types.md" }, - { file: "handbook-v2/Modules.md" }, - { file: "handbook-v2/More on Functions.md" }, - { file: "handbook-v2/Narrowing.md" }, { file: "handbook-v2/Object Types.md" }, { file: "handbook-v2/Type Declarations.md" }, + { file: "handbook-v2/Narrowing.md" }, + { file: "handbook-v2/More on Functions.md" }, { file: "handbook-v2/Types from Extraction.md" }, { file: "handbook-v2/Types from Transformation.md" }, + { file: "handbook-v2/Classes.md" }, + { file: "handbook-v2/Modules.md" }, { file: "handbook-v2/Understanding Errors.md" }, ], }, From 6597ee02cb4e76e8bfb678d3726579c1387e08be Mon Sep 17 00:00:00 2001 From: miftahul lubab Date: Sun, 4 Oct 2020 21:40:11 +0700 Subject: [PATCH 110/129] doc(i18n-id): fixed translation errors in rootDir.md and removeComments.md --- .../copy/id/options/removeComments.md | 14 +++++++------- .../tsconfig-reference/copy/id/options/rootDir.md | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/removeComments.md b/packages/tsconfig-reference/copy/id/options/removeComments.md index 311a9e5a41ec..6bd19afdc557 100644 --- a/packages/tsconfig-reference/copy/id/options/removeComments.md +++ b/packages/tsconfig-reference/copy/id/options/removeComments.md @@ -3,13 +3,13 @@ display: "Menghapus Komentar" oneline: "Menghapus Komentar di TypeScript sehingga tidak muncul di Javascript" --- -Menghapus semua komentar pada berkas Typescript pada saat mengkonversi ke berkas Javascript. Pengaturan bawaannya adalah `false` +Menghapus semua komentar pada berkas Typescript pada saat mengonversi ke berkas Javascript. Pengaturan bawaannya adalah `false` Sebagai contoh, ini adalah berkas TypeScript yang memiliki komentar JSDoc: ```ts -/** Terjemahan dari 'Hello world' ke bahasa Portugis */ -export const helloWorldPTBR = "Olá Mundo"; +/** Terjemahan dari 'Hello world' ke bahasa Indonesia */ +export const helloWorldID = "Halo Dunia"; ``` Ketika `removeComments` disetel ke `true`: @@ -17,8 +17,8 @@ Ketika `removeComments` disetel ke `true`: ```ts twoslash // @showEmit // @removeComments: true -/** Terjemahan dari 'Hello world' ke bahasa Portugis */ -export const helloWorldPTBR = "Olá Mundo"; +/** Terjemahan dari 'Hello world' ke bahasa Indonesia */ +export const helloWorldID = "Halo Dunia"; ``` Tanpa menyetel `removeComments` atau menjadikannya sebagai `false`: @@ -26,8 +26,8 @@ Tanpa menyetel `removeComments` atau menjadikannya sebagai `false`: ```ts twoslash // @showEmit // @removeComments: false -/** Terjemahan dari 'Hello world' ke bahasa Portugis */ -export const helloWorldPTBR = "Olá Mundo"; +/** Terjemahan dari 'Hello world' ke bahasa Indonesia */ +export const helloWorldID = "Halo Dunia"; ``` Artinya, komentar anda akan muncul di kode Javascript diff --git a/packages/tsconfig-reference/copy/id/options/rootDir.md b/packages/tsconfig-reference/copy/id/options/rootDir.md index c1b16bd1236a..1a35c3a2e073 100644 --- a/packages/tsconfig-reference/copy/id/options/rootDir.md +++ b/packages/tsconfig-reference/copy/id/options/rootDir.md @@ -3,7 +3,7 @@ display: "Root Dir" oneline: "Menyetel direktori root di dalam berkas sumber Anda" --- -**Bawaan**: Jalur umum terpanjang dari semua berkas masukan non-deklarasi. jika `composite` disetel, bawaannya adalah direktori yang berisi berkas `tsconfig.json`. +**Bawaan**: Jalur umum terpanjang dari semua berkas masukan non-deklarasi. Jika `composite` disetel, bawaannya adalah direktori yang berisi berkas `tsconfig.json`. Ketika TypeScript mengkompilasi berkas, ia mempertahankan struktur direktori yang sama pada direktori keluaran seperti struktur di direktori masukan. @@ -34,7 +34,7 @@ MyProj ``` Namun, anda mungkin mengharapkan `core` menjadi bagian dari struktur direktori keluaran. -Dengan mensetel `rootDir: "."` pada `tsconfig.json`, TypeScript akan menghasilkan struktur direktori seperti ini: +Dengan menyetel `rootDir: "."` pada `tsconfig.json`, TypeScript akan menghasilkan struktur direktori seperti ini: ``` MyProj @@ -46,7 +46,7 @@ MyProj │ │ │ ├── c.js ``` -Yang terpenting, `rootDir` **tidak mempengaruhi berkas mana yang menjadi bagian dari kompilasi**. +Yang terpenting, `rootDir` **tidak memengaruhi berkas mana yang menjadi bagian dari kompilasi**. `rootDir` tidak memiliki hubungan dengan pengaturan `include`, `exclude`, atau `files` pada `tsconfig.json` Perhatikan bahwa TypeScript tidak akan pernah menulis berkas keluaran (_file output_) ke direktori di luar dari `outDir`, dan tidak akan pernah melewatkan pengeluaran berkas. From 40091020a68b0264072324436f5bcf5eef13a641 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Mon, 5 Oct 2020 15:13:17 +0700 Subject: [PATCH 111/129] docs(i18n-id): fix helper word, and slash on native word and polyfill --- .../tsconfig-reference/copy/id/options/downlevelIteration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/id/options/downlevelIteration.md b/packages/tsconfig-reference/copy/id/options/downlevelIteration.md index f541fe23e612..d044c9ecb7b7 100644 --- a/packages/tsconfig-reference/copy/id/options/downlevelIteration.md +++ b/packages/tsconfig-reference/copy/id/options/downlevelIteration.md @@ -26,7 +26,7 @@ Hal ini sering kali diharapkan orang, tetapi tidak 100% sesuai dengan perilaku E String tertentu, seperti emoji (😜), memiliki `.length` 2 (atau bahkan lebih!), Tetapi harus diiterasi sebagai 1 unit dalam loop `for-of`. Lihat [postingan blog oleh Jonathan New](https://blog.jonnew.com/posts/poo-dot-length-equals-two) untuk penjelasan yang lebih lengkap. -Jika `downlevelIteration` diaktifkan, TypeScript akan menggunakan fungsi helper yang memeriksa implementasi `Symbol.iterator` (baik native maupun polyfill). +Jika `downlevelIteration` diaktifkan, TypeScript akan menggunakan fungsi bantuan yang memeriksa implementasi `Symbol.iterator` (baik _native_ maupun _polyfill_). Jika implementasi ini hilang, Anda akan kembali ke iterasi berbasis _indeks_. ```ts twoslash From c434aa8396f5e450569840b11d9a39196a47e2f4 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Mon, 5 Oct 2020 15:25:29 +0700 Subject: [PATCH 112/129] docs(i18n-id): fix translate --- packages/tsconfig-reference/copy/id/options/esModuleInterop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/id/options/esModuleInterop.md b/packages/tsconfig-reference/copy/id/options/esModuleInterop.md index 0428df26788a..67ff8a3f75c7 100644 --- a/packages/tsconfig-reference/copy/id/options/esModuleInterop.md +++ b/packages/tsconfig-reference/copy/id/options/esModuleInterop.md @@ -54,7 +54,7 @@ fs.readFileSync("file.txt", "utf8"); _.chunk(["a", "b", "c", "d"], 2); ``` -_Catatan_: Anda dapat membuat emisi JS lebih pendek dengan mengaktifkan [`importHelpers`](#importHelpers): +_Catatan_: Anda dapat meminimalisir ukuran keluaran dengan mengaktifkan [`importHelpers`](#importHelpers): ```ts twoslash // @noErrors From 87a11d4bc683ff992b8dc34ec245091ccf340efa Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Mon, 5 Oct 2020 17:33:28 +0700 Subject: [PATCH 113/129] docs(i18n-id): Provide Indonesian translation for section 3-8/Syntax and Messaging --- .../Export Modules From.ts | 27 +++++++ .../Private Class Fields.ts | 81 +++++++++++++++++++ .../3-8/Syntax and Messaging/Type Imports.tsx | 58 +++++++++++++ 3 files changed, 166 insertions(+) create mode 100644 packages/playground-examples/copy/id/3-8/Syntax and Messaging/Export Modules From.ts create mode 100644 packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts create mode 100644 packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx diff --git a/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Export Modules From.ts b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Export Modules From.ts new file mode 100644 index 000000000000..3c1918347c86 --- /dev/null +++ b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Export Modules From.ts @@ -0,0 +1,27 @@ +//// { compiler: { ts: "3.8.3" } } + +// Kemampuan TypeScript untuk mengekspor ulang menjadi lebih dekat +// pada kasus tambahan yang terdapat pada ES2018 +// +// Ekspor pada JavaScript mempunyai kemampuan untuk mengekspor +// ulang sebuah bagian dari _dependency_ secara elegan: + +export { ScriptTransformer } from "@jest/transform"; + +// Ketika Anda ingin mengekspor seluruh objek, hal +// tersebut menjadi agak sedikit berlebih pada TypeScript +// versi sebelumnya: + +import * as console from "@jest/console"; +import * as reporters from "@jest/reporters"; + +export { console, reporters }; + +// Pada TypeScript versi 3.8, TypeScript mendukung +// lebih banyak ekspresi ekspor dibandingkan spesifikasi +// JavaScript, dimana hal tersebut memperbolehkan Anda +// untuk menulis ekspresi ekspor ulang sebuah modul +// hanya dengan satu baris saja + +export * as jestConsole from "@jest/console"; +export * as jestReporters from "@jest/reporters"; diff --git a/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts new file mode 100644 index 000000000000..86d37aaf7531 --- /dev/null +++ b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts @@ -0,0 +1,81 @@ +//// { compiler: { ts: "3.8.3" } } + +// TypeScript versi 3.8, menambahkan atribut `private`, dimana hal tersebut +// merupakan sebuah cara untuk mendeklarasikan sebuah atribut kelas +// yang tidak dapat diakses diluar kelas tempat atribut tersebut +// dinyatakan, termasuk oleh kelas turunannya. + +// Sebgai contoh, kelas Orang di bawah ini tidak mengizinkan siapapun +// menggunakan objek dari kelas tersebut untuk membaca nama depan, +// nama belakang, atau prefiks + +class Orang { + #namaDepan: string; + #namaBelakang: string; + #prefiks: string; + + constructor(namaDepan: string, namaBelakang: string, prefiks: string) { + this.#namaDepan = namaDepan; + this.#namaBelakang = namaBelakang; + this.#prefiks = prefiks; + } + + sapa() { + // Di Islandia, nama lengkap lebih umum digunakan dibandingkan + // bentuk [prefix] [nama belakang] + // https://www.w3.org/International/questions/qa-personal-names#patronymic + if (navigator.languages[0] === "is") { + console.log(`Góðan dag, ${this.#namaDepan} ${this.#namaBelakang}`); + } else { + console.log(`Halo, ${this.#prefiks} ${this.#namaBelakang}`); + } + } +} + +let jeremy = new Orang("Jeremy", "Bearimy", "Mr"); + +// Anda tidak dapat mengakses atribut `private` di luar kelas tersebut: + +// Sebagai contoh, ekspresi di bawah ini tidak valid: +console.log(jeremy.#namaBelakang); + +// Begitu pun ekspresi di bawah ini: +console.log("Nama belakang orang adalah:", jeremy["#namaBelakang"]); + +// Pertanyaan umum yang seringkali kami dapatkan adalah +// "Mengapa Anda memilih cara ini dibandingkan kata kunci `private` pada +// sebuah atribut kelas?" - mari kita bandingkan kedua hal tersebut +// dengan membandingkan cara kerjanya pada TypeScript sebelum versi 3.8: + +class Anjing { + private _nama: string; + constructor(nama: string) { + this._nama = nama; + } +} + +let oby = new Anjing("Oby"); +// Pernyataan tersebut tidak mengizinkan Anda mengakses atribut +// nama menggunakan notasi titik. +oby._nama = "Spot"; +// Namun, TypeScript mengizinkan pengaksesan atribut sebagai +// jalan keluarnya. +oby["_nama"] = "Cherny"; + +// Referensi TypeScript pada sebuah atribut `private` hanya tersedia +// pada tingkat tipe saja yang berarti Anda hanya dapat mempercayai +// izin akses sampai tingkat tersebut saja. Melalui atribut `private` +// yang akan menjadi bagian dari bahasa JavaScript, maka Anda dapat +// membuat jaminan yang lebih baik mengenai visibilitas pada kode +// program Anda. + +// Kami tidak berencana untuk menghapus dukungan terhadap +// kata kunci `private` pada TypeScript, sehingga kode program +// Anda tetap dapat dijalankan, namun sekarang Anda dapat menulis +// kode program yang lebih dekat dengan bahasa JavaScript. + +// Anda dapat mempelajari lebih lanjut tentang atribut kelas +// pada proposal tc39 +// https://github.com/tc39/proposal-class-fields/ +// dan catatan rilis _beta_: +// https://devblogs.microsoft.com/typescript/announcing-typescript-3-8-beta/#ecmascript-private-fields diff --git a/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx new file mode 100644 index 000000000000..b5c57c92a703 --- /dev/null +++ b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx @@ -0,0 +1,58 @@ +//// { compiler: { ts: "3.8.3" } } + +// Pada TypeScript versi 3.8, kami menambahkan sintaks baru +// untuk mengimpor tipe, yang akan terasa familiar bagi +// pengguna yang datang dari flow. + +// `import type` menjadi cara untuk mendeklarasikan sebuah +// impor yang hanya mengimpor tipe. Hal tersebut akan membuat +// Anda menjadi lebih yakin bahwa potongan kode tersebut akan +// dihapus ketika kode program diubah menjadi JavaScript dengan +// cara yang lebih mudah diprediksi karena kode tersebut pasti +// akan dihapus! + +// Sebagai contoh, baris kode di bawah ini tidak akan menambahkan +// sebuah pernyataan `import` atau `require` +import type { CSSProperties } from "react"; + +// Yang akan digunakan disini sebagai sebuah tipe +const style: CSSProperties = { + textAlign: "center", +}; + +// Hal ini berbanding terbalik dengan pernyataan impor di bawah ini: +import * as React from "react"; + +// Yang akan dimasukkan pada kode JavaScript +export class SelamatDatang extends React.Component { + render() { + return ( +
+

Halo dunia

+
+ ); + } +} + +// Namun, bila pernyataan impor dilakukan tanpa kata kunci `type` +// dan hanya mengimpor sebuah tipe menggunakan pernyataan 'import' +// biasa - pernyataan tersebut bisa dihapus. Jika Anda melihat +// pada berkas JavaScript hasil kompilasi, impor di bawah ini +// tidak dimasukkan pada kode program. + +import { FunctionComponent } from "react"; + +export const PengumumanBeta: FunctionComponent = () => { + return

Halaman ini masih dalam tahap beta

; +}; + +// Hal ini disebut sebagai _import elision_, dan hal tersebut +// dapat menjadi sumber kebingungan. Sintaks `import type` +// mengizinkan Anda untuk menuliskan apa yang Anda inginkan +// secara lebih spesifik pada JavaScript. + +// Dokumen ini merupakan gambaran singkat dari kasus penggunaan +// utama dari `import types` namun ada kasus penggunaan lainnya +// yang Anda dapat pelajari pada catatan rilis TypeScript versi 3.8 + +// https://devblogs.microsoft.com/typescript/announcing-typescript-3-8-beta/#type-only-imports-exports From 6b6a2224929eaafdf5b5cac9c6ab53e9e1af8543 Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Mon, 5 Oct 2020 17:34:52 +0700 Subject: [PATCH 114/129] docs(i18n-id): Change all mengizinkan to memperbolehkan to fix consistency issues --- .../copy/id/3-8/Syntax and Messaging/Private Class Fields.ts | 4 ++-- .../copy/id/3-8/Syntax and Messaging/Type Imports.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts index 86d37aaf7531..3f5d94a7fd3d 100644 --- a/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts +++ b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts @@ -55,10 +55,10 @@ class Anjing { } let oby = new Anjing("Oby"); -// Pernyataan tersebut tidak mengizinkan Anda mengakses atribut +// Pernyataan tersebut tidak memperbolehkan Anda mengakses atribut // nama menggunakan notasi titik. oby._nama = "Spot"; -// Namun, TypeScript mengizinkan pengaksesan atribut sebagai +// Namun, TypeScript memperbolehkan pengaksesan atribut sebagai // jalan keluarnya. oby["_nama"] = "Cherny"; diff --git a/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx index b5c57c92a703..2bbe8236b4c2 100644 --- a/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx +++ b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx @@ -48,7 +48,7 @@ export const PengumumanBeta: FunctionComponent = () => { // Hal ini disebut sebagai _import elision_, dan hal tersebut // dapat menjadi sumber kebingungan. Sintaks `import type` -// mengizinkan Anda untuk menuliskan apa yang Anda inginkan +// memperbolehkan Anda untuk menuliskan apa yang Anda inginkan // secara lebih spesifik pada JavaScript. // Dokumen ini merupakan gambaran singkat dari kasus penggunaan From 13474877e22a19b3ccd4ea71c5fa873f117e65f5 Mon Sep 17 00:00:00 2001 From: MAKSS Date: Mon, 5 Oct 2020 22:15:11 +0330 Subject: [PATCH 115/129] Typo got fixed In the src>templates>pages>why-create-typescript.tsx there was a typo and it is fixed. --- .../src/templates/pages/why-create-typescript.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/typescriptlang-org/src/templates/pages/why-create-typescript.tsx b/packages/typescriptlang-org/src/templates/pages/why-create-typescript.tsx index 3924867e41fd..99aec8561fd9 100644 --- a/packages/typescriptlang-org/src/templates/pages/why-create-typescript.tsx +++ b/packages/typescriptlang-org/src/templates/pages/why-create-typescript.tsx @@ -140,7 +140,7 @@ used in your code, a bit like Java.

{`
 var name: string = "Danger"
-console.log("Hello, " + danger)
+console.log("Hello, " + name)
 `.trim()}

This extra : string allow the reader to be certain that name will only be a string. Annotating your variables From e7e9dfaae24be268a45a7f2c6a5fec9cb70bccd9 Mon Sep 17 00:00:00 2001 From: Ethan Arrowood Date: Mon, 5 Oct 2020 16:52:59 -0400 Subject: [PATCH 116/129] add noop catch for duplicate paths --- packages/sandbox/src/index.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/sandbox/src/index.ts b/packages/sandbox/src/index.ts index 3acc4ae661f1..71efd460e553 100644 --- a/packages/sandbox/src/index.ts +++ b/packages/sandbox/src/index.ts @@ -160,7 +160,13 @@ export const createTypeScriptSandbox = ( // In the future it'd be good to add support for an 'add many files' const addLibraryToRuntime = (code: string, path: string) => { defaults.addExtraLib(code, path) - monaco.editor.createModel(code, "javascript", monaco.Uri.file(path)) + try { + monaco.editor.createModel(code, "javascript", monaco.Uri.file(path)) + } catch (err) { + if (err?.message === 'Cannot add model because it already exists!') { + // noop skip + } + } config.logger.log(`[ATA] Adding ${path} to runtime`) } From 42abe1cc57d95324c3749d85497f6e11932787c6 Mon Sep 17 00:00:00 2001 From: Ethan Arrowood Date: Mon, 5 Oct 2020 17:12:00 -0400 Subject: [PATCH 117/129] use getModel rather try/catch --- packages/sandbox/src/index.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/sandbox/src/index.ts b/packages/sandbox/src/index.ts index 71efd460e553..e046c6cf8af6 100644 --- a/packages/sandbox/src/index.ts +++ b/packages/sandbox/src/index.ts @@ -160,12 +160,9 @@ export const createTypeScriptSandbox = ( // In the future it'd be good to add support for an 'add many files' const addLibraryToRuntime = (code: string, path: string) => { defaults.addExtraLib(code, path) - try { - monaco.editor.createModel(code, "javascript", monaco.Uri.file(path)) - } catch (err) { - if (err?.message === 'Cannot add model because it already exists!') { - // noop skip - } + const uri = monaco.Uri.file(path) + if (monaco.editor.getModel(uri) === null) { + monaco.editor.createModel(code, "javascript", uri) } config.logger.log(`[ATA] Adding ${path} to runtime`) } From daf2fce3226fa1dc2df87a4a2f3661e803f81d42 Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Tue, 6 Oct 2020 07:31:54 +0700 Subject: [PATCH 118/129] docs(i18n-id): Fix sebgai typo on Private Class Fields --- .../copy/id/3-8/Syntax and Messaging/Private Class Fields.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts index 3f5d94a7fd3d..04bee0a3d73a 100644 --- a/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts +++ b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Private Class Fields.ts @@ -5,7 +5,7 @@ // yang tidak dapat diakses diluar kelas tempat atribut tersebut // dinyatakan, termasuk oleh kelas turunannya. -// Sebgai contoh, kelas Orang di bawah ini tidak mengizinkan siapapun +// Sebagai contoh, kelas Orang di bawah ini tidak mengizinkan siapapun // menggunakan objek dari kelas tersebut untuk membaca nama depan, // nama belakang, atau prefiks From cc53c9d7d2745254ce95cd40c8880772cc9551f1 Mon Sep 17 00:00:00 2001 From: Cristopher Namchee Date: Tue, 6 Oct 2020 08:19:15 +0700 Subject: [PATCH 119/129] docs(i18n-id): Rephrase sentences to remove Yang as the first word of a sentence --- .../copy/id/3-8/Syntax and Messaging/Type Imports.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx index 2bbe8236b4c2..889344b4f7b0 100644 --- a/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx +++ b/packages/playground-examples/copy/id/3-8/Syntax and Messaging/Type Imports.tsx @@ -15,7 +15,7 @@ // sebuah pernyataan `import` atau `require` import type { CSSProperties } from "react"; -// Yang akan digunakan disini sebagai sebuah tipe +// Tipe tersebut akan digunakan pada baris kode di bawah ini: const style: CSSProperties = { textAlign: "center", }; From 410a1bc55e68d216e1caa6561912d448f3f4fd5a Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Tue, 6 Oct 2020 10:12:34 +0700 Subject: [PATCH 120/129] docs(i18n-id): fix uppercase --- .../tsconfig-reference/copy/id/options/esModuleInterop.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/esModuleInterop.md b/packages/tsconfig-reference/copy/id/options/esModuleInterop.md index 67ff8a3f75c7..35001ed0cbf9 100644 --- a/packages/tsconfig-reference/copy/id/options/esModuleInterop.md +++ b/packages/tsconfig-reference/copy/id/options/esModuleInterop.md @@ -5,18 +5,18 @@ oneline: "Menghasilkan JS tambahan untuk memudahkan dukungan untuk mengimpor mod Secara bawaan (dengan `esModuleInterop` _false_ atau tidak disetel) TypeScript memperlakukan modul CommonJS/AMD/UMD mirip dengan modul ES6. Dalam melakukan ini, ada dua bagian tertentu yang ternyata merupakan asumsi yang salah: -- impor namespace seperti `import * as moment from "moment"` bertindak sama seperti `const moment = require("moment")` +- Impor namespace seperti `import * as moment from "moment"` bertindak sama seperti `const moment = require("moment")` -- impor bawaan seperti `import moment as "moment"` berfungsi sama seperti `const moment = require("moment").default` +- Impor bawaan seperti `import moment as "moment"` berfungsi sama seperti `const moment = require("moment").default` Ketidakcocokan ini menyebabkan dua masalah berikut: -- spesifikasi modul ES6 menyatakan bahwa impor namespace (`import * as x`) hanya dapat menjadi objek, dengan memiliki TypeScript +- Spesifikasi modul ES6 menyatakan bahwa impor namespace (`import * as x`) hanya dapat menjadi objek, dengan memiliki TypeScript memperlakukannya sama dengan `= require ("x")` maka TypeScript diizinkan untuk impor diperlakukan sebagai fungsi dan dapat dipanggil. Ini melanggar rekomendasi spesifikasi. - Meskipun akurat untuk spesifikasi modul ES6, sebagian besar pustaka dengan modul CommonJS/AMD/UMD tidak seketat implementasi TypeScript. -Mengaktifkan `esModuleInterop` akan memperbaiki kedua masalah ini dalam kode yang ditranspilasi oleh TypeScript. Perubahan pertama perilaku di compiler, yang kedua diperbaiki oleh dua fungsi pembantu baru yang menyediakan _shim_ untuk memastikan kompatibilitas dalam JavaScript yang dihasilkan: +Mengaktifkan `esModuleInterop` akan memperbaiki kedua masalah ini dalam kode yang ditranspilasi oleh TypeScript. Perubahan pertama perilaku di kompilator, yang kedua diperbaiki oleh dua fungsi pembantu baru yang menyediakan _shim_ untuk memastikan kompatibilitas dalam JavaScript yang dihasilkan: ```ts import * as fs from "fs"; From 3dd0a9583d16f5f2daba2a176cb42bb24b4a99a2 Mon Sep 17 00:00:00 2001 From: Jack Works Date: Tue, 6 Oct 2020 12:37:54 +0800 Subject: [PATCH 121/129] fix: setupTwoslashHovers doesn't work with Gatsby HMR --- packages/shiki-twoslash/src/dom.ts | 74 ++++++++++++++++-------------- 1 file changed, 39 insertions(+), 35 deletions(-) diff --git a/packages/shiki-twoslash/src/dom.ts b/packages/shiki-twoslash/src/dom.ts index 102ea17b7891..a992299c29c5 100644 --- a/packages/shiki-twoslash/src/dom.ts +++ b/packages/shiki-twoslash/src/dom.ts @@ -36,6 +36,34 @@ const getRootRect = (element: HTMLElement): DOMRect => { return getRootRect(element.parentElement!) } +// Gets triggered on the spans inside the codeblocks +const hover = (event: Event) => { + const hovered = event.target as HTMLElement + if (hovered.nodeName !== "DATA-LSP") return resetHover() + + const message = hovered.getAttribute("lsp")! + const position = getAbsoluteElementPos(hovered) + + // Create or re-use the current hover div + const tooltip = findOrCreateTooltip() + + // Use a textarea to un-htmlencode for presenting to the user + var txt = document.createElement("textarea") + txt.innerHTML = message + tooltip.textContent = txt.value + + // Offset it a bit from the mouse and present it at an absolute position + const yOffset = 20 + tooltip.style.display = "block" + tooltip.style.top = `${position.top + yOffset}px` + tooltip.style.left = `${position.left}px` + + // limit the width of the tooltip to the outer container (pre) + const rootRect = getRootRect(hovered) + const relativeLeft = position.left - rootRect.x + tooltip.style.maxWidth = `${rootRect.width - relativeLeft}px` +} + /** * Creates the main mouse over popup for LSP info using the DOM API. * It is expected to be run inside a `useEffect` block inside your main @@ -47,7 +75,7 @@ const getRootRect = (element: HTMLElement): DOMRect => { * * export default () => { * // Add a the hovers - * useEffect(setupTwoslashHovers, []) + * useEffect(setupTwoslashHovers) * * // Normal JSX * return @@ -55,39 +83,15 @@ const getRootRect = (element: HTMLElement): DOMRect => { * */ export const setupTwoslashHovers = () => { - // prettier-ignore - const twoslashes = document.querySelectorAll(".shiki.lsp .code-container code") - - // Gets triggered on the spans inside the codeblocks - const hover = (event: Event) => { - const hovered = event.target as HTMLElement - if (hovered.nodeName !== "DATA-LSP") return resetHover() - - const message = hovered.getAttribute("lsp")! - const position = getAbsoluteElementPos(hovered) - - // Create or re-use the current hover div - const tooltip = findOrCreateTooltip() - - // Use a textarea to un-htmlencode for presenting to the user - var txt = document.createElement("textarea") - txt.innerHTML = message - tooltip.textContent = txt.value - - // Offset it a bit from the mouse and present it at an absolute position - const yOffset = 20 - tooltip.style.display = "block" - tooltip.style.top = `${position.top + yOffset}px` - tooltip.style.left = `${position.left}px` - - // limit the width of the tooltip to the outer container (pre) - const rootRect = getRootRect(hovered) - const relativeLeft = position.left - rootRect.x - tooltip.style.maxWidth = `${rootRect.width - relativeLeft}px` - } - - twoslashes.forEach(codeblock => { - codeblock.addEventListener("mouseover", hover) - codeblock.addEventListener("mouseout", resetHover) + const blocks = document.querySelectorAll(".shiki.lsp .code-container code") + blocks.forEach((code) => { + code.addEventListener("mouseover", hover) + code.addEventListener("mouseout", resetHover) }) + return () => { + blocks.forEach((code) => { + code.removeEventListener("mouseover", hover) + code.removeEventListener("mouseout", resetHover) + }) + } } From 161254fd96a39ea602b042d670250d0d06de3828 Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Tue, 6 Oct 2020 13:22:19 +0700 Subject: [PATCH 122/129] docs(i18n-id): fix translate on word BOM --- packages/tsconfig-reference/copy/id/options/emitBOM.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/tsconfig-reference/copy/id/options/emitBOM.md b/packages/tsconfig-reference/copy/id/options/emitBOM.md index ff19ec5f07e9..b46b463a8535 100644 --- a/packages/tsconfig-reference/copy/id/options/emitBOM.md +++ b/packages/tsconfig-reference/copy/id/options/emitBOM.md @@ -1,8 +1,8 @@ ---- +--- display: "_Emit BOM_" oneline: "Sertakan tanda urutan byte ke berkas keluaran" --- -Mengontrol apakah TypeScript akan menghasilkan [tanda urutan byte (BOM)](https://wikipedia.org/wiki/Byte_order_mark) saat menulis berkas output. +Mengontrol apakah TypeScript akan menghasilkan [tanda urutan byte (_byte order mark_ - BOM)](https://wikipedia.org/wiki/Byte_order_mark) saat menulis berkas output. Beberapa lingkungan _runtime_ memerlukan _BOM_ untuk menafsirkan berkas JavaScript dengan benar; yang lain mengharuskan itu tidak ada. -Nilai bawaan dari `false` umumnya paling baik kecuali Anda memiliki alasan untuk mengubahnya. \ No newline at end of file +Nilai bawaan dari `false` umumnya paling baik kecuali Anda memiliki alasan untuk mengubahnya. From 227dde44d1fe203f3c88b28aef05b28ea512c3fe Mon Sep 17 00:00:00 2001 From: Orta Date: Tue, 6 Oct 2020 10:58:27 -0400 Subject: [PATCH 123/129] Ship the HMR fix to shiki twoslash --- packages/shiki-twoslash/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shiki-twoslash/package.json b/packages/shiki-twoslash/package.json index 68a9e2826104..de360663a2d0 100644 --- a/packages/shiki-twoslash/package.json +++ b/packages/shiki-twoslash/package.json @@ -1,6 +1,6 @@ { "name": "shiki-twoslash", - "version": "0.8.0", + "version": "0.8.1", "license": "MIT", "homepage": "https://github.com/microsoft/TypeScript-Website/", "description": "API primitives to mix Shiki with Twoslash", From 08ee80cd9051ffd4913b03f67ab45433bfe17af9 Mon Sep 17 00:00:00 2001 From: Orta Date: Tue, 6 Oct 2020 11:02:49 -0400 Subject: [PATCH 124/129] Remove unused CI workflows --- .github/workflows/PR-closed-post.yml | 22 ---------------------- .github/workflows/PR-closed.yml | 11 ----------- 2 files changed, 33 deletions(-) delete mode 100644 .github/workflows/PR-closed-post.yml delete mode 100644 .github/workflows/PR-closed.yml diff --git a/.github/workflows/PR-closed-post.yml b/.github/workflows/PR-closed-post.yml deleted file mode 100644 index f7814172be67..000000000000 --- a/.github/workflows/PR-closed-post.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Post CI Secure Run -on: - workflow_run: - workflows: ["Closed PR"] - types: - - completed - -jobs: - playground: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - name: "Change branch to one specific to this PR, as that's what the SWA close-r uses to determine env" - run: | - git checkout -b pr_${{ github.event.workflow_run.pull_requests.[0].number }} - - - name: Close Pull Request - id: closepullrequest - uses: Azure/static-web-apps-deploy@v0.0.1-preview - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_MEADOW_0C9756810 }} - action: "close" diff --git a/.github/workflows/PR-closed.yml b/.github/workflows/PR-closed.yml deleted file mode 100644 index 1620d6a6af8b..000000000000 --- a/.github/workflows/PR-closed.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: Closed PR -on: - pull_request: - types: - - closed - -jobs: - playground: - runs-on: ubuntu-latest - steps: - - run: "echo 'NOOP'" From 8247bf160e493743a94729c3b2c8e551c2ea7a39 Mon Sep 17 00:00:00 2001 From: Orta Date: Tue, 6 Oct 2020 12:33:58 -0400 Subject: [PATCH 125/129] Fix deploys --- packages/gatsby-remark-shiki-twoslash/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/gatsby-remark-shiki-twoslash/package.json b/packages/gatsby-remark-shiki-twoslash/package.json index f85f7d261eb5..4e18b261bd07 100644 --- a/packages/gatsby-remark-shiki-twoslash/package.json +++ b/packages/gatsby-remark-shiki-twoslash/package.json @@ -23,7 +23,7 @@ "@typescript/vfs": "1.3.0", "shiki": "^0.1.6", "shiki-languages": "^0.1.6", - "shiki-twoslash": "0.8.0", + "shiki-twoslash": "0.8.1", "typescript": "*", "unist-util-visit": "^2.0.0" }, From 9b524042d7298590a403ee617e6c37d6ed383c2f Mon Sep 17 00:00:00 2001 From: MAKSS Date: Tue, 6 Oct 2020 22:42:08 +0330 Subject: [PATCH 126/129] Subnav scrolling issue got solved Fixes #949 There was a rule in sidebar.scss which cause all nav#sidebar, ul element max-height to be calc(100vh - 10px). This ruled changed and it is applied to direct ul elements only to prevent scrolling in subnav menus. --- .../src/components/layout/Sidebar.scss | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/typescriptlang-org/src/components/layout/Sidebar.scss b/packages/typescriptlang-org/src/components/layout/Sidebar.scss index e48090d296ab..3f7e26cd0e32 100644 --- a/packages/typescriptlang-org/src/components/layout/Sidebar.scss +++ b/packages/typescriptlang-org/src/components/layout/Sidebar.scss @@ -16,12 +16,6 @@ nav#sidebar { margin: 0; padding: 0; - @media (min-width: $screen-sm) { - max-height: calc(100vh - 10px); - overflow-y: auto; - overflow-x: hidden; - } - li { // Mostly stuff for all of the links list-style: none; @@ -157,6 +151,15 @@ nav#sidebar { } } } + + // Only set max-height and overflow rules for direct ul children to prevent scrolling in subnav uls + & > ul { + @media (min-width: $screen-sm) { + max-height: calc(100vh - 10px); + overflow-y: auto; + overflow-x: hidden; + } + } } @media (max-width: $screen-sm) { From 297e5ba74c2e79df50c41b06ee997ed032a21f9d Mon Sep 17 00:00:00 2001 From: Ridwan Maulana Date: Wed, 7 Oct 2020 05:17:21 +0700 Subject: [PATCH 127/129] docs(i18n-id): fix translate on word to only --- .../tsconfig-reference/copy/id/options/emitDeclarationOnly.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md b/packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md index 0a463960573f..136109f4f223 100644 --- a/packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md +++ b/packages/tsconfig-reference/copy/id/options/emitDeclarationOnly.md @@ -8,4 +8,4 @@ _Hanya_ menghasilkan berkas `.d.ts`; jangan mengirimkan berkas `.js`. Pengaturan ini berguna dalam dua kasus: - Anda menggunakan _transpiler_ selain TypeScript untuk membuat JavaScript Anda. -- Anda menggunakan TypeScript untuk hanya menghasilkan berkas `d.ts` untuk konsumen Anda. \ No newline at end of file +- Anda menggunakan TypeScript hanya untuk menghasilkan berkas `d.ts` untuk konsumen Anda. From 6e35226cf0986fab23620e9fb4667e648b3cd984 Mon Sep 17 00:00:00 2001 From: Orta Date: Wed, 7 Oct 2020 11:34:08 -0400 Subject: [PATCH 128/129] Some handbook and analytics improvements --- .../copy/en/handbook-v2/Object Types.md | 13 ++++++++----- packages/typescriptlang-org/gatsby-browser.js | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/documentation/copy/en/handbook-v2/Object Types.md b/packages/documentation/copy/en/handbook-v2/Object Types.md index 699dc4f78f8b..f251df213f14 100644 --- a/packages/documentation/copy/en/handbook-v2/Object Types.md +++ b/packages/documentation/copy/en/handbook-v2/Object Types.md @@ -180,6 +180,7 @@ Now `xPos` and `yPos` are both definitely present within the body of `paintShape

```ts twoslash // @noImplicitAny: false @@ -196,8 +197,6 @@ function foo({ shape: Shape, xPos: number = 100 /*...*/ }) { In an object destructuring pattern, `shape: Shape` means "grab the property `shape` and redefine it locally as a variable named `Shape`. Likewise `xPos: number` creates a variable named `number` whose value is based on the parameter's `xPos`. - - ### `readonly` Properties Properties can also be marked as `readonly` for TypeScript. @@ -491,7 +490,6 @@ When TypeScript sees `Box`, it will replace every instance of `T` in `Bo In other words, `Box` and our earlier `StringBox` work identically. ```ts twoslash -// @errors: 2532 interface Box { contents: T; } @@ -500,7 +498,12 @@ interface StringBox { } let boxA: Box = { contents: "hello" }; +boxA.contents; +// ^? + let boxB: StringBox = { contents: "world" }; +boxB.contents; +// ^? ``` `Box` is reusable in that `T` can be substituted with anything, and that means that when we need a box for a new type, we don't need to declare a new box type at all (though we certainly could if we wanted to). @@ -531,7 +534,7 @@ function setContents(box: Box, newContents: T) { } ``` -At this point, it's also worth calling out that type aliases can also be generic, and we could have defined our new `Box` interface +At this point, it's also worth calling out that type aliases can also be generic, and we could have defined our new `Box` interface which was: ```ts twoslash interface Box { @@ -758,7 +761,7 @@ function setCoordinate(coord: Either2dOr3d) { // ^? console.log(`Provided coordinates had ${coord.length} dimensions`); - // ^? + // ^? } ``` diff --git a/packages/typescriptlang-org/gatsby-browser.js b/packages/typescriptlang-org/gatsby-browser.js index d3bcd3601199..d42e93785492 100644 --- a/packages/typescriptlang-org/gatsby-browser.js +++ b/packages/typescriptlang-org/gatsby-browser.js @@ -37,6 +37,7 @@ exports.onRouteUpdate = ({ location, prevLocation }) => { uri: locationWithoutPlaygroundCode, refUri: referrerWithoutPlaygroundCode, prev: previousLocationWithoutPlaygroundCode, + lang: document.documentElement.lang, visitedPlayground: hasLocalStorage && localStorage.getItem("sandbox-history") !== null, }) From 21ff47ff82b91b415427e93ac8c5186404dcf4f5 Mon Sep 17 00:00:00 2001 From: Orta Date: Wed, 7 Oct 2020 13:27:36 -0400 Subject: [PATCH 129/129] Dont assume that the cookies check JS successfully parses even if it correctly was set up --- .../typescriptlang-org/src/components/layout/CookieBanner.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/typescriptlang-org/src/components/layout/CookieBanner.tsx b/packages/typescriptlang-org/src/components/layout/CookieBanner.tsx index 9aa39342e5ab..fbc169ff6fc5 100644 --- a/packages/typescriptlang-org/src/components/layout/CookieBanner.tsx +++ b/packages/typescriptlang-org/src/components/layout/CookieBanner.tsx @@ -20,6 +20,9 @@ export const CookieBanner = (props: { lang: string }) => { const verboseCookieLogging = () => { let siteConsent + // If they ship a bad build of the cookie banner, then even though the script is fully there + // the global symbols won't be + if (!WcpConsent) return WcpConsent.init("en-US", "cookie-banner", (err, _siteConsent) => { if (err) { @@ -30,6 +33,7 @@ export const CookieBanner = (props: { lang: string }) => { } }, onConsentChanged); + function onConsentChanged(newConsent: any) { if (newConsent.isConsentRequired) { // newConsent.manageConsent();

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 literal 120400 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