koishi-plugin-mcdle 0.1.5 → 0.1.6
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/README.md +31 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +37 -75
- package/lib/view.d.ts +0 -1
- package/package.json +1 -1
- package/readme.md +0 -52
package/README.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# koishi-plugin-mcdle
|
|
2
|
+
|
|
3
|
+
Minecraft 猜词游戏,词库覆盖生物、物品与方块
|
|
4
|
+
|
|
5
|
+
## 安装
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
yarn add koishi-plugin-mcdle
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
在 Koishi 配置中启用,并提供 database 服务;puppeteer 可选,用于图片输出。
|
|
12
|
+
|
|
13
|
+
## 指令
|
|
14
|
+
|
|
15
|
+
发送 `mcdle` 查看玩法与全部指令。
|
|
16
|
+
|
|
17
|
+
| 指令 | 说明 |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| `mcdle` | 玩法与指令说明 |
|
|
20
|
+
| `mcdle.猜 [名称]` | 用有效词条开局或猜测 |
|
|
21
|
+
| `mcdle.裸猜 [开/关]` | 切换本群无前缀续猜 |
|
|
22
|
+
| `mcdle.排行榜` | 群内战绩 |
|
|
23
|
+
| `mcdle.词库` | 全部词条 |
|
|
24
|
+
|
|
25
|
+
首次猜测的词条决定题目类型。裸猜设置只对当前群生效,插件重载后恢复默认。
|
|
26
|
+
|
|
27
|
+
提示符号:🟩 完全匹配,🟨 部分匹配,🟥 不匹配;🟥⬆️ 或 🟥⬇️ 表示答案更大或更小。
|
|
28
|
+
|
|
29
|
+
## 许可证
|
|
30
|
+
|
|
31
|
+
可按 [Apache-2.0](LICENSE-APACHE) 或 [MIT](LICENSE-MIT) 使用。
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Context, Schema, Session } from 'koishi';
|
|
2
2
|
import { MobData, BlockData, ItemData } from './data';
|
|
3
3
|
export declare const name = "mcdle";
|
|
4
|
-
export declare const usage = "## \u4F7F\u7528\n\n`mcdle.\u731C [\u540D\u79F0]` \
|
|
4
|
+
export declare const usage = "## \u4F7F\u7528\n\n\u53D1\u9001 `mcdle` \u67E5\u770B\u73A9\u6CD5\u4E0E\u5168\u90E8\u6307\u4EE4\u3002`mcdle.\u731C [\u540D\u79F0]` \u7528\u6709\u6548\u8BCD\u6761\u5F00\u5C40\u6216\u731C\u6D4B\u3002\u9996\u6B21\u731C\u6D4B\u7684\u8BCD\u6761\u51B3\u5B9A\u751F\u7269\u3001\u7269\u54C1\u6216\u65B9\u5757\u6A21\u5F0F\uFF0C\u7CFB\u7EDF\u518D\u4ECE\u540C\u7C7B\u8BCD\u5E93\u4E2D\u62BD\u53D6\u7B54\u6848\u3002\n\n## \u63D0\u793A\n\n| \u7B26\u53F7 | \u542B\u4E49 |\n| --- | --- |\n| \uD83D\uDFE9 | \u5B8C\u5168\u5339\u914D |\n| \uD83D\uDFE8 | \u90E8\u5206\u5339\u914D |\n| \uD83D\uDFE5 | \u4E0D\u5339\u914D |\n| \uD83D\uDFE5\u2B06\uFE0F / \uD83D\uDFE5\u2B07\uFE0F | \u7B54\u6848\u66F4\u5927 / \u66F4\u5C0F |\n\n## \u6307\u4EE4\n\n| \u6307\u4EE4 | \u8BF4\u660E |\n| --- | --- |\n| `mcdle` | \u73A9\u6CD5\u4E0E\u6307\u4EE4\u8BF4\u660E |\n| `mcdle.\u731C [\u540D\u79F0]` | \u7528\u6709\u6548\u8BCD\u6761\u5F00\u5C40\u6216\u731C\u6D4B |\n| `mcdle.\u88F8\u731C [\u5F00/\u5173]` | \u5207\u6362\u672C\u7FA4\u65E0\u524D\u7F00\u7EED\u731C |\n| `mcdle.\u6392\u884C\u699C` | \u7FA4\u5185\u6218\u7EE9 |\n| `mcdle.\u8BCD\u5E93` | \u5168\u90E8\u8BCD\u6761 |";
|
|
5
5
|
export declare const inject: {
|
|
6
6
|
required: string[];
|
|
7
7
|
optional: string[];
|
package/lib/index.js
CHANGED
|
@@ -18,8 +18,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
|
|
20
20
|
// src/index.ts
|
|
21
|
-
var
|
|
22
|
-
__export(
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
23
|
Config: () => Config,
|
|
24
24
|
apply: () => apply,
|
|
25
25
|
canHandleMiddlewareGuess: () => canHandleMiddlewareGuess,
|
|
@@ -29,7 +29,7 @@ __export(index_exports, {
|
|
|
29
29
|
resolveMiddlewareSwitch: () => resolveMiddlewareSwitch,
|
|
30
30
|
usage: () => usage
|
|
31
31
|
});
|
|
32
|
-
module.exports = __toCommonJS(
|
|
32
|
+
module.exports = __toCommonJS(src_exports);
|
|
33
33
|
var import_koishi = require("koishi");
|
|
34
34
|
|
|
35
35
|
// src/data.ts
|
|
@@ -15479,7 +15479,15 @@ function helpCard(dailyLimit, allowRepeat, middleware) {
|
|
|
15479
15479
|
</div>`;
|
|
15480
15480
|
}).join("");
|
|
15481
15481
|
const legend = legendChips();
|
|
15482
|
-
const
|
|
15482
|
+
const total = mobData.length + itemData.length + blockData.length;
|
|
15483
|
+
const body = header(null, "猜生物 · 猜物品 · 猜方块", { big: `${total}`, cap: "词条总量" }) + `<div class="pad">
|
|
15484
|
+
<div class="sec">
|
|
15485
|
+
<div class="sec-t"><span>玩 什 么</span></div>
|
|
15486
|
+
<div class="panel"><div class="rows">
|
|
15487
|
+
<div class="row"><span>每局随机抽一个生物、物品或方块,你的每次猜测都会逐项与答案比对,用颜色告诉你差在哪里。</span></div>
|
|
15488
|
+
<div class="row"><span>首次猜测的词条属于哪一类,本局就在哪一类里出题。</span></div>
|
|
15489
|
+
</div></div>
|
|
15490
|
+
</div>
|
|
15483
15491
|
<div class="sec">
|
|
15484
15492
|
<div class="sec-t"><span>三 种 模 式</span></div>
|
|
15485
15493
|
<div class="grid3">${modeCards}</div>
|
|
@@ -15494,9 +15502,18 @@ function helpCard(dailyLimit, allowRepeat, middleware) {
|
|
|
15494
15502
|
</div>
|
|
15495
15503
|
</div>
|
|
15496
15504
|
</div>
|
|
15505
|
+
<div class="sec">
|
|
15506
|
+
<div class="sec-t"><span>三 步 上 手</span></div>
|
|
15507
|
+
<div class="panel"><div class="rows">
|
|
15508
|
+
<div class="row"><span class="k">壹</span><span class="cmd">mcdle.猜 苦力怕</span><span class="m">用一个有效词条开局</span></div>
|
|
15509
|
+
<div class="row"><span class="k">贰</span><span>${middleware ? "开局后可直接发送当前模式的完整词条名称继续猜测。" : "对照颜色与箭头缩小范围,每一次猜测都会留在棋盘上。"}</span></div>
|
|
15510
|
+
<div class="row"><span class="k">叁</span><span>锁定答案,战绩自动记入 <span class="cmd">mcdle.排行榜</span>。</span></div>
|
|
15511
|
+
</div></div>
|
|
15512
|
+
</div>
|
|
15497
15513
|
<div class="sec">
|
|
15498
15514
|
<div class="sec-t"><span>指 令</span></div>
|
|
15499
15515
|
<div class="panel"><div class="rows">
|
|
15516
|
+
<div class="row"><span class="cmd">mcdle</span><span class="m">这份玩法与指令说明</span></div>
|
|
15500
15517
|
<div class="row"><span class="cmd">mcdle.猜 [名称]</span><span class="m">开始一局,或提交猜测</span></div>
|
|
15501
15518
|
<div class="row"><span class="cmd">mcdle.猜</span><span class="m">局中直接使用可回看当前棋盘</span></div>
|
|
15502
15519
|
<div class="row"><span class="cmd">mcdle.裸猜 [开/关]</span><span class="m">临时切换本群无前缀续猜</span></div>
|
|
@@ -15514,42 +15531,10 @@ function helpCard(dailyLimit, allowRepeat, middleware) {
|
|
|
15514
15531
|
<div class="row"><span class="k">·</span><span>词条与数据来自 Minecraft Wiki,版本号按发布先后比较。</span></div>
|
|
15515
15532
|
</div></div>
|
|
15516
15533
|
</div>
|
|
15517
|
-
</div>` + noteRow("
|
|
15534
|
+
</div>` + noteRow("灵感来自 Wordle 与 mcdle.net");
|
|
15518
15535
|
return shell(body, { accent: "#8ec96a", width: 760 });
|
|
15519
15536
|
}
|
|
15520
15537
|
__name(helpCard, "helpCard");
|
|
15521
|
-
function introCard(dailyLimit, middleware) {
|
|
15522
|
-
const modeCards = ["mob", "item", "block"].map((m) => {
|
|
15523
|
-
const meta = MODES[m];
|
|
15524
|
-
return `<div class="mode-card" style="--accent:${meta.accent}">
|
|
15525
|
-
<div class="top" style="color:${meta.accent}">${px(meta.icon, 17)}<span>${meta.name}</span></div>
|
|
15526
|
-
<div class="cnt">${meta.total} 个词条</div>
|
|
15527
|
-
</div>`;
|
|
15528
|
-
}).join("");
|
|
15529
|
-
const body = header(null, "猜生物 · 猜物品 · 猜方块", { big: `${mobData.length + itemData.length + blockData.length}`, cap: "词条总量" }) + `<div class="pad">
|
|
15530
|
-
<div class="sec">
|
|
15531
|
-
<div class="sec-t"><span>玩 什 么</span></div>
|
|
15532
|
-
<div class="grid3">${modeCards}</div>
|
|
15533
|
-
</div>
|
|
15534
|
-
<div class="sec">
|
|
15535
|
-
<div class="sec-t"><span>三 步 上 手</span></div>
|
|
15536
|
-
<div class="panel"><div class="rows">
|
|
15537
|
-
<div class="row"><span class="k">壹</span><span class="cmd">mcdle.猜 苦力怕</span><span class="m">用一个有效词条开局</span></div>
|
|
15538
|
-
<div class="row"><span class="k">贰</span><span>${middleware ? "开局后可直接发送当前模式的完整词条名称继续猜测。" : "对照颜色与箭头缩小范围,每一次猜测都会留在棋盘上。"}</span></div>
|
|
15539
|
-
<div class="row"><span class="k">叁</span><span>锁定答案,战绩自动记入 <span class="cmd">mcdle.排行榜</span>。</span></div>
|
|
15540
|
-
</div></div>
|
|
15541
|
-
</div>
|
|
15542
|
-
<div class="sec">
|
|
15543
|
-
<div class="sec-t"><span>今 日 额 度</span></div>
|
|
15544
|
-
<div class="panel"><div class="rows">
|
|
15545
|
-
<div class="row"><span class="k">·</span><span>每个群每日 <b>${dailyLimit}</b> 局,跨零点重置;详细规则见 <span class="cmd">mcdle.帮助</span>。</span></div>
|
|
15546
|
-
<div class="row"><span class="k">·</span><span><span class="cmd">mcdle.裸猜 开/关</span> 可临时调整本群续猜方式。</span></div>
|
|
15547
|
-
</div></div>
|
|
15548
|
-
</div>
|
|
15549
|
-
</div>` + noteRow("灵感来自 Wordle 与 mcdle.net");
|
|
15550
|
-
return shell(body, { accent: "#8ec96a", width: 700 });
|
|
15551
|
-
}
|
|
15552
|
-
__name(introCard, "introCard");
|
|
15553
15538
|
function rankCard(entries, shown) {
|
|
15554
15539
|
if (!entries.length) {
|
|
15555
15540
|
const body2 = header(null, "排行榜", { big: "0", cap: "上榜人数" }) + `<div class="pad"><div class="empty">${px("trophy", 44)}
|
|
@@ -15581,7 +15566,7 @@ __name(rankCard, "rankCard");
|
|
|
15581
15566
|
var name = "mcdle";
|
|
15582
15567
|
var usage = `## 使用
|
|
15583
15568
|
|
|
15584
|
-
\`mcdle.猜 [名称]\`
|
|
15569
|
+
发送 \`mcdle\` 查看玩法与全部指令。\`mcdle.猜 [名称]\` 用有效词条开局或猜测。首次猜测的词条决定生物、物品或方块模式,系统再从同类词库中抽取答案。
|
|
15585
15570
|
|
|
15586
15571
|
## 提示
|
|
15587
15572
|
|
|
@@ -15596,10 +15581,9 @@ var usage = `## 使用
|
|
|
15596
15581
|
|
|
15597
15582
|
| 指令 | 说明 |
|
|
15598
15583
|
| --- | --- |
|
|
15599
|
-
| \`mcdle\` |
|
|
15584
|
+
| \`mcdle\` | 玩法与指令说明 |
|
|
15600
15585
|
| \`mcdle.猜 [名称]\` | 用有效词条开局或猜测 |
|
|
15601
|
-
| \`mcdle.裸猜 [开/关]\` |
|
|
15602
|
-
| \`mcdle.帮助\` | 完整说明 |
|
|
15586
|
+
| \`mcdle.裸猜 [开/关]\` | 切换本群无前缀续猜 |
|
|
15603
15587
|
| \`mcdle.排行榜\` | 群内战绩 |
|
|
15604
15588
|
| \`mcdle.词库\` | 全部词条 |`;
|
|
15605
15589
|
var inject = { required: ["database"], optional: ["puppeteer"] };
|
|
@@ -15738,11 +15722,10 @@ function apply(ctx, cfg) {
|
|
|
15738
15722
|
return await next();
|
|
15739
15723
|
}
|
|
15740
15724
|
});
|
|
15741
|
-
ctx.command("mcdle", "我的世界猜谜游戏").action(async ({ session }) => mcdle(session));
|
|
15725
|
+
ctx.command("mcdle", "我的世界猜谜游戏 · 玩法与指令").action(async ({ session }) => mcdle(session));
|
|
15742
15726
|
ctx.command("mcdle.猜 [guess:string]").action(async ({ session }, guess) => {
|
|
15743
15727
|
await c(session, guess?.trim());
|
|
15744
15728
|
});
|
|
15745
|
-
ctx.command("mcdle.帮助").action(async ({ session }) => bz(session));
|
|
15746
15729
|
ctx.command("mcdle.排行榜").action(async ({ session }) => phb(session));
|
|
15747
15730
|
ctx.command("mcdle.词库").action(async ({ session }) => ck(session));
|
|
15748
15731
|
ctx.command("mcdle.裸猜 [state:string]", "临时开关本群的无前缀续猜").usage("例:mcdle.裸猜(切换)· mcdle.裸猜 开 · mcdle.裸猜 关 · mcdle.裸猜 状态").action(async ({ session }, state) => {
|
|
@@ -15890,30 +15873,11 @@ function apply(ctx, cfg) {
|
|
|
15890
15873
|
const channelOn = middlewareOn(session.channelId);
|
|
15891
15874
|
await sendCard(
|
|
15892
15875
|
session,
|
|
15893
|
-
|
|
15894
|
-
|
|
15876
|
+
helpCard(cfg.dailyPlayLimit, cfg.allowRepeatedGuesses, channelOn),
|
|
15877
|
+
helpText(channelOn)
|
|
15895
15878
|
);
|
|
15896
15879
|
}
|
|
15897
15880
|
__name(mcdle, "mcdle");
|
|
15898
|
-
function introText(channelOn) {
|
|
15899
|
-
const total = mobData.length + itemData.length + blockData.length;
|
|
15900
|
-
return textCard(
|
|
15901
|
-
"MCDLE · 我的世界猜谜",
|
|
15902
|
-
`从 ${total} 个词条里,只凭属性提示锁定唯一答案。`,
|
|
15903
|
-
[
|
|
15904
|
-
`壹 mcdle.猜 苦力怕 用一个有效词条开局`,
|
|
15905
|
-
channelOn ? `贰 开局后可直接发送当前模式的词条名称继续猜测` : `贰 对照颜色与箭头缩小范围,每次猜测都会留在棋盘上`,
|
|
15906
|
-
`叁 猜中后自动记入 mcdle.排行榜`
|
|
15907
|
-
],
|
|
15908
|
-
[
|
|
15909
|
-
`生物 ${mobData.length} · 物品 ${itemData.length} · 方块 ${blockData.length}`,
|
|
15910
|
-
`每日 ${cfg.dailyPlayLimit} 局,跨零点重置`,
|
|
15911
|
-
`裸猜 mcdle.裸猜 开/关 临时调整本群续猜方式`,
|
|
15912
|
-
`完整规则:mcdle.帮助`
|
|
15913
|
-
]
|
|
15914
|
-
);
|
|
15915
|
-
}
|
|
15916
|
-
__name(introText, "introText");
|
|
15917
15881
|
function middlewareSwitchText(on, temporary, reverted) {
|
|
15918
15882
|
const mark = on ? "✅" : "⛔";
|
|
15919
15883
|
const state = on ? "开启" : "停用";
|
|
@@ -16286,22 +16250,14 @@ ${words.join(" ")}`).join("\n\n")
|
|
|
16286
16250
|
);
|
|
16287
16251
|
}
|
|
16288
16252
|
__name(applyGuess, "applyGuess");
|
|
16289
|
-
function bz(session) {
|
|
16290
|
-
const channelOn = middlewareOn(session.channelId);
|
|
16291
|
-
return sendCard(
|
|
16292
|
-
session,
|
|
16293
|
-
helpCard(cfg.dailyPlayLimit, cfg.allowRepeatedGuesses, channelOn),
|
|
16294
|
-
helpText(channelOn)
|
|
16295
|
-
);
|
|
16296
|
-
}
|
|
16297
|
-
__name(bz, "bz");
|
|
16298
16253
|
function helpText(channelOn) {
|
|
16254
|
+
const total = mobData.length + itemData.length + blockData.length;
|
|
16299
16255
|
const legend = ["true", "mixed", "false", "false_up", "false_down"].map(
|
|
16300
16256
|
(s) => `${STATUS_META[s].emoji} ${STATUS_META[s].label}`
|
|
16301
16257
|
);
|
|
16302
16258
|
return textCard(
|
|
16303
|
-
"MCDLE
|
|
16304
|
-
|
|
16259
|
+
"MCDLE · 我的世界猜谜",
|
|
16260
|
+
`从 ${total} 个词条里,只凭属性提示锁定唯一答案。每局随机抽一个生物、物品或方块,首次猜测的词条属于哪一类,本局就在哪一类里出题。`,
|
|
16305
16261
|
legend,
|
|
16306
16262
|
[
|
|
16307
16263
|
"部分匹配的字段里,【】括起来的就是与答案重合的那几项。",
|
|
@@ -16313,6 +16269,12 @@ ${words.join(" ")}`).join("\n\n")
|
|
|
16313
16269
|
`方块 ${blockData.length} 条 · ${FIELDS.block.length} 项属性`
|
|
16314
16270
|
],
|
|
16315
16271
|
[
|
|
16272
|
+
`壹 mcdle.猜 苦力怕 用一个有效词条开局`,
|
|
16273
|
+
channelOn ? `贰 开局后可直接发送当前模式的词条名称继续猜测` : `贰 对照颜色与箭头缩小范围,每次猜测都会留在棋盘上`,
|
|
16274
|
+
`叁 猜中后自动记入 mcdle.排行榜`
|
|
16275
|
+
],
|
|
16276
|
+
[
|
|
16277
|
+
"mcdle 这份玩法与指令说明",
|
|
16316
16278
|
"mcdle.猜 [名称] 开始一局,或提交猜测",
|
|
16317
16279
|
"mcdle.猜 局中直接使用可回看当前棋盘",
|
|
16318
16280
|
"mcdle.裸猜 [开/关] 临时切换本群无前缀续猜",
|
package/lib/view.d.ts
CHANGED
|
@@ -57,7 +57,6 @@ export interface WinOptions {
|
|
|
57
57
|
export declare function formatDuration(seconds: number): string;
|
|
58
58
|
export declare function winCard(o: WinOptions): string;
|
|
59
59
|
export declare function helpCard(dailyLimit: number, allowRepeat: boolean, middleware: boolean): string;
|
|
60
|
-
export declare function introCard(dailyLimit: number, middleware: boolean): string;
|
|
61
60
|
export interface RankEntry {
|
|
62
61
|
username: string;
|
|
63
62
|
userId: string;
|
package/package.json
CHANGED
package/readme.md
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
koishi-plugin-mcdle
|
|
2
|
-
===================
|
|
3
|
-
|
|
4
|
-
[<img alt="github" src="https://img.shields.io/badge/github-araea/koishi__plugin__mcdle-8da0cb?style=for-the-badge&labelColor=555555&logo=github" height="20">](https://github.com/araea/koishi-plugin-mcdle)
|
|
5
|
-
[<img alt="npm" src="https://img.shields.io/npm/v/koishi-plugin-mcdle.svg?style=for-the-badge&color=fc8d62&logo=npm" height="20">](https://www.npmjs.com/package/koishi-plugin-mcdle)
|
|
6
|
-
|
|
7
|
-
Koishi 的 Minecraft 猜词游戏插件。
|
|
8
|
-
|
|
9
|
-
## 使用
|
|
10
|
-
|
|
11
|
-
`mcdle.猜 [名称]` 使用词库中的有效名称开局或猜测。首个词条决定生物、物品或方块模式,系统再从同类词库中抽取答案。开局后可用 `mcdle.裸猜` 临时切换本群的无前缀续猜;这一状态不改插件配置,插件重载后自动复原。
|
|
12
|
-
|
|
13
|
-
## 提示
|
|
14
|
-
|
|
15
|
-
| 符号 | 含义 |
|
|
16
|
-
| --- | --- |
|
|
17
|
-
| 🟩 | 完全匹配 |
|
|
18
|
-
| 🟨 | 部分匹配 |
|
|
19
|
-
| 🟥 | 不匹配 |
|
|
20
|
-
| 🟥⬆️ / 🟥⬇️ | 答案更大 / 更小 |
|
|
21
|
-
|
|
22
|
-
## 指令
|
|
23
|
-
|
|
24
|
-
| 指令 | 说明 |
|
|
25
|
-
| --- | --- |
|
|
26
|
-
| `mcdle` | 查看帮助 |
|
|
27
|
-
| `mcdle.猜 [名称]` | 用有效词条开局或猜测 |
|
|
28
|
-
| `mcdle.裸猜 [开/关]` | 临时切换本群无前缀续猜 |
|
|
29
|
-
| `mcdle.帮助` | 完整说明 |
|
|
30
|
-
| `mcdle.排行榜` | 群内战绩 |
|
|
31
|
-
| `mcdle.词库` | 全部词条 |
|
|
32
|
-
|
|
33
|
-
## QQ 群
|
|
34
|
-
|
|
35
|
-
956758505
|
|
36
|
-
|
|
37
|
-
<br>
|
|
38
|
-
|
|
39
|
-
#### License
|
|
40
|
-
|
|
41
|
-
<sup>
|
|
42
|
-
Licensed under either of <a href="LICENSE-APACHE">Apache License, Version
|
|
43
|
-
2.0</a> or <a href="LICENSE-MIT">MIT license</a> at your option.
|
|
44
|
-
</sup>
|
|
45
|
-
|
|
46
|
-
<br>
|
|
47
|
-
|
|
48
|
-
<sub>
|
|
49
|
-
Unless you explicitly state otherwise, any contribution intentionally submitted
|
|
50
|
-
for inclusion in this crate by you, as defined in the Apache-2.0 license, shall
|
|
51
|
-
be dual licensed as above, without any additional terms or conditions.
|
|
52
|
-
</sub>
|