@decimalturn/toml-patch 0.5.0 → 0.5.2
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/dist/toml-patch.d.ts
CHANGED
package/dist/toml-patch.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//! @decimalturn/toml-patch v0.5.
|
|
1
|
+
//! @decimalturn/toml-patch v0.5.2 - https://github.com/DecimalTurn/toml-patch - @license: MIT
|
|
2
2
|
var NodeType;
|
|
3
3
|
(function (NodeType) {
|
|
4
4
|
NodeType["Document"] = "Document";
|
|
@@ -49,6 +49,9 @@ function isTableArrayKey(node) {
|
|
|
49
49
|
function isKeyValue(node) {
|
|
50
50
|
return node.type === NodeType.KeyValue;
|
|
51
51
|
}
|
|
52
|
+
function isString$1(node) {
|
|
53
|
+
return node.type === NodeType.String;
|
|
54
|
+
}
|
|
52
55
|
function isDateTime(node) {
|
|
53
56
|
return node.type === NodeType.DateTime;
|
|
54
57
|
}
|
|
@@ -501,6 +504,14 @@ function merge(target, values) {
|
|
|
501
504
|
target[original_length + i] = values[i];
|
|
502
505
|
}
|
|
503
506
|
}
|
|
507
|
+
/**
|
|
508
|
+
* Checks if a string is a multiline string (starts with """ or ''')
|
|
509
|
+
* @param raw The raw string value including quotes
|
|
510
|
+
* @returns true if the string is multiline, false otherwise
|
|
511
|
+
*/
|
|
512
|
+
function isMultilineString(raw) {
|
|
513
|
+
return raw.startsWith('"""') || raw.startsWith("'''");
|
|
514
|
+
}
|
|
504
515
|
|
|
505
516
|
const TRIPLE_DOUBLE_QUOTE = `"""`;
|
|
506
517
|
const TRIPLE_SINGLE_QUOTE = `'''`;
|
|
@@ -808,7 +819,8 @@ class LocalDate extends Date {
|
|
|
808
819
|
class LocalTime extends Date {
|
|
809
820
|
constructor(value, originalFormat) {
|
|
810
821
|
// For local time, use a fixed date (1970-01-01) and the provided time
|
|
811
|
-
|
|
822
|
+
// Add 'Z' to ensure it's parsed as UTC regardless of system timezone
|
|
823
|
+
super(`1970-01-01T${value}Z`);
|
|
812
824
|
this.originalFormat = originalFormat;
|
|
813
825
|
}
|
|
814
826
|
toISOString() {
|
|
@@ -936,7 +948,7 @@ class OffsetDateTime extends Date {
|
|
|
936
948
|
}
|
|
937
949
|
|
|
938
950
|
// Create a shorter alias for convenience
|
|
939
|
-
const dateFormatHelper
|
|
951
|
+
const dateFormatHelper = DateFormatHelper;
|
|
940
952
|
const TRUE = 'true';
|
|
941
953
|
const FALSE = 'false';
|
|
942
954
|
const HAS_E = /e/i;
|
|
@@ -992,7 +1004,7 @@ function* walkValue$1(cursor, input) {
|
|
|
992
1004
|
else if (cursor.value.raw === TRUE || cursor.value.raw === FALSE) {
|
|
993
1005
|
yield boolean(cursor);
|
|
994
1006
|
}
|
|
995
|
-
else if (dateFormatHelper
|
|
1007
|
+
else if (dateFormatHelper.IS_FULL_DATE.test(cursor.value.raw) || dateFormatHelper.IS_FULL_TIME.test(cursor.value.raw)) {
|
|
996
1008
|
yield datetime(cursor, input);
|
|
997
1009
|
}
|
|
998
1010
|
else if ((!cursor.peek().done && cursor.peek().value.type === TokenType.Dot) ||
|
|
@@ -1205,8 +1217,8 @@ function datetime(cursor, input) {
|
|
|
1205
1217
|
// check if raw is full date and following is full time
|
|
1206
1218
|
if (!cursor.peek().done &&
|
|
1207
1219
|
cursor.peek().value.type === TokenType.Literal &&
|
|
1208
|
-
dateFormatHelper
|
|
1209
|
-
dateFormatHelper
|
|
1220
|
+
dateFormatHelper.IS_FULL_DATE.test(raw) &&
|
|
1221
|
+
dateFormatHelper.IS_FULL_TIME.test(cursor.peek().value.raw)) {
|
|
1210
1222
|
const start = loc.start;
|
|
1211
1223
|
cursor.next();
|
|
1212
1224
|
loc = { start, end: cursor.value.loc.end };
|
|
@@ -1222,9 +1234,9 @@ function datetime(cursor, input) {
|
|
|
1222
1234
|
loc = { start, end: cursor.value.loc.end };
|
|
1223
1235
|
raw += `.${cursor.value.raw}`;
|
|
1224
1236
|
}
|
|
1225
|
-
if (!dateFormatHelper
|
|
1237
|
+
if (!dateFormatHelper.IS_FULL_DATE.test(raw)) {
|
|
1226
1238
|
// Local time only (e.g., "07:32:00" or "07:32:00.999")
|
|
1227
|
-
if (dateFormatHelper
|
|
1239
|
+
if (dateFormatHelper.IS_TIME_ONLY.test(raw)) {
|
|
1228
1240
|
value = new LocalTime(raw, raw);
|
|
1229
1241
|
}
|
|
1230
1242
|
else {
|
|
@@ -1233,23 +1245,23 @@ function datetime(cursor, input) {
|
|
|
1233
1245
|
value = new Date(`${local_date}T${raw}`);
|
|
1234
1246
|
}
|
|
1235
1247
|
}
|
|
1236
|
-
else if (dateFormatHelper
|
|
1248
|
+
else if (dateFormatHelper.IS_DATE_ONLY.test(raw)) {
|
|
1237
1249
|
// Local date only (e.g., "1979-05-27")
|
|
1238
1250
|
value = new LocalDate(raw);
|
|
1239
1251
|
}
|
|
1240
|
-
else if (dateFormatHelper
|
|
1252
|
+
else if (dateFormatHelper.IS_LOCAL_DATETIME_T.test(raw)) {
|
|
1241
1253
|
// Local datetime with T separator (e.g., "1979-05-27T07:32:00")
|
|
1242
1254
|
value = new LocalDateTime(raw, false);
|
|
1243
1255
|
}
|
|
1244
|
-
else if (dateFormatHelper
|
|
1256
|
+
else if (dateFormatHelper.IS_LOCAL_DATETIME_SPACE.test(raw)) {
|
|
1245
1257
|
// Local datetime with space separator (e.g., "1979-05-27 07:32:00")
|
|
1246
1258
|
value = new LocalDateTime(raw, true);
|
|
1247
1259
|
}
|
|
1248
|
-
else if (dateFormatHelper
|
|
1260
|
+
else if (dateFormatHelper.IS_OFFSET_DATETIME_T.test(raw)) {
|
|
1249
1261
|
// Offset datetime with T separator (e.g., "1979-05-27T07:32:00Z" or "1979-05-27T07:32:00-07:00")
|
|
1250
1262
|
value = new OffsetDateTime(raw, false);
|
|
1251
1263
|
}
|
|
1252
|
-
else if (dateFormatHelper
|
|
1264
|
+
else if (dateFormatHelper.IS_OFFSET_DATETIME_SPACE.test(raw)) {
|
|
1253
1265
|
// Offset datetime with space separator (e.g., "1979-05-27 07:32:00Z")
|
|
1254
1266
|
value = new OffsetDateTime(raw, true);
|
|
1255
1267
|
}
|
|
@@ -1487,8 +1499,6 @@ function traverse(ast, visitor) {
|
|
|
1487
1499
|
}
|
|
1488
1500
|
}
|
|
1489
1501
|
|
|
1490
|
-
// Create a shorter alias for convenience
|
|
1491
|
-
const dateFormatHelper = DateFormatHelper;
|
|
1492
1502
|
const enter_offsets = new WeakMap();
|
|
1493
1503
|
const getEnterOffsets = (root) => {
|
|
1494
1504
|
if (!enter_offsets.has(root)) {
|
|
@@ -1505,22 +1515,6 @@ const getExitOffsets = (root) => {
|
|
|
1505
1515
|
};
|
|
1506
1516
|
//TODO: Add getOffsets function to get all offsets contained in the tree
|
|
1507
1517
|
function replace(root, parent, existing, replacement) {
|
|
1508
|
-
// Special handling for DateTime nodes to preserve original format
|
|
1509
|
-
if (isDateTime(existing) && isDateTime(replacement)) {
|
|
1510
|
-
// Analyze the original raw format and create a properly formatted replacement
|
|
1511
|
-
const originalRaw = existing.raw;
|
|
1512
|
-
const newValue = replacement.value;
|
|
1513
|
-
// Create a new date with the original format preserved
|
|
1514
|
-
const formattedDate = dateFormatHelper.createDateWithOriginalFormat(newValue, originalRaw);
|
|
1515
|
-
// Update the replacement with the properly formatted date
|
|
1516
|
-
replacement.value = formattedDate;
|
|
1517
|
-
replacement.raw = formattedDate.toISOString();
|
|
1518
|
-
// Adjust the location information to match the new raw length
|
|
1519
|
-
const lengthDiff = replacement.raw.length - originalRaw.length;
|
|
1520
|
-
if (lengthDiff !== 0) {
|
|
1521
|
-
replacement.loc.end.column = replacement.loc.start.column + replacement.raw.length;
|
|
1522
|
-
}
|
|
1523
|
-
}
|
|
1524
1518
|
// First, replace existing node
|
|
1525
1519
|
// (by index for items, item, or key/value)
|
|
1526
1520
|
if (hasItems(parent)) {
|
|
@@ -2105,15 +2099,89 @@ function generateKey(value) {
|
|
|
2105
2099
|
value
|
|
2106
2100
|
};
|
|
2107
2101
|
}
|
|
2108
|
-
|
|
2109
|
-
|
|
2102
|
+
/**
|
|
2103
|
+
* Generates a new String node, preserving multiline format if existingRaw is provided.
|
|
2104
|
+
*
|
|
2105
|
+
* @param value - The string value.
|
|
2106
|
+
* @param existingRaw - The existing raw string to determine multiline format (optional).
|
|
2107
|
+
* @returns A new String node.
|
|
2108
|
+
*/
|
|
2109
|
+
function generateString(value, existingRaw) {
|
|
2110
|
+
let raw;
|
|
2111
|
+
if (existingRaw && isMultilineString(existingRaw)) {
|
|
2112
|
+
// Preserve multiline format
|
|
2113
|
+
let isLiteral = existingRaw.startsWith("'''");
|
|
2114
|
+
// Literal strings cannot contain ''' - convert to basic string if needed
|
|
2115
|
+
if (isLiteral && value.includes("'''")) {
|
|
2116
|
+
isLiteral = false;
|
|
2117
|
+
}
|
|
2118
|
+
const delimiter = isLiteral ? "'''" : '"""';
|
|
2119
|
+
// Detect newline character from existing raw
|
|
2120
|
+
const newlineChar = existingRaw.includes('\r\n') ? '\r\n' : '\n';
|
|
2121
|
+
const hasLeadingNewline = existingRaw.startsWith(`${delimiter}${newlineChar}`) ||
|
|
2122
|
+
((existingRaw.startsWith("'''\n") || existingRaw.startsWith("'''\r\n")) && !isLiteral);
|
|
2123
|
+
let escaped;
|
|
2124
|
+
if (isLiteral) {
|
|
2125
|
+
// Literal strings: no escaping needed (we already checked for ''' above)
|
|
2126
|
+
escaped = value;
|
|
2127
|
+
}
|
|
2128
|
+
else {
|
|
2129
|
+
// Basic multiline strings: escape backslashes, control characters, and triple quotes
|
|
2130
|
+
escaped = value
|
|
2131
|
+
.replace(/\\/g, '\\\\') // Escape backslashes first
|
|
2132
|
+
.replace(/\x08/g, '\\b') // Backspace (U+0008)
|
|
2133
|
+
.replace(/\f/g, '\\f') // Form feed (U+000C)
|
|
2134
|
+
.replace(/\t/g, '\\t') // Tab (U+0009)
|
|
2135
|
+
.replace(/[\x00-\x07\x0B\x0E-\x1F\x7F]/g, (char) => {
|
|
2136
|
+
// Escape other control characters
|
|
2137
|
+
const code = char.charCodeAt(0);
|
|
2138
|
+
return '\\u' + code.toString(16).padStart(4, '0').toUpperCase();
|
|
2139
|
+
})
|
|
2140
|
+
// Escape triple quotes safely: two literal quotes + escaped quote
|
|
2141
|
+
.replace(/"""/g, '""\\\"');
|
|
2142
|
+
}
|
|
2143
|
+
// Format with or without leading newline based on original
|
|
2144
|
+
if (hasLeadingNewline) {
|
|
2145
|
+
raw = `${delimiter}${newlineChar}${escaped}${delimiter}`;
|
|
2146
|
+
}
|
|
2147
|
+
else {
|
|
2148
|
+
raw = `${delimiter}${escaped}${delimiter}`;
|
|
2149
|
+
}
|
|
2150
|
+
}
|
|
2151
|
+
else {
|
|
2152
|
+
raw = JSON.stringify(value);
|
|
2153
|
+
}
|
|
2154
|
+
// Calculate proper end location for multiline strings
|
|
2155
|
+
let endLocation;
|
|
2156
|
+
if (raw.includes('\r\n') || (raw.includes('\n') && !raw.includes('\r\n'))) {
|
|
2157
|
+
const newlineChar = raw.includes('\r\n') ? '\r\n' : '\n';
|
|
2158
|
+
const lineCount = (raw.match(new RegExp(newlineChar === '\r\n' ? '\\r\\n' : '\\n', 'g')) || []).length;
|
|
2159
|
+
if (lineCount > 0) {
|
|
2160
|
+
endLocation = {
|
|
2161
|
+
line: 1 + lineCount,
|
|
2162
|
+
column: 3 // length of delimiter (""" or ''')
|
|
2163
|
+
};
|
|
2164
|
+
}
|
|
2165
|
+
else {
|
|
2166
|
+
endLocation = { line: 1, column: raw.length };
|
|
2167
|
+
}
|
|
2168
|
+
}
|
|
2169
|
+
else {
|
|
2170
|
+
endLocation = { line: 1, column: raw.length };
|
|
2171
|
+
}
|
|
2110
2172
|
return {
|
|
2111
2173
|
type: NodeType.String,
|
|
2112
|
-
loc: { start: zero(), end:
|
|
2174
|
+
loc: { start: zero(), end: endLocation },
|
|
2113
2175
|
raw,
|
|
2114
2176
|
value
|
|
2115
2177
|
};
|
|
2116
2178
|
}
|
|
2179
|
+
/**
|
|
2180
|
+
* Generates a new Integer node.
|
|
2181
|
+
*
|
|
2182
|
+
* @param value - The integer value.
|
|
2183
|
+
* @returns A new Integer node.
|
|
2184
|
+
*/
|
|
2117
2185
|
function generateInteger(value) {
|
|
2118
2186
|
const raw = value.toString();
|
|
2119
2187
|
return {
|
|
@@ -3480,6 +3548,54 @@ function reorder(changes) {
|
|
|
3480
3548
|
}
|
|
3481
3549
|
return changes;
|
|
3482
3550
|
}
|
|
3551
|
+
/**
|
|
3552
|
+
* Preserves formatting from the existing node when applying it to the replacement node.
|
|
3553
|
+
* This includes multiline string formats, trailing commas, DateTime formats, etc.
|
|
3554
|
+
*
|
|
3555
|
+
* @param existing - The existing node with formatting to preserve
|
|
3556
|
+
* @param replacement - The replacement node to apply formatting to
|
|
3557
|
+
*/
|
|
3558
|
+
function preserveFormatting(existing, replacement) {
|
|
3559
|
+
// Preserve multiline string format
|
|
3560
|
+
if (isString$1(existing) && isString$1(replacement) && isMultilineString(existing.raw)) {
|
|
3561
|
+
// Generate new string node with preserved multiline format
|
|
3562
|
+
const newString = generateString(replacement.value, existing.raw);
|
|
3563
|
+
replacement.raw = newString.raw;
|
|
3564
|
+
replacement.loc = newString.loc;
|
|
3565
|
+
}
|
|
3566
|
+
// Preserve DateTime format
|
|
3567
|
+
if (isDateTime(existing) && isDateTime(replacement)) {
|
|
3568
|
+
// Analyze the original raw format and create a properly formatted replacement
|
|
3569
|
+
const originalRaw = existing.raw;
|
|
3570
|
+
const newValue = replacement.value;
|
|
3571
|
+
// Create a new date with the original format preserved
|
|
3572
|
+
const formattedDate = DateFormatHelper.createDateWithOriginalFormat(newValue, originalRaw);
|
|
3573
|
+
// Update the replacement with the properly formatted date
|
|
3574
|
+
replacement.value = formattedDate;
|
|
3575
|
+
replacement.raw = formattedDate.toISOString();
|
|
3576
|
+
// Adjust the location information to match the new raw length
|
|
3577
|
+
const lengthDiff = replacement.raw.length - originalRaw.length;
|
|
3578
|
+
if (lengthDiff !== 0) {
|
|
3579
|
+
replacement.loc.end.column = replacement.loc.start.column + replacement.raw.length;
|
|
3580
|
+
}
|
|
3581
|
+
}
|
|
3582
|
+
// Preserve array trailing comma format
|
|
3583
|
+
if (isInlineArray(existing) && isInlineArray(replacement)) {
|
|
3584
|
+
const originalHadTrailingCommas = arrayHadTrailingCommas(existing);
|
|
3585
|
+
if (replacement.items.length > 0) {
|
|
3586
|
+
const lastItem = replacement.items[replacement.items.length - 1];
|
|
3587
|
+
lastItem.comma = originalHadTrailingCommas;
|
|
3588
|
+
}
|
|
3589
|
+
}
|
|
3590
|
+
// Preserve inline table trailing comma format
|
|
3591
|
+
if (isInlineTable(existing) && isInlineTable(replacement)) {
|
|
3592
|
+
const originalHadTrailingCommas = tableHadTrailingCommas(existing);
|
|
3593
|
+
if (replacement.items.length > 0) {
|
|
3594
|
+
const lastItem = replacement.items[replacement.items.length - 1];
|
|
3595
|
+
lastItem.comma = originalHadTrailingCommas;
|
|
3596
|
+
}
|
|
3597
|
+
}
|
|
3598
|
+
}
|
|
3483
3599
|
/**
|
|
3484
3600
|
* Applies a list of changes to the original TOML document AST while preserving formatting and structure.
|
|
3485
3601
|
*
|
|
@@ -3622,26 +3738,8 @@ function applyChanges(original, updated, changes, format) {
|
|
|
3622
3738
|
let parent;
|
|
3623
3739
|
if (isKeyValue(existing) && isKeyValue(replacement)) {
|
|
3624
3740
|
// Edit for key-value means value changes
|
|
3625
|
-
//
|
|
3626
|
-
|
|
3627
|
-
const originalHadTrailingCommas = arrayHadTrailingCommas(existing.value);
|
|
3628
|
-
const newArray = replacement.value;
|
|
3629
|
-
// Apply or remove trailing comma based on original format
|
|
3630
|
-
if (newArray.items.length > 0) {
|
|
3631
|
-
const lastItem = newArray.items[newArray.items.length - 1];
|
|
3632
|
-
lastItem.comma = originalHadTrailingCommas;
|
|
3633
|
-
}
|
|
3634
|
-
}
|
|
3635
|
-
// Special handling for inline tables: preserve original trailing comma format
|
|
3636
|
-
if (isInlineTable(existing.value) && isInlineTable(replacement.value)) {
|
|
3637
|
-
const originalHadTrailingCommas = tableHadTrailingCommas(existing.value);
|
|
3638
|
-
const newTable = replacement.value;
|
|
3639
|
-
// Apply or remove trailing comma based on original format
|
|
3640
|
-
if (newTable.items.length > 0) {
|
|
3641
|
-
const lastItem = newTable.items[newTable.items.length - 1];
|
|
3642
|
-
lastItem.comma = originalHadTrailingCommas;
|
|
3643
|
-
}
|
|
3644
|
-
}
|
|
3741
|
+
// Preserve formatting from existing value in replacement value
|
|
3742
|
+
preserveFormatting(existing.value, replacement.value);
|
|
3645
3743
|
parent = existing;
|
|
3646
3744
|
existing = existing.value;
|
|
3647
3745
|
replacement = replacement.value;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
//! @decimalturn/toml-patch v0.5.
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TOML={})}(this,(function(e){"use strict";var t,n;function r(e){return e.type===t.Document}function l(e){return e.type===t.Table}function o(e){return e.type===t.TableArray}function i(e){return e.type===t.KeyValue}function a(e){return e.type===t.DateTime}function s(e){return e.type===t.InlineArray}function c(e){return e.type===t.InlineItem}function u(e){return e.type===t.InlineTable}function f(e){return e.type===t.Comment}function m(e){return r(e)||l(e)||o(e)||u(e)||s(e)}function d(e){return function(e){return e.type===t.TableKey}(e)||function(e){return e.type===t.TableArrayKey}(e)||c(e)}!function(e){e.Document="Document",e.Table="Table",e.TableKey="TableKey",e.TableArray="TableArray",e.TableArrayKey="TableArrayKey",e.KeyValue="KeyValue",e.Key="Key",e.String="String",e.Integer="Integer",e.Float="Float",e.Boolean="Boolean",e.DateTime="DateTime",e.InlineArray="InlineArray",e.InlineItem="InlineItem",e.InlineTable="InlineTable",e.Comment="Comment"}(t||(t={}));class p{constructor(e){this.iterator=e,this.index=-1,this.value=void 0,this.done=!1,this.peeked=null}next(){var e;if(this.done)return y();const t=this.peeked||this.iterator.next();return this.index+=1,this.value=t.value,this.done=null!==(e=t.done)&&void 0!==e&&e,this.peeked=null,t}peek(){return this.done?y():(this.peeked||(this.peeked=this.iterator.next()),this.peeked)}[Symbol.iterator](){return this}}function y(){return{value:void 0,done:!0}}function h(e){return{lines:e.end.line-e.start.line+1,columns:e.end.column-e.start.column}}function g(e,t){const n=Array.isArray(e)?e:v(e),r=n.findIndex((e=>e>=t))+1;return{line:r,column:t-(n[r-2]+1||0)}}function v(e){const t=/\r\n|\n/g,n=[];let r;for(;null!=(r=t.exec(e));)n.push(r.index+r[0].length-1);return n.push(e.length+1),n}function w(e){return{line:e.line,column:e.column}}function S(e){return{start:w(e.start),end:w(e.end)}}class T extends Error{constructor(e,t,n){let r=`Error parsing TOML (${t.line}, ${t.column+1}):\n`;if(e){const n=function(e,t){const n=v(e),r=n[t.line-2]||0,l=n[t.line-1]||e.length;return e.substr(r,l-r)}(e,t),l=`${function(e,t=" "){return t.repeat(e)}(t.column)}^`;n&&(r+=`${n}\n${l}\n`)}r+=n,super(r),this.line=t.line,this.column=t.column}}!function(e){e.Bracket="Bracket",e.Curly="Curly",e.Equal="Equal",e.Comma="Comma",e.Dot="Dot",e.Comment="Comment",e.Literal="Literal"}(n||(n={}));const b=/\s/,$=/(\r\n|\n)/,k='"',I="'",E=/[\w,\d,\",\',\+,\-,\_]/;function*A(e){const t=new p(e[Symbol.iterator]());t.next();const r=function(e){const t=v(e);return(e,n)=>({start:g(t,e),end:g(t,n)})}(e);for(;!t.done;){if(b.test(t.value));else if("["===t.value||"]"===t.value)yield C(t,r,n.Bracket);else if("{"===t.value||"}"===t.value)yield C(t,r,n.Curly);else if("="===t.value)yield C(t,r,n.Equal);else if(","===t.value)yield C(t,r,n.Comma);else if("."===t.value)yield C(t,r,n.Dot);else if("#"===t.value)yield x(t,r);else{const n=_(e,t.index,I)||_(e,t.index,k);n?yield O(t,r,n,e):yield D(t,r,e)}t.next()}}function C(e,t,n){return{type:n,raw:e.value,loc:t(e.index,e.index+1)}}function x(e,t){const r=e.index;let l=e.value;for(;!e.peek().done&&!$.test(e.peek().value);)e.next(),l+=e.value;return{type:n.Comment,raw:l,loc:t(r,e.index+1)}}function O(e,t,r,l){const o=e.index;let i=r+r+r,a=i;for(e.next(),e.next(),e.next();!e.done&&(!_(l,e.index,r)||L(l,e.index,r));)a+=e.value,e.next();if(e.done)throw new T(l,g(l,e.index),`Expected close of multiline string with ${i}, reached end of file`);return a+=i,e.next(),e.next(),{type:n.Literal,raw:a,loc:t(o,e.index+1)}}function D(e,t,r){if(!E.test(e.value))throw new T(r,g(r,e.index),`Unsupported character "${e.value}". Expected ALPHANUMERIC, ", ', +, -, or _`);const l=e.index;let o=e.value,i=e.value===k,a=e.value===I;const s=e=>{if(e.peek().done)return!0;const t=e.peek().value;return!(i||a)&&(b.test(t)||","===t||"."===t||"]"===t||"}"===t||"="===t||"#"===t)};for(;!e.done&&!s(e)&&(e.next(),e.value===k&&(i=!i),e.value!==I||i||(a=!a),o+=e.value,!e.peek().done);){let t=e.peek().value;i&&"\\"===e.value&&(t===k?(o+=k,e.next()):"\\"===t&&(o+="\\",e.next()))}if(i||a)throw new T(r,g(r,l),`Expected close of string with ${i?k:I}`);return{type:n.Literal,raw:o,loc:t(l,e.index+1)}}function _(e,t,n){if(!n)return!1;if(!(e[t]===n&&e[t+1]===n&&e[t+2]===n))return!1;const r=e.slice(0,t).match(/\\+$/);if(!r)return n;return!(r[0].length%2!=0)&&n}function L(e,t,n){return!!n&&(e[t]===n&&e[t+1]===n&&e[t+2]===n&&e[t+3]===n)}function U(e){return e[e.length-1]}function F(){return Object.create(null)}function M(e){return"number"==typeof e&&e%1==0&&isFinite(e)&&!Object.is(e,-0)}function K(e){return"[object Date]"===Object.prototype.toString.call(e)}function j(e){return e&&"object"==typeof e&&!K(e)&&!Array.isArray(e)}function N(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function B(e,...t){return t.reduce(((e,t)=>t(e)),e)}function Z(e){if(j(e)){return`{${Object.keys(e).sort().map((t=>`${JSON.stringify(t)}:${Z(e[t])}`)).join(",")}}`}return Array.isArray(e)?`[${e.map(Z).join(",")}]`:JSON.stringify(e)}function P(e,t){const n=e.length,r=t.length;e.length=n+r;for(let l=0;l<r;l++)e[n+l]=t[l]}const W=/\r\n/g,z=/\n/g,V=/^(\r\n|\n)/,H=/(?<!\\)(?:\\\\)*(\\\s*[\n\r\n]\s*)/g;function q(e){return e.startsWith("'''")?B(J(e,3),G):e.startsWith(I)?J(e,1):e.startsWith('"""')?B(J(e,3),G,X,Q,R,Y):e.startsWith(k)?B(J(e,1),Y):e}function R(e){let t="",n=0;for(let r=0;r<e.length;r++){const l=e[r];t+='"'===l&&n%2==0?'\\"':l,"\\"===l?n++:n=0}return t}function Y(e){const t=e.replace(/\\U[a-fA-F0-9]{8}/g,(e=>{const t=parseInt(e.replace("\\U",""),16),n=String.fromCodePoint(t);return J(JSON.stringify(n),1)})),n=t.replace(/\t/g,"\\t");return JSON.parse(`"${n}"`)}function J(e,t){return e.slice(t,e.length-t)}function G(e){return e.replace(V,"")}function Q(e){return e.replace(W,"\\r\\n").replace(z,"\\n")}function X(e){return e.replace(H,((e,t)=>e.replace(t,"")))}class ee{static createDateWithOriginalFormat(e,t){if(ee.IS_DATE_ONLY.test(t)){if(0!==e.getUTCHours()||0!==e.getUTCMinutes()||0!==e.getUTCSeconds()||0!==e.getUTCMilliseconds()){if(e instanceof le)return e;let t=e.toISOString().replace("Z","");return t=t.replace(/\.000$/,""),new re(t,!1)}const t=e.toISOString().split("T")[0];return new te(t)}if(ee.IS_TIME_ONLY.test(t)){if(e instanceof ne)return e;{const n=t.match(/\.(\d+)\s*$/),r=e.toISOString();if(r&&r.includes("T")){let l=r.split("T")[1].split("Z")[0];if(n){const t=n[1].length,[r,o,i]=l.split(":"),[a]=i.split(".");l=`${r}:${o}:${a}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new ne(l,t)}{const r=String(e.getUTCHours()).padStart(2,"0"),l=String(e.getUTCMinutes()).padStart(2,"0"),o=String(e.getUTCSeconds()).padStart(2,"0"),i=e.getUTCMilliseconds();let a;if(n){const e=n[1].length;a=`${r}:${l}:${o}.${String(i).padStart(3,"0").slice(0,e)}`}else if(i>0){a=`${r}:${l}:${o}.${String(i).padStart(3,"0").replace(/0+$/,"")}`}else a=`${r}:${l}:${o}`;return new ne(a,t)}}}if(ee.IS_LOCAL_DATETIME_T.test(t)){const n=t.match(/\.(\d+)\s*$/);let r=e.toISOString().replace("Z","");if(n){const t=n[1].length,[l,o]=r.split("T"),[i,a,s]=o.split(":"),[c]=s.split(".");r=`${l}T${i}:${a}:${c}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new re(r,!1,t)}if(ee.IS_LOCAL_DATETIME_SPACE.test(t)){const n=t.match(/\.(\d+)\s*$/);let r=e.toISOString().replace("Z","").replace("T"," ");if(n){const t=n[1].length,[l,o]=r.split(" "),[i,a,s]=o.split(":"),[c]=s.split(".");r=`${l} ${i}:${a}:${c}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new re(r,!0,t)}if(ee.IS_OFFSET_DATETIME_T.test(t)||ee.IS_OFFSET_DATETIME_SPACE.test(t)){const n=t.match(/([+-]\d{2}:\d{2}|[Zz])$/),r=n?"z"===n[1]?"Z":n[1]:"Z",l=ee.IS_OFFSET_DATETIME_SPACE.test(t),o=t.match(/\.(\d+)(?:[Zz]|[+-]\d{2}:\d{2})\s*$/),i=e.getTime();let a=0;if("Z"!==r){const e="+"===r[0]?1:-1,[t,n]=r.slice(1).split(":");a=e*(60*parseInt(t)+parseInt(n))}const s=new Date(i+6e4*a),c=s.getUTCFullYear(),u=String(s.getUTCMonth()+1).padStart(2,"0"),f=String(s.getUTCDate()).padStart(2,"0"),m=String(s.getUTCHours()).padStart(2,"0"),d=String(s.getUTCMinutes()).padStart(2,"0"),p=String(s.getUTCSeconds()).padStart(2,"0"),y=s.getUTCMilliseconds(),h=l?" ":"T";let g=`${m}:${d}:${p}`;if(o){const e=o[1].length;g+=`.${String(y).padStart(3,"0").slice(0,e)}`}else if(y>0){g+=`.${String(y).padStart(3,"0").replace(/0+$/,"")}`}return new le(`${c}-${u}-${f}${h}${g}${r}`,l)}return e}}ee.IS_DATE_ONLY=/^\d{4}-\d{2}-\d{2}$/,ee.IS_TIME_ONLY=/^\d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ee.IS_LOCAL_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ee.IS_LOCAL_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ee.IS_OFFSET_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,ee.IS_OFFSET_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,ee.IS_FULL_DATE=/(\d{4})-(\d{2})-(\d{2})/,ee.IS_FULL_TIME=/(\d{2}):(\d{2}):(\d{2})/;class te extends Date{constructor(e){super(e)}toISOString(){return`${this.getUTCFullYear()}-${String(this.getUTCMonth()+1).padStart(2,"0")}-${String(this.getUTCDate()).padStart(2,"0")}`}}class ne extends Date{constructor(e,t){super(`1970-01-01T${e}`),this.originalFormat=t}toISOString(){const e=String(this.getUTCHours()).padStart(2,"0"),t=String(this.getUTCMinutes()).padStart(2,"0"),n=String(this.getUTCSeconds()).padStart(2,"0"),r=this.getUTCMilliseconds();if(this.originalFormat&&this.originalFormat.includes(".")){const l=this.originalFormat.match(/\.(\d+)\s*$/),o=l?l[1].length:3;return`${e}:${t}:${n}.${String(r).padStart(3,"0").slice(0,o)}`}if(r>0){return`${e}:${t}:${n}.${String(r).padStart(3,"0").replace(/0+$/,"")}`}return`${e}:${t}:${n}`}}class re extends Date{constructor(e,t=!1,n){super(e.replace(" ","T")+"Z"),this.useSpaceSeparator=!1,this.useSpaceSeparator=t,this.originalFormat=n||e}toISOString(){const e=this.getUTCFullYear(),t=String(this.getUTCMonth()+1).padStart(2,"0"),n=String(this.getUTCDate()).padStart(2,"0"),r=String(this.getUTCHours()).padStart(2,"0"),l=String(this.getUTCMinutes()).padStart(2,"0"),o=String(this.getUTCSeconds()).padStart(2,"0"),i=this.getUTCMilliseconds(),a=`${e}-${t}-${n}`,s=this.useSpaceSeparator?" ":"T";if(this.originalFormat&&this.originalFormat.includes(".")){const e=this.originalFormat.match(/\.(\d+)\s*$/),t=e?e[1].length:3;return`${a}${s}${r}:${l}:${o}.${String(i).padStart(3,"0").slice(0,t)}`}if(i>0){return`${a}${s}${r}:${l}:${o}.${String(i).padStart(3,"0").replace(/0+$/,"")}`}return`${a}${s}${r}:${l}:${o}`}}class le extends Date{constructor(e,t=!1){super(e.replace(" ","T")),this.useSpaceSeparator=!1,this.useSpaceSeparator=t,this.originalFormat=e;const n=e.match(/([+-]\d{2}:\d{2}|[Zz])$/);n&&(this.originalOffset="z"===n[1]?"Z":n[1])}toISOString(){if(this.originalOffset){const e=this.getTime();let t=0;if("Z"!==this.originalOffset){const e="+"===this.originalOffset[0]?1:-1,[n,r]=this.originalOffset.slice(1).split(":");t=e*(60*parseInt(n)+parseInt(r))}const n=new Date(e+6e4*t),r=n.getUTCFullYear(),l=String(n.getUTCMonth()+1).padStart(2,"0"),o=String(n.getUTCDate()).padStart(2,"0"),i=String(n.getUTCHours()).padStart(2,"0"),a=String(n.getUTCMinutes()).padStart(2,"0"),s=String(n.getUTCSeconds()).padStart(2,"0"),c=n.getUTCMilliseconds(),u=`${r}-${l}-${o}`,f=this.useSpaceSeparator?" ":"T";if(this.originalFormat&&this.originalFormat.includes(".")){const e=this.originalFormat.match(/\.(\d+)(?:[Zz]|[+-]\d{2}:\d{2})\s*$/),t=e?e[1].length:3;return`${u}${f}${i}:${a}:${s}.${String(c).padStart(3,"0").slice(0,t)}${this.originalOffset}`}if(c>0){return`${u}${f}${i}:${a}:${s}.${String(c).padStart(3,"0").replace(/0+$/,"")}${this.originalOffset}`}return`${u}${f}${i}:${a}:${s}${this.originalOffset}`}const e=super.toISOString();return this.useSpaceSeparator?e.replace("T"," "):e}}const oe=ee,ie="true",ae=/e/i,se=/\_/g,ce=/inf/,ue=/nan/,fe=/^0x/,me=/^0o/,de=/^0b/;function*pe(e){const t=A(e),n=new p(t);for(;!n.next().done;)yield*ye(n,e)}function*ye(e,r){if(e.value.type===n.Comment)yield ge(e);else if(e.value.type===n.Bracket)yield function(e,r){const l=e.peek().done||e.peek().value.type!==n.Bracket?t.Table:t.TableArray,o=l===t.Table;if(o&&"["!==e.value.raw)throw new T(r,e.value.loc.start,`Expected table opening "[", found ${e.value.raw}`);if(!o&&("["!==e.value.raw||"["!==e.peek().value.raw))throw new T(r,e.value.loc.start,`Expected array of tables opening "[[", found ${e.value.raw+e.peek().value.raw}`);const i=o?{type:t.TableKey,loc:e.value.loc}:{type:t.TableArrayKey,loc:e.value.loc};e.next(),l===t.TableArray&&e.next();if(e.done)throw new T(r,i.loc.start,"Expected table key, reached end of file");i.item={type:t.Key,loc:S(e.value.loc),raw:e.value.raw,value:[q(e.value.raw)]};for(;!e.peek().done&&e.peek().value.type===n.Dot;){e.next();const t=e.value;e.next();const n=" ".repeat(t.loc.start.column-i.item.loc.end.column),r=" ".repeat(e.value.loc.start.column-t.loc.end.column);i.item.loc.end=e.value.loc.end,i.item.raw+=`${n}.${r}${e.value.raw}`,i.item.value.push(q(e.value.raw))}if(e.next(),o&&(e.done||"]"!==e.value.raw))throw new T(r,e.done?i.item.loc.end:e.value.loc.start,`Expected table closing "]", found ${e.done?"end of file":e.value.raw}`);if(!o&&(e.done||e.peek().done||"]"!==e.value.raw||"]"!==e.peek().value.raw))throw new T(r,e.done||e.peek().done?i.item.loc.end:e.value.loc.start,`Expected array of tables closing "]]", found ${e.done||e.peek().done?"end of file":e.value.raw+e.peek().value.raw}`);o||e.next();i.loc.end=e.value.loc.end;let a=[];for(;!e.peek().done&&e.peek().value.type!==n.Bracket;)e.next(),P(a,[...ye(e,r)]);return{type:o?t.Table:t.TableArray,loc:{start:w(i.loc.start),end:a.length?w(a[a.length-1].loc.end):w(i.loc.end)},key:i,items:a}}(e,r);else{if(e.value.type!==n.Literal)throw new T(r,e.value.loc.start,`Unexpected token "${e.value.type}". Expected Comment, Bracket, or String`);yield*function(e,r){const l={type:t.Key,loc:S(e.value.loc),raw:e.value.raw,value:[q(e.value.raw)]};for(;!e.peek().done&&e.peek().value.type===n.Dot;)e.next(),e.next(),l.loc.end=e.value.loc.end,l.raw+=`.${e.value.raw}`,l.value.push(q(e.value.raw));if(e.next(),e.done||e.value.type!==n.Equal)throw new T(r,e.done?l.loc.end:e.value.loc.start,`Expected "=" for key-value, found ${e.done?"end of file":e.value.raw}`);const o=e.value.loc.start.column;if(e.next(),e.done)throw new T(r,l.loc.start,"Expected value for key-value, reached end of file");const[i,...a]=he(e,r);return[{type:t.KeyValue,key:l,value:i,loc:{start:w(l.loc.start),end:w(i.loc.end)},equals:o},...a]}(e,r)}}function*he(e,r){if(e.value.type===n.Literal)e.value.raw[0]===k||e.value.raw[0]===I?yield function(e){return{type:t.String,loc:e.value.loc,raw:e.value.raw,value:q(e.value.raw)}}(e):e.value.raw===ie||"false"===e.value.raw?yield function(e){return{type:t.Boolean,loc:e.value.loc,value:e.value.raw===ie}}(e):oe.IS_FULL_DATE.test(e.value.raw)||oe.IS_FULL_TIME.test(e.value.raw)?yield function(e,r){let l,o=e.value.loc,i=e.value.raw;if(!e.peek().done&&e.peek().value.type===n.Literal&&oe.IS_FULL_DATE.test(i)&&oe.IS_FULL_TIME.test(e.peek().value.raw)){const t=o.start;e.next(),o={start:t,end:e.value.loc.end},i+=` ${e.value.raw}`}if(!e.peek().done&&e.peek().value.type===n.Dot){const t=o.start;if(e.next(),e.peek().done||e.peek().value.type!==n.Literal)throw new T(r,e.value.loc.end,"Expected fractional value for DateTime");e.next(),o={start:t,end:e.value.loc.end},i+=`.${e.value.raw}`}if(oe.IS_FULL_DATE.test(i))l=oe.IS_DATE_ONLY.test(i)?new te(i):oe.IS_LOCAL_DATETIME_T.test(i)?new re(i,!1):oe.IS_LOCAL_DATETIME_SPACE.test(i)?new re(i,!0):oe.IS_OFFSET_DATETIME_T.test(i)?new le(i,!1):oe.IS_OFFSET_DATETIME_SPACE.test(i)?new le(i,!0):new Date(i.replace(" ","T"));else if(oe.IS_TIME_ONLY.test(i))l=new ne(i,i);else{const[e]=(new Date).toISOString().split("T");l=new Date(`${e}T${i}`)}return{type:t.DateTime,loc:o,raw:i,value:l}}(e,r):!e.peek().done&&e.peek().value.type===n.Dot||ce.test(e.value.raw)||ue.test(e.value.raw)||ae.test(e.value.raw)&&!fe.test(e.value.raw)?yield function(e,r){let l,o=e.value.loc,i=e.value.raw;if(ce.test(i))l="-inf"===i?-1/0:1/0;else if(ue.test(i))l=NaN;else if(e.peek().done||e.peek().value.type!==n.Dot)l=Number(i.replace(se,""));else{const t=o.start;if(e.next(),e.peek().done||e.peek().value.type!==n.Literal)throw new T(r,e.value.loc.end,"Expected fraction value for Float");e.next(),i+=`.${e.value.raw}`,o={start:t,end:e.value.loc.end},l=Number(i.replace(se,""))}return{type:t.Float,loc:o,raw:i,value:l}}(e,r):yield function(e){if("-0"===e.value.raw||"+0"===e.value.raw)return{type:t.Integer,loc:e.value.loc,raw:e.value.raw,value:0};let n=10;fe.test(e.value.raw)?n=16:me.test(e.value.raw)?n=8:de.test(e.value.raw)&&(n=2);const r=parseInt(e.value.raw.replace(se,"").replace(me,"").replace(de,""),n);return{type:t.Integer,loc:e.value.loc,raw:e.value.raw,value:r}}(e);else if(e.value.type===n.Curly)yield function(e,r){if("{"!==e.value.raw)throw new T(r,e.value.loc.start,`Expected "{" for inline table, found ${e.value.raw}`);const l={type:t.InlineTable,loc:S(e.value.loc),items:[]};e.next();for(;!e.done&&(e.value.type!==n.Curly||"}"!==e.value.raw);){if(e.value.type===n.Comma){const t=l.items[l.items.length-1];if(!t)throw new T(r,e.value.loc.start,'Found "," without previous value in inline table');t.comma=!0,t.loc.end=e.value.loc.start,e.next();continue}const[o]=ye(e,r);if(o.type!==t.KeyValue)throw new T(r,e.value.loc.start,`Only key-values are supported in inline tables, found ${o.type}`);const i={type:t.InlineItem,loc:S(o.loc),item:o,comma:!1};l.items.push(i),e.next()}if(e.done||e.value.type!==n.Curly||"}"!==e.value.raw)throw new T(r,e.done?l.loc.start:e.value.loc.start,`Expected "}", found ${e.done?"end of file":e.value.raw}`);return l.loc.end=e.value.loc.end,l}(e,r);else{if(e.value.type!==n.Bracket)throw new T(r,e.value.loc.start,`Unrecognized token type "${e.value.type}". Expected String, Curly, or Bracket`);{const[l,o]=function(e,r){if("["!==e.value.raw)throw new T(r,e.value.loc.start,`Expected "[" for inline array, found ${e.value.raw}`);const l={type:t.InlineArray,loc:S(e.value.loc),items:[]};let o=[];e.next();for(;!e.done&&(e.value.type!==n.Bracket||"]"!==e.value.raw);){if(e.value.type===n.Comma){const t=l.items[l.items.length-1];if(!t)throw new T(r,e.value.loc.start,'Found "," without previous value for inline array');t.comma=!0,t.loc.end=e.value.loc.start}else if(e.value.type===n.Comment)o.push(ge(e));else{const[n,...i]=he(e,r),a={type:t.InlineItem,loc:S(n.loc),item:n,comma:!1};l.items.push(a),P(o,i)}e.next()}if(e.done||e.value.type!==n.Bracket||"]"!==e.value.raw)throw new T(r,e.done?l.loc.start:e.value.loc.start,`Expected "]", found ${e.done?"end of file":e.value.raw}`);return l.loc.end=e.value.loc.end,[l,o]}(e,r);yield l,yield*o}}}function ge(e){return{type:t.Comment,loc:e.value.loc,raw:e.value.raw}}function ve(e,n){var r;function l(e,t){for(const n of e)o(n,t)}function o(e,r){const i=n[e.type];switch(i&&"function"==typeof i&&i(e,r),i&&i.enter&&i.enter(e,r),e.type){case t.Document:l(e.items,e);break;case t.Table:o(e.key,e),l(e.items,e);break;case t.TableKey:o(e.item,e);break;case t.TableArray:o(e.key,e),l(e.items,e);break;case t.TableArrayKey:o(e.item,e);break;case t.KeyValue:o(e.key,e),o(e.value,e);break;case t.InlineArray:l(e.items,e);break;case t.InlineItem:o(e.item,e);break;case t.InlineTable:l(e.items,e);break;case t.Key:case t.String:case t.Integer:case t.Float:case t.Boolean:case t.DateTime:case t.Comment:break;default:throw new Error(`Unrecognized node type "${e.type}"`)}i&&i.exit&&i.exit(e,r)}null!=(r=e)&&"function"==typeof r[Symbol.iterator]?l(e,null):o(e,null)}const we=ee,Se=new WeakMap,Te=e=>(Se.has(e)||Se.set(e,new WeakMap),Se.get(e)),be=new WeakMap,$e=e=>(be.has(e)||be.set(e,new WeakMap),be.get(e));function ke(e,t,n,r){if(a(n)&&a(r)){const e=n.raw,t=r.value,l=we.createDateWithOriginalFormat(t,e);r.value=l,r.raw=l.toISOString();0!==r.raw.length-e.length&&(r.loc.end.column=r.loc.start.column+r.raw.length)}if(m(t)){const e=t.items.indexOf(n);if(e<0)throw new Error("Could not find existing item in parent node for replace");t.items.splice(e,1,r)}else if(i(t)&&u(t.value)&&!u(n)){const e=t.value.items.indexOf(n);if(e<0)throw new Error("Could not find existing item in parent node for replace");t.value.items.splice(e,1,r)}else if(d(t))t.item=r;else{if(!i(t))throw new Error(`Unsupported parent type "${t.type}" for replace`);t.key===n?t.key=r:t.value=r}De(r,{lines:n.loc.start.line-r.loc.start.line,columns:n.loc.start.column-r.loc.start.column});const l=h(n.loc),o=h(r.loc);_e({lines:o.lines-l.lines,columns:o.columns-l.columns},$e(e),r,n)}function Ie(e,t,n,a,d){if(!m(t))throw new Error(`Unsupported parent type "${t.type}" for insert`);let p,y;a=null!=a&&"number"==typeof a?a:t.items.length,s(t)||u(t)?({shift:p,offset:y}=function(e,t,n){if(!c(t))throw new Error(`Incompatible child type "${t.type}"`);const r=null!=n?e.items[n-1]:U(e.items),l=null==n||n===e.items.length;e.items.splice(n,0,t);const o=!!r,i=!l;o&&(r.comma=!0);i&&(t.comma=!0);const a=s(e)&&function(e){if(!e.items.length)return!1;return h(e.loc).lines>e.items.length}(e),u=l&&!0===t.comma;return Ee(e,t,n,{useNewLine:a,hasCommaHandling:!0,isLastElement:l,hasSeparatingCommaBefore:o,hasSeparatingCommaAfter:i,hasTrailingComma:u})}(t,n,a)):d&&r(t)?({shift:p,offset:y}=function(e,t,n){const r=Ee(e,t,n,{useNewLine:!1,hasCommaHandling:!1});return e.items.splice(n,0,t),r}(t,n,a)):({shift:p,offset:y}=function(e,t,n){if(a=t,!(i(a)||l(a)||o(a)||f(a)))throw new Error(`Incompatible child type "${t.type}"`);var a;const s=e.items[n-1],c=r(e)&&!e.items.length;e.items.splice(n,0,t);const u=s?{line:s.loc.end.line,column:f(s)?e.loc.start.column:s.loc.start.column}:w(e.loc.start),m=l(t)||o(t);let d=0;c||(d=m?2:1);u.line+=d;const p={lines:u.line-t.loc.start.line,columns:u.column-t.loc.start.column},y=h(t.loc),g={lines:y.lines+(d-1),columns:y.columns};return{shift:p,offset:g}}(t,n,a)),De(n,p);const g=t.items[a-1],v=g&&$e(e).get(g);v&&(y.lines+=v.lines,y.columns+=v.columns,$e(e).delete(g));$e(e).set(n,y)}function Ee(e,t,n,r={}){const{useNewLine:l=!1,skipCommaSpace:o=2,skipBracketSpace:i=1,hasCommaHandling:a=!1,isLastElement:s=!1,hasSeparatingCommaBefore:c=!1,hasSeparatingCommaAfter:u=!1,hasTrailingComma:m=!1}=r,d=n>0?e.items[n-1]:void 0,p=d?{line:d.loc.end.line,column:l?f(d)?e.loc.start.column:d.loc.start.column:d.loc.end.column}:w(e.loc.start);let y=0;if(l)y=1;else{const e=c||!a&&!!d;e&&a?p.column+=o:(e||a&&!d)&&(p.column+=i)}p.line+=y;const g={lines:p.line-t.loc.start.line,columns:p.column-t.loc.start.column},v=h(t.loc);if(!a){return{shift:g,offset:{lines:v.lines+(y-1),columns:v.columns}}}let S=0;c&&m&&!u&&s&&(S=-1);return{shift:g,offset:{lines:v.lines+(y-1),columns:v.columns+(c||u?o:0)+(m?1+S:0)}}}function Ae(e,t,n){if(!m(t))throw new Error(`Unsupported parent type "${t.type}" for remove`);let r=t.items.indexOf(n);if(r<0){if(r=t.items.findIndex((e=>d(e)&&e.item===n)),r<0)throw new Error("Could not find node in parent for removal");n=t.items[r]}const l=t.items[r-1];let o=t.items[r+1];t.items.splice(r,1);let i=h(n.loc);o&&f(o)&&o.loc.start.line===n.loc.end.line&&(i=h({start:n.loc.start,end:o.loc.end}),o=t.items[r+1],t.items.splice(r,1));const a=l&&c(l)||o&&c(o),s=l&&l.loc.end.line===n.loc.start.line,u=o&&o.loc.start.line===n.loc.end.line,p=a&&(s||u),y={lines:-(i.lines-(p?1:0)),columns:-i.columns};if(void 0===l&&void 0===o&&(y.lines=0,y.columns=0),a&&s&&(y.columns-=2),a&&!l&&o&&(y.columns-=2),a&&l&&!o){const e=n.comma;l.comma=!!e}const g=l||t,v=l?$e(e):Te(e),w=$e(e),S=v.get(g);S&&(y.lines+=S.lines,y.columns+=S.columns);const T=w.get(n);T&&(y.lines+=T.lines,y.columns+=T.columns),v.set(g,y)}function Ce(e,t,n=!0){if(!n)return;if(!t.items.length)return;_e({lines:0,columns:1},Te(e),t);const r=U(t.items);_e({lines:0,columns:1},$e(e),r)}function xe(e,t,n=!1){if(!n)return;if(!t.items.length)return;const r=U(t.items);r.comma=!0,_e({lines:0,columns:1},$e(e),r)}function Oe(e){const n=Te(e),r=$e(e),l={lines:0,columns:{}};function o(e){const t=l.lines;e.loc.start.line+=t;const r=l.columns[e.loc.start.line]||0;e.loc.start.column+=r;const o=n.get(e);o&&(l.lines+=o.lines,l.columns[e.loc.start.line]=(l.columns[e.loc.start.line]||0)+o.columns)}function i(e){const t=l.lines;e.loc.end.line+=t;const n=l.columns[e.loc.end.line]||0;e.loc.end.column+=n;const o=r.get(e);o&&(l.lines+=o.lines,l.columns[e.loc.end.line]=(l.columns[e.loc.end.line]||0)+o.columns)}const a={enter:o,exit:i};ve(e,{[t.Document]:a,[t.Table]:a,[t.TableArray]:a,[t.InlineTable]:a,[t.InlineArray]:a,[t.InlineItem]:a,[t.TableKey]:a,[t.TableArrayKey]:a,[t.KeyValue]:{enter(e){const t=e.loc.start.line+l.lines,n=r.get(e.key);e.equals+=(l.columns[t]||0)+(n?n.columns:0),o(e)},exit:i},[t.Key]:a,[t.String]:a,[t.Integer]:a,[t.Float]:a,[t.Boolean]:a,[t.DateTime]:a,[t.Comment]:a}),Se.delete(e),be.delete(e)}function De(e,n,r={}){const{first_line_only:l=!1}=r,o=e.loc.start.line,{lines:i,columns:a}=n,s=e=>{l&&e.loc.start.line!==o||(e.loc.start.column+=a,e.loc.end.column+=a),e.loc.start.line+=i,e.loc.end.line+=i};return ve(e,{[t.Table]:s,[t.TableKey]:s,[t.TableArray]:s,[t.TableArrayKey]:s,[t.KeyValue](e){s(e),e.equals+=a},[t.Key]:s,[t.String]:s,[t.Integer]:s,[t.Float]:s,[t.Boolean]:s,[t.DateTime]:s,[t.InlineArray]:s,[t.InlineItem]:s,[t.InlineTable]:s,[t.Comment]:s}),e}function _e(e,t,n,r){const l=t.get(r||n);l&&(e.lines+=l.lines,e.columns+=l.columns),t.set(n,e)}function Le(){return{type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:[]}}function Ue(e){const n=function(e){const n=je(e);return{type:t.TableKey,loc:{start:{line:1,column:0},end:{line:1,column:n.length+2}},item:{type:t.Key,loc:{start:{line:1,column:1},end:{line:1,column:n.length+1}},value:e,raw:n}}}(e);return{type:t.Table,loc:S(n.loc),key:n,items:[]}}function Fe(e){const n=function(e){const n=je(e);return{type:t.TableArrayKey,loc:{start:{line:1,column:0},end:{line:1,column:n.length+4}},item:{type:t.Key,loc:{start:{line:1,column:2},end:{line:1,column:n.length+2}},value:e,raw:n}}}(e);return{type:t.TableArray,loc:S(n.loc),key:n,items:[]}}function Me(e,n){const r=function(e){const n=je(e);return{type:t.Key,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e),{column:l}=r.loc.end,o=l+1;return De(n,{lines:0,columns:l+3-n.loc.start.column},{first_line_only:!0}),{type:t.KeyValue,loc:{start:w(r.loc.start),end:w(n.loc.end)},key:r,equals:o,value:n}}const Ke=/^[\w-]+$/;function je(e){return e.map((e=>Ke.test(e)?e:JSON.stringify(e))).join(".")}function Ne(e){return{type:t.InlineItem,loc:S(e.loc),item:e,comma:!1}}const Be=!1,Ze=!0,Pe=!1;function We(e,t){if(!e||"object"!=typeof e)return null;if(("InlineArray"===e.type||"InlineTable"===e.type)&&e.loc){const n=function(e,t){var n;if(!e||!e.start||!e.end)return null;const r=t.split(/\r?\n/),l=e.start.line-1,o=e.end.line-1,i=e.start.column,a=e.end.column;let s="";if(l===o)s=(null===(n=r[l])||void 0===n?void 0:n.substring(i,a+1))||"";else{r[l]&&(s+=r[l].substring(i));for(let e=l+1;e<o;e++)s+="\n"+(r[e]||"");r[o]&&(s+="\n"+r[o].substring(0,a+1))}const c=s.match(/^\[(\s*)/),u=s.match(/^\{(\s*)/);if(c)return c[1].length>0;if(u)return u[1].length>0;return null}(e.loc,t);if(null!==n)return n}if(e.items&&Array.isArray(e.items))for(const n of e.items){const e=We(n,t);if(null!==e)return e;if(n.item){const e=We(n.item,t);if(null!==e)return e}}for(const n of["value","key","item"])if(e[n]){const r=We(e[n],t);if(null!==r)return r}return null}function ze(e){if(!e||"object"!=typeof e)return null;if("InlineArray"===e.type&&e.items&&Array.isArray(e.items))return Ve(e.items);if("InlineTable"===e.type&&e.items&&Array.isArray(e.items))return Ve(e.items);if("KeyValue"===e.type&&e.value)return ze(e.value);if(e.items&&Array.isArray(e.items))for(const t of e.items){const e=ze(t);if(null!==e)return e}return null}function Ve(e){if(0===e.length)return null;const t=e[e.length-1];return!(!t||"object"!=typeof t||!("comma"in t))&&!0===t.comma}function He(e){if(!s(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function qe(e){if(!u(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function Re(e){const t=e.indexOf("\n");return t>0&&"\r"===e.substring(t-1,t)?"\r\n":"\n"}function Ye(e,t){var n,r,l,o,i;if(e){if(e instanceof Je)return e;{const a=function(e){if(!e||"object"!=typeof e)return{};const t=new Set(["newLine","trailingNewline","trailingComma","bracketSpacing","inlineTableStart","truncateZeroTimeInDates"]),n={},r=[],l=[];for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o))if(t.has(o)){const t=e[o];switch(o){case"newLine":"string"==typeof t?n.newLine=t:l.push(`${o} (expected string, got ${typeof t})`);break;case"trailingNewline":"boolean"==typeof t||"number"==typeof t?n.trailingNewline=t:l.push(`${o} (expected boolean or number, got ${typeof t})`);break;case"trailingComma":case"bracketSpacing":case"truncateZeroTimeInDates":"boolean"==typeof t?n[o]=t:l.push(`${o} (expected boolean, got ${typeof t})`);break;case"inlineTableStart":"number"==typeof t&&Number.isInteger(t)&&t>=0||null==t?n.inlineTableStart=t:l.push(`${o} (expected non-negative integer or undefined, got ${typeof t})`)}}else r.push(o);if(r.length>0&&console.warn(`toml-patch: Ignoring unsupported format properties: ${r.join(", ")}. Supported properties are: ${Array.from(t).join(", ")}`),l.length>0)throw new TypeError(`Invalid types for format properties: ${l.join(", ")}`);return n}(e);return new Je(null!==(n=a.newLine)&&void 0!==n?n:t.newLine,null!==(r=a.trailingNewline)&&void 0!==r?r:t.trailingNewline,null!==(l=a.trailingComma)&&void 0!==l?l:t.trailingComma,null!==(o=a.bracketSpacing)&&void 0!==o?o:t.bracketSpacing,void 0!==a.inlineTableStart?a.inlineTableStart:t.inlineTableStart,null!==(i=a.truncateZeroTimeInDates)&&void 0!==i?i:t.truncateZeroTimeInDates)}}return t}class Je{constructor(e,t,n,r,l,o){this.newLine=null!=e?e:"\n",this.trailingNewline=null!=t?t:1,this.trailingComma=null!=n?n:Be,this.bracketSpacing=null!=r?r:Ze,this.inlineTableStart=null!=l?l:1,this.truncateZeroTimeInDates=null!=o?o:Pe}static default(){return new Je("\n",1,Be,Ze,1,Pe)}static autoDetectFormat(e){const t=Je.default();t.newLine=Re(e),t.trailingNewline=function(e,t){let n=0,r=e.length;for(;r>=t.length&&e.substring(r-t.length,r)===t;)n++,r-=t.length;return n}(e,t.newLine);try{const n=pe(e),r=Array.from(n);t.trailingComma=function(e){const t=Array.from(e);for(const e of t){const t=ze(e);if(null!==t)return t}return Be}(r),t.bracketSpacing=function(e,t){const n=Array.from(t);for(const t of n){const n=We(t,e);if(null!==n)return n}return Ze}(e,r)}catch(e){t.trailingComma=Be,t.bracketSpacing=Ze}return t.inlineTableStart=1,t.truncateZeroTimeInDates=Pe,t}}function Ge(e,t){if(0===t.inlineTableStart)return e;return e.items.filter((e=>{if(!i(e))return!1;const n=u(e.value),r=s(e.value)&&e.value.items.length&&u(e.value.items[0].item);if(n||r){const n=et(e.key.value);return void 0===t.inlineTableStart||n<t.inlineTableStart}return!1})).forEach((t=>{Ae(e,e,t),u(t.value)?Ie(e,e,Qe(t)):function(e){const t=Le();for(const n of e.value.items){const r=Fe(e.key.value);Ie(t,t,r);for(const e of n.item.items)Ie(t,r,e.item)}return Oe(t),t.items}(t).forEach((t=>{Ie(e,e,t)}))})),Oe(e),e}function Qe(e){const t=Ue(e.key.value);for(const n of e.value.items)Ie(t,t,n.item);return Oe(t),t}function Xe(e){if(e.items.length>0){const t=e.items[e.items.length-1];e.loc.end.line=t.loc.end.line,e.loc.end.column=t.loc.end.column}else e.loc.end.line=e.key.loc.end.line,e.loc.end.column=e.key.loc.end.column}function et(e){return Math.max(0,e.length-1)}function tt(e,t,n){var r;for(let l=e.items.length-1;l>=0;l--){const o=e.items[l];if(i(o)&&u(o.value)){const l=[...e.key.item.value,...o.key.value];if(et(l)<(null!==(r=n.inlineTableStart)&&void 0!==r?r:1)){const r=Ue(l);for(const e of o.value.items)Ie(r,r,e.item);Ae(e,e,o),Xe(e),t.push(r),tt(r,t,n)}}}}function nt(e,t=Je.default()){e=function(e){const t=[],n=[];for(const r in e)j(e[r])||Array.isArray(e[r])?n.push(r):t.push(r);const r={};for(let n=0;n<t.length;n++){const l=t[n];r[l]=e[l]}for(let t=0;t<n.length;t++){const l=n[t];r[l]=e[l]}return r}(e=ot(e));const n=Le();for(const r of rt(e,t))Ie(n,n,r);Oe(n);const r=B(n,(e=>Ge(e,t)),(e=>function(e,t){if(void 0===t.inlineTableStart||0===t.inlineTableStart)return e;const n=[];for(const r of e.items)if(i(r)&&u(r.value)){if(et(r.key.value)<t.inlineTableStart){const l=Qe(r);Ae(e,e,r),Ie(e,e,l),tt(l,n,t)}}else"Table"===r.type&&tt(r,n,t);for(const t of n)Ie(e,e,t);return Oe(e),e}(e,t)),(e=>function(e){return e}(e)));return function(e){let t=0,n=0;for(const r of e.items)0===n&&r.loc.start.line>1?t=1-r.loc.start.line:r.loc.start.line+t>n+2&&(t+=n+2-(r.loc.start.line+t)),De(r,{lines:t,columns:0}),n=r.loc.end.line;return e}(r)}function*rt(e,t){for(const n of Object.keys(e))yield Me([n],lt(e[n],t))}function lt(e,n){if(null==e)throw new Error('"null" and "undefined" values are not supported');return function(e){return"string"==typeof e}(e)?function(e){const n=JSON.stringify(e);return{type:t.String,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):M(e)?function(e){const n=e.toString();return{type:t.Integer,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):function(e){return"number"==typeof e&&(!M(e)||!isFinite(e)||Object.is(e,-0))}(e)?function(e){let n;return n=e===1/0?"inf":e===-1/0?"-inf":Number.isNaN(e)?"nan":Object.is(e,-0)?"-0.0":e.toString(),{type:t.Float,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):function(e){return"boolean"==typeof e}(e)?function(e){return{type:t.Boolean,loc:{start:{line:1,column:0},end:{line:1,column:e?4:5}},value:e}}(e):K(e)?function(e,n){n.truncateZeroTimeInDates&&0===e.getUTCHours()&&0===e.getUTCMinutes()&&0===e.getUTCSeconds()&&0===e.getUTCMilliseconds()&&(e=new te(e.toISOString().split("T")[0]));const r=e.toISOString();return{type:t.DateTime,loc:{start:{line:1,column:0},end:{line:1,column:r.length}},raw:r,value:e}}(e,n):Array.isArray(e)?function(e,n){const r={type:t.InlineArray,loc:{start:{line:1,column:0},end:{line:1,column:2}},items:[]};for(const t of e){Ie(r,r,Ne(lt(t,n)))}return Ce(r,r,n.bracketSpacing),xe(r,r,n.trailingComma),Oe(r),r}(e,n):function(e,n){if(e=ot(e),!j(e))return lt(e,n);const r={type:t.InlineTable,loc:{start:{line:1,column:0},end:{line:1,column:2}},items:[]},l=[...rt(e,n)];for(const e of l){Ie(r,r,Ne(e))}return Ce(r,r,n.bracketSpacing),xe(r,r,n.trailingComma),Oe(r),r}(e,n)}function ot(e){return e?K(e)?e:"function"==typeof e.toJSON?e.toJSON():e:e}const it=/(\r\n|\n)/g;function at(e,n){const r=[];return ve(e,{[t.TableKey](e){const{start:t,end:n}=e.loc;st(r,{start:t,end:{line:t.line,column:t.column+1}},"["),st(r,{start:{line:n.line,column:n.column-1},end:n},"]")},[t.TableArrayKey](e){const{start:t,end:n}=e.loc;st(r,{start:t,end:{line:t.line,column:t.column+2}},"[["),st(r,{start:{line:n.line,column:n.column-2},end:n},"]]")},[t.KeyValue](e){const{start:{line:t}}=e.loc;st(r,{start:{line:t,column:e.equals},end:{line:t,column:e.equals+1}},"=")},[t.Key](e){st(r,e.loc,e.raw)},[t.String](e){st(r,e.loc,e.raw)},[t.Integer](e){st(r,e.loc,e.raw)},[t.Float](e){st(r,e.loc,e.raw)},[t.Boolean](e){st(r,e.loc,e.value.toString())},[t.DateTime](e){st(r,e.loc,e.raw)},[t.InlineArray](e){const{start:t,end:n}=e.loc;st(r,{start:t,end:{line:t.line,column:t.column+1}},"["),st(r,{start:{line:n.line,column:n.column-1},end:n},"]")},[t.InlineTable](e){const{start:t,end:n}=e.loc;st(r,{start:t,end:{line:t.line,column:t.column+1}},"{"),st(r,{start:{line:n.line,column:n.column-1},end:n},"}")},[t.InlineItem](e){if(!e.comma)return;const t=e.loc.end;st(r,{start:t,end:{line:t.line,column:t.column+1}},",")},[t.Comment](e){st(r,e.loc,e.raw)}}),r.join(n.newLine)+n.newLine.repeat(n.trailingNewline)}function st(e,t,n){const r=n.split(it).filter((e=>"\n"!==e&&"\r\n"!==e)),l=t.end.line-t.start.line+1;if(r.length!==l)throw new Error(`Mismatch between location and raw string, expected ${l} lines for "${n}"`);for(let l=t.start.line;l<=t.end.line;l++){const o=ct(e,l);if(void 0===o)throw new Error(`Line ${l} is uninitialized when writing "${n}" at ${t.start.line}:${t.start.column} to ${t.end.line}:${t.end.column}`);const i=l===t.start.line,a=l===t.end.line,s=i?o.substr(0,t.start.column).padEnd(t.start.column," "):"",c=a?o.substr(t.end.column):"";e[l-1]=s+r[l-t.start.line]+c}}function ct(e,t){if(!e[t-1])for(let n=0;n<t;n++)e[n]||(e[n]="");return e[t-1]}function ut(e,n=""){const r=F(),l=new Set,o=new Set,i=new Set;let a=r,s=0;return ve(e,{[t.Table](e){const t=e.key.item.value;try{mt(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new T(n,e.key.loc.start,r.message)}const s=yt(t);l.add(s),i.add(s),a=dt(r,t)},[t.TableArray](e){const t=e.key.item.value;try{mt(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new T(n,e.key.loc.start,r.message)}const s=yt(t);o.add(s),i.add(s),a=function(e,t){const n=pt(e,t.slice(0,-1)),r=U(t);n[r]||(n[r]=[]);const l=F();return n[U(t)].push(l),l}(r,t)},[t.KeyValue]:{enter(e){if(s>0)return;const t=e.key.value;try{mt(a,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new T(n,e.key.loc.start,r.message)}const r=ft(e.value);(t.length>1?dt(a,t.slice(0,-1)):a)[U(t)]=r,i.add(yt(t))}},[t.InlineTable]:{enter(){s++},exit(){s--}}}),r}function ft(e){switch(e.type){case t.InlineTable:const n=F();return e.items.forEach((({item:e})=>{const t=e.key.value,r=ft(e.value);(t.length>1?dt(n,t.slice(0,-1)):n)[U(t)]=r})),n;case t.InlineArray:return e.items.map((e=>ft(e.item)));case t.String:case t.Integer:case t.Float:case t.Boolean:case t.DateTime:return e.value;default:throw new Error(`Unrecognized value type "${e.type}"`)}}function mt(e,n,r,l){let o=[],i=0;for(const t of n){if(o.push(t),!N(e,t))return;if("object"!=typeof(a=e[t])&&!K(a))throw new Error(`Invalid key, a value has already been defined for ${o.join(".")}`);const r=yt(o);if(Array.isArray(e[t])&&!l.table_arrays.has(r))throw new Error(`Invalid key, cannot add to a static array at ${r}`);const s=i++<n.length-1;e=Array.isArray(e[t])&&s?U(e[t]):e[t]}var a;const s=yt(n);if(e&&r===t.Table&&l.defined.has(s))throw new Error(`Invalid key, a table has already been defined named ${s}`);if(e&&r===t.TableArray&&!l.table_arrays.has(s))throw new Error(`Invalid key, cannot add an array of tables to a table at ${s}`)}function dt(e,t){const n=pt(e,t.slice(0,-1)),r=U(t);return n[r]||(n[r]=F()),n[r]}function pt(e,t){return t.reduce(((e,t)=>(e[t]||(e[t]=F()),Array.isArray(e[t])?U(e[t]):e[t])),e)}function yt(e){return e.join(".")}var ht,gt,vt,wt;function St(e){return e.type===ht.Remove}function Tt(e,t,n=[]){return e===t||(l=t,K(r=e)&&K(l)&&r.toISOString()===l.toISOString())?[]:Array.isArray(e)&&Array.isArray(t)?function(e,t,n=[]){let r=[];const l=e.map(Z),o=t.map(Z);o.forEach(((i,a)=>{const s=a>=l.length;if(!s&&l[a]===i)return;const c=l.indexOf(i,a+1);if(!s&&c>-1){r.push({type:ht.Move,path:n,from:c,to:a});const e=l.splice(c,1);return void l.splice(a,0,...e)}const u=!o.includes(l[a]);if(!s&&u)return P(r,Tt(e[a],t[a],n.concat(a))),void(l[a]=i);r.push({type:ht.Add,path:n.concat(a)}),l.splice(a,0,i)}));for(let e=o.length;e<l.length;e++)r.push({type:ht.Remove,path:n.concat(e)});return r}(e,t,n):j(e)&&j(t)?function(e,t,n=[]){let r=[];const l=Object.keys(e),o=l.map((t=>Z(e[t]))),i=Object.keys(t),a=i.map((e=>Z(t[e]))),s=(e,t)=>{if(t.indexOf(e)<0)return!1;const n=l[o.indexOf(e)];return!i.includes(n)};return l.forEach(((l,c)=>{const u=n.concat(l);if(i.includes(l))P(r,Tt(e[l],t[l],u));else if(s(o[c],a)){const e=i[a.indexOf(o[c])];r.push({type:ht.Rename,path:n,from:l,to:e})}else r.push({type:ht.Remove,path:u})})),i.forEach(((e,t)=>{l.includes(e)||s(a[t],o)||r.push({type:ht.Add,path:n.concat(e)})})),r}(e,t,n):[{type:ht.Edit,path:n}];var r,l}function bt(e,t){if(!t.length)return c(e)&&i(e.item)?e.item:e;if(i(e))return bt(e.value,t);const n={};let r;if(m(e)&&e.items.some(((e,a)=>{try{let s=[];if(i(e))s=e.key.value;else if(l(e))s=e.key.item.value;else if(o(e)){s=e.key.item.value;const t=Z(s);n[t]||(n[t]=0);const r=n[t]++;s=s.concat(r)}else c(e)&&i(e.item)?s=e.item.key.value:c(e)&&(s=[a]);return!(!s.length||!function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(s,t.slice(0,s.length)))&&(r=bt(e,t.slice(s.length)),!0)}catch(e){return!1}})),!r)throw new Error(`Could not find node at path ${t.join(".")}`);return r}function $t(e,t){try{return bt(e,t)}catch(e){}}function kt(e,t){let n,r=t;for(;r.length&&!n;)r=r.slice(0,-1),n=$t(e,r);if(!n)throw new Error(`Count not find parent node for path ${t.join(".")}`);return n}function It(e,n,a){const f=[...e],m=ut(f),p={type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:f},y=nt(n,Ye(Object.assign(Object.assign({},a),{inlineTableStart:void 0}),a)),h=function(e){for(let t=0;t<e.length;t++){const n=e[t];if(St(n)){let r=t+1;for(;r<e.length;){const l=e[r];if(St(l)&&l.path[0]===n.path[0]&&l.path[1]>n.path[1]){e.splice(r,1),e.splice(t,0,l),t=0;break}r++}}}return e}(Tt(m,n));if(0===h.length)return{tomlString:at(f,a),document:p};const g=function(e,t,n,a){return n.forEach((n=>{if(function(e){return e.type===ht.Add}(n)){const f=bt(t,n.path),m=n.path.slice(0,-1);let d,p=U(n.path),y=o(f);if(M(p)&&!m.some(M)){const t=$t(e,m.concat(0));t&&o(t)&&(y=!0)}if(l(f))d=e;else if(y){d=e;const t=e,n=$t(t,m.concat(p-1)),r=$t(t,m.concat(p));p=r?t.items.indexOf(r):n?t.items.indexOf(n)+1:t.items.length}else d=kt(e,n.path),i(d)&&(d=d.value);if(o(d)||s(d)||r(d)){if(s(d)){const e=He(d);c(f)&&(f.comma=e)}if(void 0!==a.inlineTableStart&&a.inlineTableStart>0&&r(d)&&l(f)){const t=Et(f,e,a);Ie(e,d,f,p);for(const n of t)Ie(e,e,n,void 0)}else Ie(e,d,f,p)}else if(u(d)){const t=qe(d);if(i(f)){const n=Ne(f);n.comma=t,Ie(e,d,n)}else Ie(e,d,f)}else if(void 0!==a.inlineTableStart&&a.inlineTableStart>0&&i(f)&&u(f.value)&&l(d)){et([...d.key.item.value,...f.key.value])<a.inlineTableStart?function(e,t,n,r){const l=t.key.item.value,o=[...l,...e.key.value],a=Ue(o);if(u(e.value))for(const t of e.value.items)c(t)&&i(t.item)&&Ie(n,a,t.item,void 0);Ie(n,n,a,void 0),Xe(t);const s=Et(a,n,r);for(const e of s)Ie(n,n,e,void 0)}(f,d,e,a):Ie(e,d,f)}else 0===a.inlineTableStart&&i(f)&&u(f.value)&&r(d)?Ie(e,d,f,void 0,!0):Ie(e,d,f)}else if(function(e){return e.type===ht.Edit}(n)){let r,l=bt(e,n.path),o=bt(t,n.path);if(i(l)&&i(o)){if(s(l.value)&&s(o.value)){const e=He(l.value),t=o.value;if(t.items.length>0){t.items[t.items.length-1].comma=e}}if(u(l.value)&&u(o.value)){const e=qe(l.value),t=o.value;if(t.items.length>0){t.items[t.items.length-1].comma=e}}r=l,l=l.value,o=o.value}else if(i(l)&&c(o)&&i(o.item))r=l,l=l.value,o=o.item.value;else if(c(l)&&i(o))r=l,l=l.item;else if(r=kt(e,n.path),i(r)){const t=n.path.slice(0,-1),l=bt(e,t);i(l)&&s(l.value)&&(r=l.value)}ke(e,r,l,o)}else if(St(n)){let t=kt(e,n.path);i(t)&&(t=t.value);const r=bt(e,n.path);Ae(e,t,r)}else if(function(e){return e.type===ht.Move}(n)){let t=bt(e,n.path);d(t)&&(t=t.item),i(t)&&(t=t.value);const r=t.items[n.from];Ae(e,t,r),Ie(e,t,r,n.to)}else if(function(e){return e.type===ht.Rename}(n)){let r=bt(e,n.path.concat(n.from)),l=bt(t,n.path.concat(n.to));d(r)&&(r=r.item),d(l)&&(l=l.item),ke(e,r,r.key,l.key)}})),Oe(e),e}(p,y,h,a);return{tomlString:at(g.items,a),document:g}}function Et(e,t,n){const r=[],l=(e,r)=>{var o;for(let a=e.items.length-1;a>=0;a--){const s=e.items[a];if(i(s)&&u(s.value)){const u=[...e.key.item.value,...s.key.value];if(et(u)<(null!==(o=n.inlineTableStart)&&void 0!==o?o:1)&&0!==n.inlineTableStart){const n=Ue(u);for(const e of s.value.items)c(e)&&i(e.item)&&Ie(t,n,e.item,void 0);e.items.splice(a,1),Xe(e),r.push(n),l(n,r)}}}};return l(e,r),r}function At(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function Ct(e,t,n,r,l){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!l)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!l:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?l.call(e,n):l?l.value=n:t.set(e,n),n}function xt(e,t){return e.line!==t.line?e.line-t.line:e.column-t.column}!function(e){e.Add="Add",e.Edit="Edit",e.Remove="Remove",e.Move="Move",e.Rename="Rename"}(ht||(ht={})),"function"==typeof SuppressedError&&SuppressedError;function Ot(e){if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(Ot);if(e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))t[n]=Ot(r);return t}return e}gt=new WeakMap,vt=new WeakMap,wt=new WeakMap,e.TomlDocument=class{constructor(e){gt.set(this,void 0),vt.set(this,void 0),wt.set(this,void 0),Ct(this,vt,e,"f"),Ct(this,gt,Array.from(pe(e)),"f"),Ct(this,wt,Je.autoDetectFormat(e),"f")}get toTomlString(){return At(this,vt,"f")}get toJsObject(){return Ot(ut(At(this,gt,"f")))}get ast(){return At(this,gt,"f")}patch(e,t){const n=Ye(t,At(this,wt,"f")),{tomlString:r,document:l}=It(At(this,gt,"f"),e,n);Ct(this,gt,l.items,"f"),Ct(this,vt,r,"f")}update(e){if(e===this.toTomlString)return;const t=this.toTomlString.split(At(this,wt,"f").newLine),n=Re(e),r=e.split(n);let l=0;for(;l<t.length&&l<r.length&&t[l]===r[l];)l++;let o=0;if(l<t.length&&l<r.length){const e=t[l],n=r[l];for(let t=0;t<Math.max(e.length,n.length);t++)if(e[t]!==n[t]){o=t;break}}let i=l+1;const{truncatedAst:a,lastEndPosition:s}=function(e,t,n){const r={line:t,column:n},l=[];let o=null;for(const t of e){const e=xt(t.loc.end,r)<0,n=xt(t.loc.start,r)<0;if(!e){if(n&&!e)break;break}l.push(t),o=t.loc.end}return{truncatedAst:l,lastEndPosition:o}}(At(this,gt,"f"),i,o),c=s?s.line:1,u=s?s.column+1:0,f=r.slice(c-1);f.length>0&&u>0&&(f[0]=f[0].substring(u));const m=f.join(At(this,wt,"f").newLine);Ct(this,gt,Array.from(function*(e,t){for(const t of e)yield t;for(const e of pe(t))yield e}(a,m)),"f"),Ct(this,vt,e,"f"),Ct(this,wt,Je.autoDetectFormat(e),"f")}overwrite(e){e!==this.toTomlString&&(Ct(this,gt,Array.from(pe(e)),"f"),Ct(this,vt,e,"f"),Ct(this,wt,Je.autoDetectFormat(e),"f"))}},e.TomlFormat=Je,e.parse=function(e){return ut(pe(e),e)},e.patch=function(e,t,n){return It(pe(e),t,Ye(n,Je.autoDetectFormat(e))).tomlString},e.stringify=function(e,t){const n=Ye(t,Je.default());return at(nt(e,n).items,n)}}));
|
|
1
|
+
//! @decimalturn/toml-patch v0.5.2 - https://github.com/DecimalTurn/toml-patch - @license: MIT
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TOML={})}(this,(function(e){"use strict";var t,n;function r(e){return e.type===t.Document}function l(e){return e.type===t.Table}function o(e){return e.type===t.TableArray}function i(e){return e.type===t.KeyValue}function a(e){return e.type===t.String}function s(e){return e.type===t.DateTime}function c(e){return e.type===t.InlineArray}function u(e){return e.type===t.InlineItem}function f(e){return e.type===t.InlineTable}function m(e){return e.type===t.Comment}function d(e){return r(e)||l(e)||o(e)||f(e)||c(e)}function p(e){return function(e){return e.type===t.TableKey}(e)||function(e){return e.type===t.TableArrayKey}(e)||u(e)}!function(e){e.Document="Document",e.Table="Table",e.TableKey="TableKey",e.TableArray="TableArray",e.TableArrayKey="TableArrayKey",e.KeyValue="KeyValue",e.Key="Key",e.String="String",e.Integer="Integer",e.Float="Float",e.Boolean="Boolean",e.DateTime="DateTime",e.InlineArray="InlineArray",e.InlineItem="InlineItem",e.InlineTable="InlineTable",e.Comment="Comment"}(t||(t={}));class h{constructor(e){this.iterator=e,this.index=-1,this.value=void 0,this.done=!1,this.peeked=null}next(){var e;if(this.done)return y();const t=this.peeked||this.iterator.next();return this.index+=1,this.value=t.value,this.done=null!==(e=t.done)&&void 0!==e&&e,this.peeked=null,t}peek(){return this.done?y():(this.peeked||(this.peeked=this.iterator.next()),this.peeked)}[Symbol.iterator](){return this}}function y(){return{value:void 0,done:!0}}function g(e){return{lines:e.end.line-e.start.line+1,columns:e.end.column-e.start.column}}function v(e,t){const n=Array.isArray(e)?e:w(e),r=n.findIndex((e=>e>=t))+1;return{line:r,column:t-(n[r-2]+1||0)}}function w(e){const t=/\r\n|\n/g,n=[];let r;for(;null!=(r=t.exec(e));)n.push(r.index+r[0].length-1);return n.push(e.length+1),n}function S(e){return{line:e.line,column:e.column}}function T(e){return{start:S(e.start),end:S(e.end)}}class $ extends Error{constructor(e,t,n){let r=`Error parsing TOML (${t.line}, ${t.column+1}):\n`;if(e){const n=function(e,t){const n=w(e),r=n[t.line-2]||0,l=n[t.line-1]||e.length;return e.substr(r,l-r)}(e,t),l=`${function(e,t=" "){return t.repeat(e)}(t.column)}^`;n&&(r+=`${n}\n${l}\n`)}r+=n,super(r),this.line=t.line,this.column=t.column}}!function(e){e.Bracket="Bracket",e.Curly="Curly",e.Equal="Equal",e.Comma="Comma",e.Dot="Dot",e.Comment="Comment",e.Literal="Literal"}(n||(n={}));const b=/\s/,k=/(\r\n|\n)/,I='"',E="'",x=/[\w,\d,\",\',\+,\-,\_]/;function*A(e){const t=new h(e[Symbol.iterator]());t.next();const r=function(e){const t=w(e);return(e,n)=>({start:v(t,e),end:v(t,n)})}(e);for(;!t.done;){if(b.test(t.value));else if("["===t.value||"]"===t.value)yield C(t,r,n.Bracket);else if("{"===t.value||"}"===t.value)yield C(t,r,n.Curly);else if("="===t.value)yield C(t,r,n.Equal);else if(","===t.value)yield C(t,r,n.Comma);else if("."===t.value)yield C(t,r,n.Dot);else if("#"===t.value)yield O(t,r);else{const n=F(e,t.index,E)||F(e,t.index,I);n?yield D(t,r,n,e):yield _(t,r,e)}t.next()}}function C(e,t,n){return{type:n,raw:e.value,loc:t(e.index,e.index+1)}}function O(e,t){const r=e.index;let l=e.value;for(;!e.peek().done&&!k.test(e.peek().value);)e.next(),l+=e.value;return{type:n.Comment,raw:l,loc:t(r,e.index+1)}}function D(e,t,r,l){const o=e.index;let i=r+r+r,a=i;for(e.next(),e.next(),e.next();!e.done&&(!F(l,e.index,r)||L(l,e.index,r));)a+=e.value,e.next();if(e.done)throw new $(l,v(l,e.index),`Expected close of multiline string with ${i}, reached end of file`);return a+=i,e.next(),e.next(),{type:n.Literal,raw:a,loc:t(o,e.index+1)}}function _(e,t,r){if(!x.test(e.value))throw new $(r,v(r,e.index),`Unsupported character "${e.value}". Expected ALPHANUMERIC, ", ', +, -, or _`);const l=e.index;let o=e.value,i=e.value===I,a=e.value===E;const s=e=>{if(e.peek().done)return!0;const t=e.peek().value;return!(i||a)&&(b.test(t)||","===t||"."===t||"]"===t||"}"===t||"="===t||"#"===t)};for(;!e.done&&!s(e)&&(e.next(),e.value===I&&(i=!i),e.value!==E||i||(a=!a),o+=e.value,!e.peek().done);){let t=e.peek().value;i&&"\\"===e.value&&(t===I?(o+=I,e.next()):"\\"===t&&(o+="\\",e.next()))}if(i||a)throw new $(r,v(r,l),`Expected close of string with ${i?I:E}`);return{type:n.Literal,raw:o,loc:t(l,e.index+1)}}function F(e,t,n){if(!n)return!1;if(!(e[t]===n&&e[t+1]===n&&e[t+2]===n))return!1;const r=e.slice(0,t).match(/\\+$/);if(!r)return n;return!(r[0].length%2!=0)&&n}function L(e,t,n){return!!n&&(e[t]===n&&e[t+1]===n&&e[t+2]===n&&e[t+3]===n)}function U(e){return e[e.length-1]}function M(){return Object.create(null)}function K(e){return"number"==typeof e&&e%1==0&&isFinite(e)&&!Object.is(e,-0)}function j(e){return"[object Date]"===Object.prototype.toString.call(e)}function N(e){return e&&"object"==typeof e&&!j(e)&&!Array.isArray(e)}function B(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Z(e,...t){return t.reduce(((e,t)=>t(e)),e)}function W(e){if(N(e)){return`{${Object.keys(e).sort().map((t=>`${JSON.stringify(t)}:${W(e[t])}`)).join(",")}}`}return Array.isArray(e)?`[${e.map(W).join(",")}]`:JSON.stringify(e)}function P(e,t){const n=e.length,r=t.length;e.length=n+r;for(let l=0;l<r;l++)e[n+l]=t[l]}function z(e){return e.startsWith('"""')||e.startsWith("'''")}const V=/\r\n/g,H=/\n/g,R=/^(\r\n|\n)/,q=/(?<!\\)(?:\\\\)*(\\\s*[\n\r\n]\s*)/g;function Y(e){return e.startsWith("'''")?Z(Q(e,3),X):e.startsWith(E)?Q(e,1):e.startsWith('"""')?Z(Q(e,3),X,te,ee,J,G):e.startsWith(I)?Z(Q(e,1),G):e}function J(e){let t="",n=0;for(let r=0;r<e.length;r++){const l=e[r];t+='"'===l&&n%2==0?'\\"':l,"\\"===l?n++:n=0}return t}function G(e){const t=e.replace(/\\U[a-fA-F0-9]{8}/g,(e=>{const t=parseInt(e.replace("\\U",""),16),n=String.fromCodePoint(t);return Q(JSON.stringify(n),1)})),n=t.replace(/\t/g,"\\t");return JSON.parse(`"${n}"`)}function Q(e,t){return e.slice(t,e.length-t)}function X(e){return e.replace(R,"")}function ee(e){return e.replace(V,"\\r\\n").replace(H,"\\n")}function te(e){return e.replace(q,((e,t)=>e.replace(t,"")))}class ne{static createDateWithOriginalFormat(e,t){if(ne.IS_DATE_ONLY.test(t)){if(0!==e.getUTCHours()||0!==e.getUTCMinutes()||0!==e.getUTCSeconds()||0!==e.getUTCMilliseconds()){if(e instanceof ie)return e;let t=e.toISOString().replace("Z","");return t=t.replace(/\.000$/,""),new oe(t,!1)}const t=e.toISOString().split("T")[0];return new re(t)}if(ne.IS_TIME_ONLY.test(t)){if(e instanceof le)return e;{const n=t.match(/\.(\d+)\s*$/),r=e.toISOString();if(r&&r.includes("T")){let l=r.split("T")[1].split("Z")[0];if(n){const t=n[1].length,[r,o,i]=l.split(":"),[a]=i.split(".");l=`${r}:${o}:${a}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new le(l,t)}{const r=String(e.getUTCHours()).padStart(2,"0"),l=String(e.getUTCMinutes()).padStart(2,"0"),o=String(e.getUTCSeconds()).padStart(2,"0"),i=e.getUTCMilliseconds();let a;if(n){const e=n[1].length;a=`${r}:${l}:${o}.${String(i).padStart(3,"0").slice(0,e)}`}else if(i>0){a=`${r}:${l}:${o}.${String(i).padStart(3,"0").replace(/0+$/,"")}`}else a=`${r}:${l}:${o}`;return new le(a,t)}}}if(ne.IS_LOCAL_DATETIME_T.test(t)){const n=t.match(/\.(\d+)\s*$/);let r=e.toISOString().replace("Z","");if(n){const t=n[1].length,[l,o]=r.split("T"),[i,a,s]=o.split(":"),[c]=s.split(".");r=`${l}T${i}:${a}:${c}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new oe(r,!1,t)}if(ne.IS_LOCAL_DATETIME_SPACE.test(t)){const n=t.match(/\.(\d+)\s*$/);let r=e.toISOString().replace("Z","").replace("T"," ");if(n){const t=n[1].length,[l,o]=r.split(" "),[i,a,s]=o.split(":"),[c]=s.split(".");r=`${l} ${i}:${a}:${c}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new oe(r,!0,t)}if(ne.IS_OFFSET_DATETIME_T.test(t)||ne.IS_OFFSET_DATETIME_SPACE.test(t)){const n=t.match(/([+-]\d{2}:\d{2}|[Zz])$/),r=n?"z"===n[1]?"Z":n[1]:"Z",l=ne.IS_OFFSET_DATETIME_SPACE.test(t),o=t.match(/\.(\d+)(?:[Zz]|[+-]\d{2}:\d{2})\s*$/),i=e.getTime();let a=0;if("Z"!==r){const e="+"===r[0]?1:-1,[t,n]=r.slice(1).split(":");a=e*(60*parseInt(t)+parseInt(n))}const s=new Date(i+6e4*a),c=s.getUTCFullYear(),u=String(s.getUTCMonth()+1).padStart(2,"0"),f=String(s.getUTCDate()).padStart(2,"0"),m=String(s.getUTCHours()).padStart(2,"0"),d=String(s.getUTCMinutes()).padStart(2,"0"),p=String(s.getUTCSeconds()).padStart(2,"0"),h=s.getUTCMilliseconds(),y=l?" ":"T";let g=`${m}:${d}:${p}`;if(o){const e=o[1].length;g+=`.${String(h).padStart(3,"0").slice(0,e)}`}else if(h>0){g+=`.${String(h).padStart(3,"0").replace(/0+$/,"")}`}return new ie(`${c}-${u}-${f}${y}${g}${r}`,l)}return e}}ne.IS_DATE_ONLY=/^\d{4}-\d{2}-\d{2}$/,ne.IS_TIME_ONLY=/^\d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ne.IS_LOCAL_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ne.IS_LOCAL_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ne.IS_OFFSET_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,ne.IS_OFFSET_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,ne.IS_FULL_DATE=/(\d{4})-(\d{2})-(\d{2})/,ne.IS_FULL_TIME=/(\d{2}):(\d{2}):(\d{2})/;class re extends Date{constructor(e){super(e)}toISOString(){return`${this.getUTCFullYear()}-${String(this.getUTCMonth()+1).padStart(2,"0")}-${String(this.getUTCDate()).padStart(2,"0")}`}}class le extends Date{constructor(e,t){super(`1970-01-01T${e}Z`),this.originalFormat=t}toISOString(){const e=String(this.getUTCHours()).padStart(2,"0"),t=String(this.getUTCMinutes()).padStart(2,"0"),n=String(this.getUTCSeconds()).padStart(2,"0"),r=this.getUTCMilliseconds();if(this.originalFormat&&this.originalFormat.includes(".")){const l=this.originalFormat.match(/\.(\d+)\s*$/),o=l?l[1].length:3;return`${e}:${t}:${n}.${String(r).padStart(3,"0").slice(0,o)}`}if(r>0){return`${e}:${t}:${n}.${String(r).padStart(3,"0").replace(/0+$/,"")}`}return`${e}:${t}:${n}`}}class oe extends Date{constructor(e,t=!1,n){super(e.replace(" ","T")+"Z"),this.useSpaceSeparator=!1,this.useSpaceSeparator=t,this.originalFormat=n||e}toISOString(){const e=this.getUTCFullYear(),t=String(this.getUTCMonth()+1).padStart(2,"0"),n=String(this.getUTCDate()).padStart(2,"0"),r=String(this.getUTCHours()).padStart(2,"0"),l=String(this.getUTCMinutes()).padStart(2,"0"),o=String(this.getUTCSeconds()).padStart(2,"0"),i=this.getUTCMilliseconds(),a=`${e}-${t}-${n}`,s=this.useSpaceSeparator?" ":"T";if(this.originalFormat&&this.originalFormat.includes(".")){const e=this.originalFormat.match(/\.(\d+)\s*$/),t=e?e[1].length:3;return`${a}${s}${r}:${l}:${o}.${String(i).padStart(3,"0").slice(0,t)}`}if(i>0){return`${a}${s}${r}:${l}:${o}.${String(i).padStart(3,"0").replace(/0+$/,"")}`}return`${a}${s}${r}:${l}:${o}`}}class ie extends Date{constructor(e,t=!1){super(e.replace(" ","T")),this.useSpaceSeparator=!1,this.useSpaceSeparator=t,this.originalFormat=e;const n=e.match(/([+-]\d{2}:\d{2}|[Zz])$/);n&&(this.originalOffset="z"===n[1]?"Z":n[1])}toISOString(){if(this.originalOffset){const e=this.getTime();let t=0;if("Z"!==this.originalOffset){const e="+"===this.originalOffset[0]?1:-1,[n,r]=this.originalOffset.slice(1).split(":");t=e*(60*parseInt(n)+parseInt(r))}const n=new Date(e+6e4*t),r=n.getUTCFullYear(),l=String(n.getUTCMonth()+1).padStart(2,"0"),o=String(n.getUTCDate()).padStart(2,"0"),i=String(n.getUTCHours()).padStart(2,"0"),a=String(n.getUTCMinutes()).padStart(2,"0"),s=String(n.getUTCSeconds()).padStart(2,"0"),c=n.getUTCMilliseconds(),u=`${r}-${l}-${o}`,f=this.useSpaceSeparator?" ":"T";if(this.originalFormat&&this.originalFormat.includes(".")){const e=this.originalFormat.match(/\.(\d+)(?:[Zz]|[+-]\d{2}:\d{2})\s*$/),t=e?e[1].length:3;return`${u}${f}${i}:${a}:${s}.${String(c).padStart(3,"0").slice(0,t)}${this.originalOffset}`}if(c>0){return`${u}${f}${i}:${a}:${s}.${String(c).padStart(3,"0").replace(/0+$/,"")}${this.originalOffset}`}return`${u}${f}${i}:${a}:${s}${this.originalOffset}`}const e=super.toISOString();return this.useSpaceSeparator?e.replace("T"," "):e}}const ae=ne,se="true",ce=/e/i,ue=/\_/g,fe=/inf/,me=/nan/,de=/^0x/,pe=/^0o/,he=/^0b/;function*ye(e){const t=A(e),n=new h(t);for(;!n.next().done;)yield*ge(n,e)}function*ge(e,r){if(e.value.type===n.Comment)yield we(e);else if(e.value.type===n.Bracket)yield function(e,r){const l=e.peek().done||e.peek().value.type!==n.Bracket?t.Table:t.TableArray,o=l===t.Table;if(o&&"["!==e.value.raw)throw new $(r,e.value.loc.start,`Expected table opening "[", found ${e.value.raw}`);if(!o&&("["!==e.value.raw||"["!==e.peek().value.raw))throw new $(r,e.value.loc.start,`Expected array of tables opening "[[", found ${e.value.raw+e.peek().value.raw}`);const i=o?{type:t.TableKey,loc:e.value.loc}:{type:t.TableArrayKey,loc:e.value.loc};e.next(),l===t.TableArray&&e.next();if(e.done)throw new $(r,i.loc.start,"Expected table key, reached end of file");i.item={type:t.Key,loc:T(e.value.loc),raw:e.value.raw,value:[Y(e.value.raw)]};for(;!e.peek().done&&e.peek().value.type===n.Dot;){e.next();const t=e.value;e.next();const n=" ".repeat(t.loc.start.column-i.item.loc.end.column),r=" ".repeat(e.value.loc.start.column-t.loc.end.column);i.item.loc.end=e.value.loc.end,i.item.raw+=`${n}.${r}${e.value.raw}`,i.item.value.push(Y(e.value.raw))}if(e.next(),o&&(e.done||"]"!==e.value.raw))throw new $(r,e.done?i.item.loc.end:e.value.loc.start,`Expected table closing "]", found ${e.done?"end of file":e.value.raw}`);if(!o&&(e.done||e.peek().done||"]"!==e.value.raw||"]"!==e.peek().value.raw))throw new $(r,e.done||e.peek().done?i.item.loc.end:e.value.loc.start,`Expected array of tables closing "]]", found ${e.done||e.peek().done?"end of file":e.value.raw+e.peek().value.raw}`);o||e.next();i.loc.end=e.value.loc.end;let a=[];for(;!e.peek().done&&e.peek().value.type!==n.Bracket;)e.next(),P(a,[...ge(e,r)]);return{type:o?t.Table:t.TableArray,loc:{start:S(i.loc.start),end:a.length?S(a[a.length-1].loc.end):S(i.loc.end)},key:i,items:a}}(e,r);else{if(e.value.type!==n.Literal)throw new $(r,e.value.loc.start,`Unexpected token "${e.value.type}". Expected Comment, Bracket, or String`);yield*function(e,r){const l={type:t.Key,loc:T(e.value.loc),raw:e.value.raw,value:[Y(e.value.raw)]};for(;!e.peek().done&&e.peek().value.type===n.Dot;)e.next(),e.next(),l.loc.end=e.value.loc.end,l.raw+=`.${e.value.raw}`,l.value.push(Y(e.value.raw));if(e.next(),e.done||e.value.type!==n.Equal)throw new $(r,e.done?l.loc.end:e.value.loc.start,`Expected "=" for key-value, found ${e.done?"end of file":e.value.raw}`);const o=e.value.loc.start.column;if(e.next(),e.done)throw new $(r,l.loc.start,"Expected value for key-value, reached end of file");const[i,...a]=ve(e,r);return[{type:t.KeyValue,key:l,value:i,loc:{start:S(l.loc.start),end:S(i.loc.end)},equals:o},...a]}(e,r)}}function*ve(e,r){if(e.value.type===n.Literal)e.value.raw[0]===I||e.value.raw[0]===E?yield function(e){return{type:t.String,loc:e.value.loc,raw:e.value.raw,value:Y(e.value.raw)}}(e):e.value.raw===se||"false"===e.value.raw?yield function(e){return{type:t.Boolean,loc:e.value.loc,value:e.value.raw===se}}(e):ae.IS_FULL_DATE.test(e.value.raw)||ae.IS_FULL_TIME.test(e.value.raw)?yield function(e,r){let l,o=e.value.loc,i=e.value.raw;if(!e.peek().done&&e.peek().value.type===n.Literal&&ae.IS_FULL_DATE.test(i)&&ae.IS_FULL_TIME.test(e.peek().value.raw)){const t=o.start;e.next(),o={start:t,end:e.value.loc.end},i+=` ${e.value.raw}`}if(!e.peek().done&&e.peek().value.type===n.Dot){const t=o.start;if(e.next(),e.peek().done||e.peek().value.type!==n.Literal)throw new $(r,e.value.loc.end,"Expected fractional value for DateTime");e.next(),o={start:t,end:e.value.loc.end},i+=`.${e.value.raw}`}if(ae.IS_FULL_DATE.test(i))l=ae.IS_DATE_ONLY.test(i)?new re(i):ae.IS_LOCAL_DATETIME_T.test(i)?new oe(i,!1):ae.IS_LOCAL_DATETIME_SPACE.test(i)?new oe(i,!0):ae.IS_OFFSET_DATETIME_T.test(i)?new ie(i,!1):ae.IS_OFFSET_DATETIME_SPACE.test(i)?new ie(i,!0):new Date(i.replace(" ","T"));else if(ae.IS_TIME_ONLY.test(i))l=new le(i,i);else{const[e]=(new Date).toISOString().split("T");l=new Date(`${e}T${i}`)}return{type:t.DateTime,loc:o,raw:i,value:l}}(e,r):!e.peek().done&&e.peek().value.type===n.Dot||fe.test(e.value.raw)||me.test(e.value.raw)||ce.test(e.value.raw)&&!de.test(e.value.raw)?yield function(e,r){let l,o=e.value.loc,i=e.value.raw;if(fe.test(i))l="-inf"===i?-1/0:1/0;else if(me.test(i))l=NaN;else if(e.peek().done||e.peek().value.type!==n.Dot)l=Number(i.replace(ue,""));else{const t=o.start;if(e.next(),e.peek().done||e.peek().value.type!==n.Literal)throw new $(r,e.value.loc.end,"Expected fraction value for Float");e.next(),i+=`.${e.value.raw}`,o={start:t,end:e.value.loc.end},l=Number(i.replace(ue,""))}return{type:t.Float,loc:o,raw:i,value:l}}(e,r):yield function(e){if("-0"===e.value.raw||"+0"===e.value.raw)return{type:t.Integer,loc:e.value.loc,raw:e.value.raw,value:0};let n=10;de.test(e.value.raw)?n=16:pe.test(e.value.raw)?n=8:he.test(e.value.raw)&&(n=2);const r=parseInt(e.value.raw.replace(ue,"").replace(pe,"").replace(he,""),n);return{type:t.Integer,loc:e.value.loc,raw:e.value.raw,value:r}}(e);else if(e.value.type===n.Curly)yield function(e,r){if("{"!==e.value.raw)throw new $(r,e.value.loc.start,`Expected "{" for inline table, found ${e.value.raw}`);const l={type:t.InlineTable,loc:T(e.value.loc),items:[]};e.next();for(;!e.done&&(e.value.type!==n.Curly||"}"!==e.value.raw);){if(e.value.type===n.Comma){const t=l.items[l.items.length-1];if(!t)throw new $(r,e.value.loc.start,'Found "," without previous value in inline table');t.comma=!0,t.loc.end=e.value.loc.start,e.next();continue}const[o]=ge(e,r);if(o.type!==t.KeyValue)throw new $(r,e.value.loc.start,`Only key-values are supported in inline tables, found ${o.type}`);const i={type:t.InlineItem,loc:T(o.loc),item:o,comma:!1};l.items.push(i),e.next()}if(e.done||e.value.type!==n.Curly||"}"!==e.value.raw)throw new $(r,e.done?l.loc.start:e.value.loc.start,`Expected "}", found ${e.done?"end of file":e.value.raw}`);return l.loc.end=e.value.loc.end,l}(e,r);else{if(e.value.type!==n.Bracket)throw new $(r,e.value.loc.start,`Unrecognized token type "${e.value.type}". Expected String, Curly, or Bracket`);{const[l,o]=function(e,r){if("["!==e.value.raw)throw new $(r,e.value.loc.start,`Expected "[" for inline array, found ${e.value.raw}`);const l={type:t.InlineArray,loc:T(e.value.loc),items:[]};let o=[];e.next();for(;!e.done&&(e.value.type!==n.Bracket||"]"!==e.value.raw);){if(e.value.type===n.Comma){const t=l.items[l.items.length-1];if(!t)throw new $(r,e.value.loc.start,'Found "," without previous value for inline array');t.comma=!0,t.loc.end=e.value.loc.start}else if(e.value.type===n.Comment)o.push(we(e));else{const[n,...i]=ve(e,r),a={type:t.InlineItem,loc:T(n.loc),item:n,comma:!1};l.items.push(a),P(o,i)}e.next()}if(e.done||e.value.type!==n.Bracket||"]"!==e.value.raw)throw new $(r,e.done?l.loc.start:e.value.loc.start,`Expected "]", found ${e.done?"end of file":e.value.raw}`);return l.loc.end=e.value.loc.end,[l,o]}(e,r);yield l,yield*o}}}function we(e){return{type:t.Comment,loc:e.value.loc,raw:e.value.raw}}function Se(e,n){var r;function l(e,t){for(const n of e)o(n,t)}function o(e,r){const i=n[e.type];switch(i&&"function"==typeof i&&i(e,r),i&&i.enter&&i.enter(e,r),e.type){case t.Document:l(e.items,e);break;case t.Table:o(e.key,e),l(e.items,e);break;case t.TableKey:o(e.item,e);break;case t.TableArray:o(e.key,e),l(e.items,e);break;case t.TableArrayKey:o(e.item,e);break;case t.KeyValue:o(e.key,e),o(e.value,e);break;case t.InlineArray:l(e.items,e);break;case t.InlineItem:o(e.item,e);break;case t.InlineTable:l(e.items,e);break;case t.Key:case t.String:case t.Integer:case t.Float:case t.Boolean:case t.DateTime:case t.Comment:break;default:throw new Error(`Unrecognized node type "${e.type}"`)}i&&i.exit&&i.exit(e,r)}null!=(r=e)&&"function"==typeof r[Symbol.iterator]?l(e,null):o(e,null)}const Te=new WeakMap,$e=e=>(Te.has(e)||Te.set(e,new WeakMap),Te.get(e)),be=new WeakMap,ke=e=>(be.has(e)||be.set(e,new WeakMap),be.get(e));function Ie(e,t,n,r){if(d(t)){const e=t.items.indexOf(n);if(e<0)throw new Error("Could not find existing item in parent node for replace");t.items.splice(e,1,r)}else if(i(t)&&f(t.value)&&!f(n)){const e=t.value.items.indexOf(n);if(e<0)throw new Error("Could not find existing item in parent node for replace");t.value.items.splice(e,1,r)}else if(p(t))t.item=r;else{if(!i(t))throw new Error(`Unsupported parent type "${t.type}" for replace`);t.key===n?t.key=r:t.value=r}_e(r,{lines:n.loc.start.line-r.loc.start.line,columns:n.loc.start.column-r.loc.start.column});const l=g(n.loc),o=g(r.loc);Fe({lines:o.lines-l.lines,columns:o.columns-l.columns},ke(e),r,n)}function Ee(e,t,n,a,s){if(!d(t))throw new Error(`Unsupported parent type "${t.type}" for insert`);let p,h;a=null!=a&&"number"==typeof a?a:t.items.length,c(t)||f(t)?({shift:p,offset:h}=function(e,t,n){if(!u(t))throw new Error(`Incompatible child type "${t.type}"`);const r=null!=n?e.items[n-1]:U(e.items),l=null==n||n===e.items.length;e.items.splice(n,0,t);const o=!!r,i=!l;o&&(r.comma=!0);i&&(t.comma=!0);const a=c(e)&&function(e){if(!e.items.length)return!1;return g(e.loc).lines>e.items.length}(e),s=l&&!0===t.comma;return xe(e,t,n,{useNewLine:a,hasCommaHandling:!0,isLastElement:l,hasSeparatingCommaBefore:o,hasSeparatingCommaAfter:i,hasTrailingComma:s})}(t,n,a)):s&&r(t)?({shift:p,offset:h}=function(e,t,n){const r=xe(e,t,n,{useNewLine:!1,hasCommaHandling:!1});return e.items.splice(n,0,t),r}(t,n,a)):({shift:p,offset:h}=function(e,t,n){if(a=t,!(i(a)||l(a)||o(a)||m(a)))throw new Error(`Incompatible child type "${t.type}"`);var a;const s=e.items[n-1],c=r(e)&&!e.items.length;e.items.splice(n,0,t);const u=s?{line:s.loc.end.line,column:m(s)?e.loc.start.column:s.loc.start.column}:S(e.loc.start),f=l(t)||o(t);let d=0;c||(d=f?2:1);u.line+=d;const p={lines:u.line-t.loc.start.line,columns:u.column-t.loc.start.column},h=g(t.loc),y={lines:h.lines+(d-1),columns:h.columns};return{shift:p,offset:y}}(t,n,a)),_e(n,p);const y=t.items[a-1],v=y&&ke(e).get(y);v&&(h.lines+=v.lines,h.columns+=v.columns,ke(e).delete(y));ke(e).set(n,h)}function xe(e,t,n,r={}){const{useNewLine:l=!1,skipCommaSpace:o=2,skipBracketSpace:i=1,hasCommaHandling:a=!1,isLastElement:s=!1,hasSeparatingCommaBefore:c=!1,hasSeparatingCommaAfter:u=!1,hasTrailingComma:f=!1}=r,d=n>0?e.items[n-1]:void 0,p=d?{line:d.loc.end.line,column:l?m(d)?e.loc.start.column:d.loc.start.column:d.loc.end.column}:S(e.loc.start);let h=0;if(l)h=1;else{const e=c||!a&&!!d;e&&a?p.column+=o:(e||a&&!d)&&(p.column+=i)}p.line+=h;const y={lines:p.line-t.loc.start.line,columns:p.column-t.loc.start.column},v=g(t.loc);if(!a){return{shift:y,offset:{lines:v.lines+(h-1),columns:v.columns}}}let w=0;c&&f&&!u&&s&&(w=-1);return{shift:y,offset:{lines:v.lines+(h-1),columns:v.columns+(c||u?o:0)+(f?1+w:0)}}}function Ae(e,t,n){if(!d(t))throw new Error(`Unsupported parent type "${t.type}" for remove`);let r=t.items.indexOf(n);if(r<0){if(r=t.items.findIndex((e=>p(e)&&e.item===n)),r<0)throw new Error("Could not find node in parent for removal");n=t.items[r]}const l=t.items[r-1];let o=t.items[r+1];t.items.splice(r,1);let i=g(n.loc);o&&m(o)&&o.loc.start.line===n.loc.end.line&&(i=g({start:n.loc.start,end:o.loc.end}),o=t.items[r+1],t.items.splice(r,1));const a=l&&u(l)||o&&u(o),s=l&&l.loc.end.line===n.loc.start.line,c=o&&o.loc.start.line===n.loc.end.line,f=a&&(s||c),h={lines:-(i.lines-(f?1:0)),columns:-i.columns};if(void 0===l&&void 0===o&&(h.lines=0,h.columns=0),a&&s&&(h.columns-=2),a&&!l&&o&&(h.columns-=2),a&&l&&!o){const e=n.comma;l.comma=!!e}const y=l||t,v=l?ke(e):$e(e),w=ke(e),S=v.get(y);S&&(h.lines+=S.lines,h.columns+=S.columns);const T=w.get(n);T&&(h.lines+=T.lines,h.columns+=T.columns),v.set(y,h)}function Ce(e,t,n=!0){if(!n)return;if(!t.items.length)return;Fe({lines:0,columns:1},$e(e),t);const r=U(t.items);Fe({lines:0,columns:1},ke(e),r)}function Oe(e,t,n=!1){if(!n)return;if(!t.items.length)return;const r=U(t.items);r.comma=!0,Fe({lines:0,columns:1},ke(e),r)}function De(e){const n=$e(e),r=ke(e),l={lines:0,columns:{}};function o(e){const t=l.lines;e.loc.start.line+=t;const r=l.columns[e.loc.start.line]||0;e.loc.start.column+=r;const o=n.get(e);o&&(l.lines+=o.lines,l.columns[e.loc.start.line]=(l.columns[e.loc.start.line]||0)+o.columns)}function i(e){const t=l.lines;e.loc.end.line+=t;const n=l.columns[e.loc.end.line]||0;e.loc.end.column+=n;const o=r.get(e);o&&(l.lines+=o.lines,l.columns[e.loc.end.line]=(l.columns[e.loc.end.line]||0)+o.columns)}const a={enter:o,exit:i};Se(e,{[t.Document]:a,[t.Table]:a,[t.TableArray]:a,[t.InlineTable]:a,[t.InlineArray]:a,[t.InlineItem]:a,[t.TableKey]:a,[t.TableArrayKey]:a,[t.KeyValue]:{enter(e){const t=e.loc.start.line+l.lines,n=r.get(e.key);e.equals+=(l.columns[t]||0)+(n?n.columns:0),o(e)},exit:i},[t.Key]:a,[t.String]:a,[t.Integer]:a,[t.Float]:a,[t.Boolean]:a,[t.DateTime]:a,[t.Comment]:a}),Te.delete(e),be.delete(e)}function _e(e,n,r={}){const{first_line_only:l=!1}=r,o=e.loc.start.line,{lines:i,columns:a}=n,s=e=>{l&&e.loc.start.line!==o||(e.loc.start.column+=a,e.loc.end.column+=a),e.loc.start.line+=i,e.loc.end.line+=i};return Se(e,{[t.Table]:s,[t.TableKey]:s,[t.TableArray]:s,[t.TableArrayKey]:s,[t.KeyValue](e){s(e),e.equals+=a},[t.Key]:s,[t.String]:s,[t.Integer]:s,[t.Float]:s,[t.Boolean]:s,[t.DateTime]:s,[t.InlineArray]:s,[t.InlineItem]:s,[t.InlineTable]:s,[t.Comment]:s}),e}function Fe(e,t,n,r){const l=t.get(r||n);l&&(e.lines+=l.lines,e.columns+=l.columns),t.set(n,e)}function Le(){return{type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:[]}}function Ue(e){const n=function(e){const n=Ne(e);return{type:t.TableKey,loc:{start:{line:1,column:0},end:{line:1,column:n.length+2}},item:{type:t.Key,loc:{start:{line:1,column:1},end:{line:1,column:n.length+1}},value:e,raw:n}}}(e);return{type:t.Table,loc:T(n.loc),key:n,items:[]}}function Me(e){const n=function(e){const n=Ne(e);return{type:t.TableArrayKey,loc:{start:{line:1,column:0},end:{line:1,column:n.length+4}},item:{type:t.Key,loc:{start:{line:1,column:2},end:{line:1,column:n.length+2}},value:e,raw:n}}}(e);return{type:t.TableArray,loc:T(n.loc),key:n,items:[]}}function Ke(e,n){const r=function(e){const n=Ne(e);return{type:t.Key,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e),{column:l}=r.loc.end,o=l+1;return _e(n,{lines:0,columns:l+3-n.loc.start.column},{first_line_only:!0}),{type:t.KeyValue,loc:{start:S(r.loc.start),end:S(n.loc.end)},key:r,equals:o,value:n}}const je=/^[\w-]+$/;function Ne(e){return e.map((e=>je.test(e)?e:JSON.stringify(e))).join(".")}function Be(e,n){let r,l;if(n&&z(n)){let t=n.startsWith("'''");t&&e.includes("'''")&&(t=!1);const l=t?"'''":'"""',o=n.includes("\r\n")?"\r\n":"\n",i=n.startsWith(`${l}${o}`)||(n.startsWith("'''\n")||n.startsWith("'''\r\n"))&&!t;let a;a=t?e:e.replace(/\\/g,"\\\\").replace(/\x08/g,"\\b").replace(/\f/g,"\\f").replace(/\t/g,"\\t").replace(/[\x00-\x07\x0B\x0E-\x1F\x7F]/g,(e=>"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0").toUpperCase())).replace(/"""/g,'""\\"'),r=i?`${l}${o}${a}${l}`:`${l}${a}${l}`}else r=JSON.stringify(e);if(r.includes("\r\n")||r.includes("\n")&&!r.includes("\r\n")){const e=r.includes("\r\n")?"\r\n":"\n",t=(r.match(new RegExp("\r\n"===e?"\\r\\n":"\\n","g"))||[]).length;l=t>0?{line:1+t,column:3}:{line:1,column:r.length}}else l={line:1,column:r.length};return{type:t.String,loc:{start:{line:1,column:0},end:l},raw:r,value:e}}function Ze(e){return{type:t.InlineItem,loc:T(e.loc),item:e,comma:!1}}const We=!1,Pe=!0,ze=!1;function Ve(e,t){if(!e||"object"!=typeof e)return null;if(("InlineArray"===e.type||"InlineTable"===e.type)&&e.loc){const n=function(e,t){var n;if(!e||!e.start||!e.end)return null;const r=t.split(/\r?\n/),l=e.start.line-1,o=e.end.line-1,i=e.start.column,a=e.end.column;let s="";if(l===o)s=(null===(n=r[l])||void 0===n?void 0:n.substring(i,a+1))||"";else{r[l]&&(s+=r[l].substring(i));for(let e=l+1;e<o;e++)s+="\n"+(r[e]||"");r[o]&&(s+="\n"+r[o].substring(0,a+1))}const c=s.match(/^\[(\s*)/),u=s.match(/^\{(\s*)/);if(c)return c[1].length>0;if(u)return u[1].length>0;return null}(e.loc,t);if(null!==n)return n}if(e.items&&Array.isArray(e.items))for(const n of e.items){const e=Ve(n,t);if(null!==e)return e;if(n.item){const e=Ve(n.item,t);if(null!==e)return e}}for(const n of["value","key","item"])if(e[n]){const r=Ve(e[n],t);if(null!==r)return r}return null}function He(e){if(!e||"object"!=typeof e)return null;if("InlineArray"===e.type&&e.items&&Array.isArray(e.items))return Re(e.items);if("InlineTable"===e.type&&e.items&&Array.isArray(e.items))return Re(e.items);if("KeyValue"===e.type&&e.value)return He(e.value);if(e.items&&Array.isArray(e.items))for(const t of e.items){const e=He(t);if(null!==e)return e}return null}function Re(e){if(0===e.length)return null;const t=e[e.length-1];return!(!t||"object"!=typeof t||!("comma"in t))&&!0===t.comma}function qe(e){if(!c(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function Ye(e){if(!f(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function Je(e){const t=e.indexOf("\n");return t>0&&"\r"===e.substring(t-1,t)?"\r\n":"\n"}function Ge(e,t){var n,r,l,o,i;if(e){if(e instanceof Qe)return e;{const a=function(e){if(!e||"object"!=typeof e)return{};const t=new Set(["newLine","trailingNewline","trailingComma","bracketSpacing","inlineTableStart","truncateZeroTimeInDates"]),n={},r=[],l=[];for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o))if(t.has(o)){const t=e[o];switch(o){case"newLine":"string"==typeof t?n.newLine=t:l.push(`${o} (expected string, got ${typeof t})`);break;case"trailingNewline":"boolean"==typeof t||"number"==typeof t?n.trailingNewline=t:l.push(`${o} (expected boolean or number, got ${typeof t})`);break;case"trailingComma":case"bracketSpacing":case"truncateZeroTimeInDates":"boolean"==typeof t?n[o]=t:l.push(`${o} (expected boolean, got ${typeof t})`);break;case"inlineTableStart":"number"==typeof t&&Number.isInteger(t)&&t>=0||null==t?n.inlineTableStart=t:l.push(`${o} (expected non-negative integer or undefined, got ${typeof t})`)}}else r.push(o);if(r.length>0&&console.warn(`toml-patch: Ignoring unsupported format properties: ${r.join(", ")}. Supported properties are: ${Array.from(t).join(", ")}`),l.length>0)throw new TypeError(`Invalid types for format properties: ${l.join(", ")}`);return n}(e);return new Qe(null!==(n=a.newLine)&&void 0!==n?n:t.newLine,null!==(r=a.trailingNewline)&&void 0!==r?r:t.trailingNewline,null!==(l=a.trailingComma)&&void 0!==l?l:t.trailingComma,null!==(o=a.bracketSpacing)&&void 0!==o?o:t.bracketSpacing,void 0!==a.inlineTableStart?a.inlineTableStart:t.inlineTableStart,null!==(i=a.truncateZeroTimeInDates)&&void 0!==i?i:t.truncateZeroTimeInDates)}}return t}class Qe{constructor(e,t,n,r,l,o){this.newLine=null!=e?e:"\n",this.trailingNewline=null!=t?t:1,this.trailingComma=null!=n?n:We,this.bracketSpacing=null!=r?r:Pe,this.inlineTableStart=null!=l?l:1,this.truncateZeroTimeInDates=null!=o?o:ze}static default(){return new Qe("\n",1,We,Pe,1,ze)}static autoDetectFormat(e){const t=Qe.default();t.newLine=Je(e),t.trailingNewline=function(e,t){let n=0,r=e.length;for(;r>=t.length&&e.substring(r-t.length,r)===t;)n++,r-=t.length;return n}(e,t.newLine);try{const n=ye(e),r=Array.from(n);t.trailingComma=function(e){const t=Array.from(e);for(const e of t){const t=He(e);if(null!==t)return t}return We}(r),t.bracketSpacing=function(e,t){const n=Array.from(t);for(const t of n){const n=Ve(t,e);if(null!==n)return n}return Pe}(e,r)}catch(e){t.trailingComma=We,t.bracketSpacing=Pe}return t.inlineTableStart=1,t.truncateZeroTimeInDates=ze,t}}function Xe(e,t){if(0===t.inlineTableStart)return e;return e.items.filter((e=>{if(!i(e))return!1;const n=f(e.value),r=c(e.value)&&e.value.items.length&&f(e.value.items[0].item);if(n||r){const n=nt(e.key.value);return void 0===t.inlineTableStart||n<t.inlineTableStart}return!1})).forEach((t=>{Ae(e,e,t),f(t.value)?Ee(e,e,et(t)):function(e){const t=Le();for(const n of e.value.items){const r=Me(e.key.value);Ee(t,t,r);for(const e of n.item.items)Ee(t,r,e.item)}return De(t),t.items}(t).forEach((t=>{Ee(e,e,t)}))})),De(e),e}function et(e){const t=Ue(e.key.value);for(const n of e.value.items)Ee(t,t,n.item);return De(t),t}function tt(e){if(e.items.length>0){const t=e.items[e.items.length-1];e.loc.end.line=t.loc.end.line,e.loc.end.column=t.loc.end.column}else e.loc.end.line=e.key.loc.end.line,e.loc.end.column=e.key.loc.end.column}function nt(e){return Math.max(0,e.length-1)}function rt(e,t,n){var r;for(let l=e.items.length-1;l>=0;l--){const o=e.items[l];if(i(o)&&f(o.value)){const l=[...e.key.item.value,...o.key.value];if(nt(l)<(null!==(r=n.inlineTableStart)&&void 0!==r?r:1)){const r=Ue(l);for(const e of o.value.items)Ee(r,r,e.item);Ae(e,e,o),tt(e),t.push(r),rt(r,t,n)}}}}function lt(e,t=Qe.default()){e=function(e){const t=[],n=[];for(const r in e)N(e[r])||Array.isArray(e[r])?n.push(r):t.push(r);const r={};for(let n=0;n<t.length;n++){const l=t[n];r[l]=e[l]}for(let t=0;t<n.length;t++){const l=n[t];r[l]=e[l]}return r}(e=at(e));const n=Le();for(const r of ot(e,t))Ee(n,n,r);De(n);const r=Z(n,(e=>Xe(e,t)),(e=>function(e,t){if(void 0===t.inlineTableStart||0===t.inlineTableStart)return e;const n=[];for(const r of e.items)if(i(r)&&f(r.value)){if(nt(r.key.value)<t.inlineTableStart){const l=et(r);Ae(e,e,r),Ee(e,e,l),rt(l,n,t)}}else"Table"===r.type&&rt(r,n,t);for(const t of n)Ee(e,e,t);return De(e),e}(e,t)),(e=>function(e){return e}(e)));return function(e){let t=0,n=0;for(const r of e.items)0===n&&r.loc.start.line>1?t=1-r.loc.start.line:r.loc.start.line+t>n+2&&(t+=n+2-(r.loc.start.line+t)),_e(r,{lines:t,columns:0}),n=r.loc.end.line;return e}(r)}function*ot(e,t){for(const n of Object.keys(e))yield Ke([n],it(e[n],t))}function it(e,n){if(null==e)throw new Error('"null" and "undefined" values are not supported');return function(e){return"string"==typeof e}(e)?Be(e):K(e)?function(e){const n=e.toString();return{type:t.Integer,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):function(e){return"number"==typeof e&&(!K(e)||!isFinite(e)||Object.is(e,-0))}(e)?function(e){let n;return n=e===1/0?"inf":e===-1/0?"-inf":Number.isNaN(e)?"nan":Object.is(e,-0)?"-0.0":e.toString(),{type:t.Float,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):function(e){return"boolean"==typeof e}(e)?function(e){return{type:t.Boolean,loc:{start:{line:1,column:0},end:{line:1,column:e?4:5}},value:e}}(e):j(e)?function(e,n){n.truncateZeroTimeInDates&&0===e.getUTCHours()&&0===e.getUTCMinutes()&&0===e.getUTCSeconds()&&0===e.getUTCMilliseconds()&&(e=new re(e.toISOString().split("T")[0]));const r=e.toISOString();return{type:t.DateTime,loc:{start:{line:1,column:0},end:{line:1,column:r.length}},raw:r,value:e}}(e,n):Array.isArray(e)?function(e,n){const r={type:t.InlineArray,loc:{start:{line:1,column:0},end:{line:1,column:2}},items:[]};for(const t of e){Ee(r,r,Ze(it(t,n)))}return Ce(r,r,n.bracketSpacing),Oe(r,r,n.trailingComma),De(r),r}(e,n):function(e,n){if(e=at(e),!N(e))return it(e,n);const r={type:t.InlineTable,loc:{start:{line:1,column:0},end:{line:1,column:2}},items:[]},l=[...ot(e,n)];for(const e of l){Ee(r,r,Ze(e))}return Ce(r,r,n.bracketSpacing),Oe(r,r,n.trailingComma),De(r),r}(e,n)}function at(e){return e?j(e)?e:"function"==typeof e.toJSON?e.toJSON():e:e}const st=/(\r\n|\n)/g;function ct(e,n){const r=[];return Se(e,{[t.TableKey](e){const{start:t,end:n}=e.loc;ut(r,{start:t,end:{line:t.line,column:t.column+1}},"["),ut(r,{start:{line:n.line,column:n.column-1},end:n},"]")},[t.TableArrayKey](e){const{start:t,end:n}=e.loc;ut(r,{start:t,end:{line:t.line,column:t.column+2}},"[["),ut(r,{start:{line:n.line,column:n.column-2},end:n},"]]")},[t.KeyValue](e){const{start:{line:t}}=e.loc;ut(r,{start:{line:t,column:e.equals},end:{line:t,column:e.equals+1}},"=")},[t.Key](e){ut(r,e.loc,e.raw)},[t.String](e){ut(r,e.loc,e.raw)},[t.Integer](e){ut(r,e.loc,e.raw)},[t.Float](e){ut(r,e.loc,e.raw)},[t.Boolean](e){ut(r,e.loc,e.value.toString())},[t.DateTime](e){ut(r,e.loc,e.raw)},[t.InlineArray](e){const{start:t,end:n}=e.loc;ut(r,{start:t,end:{line:t.line,column:t.column+1}},"["),ut(r,{start:{line:n.line,column:n.column-1},end:n},"]")},[t.InlineTable](e){const{start:t,end:n}=e.loc;ut(r,{start:t,end:{line:t.line,column:t.column+1}},"{"),ut(r,{start:{line:n.line,column:n.column-1},end:n},"}")},[t.InlineItem](e){if(!e.comma)return;const t=e.loc.end;ut(r,{start:t,end:{line:t.line,column:t.column+1}},",")},[t.Comment](e){ut(r,e.loc,e.raw)}}),r.join(n.newLine)+n.newLine.repeat(n.trailingNewline)}function ut(e,t,n){const r=n.split(st).filter((e=>"\n"!==e&&"\r\n"!==e)),l=t.end.line-t.start.line+1;if(r.length!==l)throw new Error(`Mismatch between location and raw string, expected ${l} lines for "${n}"`);for(let l=t.start.line;l<=t.end.line;l++){const o=ft(e,l);if(void 0===o)throw new Error(`Line ${l} is uninitialized when writing "${n}" at ${t.start.line}:${t.start.column} to ${t.end.line}:${t.end.column}`);const i=l===t.start.line,a=l===t.end.line,s=i?o.substr(0,t.start.column).padEnd(t.start.column," "):"",c=a?o.substr(t.end.column):"";e[l-1]=s+r[l-t.start.line]+c}}function ft(e,t){if(!e[t-1])for(let n=0;n<t;n++)e[n]||(e[n]="");return e[t-1]}function mt(e,n=""){const r=M(),l=new Set,o=new Set,i=new Set;let a=r,s=0;return Se(e,{[t.Table](e){const t=e.key.item.value;try{pt(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new $(n,e.key.loc.start,r.message)}const s=gt(t);l.add(s),i.add(s),a=ht(r,t)},[t.TableArray](e){const t=e.key.item.value;try{pt(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new $(n,e.key.loc.start,r.message)}const s=gt(t);o.add(s),i.add(s),a=function(e,t){const n=yt(e,t.slice(0,-1)),r=U(t);n[r]||(n[r]=[]);const l=M();return n[U(t)].push(l),l}(r,t)},[t.KeyValue]:{enter(e){if(s>0)return;const t=e.key.value;try{pt(a,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new $(n,e.key.loc.start,r.message)}const r=dt(e.value);(t.length>1?ht(a,t.slice(0,-1)):a)[U(t)]=r,i.add(gt(t))}},[t.InlineTable]:{enter(){s++},exit(){s--}}}),r}function dt(e){switch(e.type){case t.InlineTable:const n=M();return e.items.forEach((({item:e})=>{const t=e.key.value,r=dt(e.value);(t.length>1?ht(n,t.slice(0,-1)):n)[U(t)]=r})),n;case t.InlineArray:return e.items.map((e=>dt(e.item)));case t.String:case t.Integer:case t.Float:case t.Boolean:case t.DateTime:return e.value;default:throw new Error(`Unrecognized value type "${e.type}"`)}}function pt(e,n,r,l){let o=[],i=0;for(const t of n){if(o.push(t),!B(e,t))return;if("object"!=typeof(a=e[t])&&!j(a))throw new Error(`Invalid key, a value has already been defined for ${o.join(".")}`);const r=gt(o);if(Array.isArray(e[t])&&!l.table_arrays.has(r))throw new Error(`Invalid key, cannot add to a static array at ${r}`);const s=i++<n.length-1;e=Array.isArray(e[t])&&s?U(e[t]):e[t]}var a;const s=gt(n);if(e&&r===t.Table&&l.defined.has(s))throw new Error(`Invalid key, a table has already been defined named ${s}`);if(e&&r===t.TableArray&&!l.table_arrays.has(s))throw new Error(`Invalid key, cannot add an array of tables to a table at ${s}`)}function ht(e,t){const n=yt(e,t.slice(0,-1)),r=U(t);return n[r]||(n[r]=M()),n[r]}function yt(e,t){return t.reduce(((e,t)=>(e[t]||(e[t]=M()),Array.isArray(e[t])?U(e[t]):e[t])),e)}function gt(e){return e.join(".")}var vt,wt,St,Tt;function $t(e){return e.type===vt.Remove}function bt(e,t,n=[]){return e===t||(l=t,j(r=e)&&j(l)&&r.toISOString()===l.toISOString())?[]:Array.isArray(e)&&Array.isArray(t)?function(e,t,n=[]){let r=[];const l=e.map(W),o=t.map(W);o.forEach(((i,a)=>{const s=a>=l.length;if(!s&&l[a]===i)return;const c=l.indexOf(i,a+1);if(!s&&c>-1){r.push({type:vt.Move,path:n,from:c,to:a});const e=l.splice(c,1);return void l.splice(a,0,...e)}const u=!o.includes(l[a]);if(!s&&u)return P(r,bt(e[a],t[a],n.concat(a))),void(l[a]=i);r.push({type:vt.Add,path:n.concat(a)}),l.splice(a,0,i)}));for(let e=o.length;e<l.length;e++)r.push({type:vt.Remove,path:n.concat(e)});return r}(e,t,n):N(e)&&N(t)?function(e,t,n=[]){let r=[];const l=Object.keys(e),o=l.map((t=>W(e[t]))),i=Object.keys(t),a=i.map((e=>W(t[e]))),s=(e,t)=>{if(t.indexOf(e)<0)return!1;const n=l[o.indexOf(e)];return!i.includes(n)};return l.forEach(((l,c)=>{const u=n.concat(l);if(i.includes(l))P(r,bt(e[l],t[l],u));else if(s(o[c],a)){const e=i[a.indexOf(o[c])];r.push({type:vt.Rename,path:n,from:l,to:e})}else r.push({type:vt.Remove,path:u})})),i.forEach(((e,t)=>{l.includes(e)||s(a[t],o)||r.push({type:vt.Add,path:n.concat(e)})})),r}(e,t,n):[{type:vt.Edit,path:n}];var r,l}function kt(e,t){if(!t.length)return u(e)&&i(e.item)?e.item:e;if(i(e))return kt(e.value,t);const n={};let r;if(d(e)&&e.items.some(((e,a)=>{try{let s=[];if(i(e))s=e.key.value;else if(l(e))s=e.key.item.value;else if(o(e)){s=e.key.item.value;const t=W(s);n[t]||(n[t]=0);const r=n[t]++;s=s.concat(r)}else u(e)&&i(e.item)?s=e.item.key.value:u(e)&&(s=[a]);return!(!s.length||!function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(s,t.slice(0,s.length)))&&(r=kt(e,t.slice(s.length)),!0)}catch(e){return!1}})),!r)throw new Error(`Could not find node at path ${t.join(".")}`);return r}function It(e,t){try{return kt(e,t)}catch(e){}}function Et(e,t){let n,r=t;for(;r.length&&!n;)r=r.slice(0,-1),n=It(e,r);if(!n)throw new Error(`Count not find parent node for path ${t.join(".")}`);return n}function xt(e,n,m){const d=[...e],h=mt(d),y={type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:d},g=lt(n,Ge(Object.assign(Object.assign({},m),{inlineTableStart:void 0}),m)),v=function(e){for(let t=0;t<e.length;t++){const n=e[t];if($t(n)){let r=t+1;for(;r<e.length;){const l=e[r];if($t(l)&&l.path[0]===n.path[0]&&l.path[1]>n.path[1]){e.splice(r,1),e.splice(t,0,l),t=0;break}r++}}}return e}(bt(h,n));if(0===v.length)return{tomlString:ct(d,m),document:y};const w=function(e,t,n,m){return n.forEach((n=>{if(function(e){return e.type===vt.Add}(n)){const a=kt(t,n.path),s=n.path.slice(0,-1);let d,p=U(n.path),h=o(a);if(K(p)&&!s.some(K)){const t=It(e,s.concat(0));t&&o(t)&&(h=!0)}if(l(a))d=e;else if(h){d=e;const t=e,n=It(t,s.concat(p-1)),r=It(t,s.concat(p));p=r?t.items.indexOf(r):n?t.items.indexOf(n)+1:t.items.length}else d=Et(e,n.path),i(d)&&(d=d.value);if(o(d)||c(d)||r(d)){if(c(d)){const e=qe(d);u(a)&&(a.comma=e)}if(void 0!==m.inlineTableStart&&m.inlineTableStart>0&&r(d)&&l(a)){const t=At(a,e,m);Ee(e,d,a,p);for(const n of t)Ee(e,e,n,void 0)}else Ee(e,d,a,p)}else if(f(d)){const t=Ye(d);if(i(a)){const n=Ze(a);n.comma=t,Ee(e,d,n)}else Ee(e,d,a)}else if(void 0!==m.inlineTableStart&&m.inlineTableStart>0&&i(a)&&f(a.value)&&l(d)){nt([...d.key.item.value,...a.key.value])<m.inlineTableStart?function(e,t,n,r){const l=t.key.item.value,o=[...l,...e.key.value],a=Ue(o);if(f(e.value))for(const t of e.value.items)u(t)&&i(t.item)&&Ee(n,a,t.item,void 0);Ee(n,n,a,void 0),tt(t);const s=At(a,n,r);for(const e of s)Ee(n,n,e,void 0)}(a,d,e,m):Ee(e,d,a)}else 0===m.inlineTableStart&&i(a)&&f(a.value)&&r(d)?Ee(e,d,a,void 0,!0):Ee(e,d,a)}else if(function(e){return e.type===vt.Edit}(n)){let r,l=kt(e,n.path),o=kt(t,n.path);if(i(l)&&i(o))!function(e,t){if(a(e)&&a(t)&&z(e.raw)){const n=Be(t.value,e.raw);t.raw=n.raw,t.loc=n.loc}if(s(e)&&s(t)){const n=e.raw,r=t.value,l=ne.createDateWithOriginalFormat(r,n);t.value=l,t.raw=l.toISOString();0!==t.raw.length-n.length&&(t.loc.end.column=t.loc.start.column+t.raw.length)}if(c(e)&&c(t)){const n=qe(e);if(t.items.length>0){t.items[t.items.length-1].comma=n}}if(f(e)&&f(t)){const n=Ye(e);if(t.items.length>0){t.items[t.items.length-1].comma=n}}}(l.value,o.value),r=l,l=l.value,o=o.value;else if(i(l)&&u(o)&&i(o.item))r=l,l=l.value,o=o.item.value;else if(u(l)&&i(o))r=l,l=l.item;else if(r=Et(e,n.path),i(r)){const t=n.path.slice(0,-1),l=kt(e,t);i(l)&&c(l.value)&&(r=l.value)}Ie(e,r,l,o)}else if($t(n)){let t=Et(e,n.path);i(t)&&(t=t.value);const r=kt(e,n.path);Ae(e,t,r)}else if(function(e){return e.type===vt.Move}(n)){let t=kt(e,n.path);p(t)&&(t=t.item),i(t)&&(t=t.value);const r=t.items[n.from];Ae(e,t,r),Ee(e,t,r,n.to)}else if(function(e){return e.type===vt.Rename}(n)){let r=kt(e,n.path.concat(n.from)),l=kt(t,n.path.concat(n.to));p(r)&&(r=r.item),p(l)&&(l=l.item),Ie(e,r,r.key,l.key)}})),De(e),e}(y,g,v,m);return{tomlString:ct(w.items,m),document:w}}function At(e,t,n){const r=[],l=(e,r)=>{var o;for(let a=e.items.length-1;a>=0;a--){const s=e.items[a];if(i(s)&&f(s.value)){const c=[...e.key.item.value,...s.key.value];if(nt(c)<(null!==(o=n.inlineTableStart)&&void 0!==o?o:1)&&0!==n.inlineTableStart){const n=Ue(c);for(const e of s.value.items)u(e)&&i(e.item)&&Ee(t,n,e.item,void 0);e.items.splice(a,1),tt(e),r.push(n),l(n,r)}}}};return l(e,r),r}function Ct(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function Ot(e,t,n,r,l){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!l)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!l:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?l.call(e,n):l?l.value=n:t.set(e,n),n}function Dt(e,t){return e.line!==t.line?e.line-t.line:e.column-t.column}!function(e){e.Add="Add",e.Edit="Edit",e.Remove="Remove",e.Move="Move",e.Rename="Rename"}(vt||(vt={})),"function"==typeof SuppressedError&&SuppressedError;function _t(e){if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(_t);if(e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))t[n]=_t(r);return t}return e}wt=new WeakMap,St=new WeakMap,Tt=new WeakMap,e.TomlDocument=class{constructor(e){wt.set(this,void 0),St.set(this,void 0),Tt.set(this,void 0),Ot(this,St,e,"f"),Ot(this,wt,Array.from(ye(e)),"f"),Ot(this,Tt,Qe.autoDetectFormat(e),"f")}get toTomlString(){return Ct(this,St,"f")}get toJsObject(){return _t(mt(Ct(this,wt,"f")))}get ast(){return Ct(this,wt,"f")}patch(e,t){const n=Ge(t,Ct(this,Tt,"f")),{tomlString:r,document:l}=xt(Ct(this,wt,"f"),e,n);Ot(this,wt,l.items,"f"),Ot(this,St,r,"f")}update(e){if(e===this.toTomlString)return;const t=this.toTomlString.split(Ct(this,Tt,"f").newLine),n=Je(e),r=e.split(n);let l=0;for(;l<t.length&&l<r.length&&t[l]===r[l];)l++;let o=0;if(l<t.length&&l<r.length){const e=t[l],n=r[l];for(let t=0;t<Math.max(e.length,n.length);t++)if(e[t]!==n[t]){o=t;break}}let i=l+1;const{truncatedAst:a,lastEndPosition:s}=function(e,t,n){const r={line:t,column:n},l=[];let o=null;for(const t of e){const e=Dt(t.loc.end,r)<0,n=Dt(t.loc.start,r)<0;if(!e){if(n&&!e)break;break}l.push(t),o=t.loc.end}return{truncatedAst:l,lastEndPosition:o}}(Ct(this,wt,"f"),i,o),c=s?s.line:1,u=s?s.column+1:0,f=r.slice(c-1);f.length>0&&u>0&&(f[0]=f[0].substring(u));const m=f.join(Ct(this,Tt,"f").newLine);Ot(this,wt,Array.from(function*(e,t){for(const t of e)yield t;for(const e of ye(t))yield e}(a,m)),"f"),Ot(this,St,e,"f"),Ot(this,Tt,Qe.autoDetectFormat(e),"f")}overwrite(e){e!==this.toTomlString&&(Ot(this,wt,Array.from(ye(e)),"f"),Ot(this,St,e,"f"),Ot(this,Tt,Qe.autoDetectFormat(e),"f"))}},e.TomlFormat=Qe,e.parse=function(e){return mt(ye(e),e)},e.patch=function(e,t,n){return xt(ye(e),t,Ge(n,Qe.autoDetectFormat(e))).tomlString},e.stringify=function(e,t){const n=Ge(t,Qe.default());return ct(lt(e,n).items,n)}}));
|
|
3
3
|
//# sourceMappingURL=toml-patch.umd.min.js.map
|