cluaupp 1.5.2-cf → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -0
- package/README.md +26 -39
- package/api/generated/bench-latest.json +43 -21
- package/api/generated/lsp-index.json +1 -1
- package/api/manifests/roblox-target.manifest.json +5 -5
- package/api/normalized/roblox-target.profile.json +8729 -267
- package/api/roblox/luau-builtins.d.luau +185 -0
- package/api/roblox/surface.json +1 -0
- package/api/roblox-api.lock.json +11 -2
- package/bin/cluaupp.js +3 -1
- package/editors/vscode/syntaxes/clpp.tmLanguage.json +142 -21
- package/examples/README.md +9 -9
- package/examples/game/cluaupp.config.json +2 -2
- package/examples/game/default.project.json +4 -15
- package/examples/game/out/ReplicatedStorage/Shared/GameInfo.luau +8 -0
- package/examples/game/out/ReplicatedStorage/Shared/GameInfo.luau.map.json +13 -0
- package/examples/game/out/ServerScriptService/Leaderstats.server.luau +26 -0
- package/examples/game/out/ServerScriptService/Leaderstats.server.luau.map.json +13 -0
- package/examples/game/out/ServerScriptService/Main.server.luau +15 -0
- package/examples/game/out/ServerScriptService/Main.server.luau.map.json +13 -0
- package/examples/game/out/StarterPlayer/StarterPlayerScripts/Main.client.luau +10 -0
- package/examples/game/out/StarterPlayer/StarterPlayerScripts/Main.client.luau.map.json +13 -0
- package/examples/game/src/ReplicatedStorage/Shared/GameInfo.clp +1 -0
- package/examples/game/src/ServerScriptService/Leaderstats.server.clp +18 -0
- package/examples/game/src/ServerScriptService/Main.server.clp +9 -0
- package/examples/game/src/StarterPlayer/StarterPlayerScripts/Main.client.clp +4 -0
- package/generated/api/build-profile.js +1 -1
- package/generated/api/loader.js +2 -2
- package/generated/api/surface/build.js +328 -0
- package/generated/api/surface/luau-defs.js +595 -0
- package/generated/api/surface/model.js +8 -0
- package/generated/clpp/contract.js +6 -3
- package/generated/clpp/handshake.js +36 -0
- package/generated/clpp/modules.js +20 -9
- package/generated/clpp/runner.js +62 -31
- package/generated/compile.js +18 -1
- package/generated/compiler/ast.js +3 -0
- package/generated/compiler/checker/calls.js +999 -0
- package/generated/compiler/checker/checker.js +1215 -0
- package/generated/compiler/checker/exprs.js +791 -0
- package/generated/compiler/checker/flow.js +168 -0
- package/generated/compiler/checker/members.js +763 -0
- package/generated/compiler/checker/statements.js +792 -0
- package/generated/compiler/checker/symbols.js +90 -0
- package/generated/compiler/checker/typeops.js +348 -0
- package/generated/compiler/checker/yields.js +115 -0
- package/generated/compiler/diagnostics.js +138 -0
- package/generated/compiler/emit/emitter.js +2356 -0
- package/generated/compiler/emit/luau-types.js +137 -0
- package/generated/compiler/emit/names.js +130 -0
- package/generated/compiler/emit/runtime.js +432 -0
- package/generated/compiler/lexer.js +403 -0
- package/generated/compiler/parser.js +1881 -0
- package/generated/compiler/project.js +332 -0
- package/generated/compiler/roblox/api.js +388 -0
- package/generated/compiler/roblox/context.js +100 -0
- package/generated/compiler/source.js +59 -0
- package/generated/compiler/stdlib.js +232 -0
- package/generated/compiler/types.js +250 -0
- package/generated/target/build-cache.js +4 -4
- package/generated/target/gen-rojo-tree.js +15 -0
- package/generated/target/source-map.js +61 -8
- package/generated/target/studio-bridge.js +1 -0
- package/generated/utils/project.js +83 -25
- package/package.json +12 -5
- package/plugins/CluauppNav/Plugin.luau +28 -4
- package/scripts/postinstall-native.js +4 -0
- package/skills/README.md +3 -3
- package/skills/clpp-hive-flare/SKILL.md +30 -26
- package/skills/clpp-language/SKILL.md +67 -74
- package/skills/clpp-language/compiler.md +24 -36
- package/skills/clpp-style/SKILL.md +31 -44
- package/src/api/build-profile.ts +1 -1
- package/src/api/loader.ts +2 -2
- package/src/api/surface/build.ts +374 -0
- package/src/api/surface/luau-defs.ts +635 -0
- package/src/api/surface/model.ts +96 -0
- package/src/clpp/contract.ts +20 -3
- package/src/clpp/handshake.ts +25 -0
- package/src/clpp/modules.ts +17 -10
- package/src/clpp/runner.ts +52 -34
- package/src/compile.ts +20 -2
- package/src/compiler/ast.ts +336 -0
- package/src/compiler/checker/calls.ts +1025 -0
- package/src/compiler/checker/checker.ts +1352 -0
- package/src/compiler/checker/exprs.ts +805 -0
- package/src/compiler/checker/flow.ts +174 -0
- package/src/compiler/checker/members.ts +793 -0
- package/src/compiler/checker/statements.ts +802 -0
- package/src/compiler/checker/symbols.ts +219 -0
- package/src/compiler/checker/typeops.ts +355 -0
- package/src/compiler/checker/yields.ts +120 -0
- package/src/compiler/diagnostics.ts +163 -0
- package/src/compiler/emit/emitter.ts +2486 -0
- package/src/compiler/emit/luau-types.ts +143 -0
- package/src/compiler/emit/names.ts +130 -0
- package/src/compiler/emit/runtime.ts +438 -0
- package/src/compiler/lexer.ts +444 -0
- package/src/compiler/parser.ts +1943 -0
- package/src/compiler/project.ts +354 -0
- package/src/compiler/roblox/api.ts +408 -0
- package/src/compiler/roblox/context.ts +108 -0
- package/src/compiler/source.ts +67 -0
- package/src/compiler/stdlib.ts +256 -0
- package/src/compiler/types.ts +313 -0
- package/src/target/build-cache.ts +5 -8
- package/src/target/gen-rojo-tree.ts +15 -0
- package/src/target/source-map.ts +65 -27
- package/src/target/studio-bridge.ts +3 -0
- package/src/types.ts +3 -0
- package/src/utils/project.ts +79 -31
- package/templates/README.md +7 -0
- package/templates/{game → game-modern}/cluaupp.config.json +2 -2
- package/templates/{game → game-modern}/package.json +1 -2
- package/templates/game-modern/rokit.toml +2 -0
- package/templates/game-modern/src/ReplicatedStorage/Shared/GameInfo.clp +1 -0
- package/templates/{game/src/Modules/Core/Guard.server.clpp → game-modern/src/ServerScriptService/Handlers/Guard.server.clp} +1 -4
- package/templates/game-modern/src/ServerScriptService/Main.server.clp +8 -0
- package/templates/game-modern/src/StarterPlayer/StarterPlayerScripts/Main.client.clp +4 -0
- package/examples/game/out/ReplicatedStorage/Shared/Constants/Datas/TemplateData.luau +0 -29
- package/examples/game/out/ReplicatedStorage/Shared/Constants/Datas/TemplateData.luau.map.json +0 -13
- package/examples/game/out/ReplicatedStorage/Shared/Net/Net.luau +0 -83
- package/examples/game/out/ReplicatedStorage/Shared/Net/Net.luau.map.json +0 -13
- package/examples/game/out/ServerScriptService/Boot/DataBoot.server.luau +0 -18
- package/examples/game/out/ServerScriptService/Boot/DataBoot.server.luau.map.json +0 -13
- package/examples/game/out/ServerScriptService/Configuration/ServerConfig.luau +0 -14
- package/examples/game/out/ServerScriptService/Configuration/ServerConfig.luau.map.json +0 -13
- package/examples/game/out/ServerScriptService/Handlers/Guard.server.luau +0 -15
- package/examples/game/out/ServerScriptService/Handlers/Guard.server.luau.map.json +0 -13
- package/examples/game/out/ServerScriptService/Handlers/PlayerHandler.server.luau +0 -50
- package/examples/game/out/ServerScriptService/Handlers/PlayerHandler.server.luau.map.json +0 -13
- package/examples/game/out/StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.luau +0 -12
- package/examples/game/out/StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.luau.map.json +0 -13
- package/examples/game/out/StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.luau +0 -16
- package/examples/game/out/StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.luau.map.json +0 -13
- package/examples/game/src/Client/Controllers/DataController.client.clpp +0 -7
- package/examples/game/src/Client/Main.client.clpp +0 -4
- package/examples/game/src/Declarations/Net.flare +0 -5
- package/examples/game/src/Include/GameTypes.clh +0 -40
- package/examples/game/src/Modules/Core/Guard.server.clpp +0 -7
- package/examples/game/src/Modules/Core/PlayerHandler.server.clpp +0 -23
- package/examples/game/src/Server/Boot/DataBoot.server.clpp +0 -13
- package/examples/game/src/Server/Main.server.clpp +0 -4
- package/templates/game/.clangd +0 -25
- package/templates/game/.vscode/extensions.json +0 -8
- package/templates/game/.vscode/settings.json +0 -17
- package/templates/game/Packages/.gitkeep +0 -0
- package/templates/game/compile_flags.txt +0 -6
- package/templates/game/default.project.json +0 -41
- package/templates/game/include/clpp/datatypes.clh +0 -575
- package/templates/game/include/clpp/generated/enums.clh +0 -4920
- package/templates/game/include/clpp/generated/instances.clh +0 -87182
- package/templates/game/include/clpp/libs/arrayindexer.clh +0 -12
- package/templates/game/include/clpp/libs/axiom.clh +0 -154
- package/templates/game/include/clpp/libs/bloom.clh +0 -58
- package/templates/game/include/clpp/libs/coil.clh +0 -37
- package/templates/game/include/clpp/libs/crest.clh +0 -22
- package/templates/game/include/clpp/libs/echo.clh +0 -52
- package/templates/game/include/clpp/libs/ember.clh +0 -17
- package/templates/game/include/clpp/libs/flare.clh +0 -65
- package/templates/game/include/clpp/libs/gleam.clh +0 -111
- package/templates/game/include/clpp/libs/guide.clh +0 -42
- package/templates/game/include/clpp/libs/helm.clh +0 -31
- package/templates/game/include/clpp/libs/hive.clh +0 -20
- package/templates/game/include/clpp/libs/keep.clh +0 -158
- package/templates/game/include/clpp/libs/lens.clh +0 -24
- package/templates/game/include/clpp/libs/mint.clh +0 -28
- package/templates/game/include/clpp/libs/net.clh +0 -31
- package/templates/game/include/clpp/libs/occlude.clh +0 -15
- package/templates/game/include/clpp/libs/pin.clh +0 -28
- package/templates/game/include/clpp/libs/promise.clh +0 -24
- package/templates/game/include/clpp/libs/roster.clh +0 -123
- package/templates/game/include/clpp/libs/shift.clh +0 -22
- package/templates/game/include/clpp/libs/spark.clh +0 -28
- package/templates/game/include/clpp/libs/stage.clh +0 -23
- package/templates/game/include/clpp/libs/sweep.clh +0 -23
- package/templates/game/include/clpp/libs/trace.clh +0 -18
- package/templates/game/include/clpp/libs/ward.clh +0 -19
- package/templates/game/include/clpp/libs.clh +0 -31
- package/templates/game/include/clpp/roblox.clh +0 -41
- package/templates/game/rokit.toml +0 -5
- package/templates/game/src/Client/Controllers/DataController.client.clpp +0 -7
- package/templates/game/src/Client/Main.client.clpp +0 -4
- package/templates/game/src/Declarations/Net.flare +0 -5
- package/templates/game/src/Include/GameTypes.clh +0 -40
- package/templates/game/src/Modules/Core/PlayerHandler.server.clpp +0 -24
- package/templates/game/src/Server/Boot/DataBoot.server.clpp +0 -13
- package/templates/game/src/Server/Main.server.clpp +0 -4
- package/templates/game/stylua.toml +0 -9
- package/templates/game/wally.toml +0 -12
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
- **Init template only `game-modern`** — removed `templates/game` from the package; legacy `.clpp` scaffold lives under `test/fixtures/legacy-clpp-game` for tests. `game-modern` adds `Handlers/Guard.server.clp` (Ward boot).
|
|
6
|
+
- **Docs site — CL++ 0.10 Roblox target** — Start, Language, Architecture/CLI, Examples, and all CluauppLibs handbook pages rewritten for `.clp`, `link`, top-level scripts, `@server`/`@client`, and `<<` comments. Site grammar aliases `clp` only; migration page documents legacy `.clpp`/`.clh` as deprecated.
|
|
7
|
+
- **CL++ agent skills** — `skills/clpp-language`, `clpp-style`, `clpp-hive-flare` teach link-only modules and no `void init()` on Roblox; `cluaupp init` still copies them to `.cursor/skills/`.
|
|
5
8
|
- **GetService ownership** — `GetService<T>()` is Cluaupp Roblox Target (registry + `CLUAU_SVC001` + Context Safety + header stubs + postprocess normalize). CL++ only forwards a generic call. New `src/target/get-service.ts`; wired into compile + doctor.
|
|
6
9
|
- **Named `import` host support** — Parse/resolve `import { } from` alongside `#include`; Rojo mapper strips `.clh`/`.clpp`; authority + project graph; game-rooted require rewrite for all services; incremental cache fingerprints imported deps; CompileArtifact `nativeHints`/`layoutHints`/`requires`/`optimize` wired through `clpp api compile`.
|
|
7
10
|
- **CL++ 0.8 floor** — `MIN_CLPP_VERSION` raised to **0.8.0** (refuse older `clpp`). Templates/examples use `import { PlayerTemplate } from` for app modules; angle `#include <clpp/…>` stays for prelude. Named `import` host support, `nativeHints`/`layoutHints`/`requires`, docs pages Option/Result + Cluaupp host.
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<img src="docs/public/assets/logo.png" alt="Cluaupp" width="160">
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
**CL++ games on Roblox.** You write [CL++](https://kartzrbx.github.io/CLPP/). Cluaupp
|
|
7
|
+
**CL++ games on Roblox.** You write [CL++](https://kartzrbx.github.io/CLPP/) in `.clp` files. Cluaupp checks Roblox APIs, emits Luau, wires Rojo, and copies CluauppLibs.
|
|
8
8
|
|
|
9
9
|
[CL++ language](https://kartzrbx.github.io/CLPP/) · [Docs](https://kartzrbx.github.io/Cluaupp/) · [Why Cluaupp](https://kartzrbx.github.io/Cluaupp/why-cluaupp/) · [Benchmarks](https://kartzrbx.github.io/Cluaupp/benchmarks/) · [Roadmap](https://kartzrbx.github.io/Cluaupp/roadmap/)
|
|
10
10
|
|
|
@@ -12,45 +12,28 @@
|
|
|
12
12
|
[](https://nodejs.org)
|
|
13
13
|
[](LICENSE)
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
CL++ 0.10 is an independent language with a bytecode VM. Its `clpp` executable does not emit Luau or expose the old `clpp api compile` command. The current experimental Roblox compiler in `src/compiler/` parses `.clp`, checks Roblox APIs and project links, and emits Luau. It is a transitional implementation: the shared-frontend design requires CL++ to provide a versioned Roblox Luau backend. See the [specification review](docs/src/content/docs/architecture/clpp-target-contract.md) for verified semantics and migration gates. [KartzRbx/CLPP](https://github.com/KartzRbx/CLPP) remains the language and desktop VM; Cluaupp owns the Roblox target, Rojo/DataModel wiring, Flare remotes, API Registry, and CluauppLibs. The older `.clpp`/`.clh` pipeline remains available only with a compatible legacy Luau compiler.
|
|
16
16
|
|
|
17
17
|
Native PascalCase CluauppLibs: **Flare** net, **Sweep** zelador, **Spark** signal, **Keep** data, **Mint** numbers, **Axiom** math, **Roster** tables, **Gleam** UI, **Bloom** effects, **Lens** debug UI, **Crest** topbar, **Pin** billboard, **Stage** viewport 3D, **Coil** spring, **Helm** commands, **Shift** states, **Hive** ECS, **Ward** anti-cheat, **Ember** VFX, **Echo** replication, **Guide** tutorials, **Trace** pretty-print. Schemas pack u8 ids / ColorSequence / tables — never JSON on the hot path. Name map: [`runtime/SOURCES.md`](runtime/SOURCES.md).
|
|
18
18
|
|
|
19
|
-
```
|
|
19
|
+
```clp
|
|
20
20
|
link @clpp.roblox;
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
void HelloServer::Greet(Player player) {
|
|
22
|
+
Players players = GetService<Players>();
|
|
23
|
+
players.PlayerAdded ~> func (Player player) {
|
|
27
24
|
post("Player name: " .: player.Name);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
void init() {
|
|
31
|
-
HelloServer hello;
|
|
32
|
-
Players players = GetService<Players>();
|
|
33
|
-
|
|
34
|
-
for (Player player in players.GetPlayers()) {
|
|
35
|
-
hello.Greet(player);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
players.PlayerAdded~>Connect(func (Player playerEntered) {
|
|
39
|
-
hello.Greet(playerEntered);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
25
|
+
};
|
|
42
26
|
```
|
|
43
27
|
|
|
44
28
|
## Install
|
|
45
29
|
|
|
46
|
-
1. [Node.js](https://nodejs.org/)
|
|
47
|
-
2. [Rojo](https://rojo.space/)
|
|
48
|
-
3.
|
|
30
|
+
1. [Node.js](https://nodejs.org/) 22.12+
|
|
31
|
+
2. [Rojo](https://rojo.space/) **>=7.7.0 <8.0.0**. Templates pin a reproducible version in rokit.toml.
|
|
32
|
+
3. CL++ 0.10 and its VS Code extension are optional for standalone CL++ work. Cluaupp compiles Roblox `.clp` projects itself.
|
|
49
33
|
|
|
50
34
|
```bash
|
|
51
|
-
npm install -g cluaupp@
|
|
52
|
-
|
|
53
|
-
npx cluaupp init my-game
|
|
35
|
+
npm install -g cluaupp@next
|
|
36
|
+
cluaupp init my-game
|
|
54
37
|
cd my-game
|
|
55
38
|
rokit install
|
|
56
39
|
cluaupp build
|
|
@@ -59,10 +42,11 @@ rojo serve
|
|
|
59
42
|
|
|
60
43
|
| Source | Output | Rojo |
|
|
61
44
|
| --- | --- | --- |
|
|
62
|
-
| `*.server.
|
|
63
|
-
| `*.client.
|
|
64
|
-
| `*.clp`
|
|
65
|
-
|
|
45
|
+
| `*.server.clp` | `*.server.luau` | Script |
|
|
46
|
+
| `*.client.clp` | `*.client.luau` | LocalScript |
|
|
47
|
+
| untagged `*.clp` | `*.luau` | ModuleScript |
|
|
48
|
+
|
|
49
|
+
The legacy `.clpp`/`.clh` adapter requires `>=0.8.0 <0.9.0` and `contractVersion: 1` in `api manifest`. A version string alone is insufficient; the installed 0.10 VM is incompatible. This adapter policy requires a matching compiler and does not claim that every 0.8 release implements it.
|
|
66
50
|
|
|
67
51
|
## CLI
|
|
68
52
|
|
|
@@ -70,22 +54,25 @@ rojo serve
|
|
|
70
54
|
cluaupp init [folder]
|
|
71
55
|
cluaupp build [folder]
|
|
72
56
|
cluaupp watch [folder]
|
|
73
|
-
cluaupp
|
|
74
|
-
cluaupp intellisense # schema highlighting (.flare .hive …) + clpp setup (CL++ LSP)
|
|
57
|
+
cluaupp intellisense # schema highlighting (.flare .hive …)
|
|
75
58
|
cluaupp api generate # Registry → headers + lsp-index.json + lock
|
|
76
59
|
cluaupp target info # schemaVersion, class/enum counts
|
|
77
60
|
cluaupp api aux-diff <p> # optional coverage vs @rbxts/types / LuauTypes
|
|
78
61
|
```
|
|
79
62
|
|
|
80
|
-
**IntelliSense:** CL++
|
|
81
|
-
|
|
82
|
-
`clpp` missing? Set `CLPP` / `CLPP_PATH` or install [CL++ 0.8.0+](https://github.com/KartzRbx/CLPP/releases).
|
|
63
|
+
**IntelliSense:** The CL++ 0.10 editor extension covers the independent language. Cluaupp's Roblox checker runs during build; schema files use the Cluaupp editor extension. Emitted Luau can use luau-lsp.
|
|
83
64
|
|
|
84
65
|
## Language
|
|
85
66
|
|
|
86
|
-
Course and reference: **[kartzrbx.github.io/CLPP](https://kartzrbx.github.io/CLPP/)**.
|
|
67
|
+
Course and reference: **[kartzrbx.github.io/CLPP](https://kartzrbx.github.io/CLPP/)**. Roblox code adds `link @clpp.roblox;` and service API checks in Cluaupp. Use `.server.clp` and `.client.clp` file tags for script context.
|
|
68
|
+
|
|
69
|
+
The new project scaffold is in [`templates/game-modern`](templates/game-modern). Existing `.clpp` projects can still use the legacy compiler path during migration. Toolchain docs (Starlight): `npm run site:dev`.
|
|
70
|
+
|
|
71
|
+
## Preparing a beta release
|
|
72
|
+
|
|
73
|
+
The maintainer gate runs `npm run setup:runtime`, regenerates the API projections and verifies their lock before tests. It downloads the official Luau 0.741 interpreter, analyzer and compiler into the ignored `.cluaupp/toolchains` directory and verifies pinned SHA-256 checksums. Rokit installs the interpreter but does not expose the complete analyzer/compiler bundle required by these tests. Runtime test tools are not consumer dependencies.
|
|
87
74
|
|
|
88
|
-
|
|
75
|
+
Run `npm run prepublishOnly` to check a release without publishing. Publish an unused prerelease version with `npm publish --tag next`. The experimental compiler and remaining validation limits are described in the specification review above.
|
|
89
76
|
|
|
90
77
|
## License
|
|
91
78
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"measuredAt": "2026-
|
|
2
|
+
"measuredAt": "2026-10-02T11:17:54.881Z",
|
|
3
3
|
"node": "v24.20.0",
|
|
4
4
|
"platform": "win32",
|
|
5
5
|
"registry": {
|
|
@@ -11,29 +11,51 @@
|
|
|
11
11
|
"methods": 3282,
|
|
12
12
|
"events": 1092,
|
|
13
13
|
"threadSafety": 8462,
|
|
14
|
-
"buildMs":
|
|
15
|
-
"regMs":
|
|
16
|
-
"lspMs":
|
|
17
|
-
"totalMs":
|
|
14
|
+
"buildMs": 152,
|
|
15
|
+
"regMs": 19,
|
|
16
|
+
"lspMs": 121,
|
|
17
|
+
"totalMs": 291
|
|
18
18
|
},
|
|
19
19
|
"gameBuild": {
|
|
20
|
-
"
|
|
21
|
-
|
|
20
|
+
"sources": 3,
|
|
21
|
+
"first": {
|
|
22
|
+
"ms": 816,
|
|
22
23
|
"status": 0,
|
|
23
|
-
"
|
|
24
|
-
"
|
|
24
|
+
"generated": 3,
|
|
25
|
+
"error": null
|
|
25
26
|
},
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
27
|
+
"repeats": [
|
|
28
|
+
{
|
|
29
|
+
"ms": 721,
|
|
30
|
+
"status": 0,
|
|
31
|
+
"generated": 0,
|
|
32
|
+
"error": null
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"ms": 683,
|
|
36
|
+
"status": 0,
|
|
37
|
+
"generated": 0,
|
|
38
|
+
"error": null
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"ms": 698,
|
|
42
|
+
"status": 0,
|
|
43
|
+
"generated": 0,
|
|
44
|
+
"error": null
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"ms": 664,
|
|
48
|
+
"status": 0,
|
|
49
|
+
"generated": 0,
|
|
50
|
+
"error": null
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"ms": 733,
|
|
54
|
+
"status": 0,
|
|
55
|
+
"generated": 0,
|
|
56
|
+
"error": null
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"medianMs": 698
|
|
38
60
|
}
|
|
39
61
|
}
|