diff options
124 files changed, 2693 insertions, 2392 deletions
diff --git a/doc/GetInt.3 b/doc/GetInt.3 index 4e9d636..3e7204c 100644 --- a/doc/GetInt.3 +++ b/doc/GetInt.3 @@ -51,27 +51,42 @@ in the interpreter's result, and nothing is stored at *\fIintPtr\fR or *\fIdoublePtr\fR or *\fIboolPtr\fR. .PP \fBTcl_GetInt\fR expects \fIsrc\fR to consist of a collection -of integer digits, optionally signed and optionally preceded by -white space. If the first two characters of \fIsrc\fR +of integer digits, optionally signed and optionally preceded and +followed by white space. If the first two characters of \fIsrc\fR after the optional white space and sign are -.QW 0x +.QW \fB0x\fR then \fIsrc\fR is expected to be in hexadecimal form; otherwise, +if the first such characters are +.QW \fB0o\fR +then \fIsrc\fR is expected to be in octal form; otherwise, +if the first such characters are +.QW \fB0b\fR +then \fIsrc\fR is expected to be in binary form; otherwise, if the first such character is -.QW 0 +.QW \fB0\fR then \fIsrc\fR is expected to be in octal form; otherwise, \fIsrc\fR is expected to be in decimal form. .PP \fBTcl_GetDouble\fR expects \fIsrc\fR to consist of a floating-point number, which is: white space; a sign; a sequence of digits; a -decimal point; a sequence of digits; the letter -.QW e ; +decimal point +.QW \fB.\fR ; +a sequence of digits; the letter +.QW \fBe\fR ; a signed decimal exponent; and more white space. Any of the fields may be omitted, except that the digits either before or after the decimal point must be present and if the -.QW e -is present then it must be followed by the exponent number. +.QW \fBe\fR +is present then it must be followed by the exponent number. If there +are no fields apart from the sign and initial sequence of digits +(i.e., no decimal point or exponent indicator), that +initial sequence of digits should take one of the forms that +\fBTcl_GetInt\fR supports, described above. The use of +.QW \fB,\fR +as a decimal point is not supported nor should any other sort of +inter-digit separator be present. .PP \fBTcl_GetBoolean\fR expects \fIsrc\fR to specify a boolean value. If \fIsrc\fR is any of \fB0\fR, \fBfalse\fR, diff --git a/doc/concat.n b/doc/concat.n index 575b9df..23c6c91 100644 --- a/doc/concat.n +++ b/doc/concat.n @@ -20,6 +20,7 @@ This command joins each of its arguments together with spaces after trimming leading and trailing white-space from each of them. If all of the arguments are lists, this has the same effect as concatenating them into a single list. +Arguments that are empty (after trimming) are ignored entirely. It permits any number of arguments; if no \fIarg\fRs are supplied, the result is an empty string. .SH EXAMPLES @@ -418,7 +418,10 @@ set token [::http::geturl https://my.secure.site/] \fB::http::unregister\fR \fIproto\fR . This procedure unregisters a protocol handler that was previously -registered via \fB::http::register\fR. +registered via \fB::http::register\fR, returning a two-item list of +the default port and handler command that was previously installed +(via \fB::http::register\fR) if there was such a handler, and an error if +there was no such handler. .SH ERRORS The \fB::http::geturl\fR procedure will raise errors in the following cases: invalid command line options, @@ -123,9 +123,7 @@ with conversion character \fBu\fR. .TP \fBi\fR . -The input substring must be an integer. The base (i.e. decimal, binary, -octal, or hexadecimal) is determined in the same fashion as described in -\fBexpr\fR. The integer value is stored in the variable, +The input substring must be an integer. The base (i.e. decimal, octal, or hexadecimal) is determined by the C convention (leading 0 for octal; prefix 0x for hexadecimal). The integer value is stored in the variable, truncated as required by the size modifier value. .TP \fBc\fR diff --git a/doc/variable.n b/doc/variable.n index a6e545f..8228859 100644 --- a/doc/variable.n +++ b/doc/variable.n @@ -45,7 +45,8 @@ linked to the corresponding namespace variables (and therefore these variables are listed by \fBinfo vars\fR.) In this way the \fBvariable\fR command resembles the \fBglobal\fR command, although the \fBglobal\fR command -only links to variables in the global namespace. +resolves variable names with respect to the global namespace instead +of the current namespace of the procedure. If any \fIvalue\fRs are given, they are used to modify the values of the associated namespace variables. If a namespace variable does not exist, @@ -98,3 +99,7 @@ namespace eval foo { global(n), namespace(n), upvar(n) .SH KEYWORDS global, namespace, procedure, variable +.\" Local variables: +.\" mode: nroff +.\" fill-column: 78 +.\" End: diff --git a/generic/tclCmdAH.c b/generic/tclCmdAH.c index 88cc17d..4c299f8 100644 --- a/generic/tclCmdAH.c +++ b/generic/tclCmdAH.c @@ -1597,7 +1597,7 @@ FileAttrIsOwnedCmd( Tcl_Obj *const objv[]) { #ifdef __CYGWIN__ -#define geteuid() (short)(geteuid)() +#define geteuid() (short)(geteuid)() #endif #if !defined(_WIN32) Tcl_StatBuf buf; diff --git a/generic/tclCmdIL.c b/generic/tclCmdIL.c index 0a1b4fe..9fbb0ad 100644 --- a/generic/tclCmdIL.c +++ b/generic/tclCmdIL.c @@ -2179,6 +2179,14 @@ Tcl_JoinObjCmd( resObjPtr = Tcl_NewObj(); for (i = 0; i < listLen; i++) { if (i > 0) { + + /* + * NOTE: This code is relying on Tcl_AppendObjToObj() **NOT** + * to shimmer joinObjPtr. If it did, then the case where + * objv[1] and objv[2] are the same value would not be safe. + * Accessing elemPtrs would crash. + */ + Tcl_AppendObjToObj(resObjPtr, joinObjPtr); } Tcl_AppendObjToObj(resObjPtr, elemPtrs[i]); diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c index 3ab03cc..7dba232 100644 --- a/generic/tclCompCmds.c +++ b/generic/tclCompCmds.c @@ -3206,17 +3206,6 @@ TclCompileFormatCmd( */ TclEmitInstInt1(INST_STR_CONCAT1, i, envPtr); - } else { - /* - * EVIL HACK! Force there to be a string representation in the case - * where there's just a "%s" in the format; case covered by the test - * format-20.1 (and it is horrible...) - */ - - TclEmitOpcode(INST_DUP, envPtr); - PushStringLiteral(envPtr, ""); - TclEmitOpcode(INST_STR_EQ, envPtr); - TclEmitOpcode(INST_POP, envPtr); } return TCL_OK; } diff --git a/generic/tclCompile.c b/generic/tclCompile.c index c0203dd..f6b3c52 100644 --- a/generic/tclCompile.c +++ b/generic/tclCompile.c @@ -1781,9 +1781,17 @@ CompileCmdLiteral( CompileEnv *envPtr) { int numBytes; - const char *bytes = Tcl_GetStringFromObj(cmdObj, &numBytes); - int cmdLitIdx = TclRegisterNewCmdLiteral(envPtr, bytes, numBytes); - Command *cmdPtr = (Command *) Tcl_GetCommandFromObj(interp, cmdObj); + const char *bytes; + Command *cmdPtr; + int cmdLitIdx, extraLiteralFlags = LITERAL_CMD_NAME; + + cmdPtr = (Command *) Tcl_GetCommandFromObj(interp, cmdObj); + if ((cmdPtr != NULL) && (cmdPtr->flags & CMD_VIA_RESOLVER)) { + extraLiteralFlags |= LITERAL_UNSHARED; + } + + bytes = Tcl_GetStringFromObj(cmdObj, &numBytes); + cmdLitIdx = TclRegisterLiteral(envPtr, (char *)bytes, numBytes, extraLiteralFlags); if (cmdPtr) { TclSetCmdNameObj(interp, TclFetchLiteral(envPtr, cmdLitIdx), cmdPtr); diff --git a/generic/tclCompile.h b/generic/tclCompile.h index d5bc86b..ba6ad44 100644 --- a/generic/tclCompile.h +++ b/generic/tclCompile.h @@ -1208,6 +1208,7 @@ MODULE_SCOPE int TclPushProcCallFrame(ClientData clientData, #define LITERAL_ON_HEAP 0x01 #define LITERAL_CMD_NAME 0x02 +#define LITERAL_UNSHARED 0x04 /* * Form of TclRegisterLiteral with flags == 0. In that case, it is safe to diff --git a/generic/tclEnsemble.c b/generic/tclEnsemble.c index 8e5e410..6fedf29 100644 --- a/generic/tclEnsemble.c +++ b/generic/tclEnsemble.c @@ -3306,7 +3306,7 @@ CompileToInvokedCommand( Tcl_Token *tokPtr; Tcl_Obj *objPtr, **words; char *bytes; - int length, i, numWords, cmdLit; + int length, i, numWords, cmdLit, extraLiteralFlags = LITERAL_CMD_NAME; DefineLineInformation; /* @@ -3349,7 +3349,10 @@ CompileToInvokedCommand( objPtr = Tcl_NewObj(); Tcl_GetCommandFullName(interp, (Tcl_Command) cmdPtr, objPtr); bytes = Tcl_GetStringFromObj(objPtr, &length); - cmdLit = TclRegisterNewCmdLiteral(envPtr, bytes, length); + if ((cmdPtr != NULL) && (cmdPtr->flags & CMD_VIA_RESOLVER)) { + extraLiteralFlags |= LITERAL_UNSHARED; + } + cmdLit = TclRegisterLiteral(envPtr, (char *)bytes, length, extraLiteralFlags); TclSetCmdNameObj(interp, TclFetchLiteral(envPtr, cmdLit), cmdPtr); TclEmitPush(cmdLit, envPtr); TclDecrRefCount(objPtr); diff --git a/generic/tclExecute.c b/generic/tclExecute.c index e539161..b9ef582 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -19,7 +19,6 @@ #include "tclCompile.h" #include "tclOOInt.h" #include "tommath.h" -#include "tclStringRep.h" #include <math.h> #include <assert.h> @@ -3173,7 +3172,7 @@ TEBCresume( Tcl_Obj *copyPtr = Tcl_NewListObj(objc - opnd + 1, NULL); Tcl_ListObjAppendElement(NULL, copyPtr, objPtr); - Tcl_ListObjReplace(NULL, copyPtr, LIST_MAX, 0, + Tcl_ListObjReplace(NULL, copyPtr, LIST_MAX, 0, objc - opnd, objv + opnd); Tcl_DecrRefCount(objPtr); objPtr = copyPtr; @@ -5725,17 +5724,6 @@ TEBCresume( length3 = Tcl_GetCharLength(value3Ptr); /* - * Remove substring. In-place. - */ - - if (length3 == 0 && !Tcl_IsShared(valuePtr) && toIdx == length) { - TclDecrRefCount(value3Ptr); - Tcl_SetObjLength(valuePtr, fromIdx); - TRACE_APPEND(("\"%.30s\"\n", O2S(valuePtr))); - NEXT_INST_F(1, 0, 0); - } - - /* * See if we can splice in place. This happens when the number of * characters being replaced is the same as the number of characters * in the string to be inserted. @@ -5744,51 +5732,29 @@ TEBCresume( if (length3 - 1 == toIdx - fromIdx) { unsigned char *bytes1, *bytes2; - /* - * Flush the info in the string internal rep that refers to the - * about-to-be-invalidated UTF-8 rep. This indicates that a new - * buffer needs to be allocated, and assumes that the value is - * already of tclStringTypePtr type, which should be true provided - * we call it after Tcl_GetUnicodeFromObj. - */ -#define MarkStringInternalRepForFlush(objPtr) \ - (GET_STRING(objPtr)->allocated = 0) - if (Tcl_IsShared(valuePtr)) { objResultPtr = Tcl_DuplicateObj(valuePtr); - if (TclIsPureByteArray(objResultPtr) - && TclIsPureByteArray(value3Ptr)) { - bytes1 = Tcl_GetByteArrayFromObj(objResultPtr, NULL); - bytes2 = Tcl_GetByteArrayFromObj(value3Ptr, NULL); - memcpy(bytes1 + fromIdx, bytes2, length3); - } else { - ustring1 = Tcl_GetUnicodeFromObj(objResultPtr, NULL); - ustring2 = Tcl_GetUnicodeFromObj(value3Ptr, NULL); - memcpy(ustring1 + fromIdx, ustring2, - length3 * sizeof(Tcl_UniChar)); - MarkStringInternalRepForFlush(objResultPtr); - } - Tcl_InvalidateStringRep(objResultPtr); - TclDecrRefCount(value3Ptr); - TRACE_APPEND(("\"%.30s\"\n", O2S(objResultPtr))); - NEXT_INST_F(1, 1, 1); } else { - if (TclIsPureByteArray(valuePtr) - && TclIsPureByteArray(value3Ptr)) { - bytes1 = Tcl_GetByteArrayFromObj(valuePtr, NULL); - bytes2 = Tcl_GetByteArrayFromObj(value3Ptr, NULL); - memcpy(bytes1 + fromIdx, bytes2, length3); - } else { - ustring1 = Tcl_GetUnicodeFromObj(valuePtr, NULL); - ustring2 = Tcl_GetUnicodeFromObj(value3Ptr, NULL); - memcpy(ustring1 + fromIdx, ustring2, - length3 * sizeof(Tcl_UniChar)); - MarkStringInternalRepForFlush(valuePtr); - } - Tcl_InvalidateStringRep(valuePtr); - TclDecrRefCount(value3Ptr); - TRACE_APPEND(("\"%.30s\"\n", O2S(valuePtr))); + objResultPtr = valuePtr; + } + if (TclIsPureByteArray(objResultPtr) + && TclIsPureByteArray(value3Ptr)) { + bytes1 = Tcl_GetByteArrayFromObj(objResultPtr, NULL); + bytes2 = Tcl_GetByteArrayFromObj(value3Ptr, NULL); + memcpy(bytes1 + fromIdx, bytes2, length3); + } else { + ustring1 = Tcl_GetUnicodeFromObj(objResultPtr, NULL); + ustring2 = Tcl_GetUnicodeFromObj(value3Ptr, NULL); + memcpy(ustring1 + fromIdx, ustring2, + length3 * sizeof(Tcl_UniChar)); + } + Tcl_InvalidateStringRep(objResultPtr); + TclDecrRefCount(value3Ptr); + TRACE_APPEND(("\"%.30s\"\n", O2S(objResultPtr))); + if (objResultPtr == valuePtr) { NEXT_INST_F(1, 0, 0); + } else { + NEXT_INST_F(1, 1, 1); } } @@ -5804,54 +5770,38 @@ TEBCresume( * Remove substring using copying. */ - if (length3 == 0) { - if (fromIdx > 0) { - objResultPtr = Tcl_NewUnicodeObj(ustring1, fromIdx); - if (toIdx < length) { - Tcl_AppendUnicodeToObj(objResultPtr, ustring1 + toIdx + 1, - length - toIdx); - } - } else { - objResultPtr = Tcl_NewUnicodeObj(ustring1 + toIdx + 1, - length - toIdx); - } - TclDecrRefCount(value3Ptr); - TRACE_APPEND(("\"%.30s\"\n", O2S(objResultPtr))); - NEXT_INST_F(1, 1, 1); - } - - /* - * Splice string pieces by full copying. - */ - + objResultPtr = NULL; if (fromIdx > 0) { objResultPtr = Tcl_NewUnicodeObj(ustring1, fromIdx); - Tcl_AppendObjToObj(objResultPtr, value3Ptr); - if (toIdx < length) { - Tcl_AppendUnicodeToObj(objResultPtr, ustring1 + toIdx + 1, - length - toIdx); + } + if (length3 > 0) { + if (objResultPtr) { + Tcl_AppendObjToObj(objResultPtr, value3Ptr); + } else if (Tcl_IsShared(value3Ptr)) { + objResultPtr = Tcl_DuplicateObj(value3Ptr); + } else { + objResultPtr = value3Ptr; } - } else if (Tcl_IsShared(value3Ptr)) { - objResultPtr = Tcl_DuplicateObj(value3Ptr); - if (toIdx < length) { + } + if (toIdx < length) { + if (objResultPtr) { Tcl_AppendUnicodeToObj(objResultPtr, ustring1 + toIdx + 1, length - toIdx); - } - } else { - /* - * Be careful with splicing the stack in this case; we have a - * refCount:1 object in value3Ptr and we want to append to it and - * make it be the refCount:1 object at the top of the stack - * afterwards. [Bug 82e7f67325] - */ - - if (toIdx < length) { - Tcl_AppendUnicodeToObj(value3Ptr, ustring1 + toIdx + 1, + } else { + objResultPtr = Tcl_NewUnicodeObj(ustring1 + toIdx + 1, length - toIdx); } + } + if (objResultPtr == NULL) { + /* This has to be the case [string replace $s 0 end {}] */ + /* which has result {} which is same as value3Ptr. */ + objResultPtr = value3Ptr; + } + if (objResultPtr == value3Ptr) { + /* See [Bug 82e7f67325] */ + TclDecrRefCount(OBJ_AT_TOS); + OBJ_AT_TOS = value3Ptr; TRACE_APPEND(("\"%.30s\"\n", O2S(value3Ptr))); - TclDecrRefCount(valuePtr); - OBJ_AT_TOS = value3Ptr; /* Tricky! */ NEXT_INST_F(1, 0, 0); } TclDecrRefCount(value3Ptr); diff --git a/generic/tclInt.h b/generic/tclInt.h index 4f7ea6e..4d3c0b1 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -1677,11 +1677,13 @@ typedef struct Command { * (these last two flags are defined in tcl.h) */ -#define CMD_IS_DELETED 0x1 -#define CMD_TRACE_ACTIVE 0x2 -#define CMD_HAS_EXEC_TRACES 0x4 -#define CMD_COMPILES_EXPANDED 0x8 +#define CMD_IS_DELETED 0x01 +#define CMD_TRACE_ACTIVE 0x02 +#define CMD_HAS_EXEC_TRACES 0x04 +#define CMD_COMPILES_EXPANDED 0x08 #define CMD_REDEF_IN_PROGRESS 0x10 +#define CMD_VIA_RESOLVER 0x20 + /* *---------------------------------------------------------------- diff --git a/generic/tclInterp.c b/generic/tclInterp.c index 66ce1e0..8a0d653 100644 --- a/generic/tclInterp.c +++ b/generic/tclInterp.c @@ -660,14 +660,9 @@ NRInterpCmd( if (masterInterp == NULL) { return TCL_ERROR; } - if (TclGetString(objv[5])[0] == '\0') { - if (objc == 6) { - return AliasDelete(interp, slaveInterp, objv[3]); - } - } else { - return AliasCreate(interp, slaveInterp, masterInterp, objv[3], - objv[5], objc - 6, objv + 6); - } + + return AliasCreate(interp, slaveInterp, masterInterp, objv[3], + objv[5], objc - 6, objv + 6); } goto aliasArgs; } diff --git a/generic/tclLiteral.c b/generic/tclLiteral.c index 03200ca..4ae94a0 100644 --- a/generic/tclLiteral.c +++ b/generic/tclLiteral.c @@ -214,7 +214,7 @@ TclCreateLiteral( if (globalPtrPtr) { *globalPtrPtr = globalPtr; } - if (flags & LITERAL_ON_HEAP) { + if ((flags & LITERAL_ON_HEAP)) { ckfree(bytes); } globalPtr->refCount++; @@ -222,7 +222,7 @@ TclCreateLiteral( } } if (!newPtr) { - if (flags & LITERAL_ON_HEAP) { + if ((flags & LITERAL_ON_HEAP)) { ckfree(bytes); } return NULL; @@ -234,14 +234,23 @@ TclCreateLiteral( */ TclNewObj(objPtr); - Tcl_IncrRefCount(objPtr); - if (flags & LITERAL_ON_HEAP) { + if ((flags & LITERAL_ON_HEAP)) { objPtr->bytes = bytes; objPtr->length = length; } else { TclInitStringRep(objPtr, bytes, length); } + if ((flags & LITERAL_UNSHARED)) { + /* + * Make clear, that no global value is returned + */ + if (globalPtrPtr != NULL) { + *globalPtrPtr = NULL; + } + return objPtr; + } + #ifdef TCL_COMPILE_DEBUG if (LookupLiteralEntry((Tcl_Interp *) iPtr, objPtr) != NULL) { Tcl_Panic("%s: literal \"%.*s\" found globally but shouldn't be", @@ -251,6 +260,7 @@ TclCreateLiteral( globalPtr = ckalloc(sizeof(LiteralEntry)); globalPtr->objPtr = objPtr; + Tcl_IncrRefCount(objPtr); globalPtr->refCount = 1; globalPtr->nsPtr = nsPtr; globalPtr->nextPtr = globalTablePtr->buckets[globalHash]; @@ -398,7 +408,7 @@ TclRegisterLiteral( if ((objPtr->length == length) && ((length == 0) || ((objPtr->bytes[0] == bytes[0]) && (memcmp(objPtr->bytes, bytes, (unsigned) length) == 0)))) { - if (flags & LITERAL_ON_HEAP) { + if ((flags & LITERAL_ON_HEAP)) { ckfree(bytes); } objIndex = (localPtr - envPtr->literalArrayPtr); @@ -417,7 +427,7 @@ TclRegisterLiteral( * the namespace as the interp's global NS. */ - if (flags & LITERAL_CMD_NAME) { + if ((flags & LITERAL_CMD_NAME)) { if ((length >= 2) && (bytes[0] == ':') && (bytes[1] == ':')) { nsPtr = iPtr->globalNsPtr; } else { @@ -431,12 +441,13 @@ TclRegisterLiteral( * Is it in the interpreter's global literal table? If not, create it. */ + globalPtr = NULL; objPtr = TclCreateLiteral(iPtr, bytes, length, hash, &new, nsPtr, flags, &globalPtr); objIndex = AddLocalLiteralEntry(envPtr, objPtr, localHash); #ifdef TCL_COMPILE_DEBUG - if (globalPtr->refCount < 1) { + if (globalPtr != NULL && globalPtr->refCount < 1) { Tcl_Panic("%s: global literal \"%.*s\" had bad refCount %d", "TclRegisterLiteral", (length>60? 60 : length), bytes, globalPtr->refCount); @@ -1152,13 +1163,6 @@ TclVerifyLocalLiteralTable( "TclVerifyLocalLiteralTable", (length>60? 60 : length), bytes, localPtr->refCount); } - if (LookupLiteralEntry((Tcl_Interp *) envPtr->iPtr, - localPtr->objPtr) == NULL) { - bytes = Tcl_GetStringFromObj(localPtr->objPtr, &length); - Tcl_Panic("%s: local literal \"%.*s\" is not global", - "TclVerifyLocalLiteralTable", - (length>60? 60 : length), bytes); - } if (localPtr->objPtr->bytes == NULL) { Tcl_Panic("%s: literal has NULL string rep", "TclVerifyLocalLiteralTable"); diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c index 5930859..a8d351f 100644 --- a/generic/tclNamesp.c +++ b/generic/tclNamesp.c @@ -2566,7 +2566,9 @@ Tcl_FindCommand( } if (result == TCL_OK) { + ((Command *)cmd)->flags |= CMD_VIA_RESOLVER; return cmd; + } else if (result != TCL_CONTINUE) { return NULL; } @@ -2658,6 +2660,7 @@ Tcl_FindCommand( } if (cmdPtr != NULL) { + cmdPtr->flags &= ~CMD_VIA_RESOLVER; return (Tcl_Command) cmdPtr; } diff --git a/generic/tclObj.c b/generic/tclObj.c index 628c3a7..29c8e23 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.c @@ -4219,7 +4219,10 @@ TclSetCmdNameObj( const char *name; if (objPtr->typePtr == &tclCmdNameType) { - return; + resPtr = objPtr->internalRep.twoPtrValue.ptr1; + if (resPtr != NULL && resPtr->cmdPtr == cmdPtr) { + return; + } } cmdPtr->refCount++; diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c index f69f6b9..6da6df3 100644 --- a/generic/tclStrToD.c +++ b/generic/tclStrToD.c @@ -396,6 +396,9 @@ static Tcl_WideUInt Nokia770Twiddle(Tcl_WideUInt w); * - TCL_PARSE_SCAN_PREFIXES: ignore the prefixes 0b and 0o that are * not part of the [scan] command's vocabulary. Use only in * combination with TCL_PARSE_INTEGER_ONLY. + * - TCL_PARSE_BINARY_ONLY: parse only in the binary format, whether + * or not a prefix is present that would lead to binary parsing. + * Use only in combination with TCL_PARSE_INTEGER_ONLY. * - TCL_PARSE_OCTAL_ONLY: parse only in the octal format, whether * or not a prefix is present that would lead to octal parsing. * Use only in combination with TCL_PARSE_INTEGER_ONLY. @@ -627,6 +630,9 @@ TclParseNumber( acceptPoint = p; acceptLen = len; if (c == 'x' || c == 'X') { + if (flags & (TCL_PARSE_OCTAL_ONLY|TCL_PARSE_BINARY_ONLY)) { + goto endgame; + } state = ZERO_X; break; } @@ -637,6 +643,9 @@ TclParseNumber( goto zeroo; } if (c == 'b' || c == 'B') { + if (flags & TCL_PARSE_OCTAL_ONLY) { + goto endgame; + } state = ZERO_B; break; } diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c index 11a57e9..91c0e74 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -1198,6 +1198,8 @@ Tcl_AppendUnicodeToObj( * Side effects: * The string rep of appendObjPtr is appended to the string * representation of objPtr. + * IMPORTANT: This routine does not and MUST NOT shimmer appendObjPtr. + * Callers are counting on that. * *---------------------------------------------------------------------- */ @@ -3025,6 +3027,16 @@ UpdateStringOfString( { String *stringPtr = GET_STRING(objPtr); + /* + * This routine is only called when we need to generate the + * string rep objPtr->bytes because it does not exist -- it is NULL. + * In that circumstance, any lingering claim about the size of + * memory pointed to by that NULL pointer is clearly bogus, and + * needs a reset. + */ + + stringPtr->allocated = 0; + if (stringPtr->numChars == 0) { TclInitStringRep(objPtr, tclEmptyStringRep, 0); } else { diff --git a/generic/tclTest.c b/generic/tclTest.c index e33d263..568dd01 100644 --- a/generic/tclTest.c +++ b/generic/tclTest.c @@ -7299,24 +7299,83 @@ InterpCmdResolver( CallFrame *varFramePtr = iPtr->varFramePtr; Proc *procPtr = (varFramePtr->isProcCallFrame & FRAME_IS_PROC) ? varFramePtr->procPtr : NULL; - Namespace *ns2NsPtr = (Namespace *) - Tcl_FindNamespace(interp, "::ns2", NULL, 0); + Namespace *callerNsPtr = varFramePtr->nsPtr; + Tcl_Command resolvedCmdPtr = NULL; - if (procPtr && (procPtr->cmdPtr->nsPtr == iPtr->globalNsPtr - || (ns2NsPtr && procPtr->cmdPtr->nsPtr == ns2NsPtr))) { - const char *callingCmdName = + /* + * Just do something special on a cmd literal "z" in two cases: + * A) when the caller is a proc "x", and the proc is either in "::" or in "::ns2". + * B) the caller's namespace is "ctx1" or "ctx2" + */ + if ( (name[0] == 'z') && (name[1] == '\0') ) { + Namespace *ns2NsPtr = (Namespace *) Tcl_FindNamespace(interp, "::ns2", NULL, 0); + + if (procPtr != NULL + && ((procPtr->cmdPtr->nsPtr == iPtr->globalNsPtr) + || (ns2NsPtr != NULL && procPtr->cmdPtr->nsPtr == ns2NsPtr) + ) + ) { + /* + * Case A) + * + * - The context, in which this resolver becomes active, is + * determined by the name of the caller proc, which has to be + * named "x". + * + * - To determine the name of the caller proc, the proc is taken + * from the topmost stack frame. + * + * - Note that the context is NOT provided during byte-code + * compilation (e.g. in TclProcCompileProc) + * + * When these conditions hold, this function resolves the + * passed-in cmd literal into a cmd "y", which is taken from the + * the global namespace (for simplicity). + */ + + const char *callingCmdName = Tcl_GetCommandName(interp, (Tcl_Command) procPtr->cmdPtr); - if ((callingCmdName[0] == 'x') && (callingCmdName[1] == '\0') - && (name[0] == 'z') && (name[1] == '\0')) { - Tcl_Command sourceCmdPtr = Tcl_FindCommand(interp, "y", NULL, - TCL_GLOBAL_ONLY); + if ( callingCmdName[0] == 'x' && callingCmdName[1] == '\0' ) { + resolvedCmdPtr = Tcl_FindCommand(interp, "y", NULL, TCL_GLOBAL_ONLY); + } + } else if (callerNsPtr != NULL) { + /* + * Case B) + * + * - The context, in which this resolver becomes active, is + * determined by the name of the parent namespace, which has + * to be named "ctx1" or "ctx2". + * + * - To determine the name of the parent namesace, it is taken + * from the 2nd highest stack frame. + * + * - Note that the context can be provided during byte-code + * compilation (e.g. in TclProcCompileProc) + * + * When these conditions hold, this function resolves the + * passed-in cmd literal into a cmd "y" or "Y" depending on the + * context. The resolved procs are taken from the the global + * namespace (for simplicity). + */ + + CallFrame *parentFramePtr = varFramePtr->callerPtr; + char *context = parentFramePtr != NULL ? parentFramePtr->nsPtr->name : "(NULL)"; - if (sourceCmdPtr != NULL) { - *rPtr = sourceCmdPtr; - return TCL_OK; + if (strcmp(context, "ctx1") == 0 && (name[0] == 'z') && (name[1] == '\0')) { + resolvedCmdPtr = Tcl_FindCommand(interp, "y", NULL, TCL_GLOBAL_ONLY); + /* fprintf(stderr, "... y ==> %p\n", resolvedCmdPtr);*/ + + } else if (strcmp(context, "ctx2") == 0 && (name[0] == 'z') && (name[1] == '\0')) { + resolvedCmdPtr = Tcl_FindCommand(interp, "Y", NULL, TCL_GLOBAL_ONLY); + /*fprintf(stderr, "... Y ==> %p\n", resolvedCmdPtr);*/ } } + + if (resolvedCmdPtr != NULL) { + *rPtr = resolvedCmdPtr; + return TCL_OK; + } } return TCL_CONTINUE; } @@ -7449,9 +7508,16 @@ TestInterpResolverCmd( int idx; #define RESOLVER_KEY "testInterpResolver" - if (objc != 2) { - Tcl_WrongNumArgs(interp, 1, objv, "up|down"); - return TCL_ERROR; + if ((objc < 2) || (objc > 3)) { + Tcl_WrongNumArgs(interp, 1, objv, "up|down ?interp?"); + return TCL_ERROR; + } + if (objc == 3) { + interp = Tcl_GetSlave(interp, Tcl_GetString(objv[2])); + if (interp == NULL) { + Tcl_AppendResult(interp, "provided interpreter not found", NULL); + return TCL_ERROR; + } } if (Tcl_GetIndexFromObj(interp, objv[1], table, "operation", TCL_EXACT, &idx) != TCL_OK) { diff --git a/generic/tclThreadAlloc.c b/generic/tclThreadAlloc.c index 018f006..2ee758e 100644 --- a/generic/tclThreadAlloc.c +++ b/generic/tclThreadAlloc.c @@ -1106,9 +1106,9 @@ TclFinalizeThreadAlloc(void) * * TclFinalizeThreadAllocThread -- * - * This procedure is used to destroy single thread private resources used - * in this file. - * Called in TclpFinalizeThreadData when a thread exits (Tcl_FinalizeThread). + * This procedure is used to destroy single thread private resources + * defined in this file. Called either during Tcl_FinalizeThread() or + * Tcl_Finalize(). * * Results: * None. diff --git a/generic/tclUtf.c b/generic/tclUtf.c index b878149..68119a4 100644 --- a/generic/tclUtf.c +++ b/generic/tclUtf.c @@ -73,16 +73,7 @@ static const unsigned char totalBytes[256] = { #else 1,1,1,1,1,1,1,1, #endif -#if TCL_UTF_MAX > 4 - 5,5,5,5, -#else - 1,1,1,1, -#endif -#if TCL_UTF_MAX > 5 - 6,6,6,6 -#else - 1,1,1,1 -#endif + 1,1,1,1,1,1,1,1 }; /* @@ -111,14 +102,14 @@ INLINE static int UtfCount( int ch) /* The Tcl_UniChar whose size is returned. */ { - if ((ch > 0) && (ch < UNICODE_SELF)) { + if ((unsigned)(ch - 1) < (UNICODE_SELF - 1)) { return 1; } if (ch <= 0x7FF) { return 2; } #if TCL_UTF_MAX > 3 - if ((ch > 0xFFFF) && (ch <= 0x10FFFF)) { + if (((unsigned)(ch - 0x10000) <= 0xfffff)) { return 4; } #endif @@ -152,7 +143,7 @@ Tcl_UniCharToUtf( * large enough to hold the UTF-8 character * (at most TCL_UTF_MAX bytes). */ { - if ((ch > 0) && (ch < UNICODE_SELF)) { + if ((unsigned)(ch - 1) < (UNICODE_SELF - 1)) { buf[0] = (char) ch; return 1; } @@ -180,11 +171,7 @@ Tcl_UniCharToUtf( } } #endif - three: - buf[2] = (char) ((ch | 0x80) & 0xBF); - buf[1] = (char) (((ch >> 6) | 0x80) & 0xBF); - buf[0] = (char) ((ch >> 12) | 0xE0); - return 3; + goto three; } #if TCL_UTF_MAX > 3 @@ -199,7 +186,11 @@ Tcl_UniCharToUtf( } ch = 0xFFFD; - goto three; +three: + buf[2] = (char) ((ch | 0x80) & 0xBF); + buf[1] = (char) (((ch >> 6) | 0x80) & 0xBF); + buf[0] = (char) ((ch >> 12) | 0xE0); + return 3; } /* @@ -314,9 +305,6 @@ Tcl_UtfToUniChar( * A two-byte-character lead-byte not followed by trail-byte * represents itself. */ - - *chPtr = (Tcl_UniChar) byte; - return 1; } else if (byte < 0xF0) { if (((src[1] & 0xC0) == 0x80) && ((src[2] & 0xC0) == 0x80)) { /* @@ -332,31 +320,23 @@ Tcl_UtfToUniChar( * A three-byte-character lead-byte not followed by two trail-bytes * represents itself. */ - - *chPtr = (Tcl_UniChar) byte; - return 1; } #if TCL_UTF_MAX > 3 - { - int ch, total, trail; - - total = totalBytes[byte]; - trail = total - 1; - if (trail > 0) { - ch = byte & (0x3F >> trail); - do { - src++; - if ((*src & 0xC0) != 0x80) { - *chPtr = byte; - return 1; - } - ch <<= 6; - ch |= (*src & 0x3F); - trail--; - } while (trail > 0); - *chPtr = ch; - return total; + else if (byte < 0xF8) { + if (((src[1] & 0xC0) == 0x80) && ((src[2] & 0xC0) == 0x80) && ((src[3] & 0xC0) == 0x80)) { + /* + * Four-byte-character lead byte followed by three trail bytes. + */ + + *chPtr = (Tcl_UniChar) (((byte & 0x0E) << 18) | ((src[1] & 0x3F) << 12) + | ((src[2] & 0x3F) << 6) | (src[3] & 0x3F)); + return 4; } + + /* + * A three-byte-character lead-byte not followed by two trail-bytes + * represents itself. + */ } #endif diff --git a/generic/tclVar.c b/generic/tclVar.c index 2adffbc..46a1da6 100644 --- a/generic/tclVar.c +++ b/generic/tclVar.c @@ -5193,13 +5193,16 @@ TclDeleteNamespaceVars( VarHashRefCount(varPtr)++; /* Make sure we get to remove from * hash. */ Tcl_GetVariableFullName(interp, (Tcl_Var) varPtr, objPtr); - UnsetVarStruct(varPtr, NULL, iPtr, /* part1 */ objPtr, NULL, flags, - -1); - Tcl_DecrRefCount(objPtr); /* Free no longer needed obj */ + UnsetVarStruct(varPtr, NULL, iPtr, /* part1 */ objPtr, + NULL, flags, -1); /* - * Remove the variable from the table and force it undefined in case - * an unset trace brought it back from the dead. + * We just unset the variable. However, an unset trace might + * have re-set it, or might have re-established traces on it. + * This namespace and its vartable are going away unconditionally, + * so we cannot let such things linger. That would be a leak. + * + * First we destroy all traces. ... */ if (TclIsVarTraced(varPtr)) { @@ -5223,6 +5226,17 @@ TclDeleteNamespaceVars( } } } + + /* + * ...and then, if the variable still holds a value, we unset it + * again. This time with no traces left, we're sure it goes away. + */ + + if (!TclIsVarUndefined(varPtr)) { + UnsetVarStruct(varPtr, NULL, iPtr, /* part1 */ objPtr, + NULL, flags, -1); + } + Tcl_DecrRefCount(objPtr); /* free no longer needed obj */ VarHashRefCount(varPtr)--; VarHashDeleteEntry(varPtr); } diff --git a/generic/tclZlib.c b/generic/tclZlib.c index dac47cf..e5a5946 100644 --- a/generic/tclZlib.c +++ b/generic/tclZlib.c @@ -177,6 +177,8 @@ static Tcl_ObjCmdProc ZlibStreamPutCmd; static void ConvertError(Tcl_Interp *interp, int code, uLong adler); static Tcl_Obj * ConvertErrorToList(int code, uLong adler); +static inline int Deflate(z_streamp strm, void *bufferPtr, + int bufferSize, int flush, int *writtenPtr); static void ExtractHeader(gz_header *headerPtr, Tcl_Obj *dictObj); static int GenerateHeader(Tcl_Interp *interp, Tcl_Obj *dictObj, GzipHeader *headerPtr, int *extraSizePtr); @@ -578,6 +580,10 @@ ExtractHeader( } } +/* + * Disentangle the worst of how the zlib API is used. + */ + static int SetInflateDictionary( z_streamp strm, @@ -605,6 +611,38 @@ SetDeflateDictionary( } return Z_OK; } + +static inline int +Deflate( + z_streamp strm, + void *bufferPtr, + int bufferSize, + int flush, + int *writtenPtr) +{ + int e; + + strm->next_out = (Bytef *) bufferPtr; + strm->avail_out = (unsigned) bufferSize; + e = deflate(strm, flush); + if (writtenPtr != NULL) { + *writtenPtr = bufferSize - strm->avail_out; + } + return e; +} + +static inline void +AppendByteArray( + Tcl_Obj *listObj, + void *buffer, + int size) +{ + if (size > 0) { + Tcl_Obj *baObj = Tcl_NewByteArrayObj((unsigned char *) buffer, size); + + Tcl_ListObjAppendElement(NULL, listObj, baObj); + } +} /* *---------------------------------------------------------------------- @@ -1139,6 +1177,8 @@ Tcl_ZlibStreamSetCompressionDictionary( *---------------------------------------------------------------------- */ +#define BUFFER_SIZE_LIMIT 0xFFFF + int Tcl_ZlibStreamPut( Tcl_ZlibStream zshandle, /* As obtained from Tcl_ZlibStreamInit */ @@ -1148,8 +1188,7 @@ Tcl_ZlibStreamPut( { ZlibStreamHandle *zshPtr = (ZlibStreamHandle *) zshandle; char *dataTmp = NULL; - int e, size, outSize; - Tcl_Obj *obj; + int e, size, outSize, toStore; if (zshPtr->streamEnd) { if (zshPtr->interp) { @@ -1175,26 +1214,45 @@ Tcl_ZlibStreamPut( if (HaveDictToSet(zshPtr)) { e = SetDeflateDictionary(&zshPtr->stream, zshPtr->compDictObj); if (e != Z_OK) { - if (zshPtr->interp) { - ConvertError(zshPtr->interp, e, zshPtr->stream.adler); - } + ConvertError(zshPtr->interp, e, zshPtr->stream.adler); return TCL_ERROR; } DictWasSet(zshPtr); } /* - * Deflatebound doesn't seem to take various header sizes into - * account, so we add 100 extra bytes. + * deflateBound() doesn't seem to take various header sizes into + * account, so we add 100 extra bytes. However, we can also loop + * around again so we also set an upper bound on the output buffer + * size. */ - outSize = deflateBound(&zshPtr->stream, zshPtr->stream.avail_in)+100; - zshPtr->stream.avail_out = outSize; - dataTmp = ckalloc(zshPtr->stream.avail_out); - zshPtr->stream.next_out = (Bytef *) dataTmp; + outSize = deflateBound(&zshPtr->stream, size) + 100; + if (outSize > BUFFER_SIZE_LIMIT) { + outSize = BUFFER_SIZE_LIMIT; + } + dataTmp = ckalloc(outSize); + + while (1) { + e = Deflate(&zshPtr->stream, dataTmp, outSize, flush, &toStore); + + /* + * Test if we've filled the buffer up and have to ask deflate() to + * give us some more. Note that the condition for needing to + * repeat a buffer transfer when the result is Z_OK is whether + * there is no more space in the buffer we provided; the zlib + * library does not necessarily return a different code in that + * case. [Bug b26e38a3e4] [Tk Bug 10f2e7872b] + */ + + if ((e != Z_BUF_ERROR) && (e != Z_OK || toStore < outSize)) { + if ((e == Z_OK) || (flush == Z_FINISH && e == Z_STREAM_END)) { + break; + } + ConvertError(zshPtr->interp, e, zshPtr->stream.adler); + return TCL_ERROR; + } - e = deflate(&zshPtr->stream, flush); - while (e == Z_BUF_ERROR || (flush == Z_FINISH && e == Z_OK)) { /* * Output buffer too small to hold the data being generated or we * are doing the end-of-stream flush (which can spit out masses of @@ -1202,45 +1260,21 @@ Tcl_ZlibStreamPut( * saving the old generated data to the outData list. */ - obj = Tcl_NewByteArrayObj((unsigned char *) dataTmp, outSize); - Tcl_ListObjAppendElement(NULL, zshPtr->outData, obj); + AppendByteArray(zshPtr->outData, dataTmp, outSize); - if (outSize < 0xFFFF) { - outSize = 0xFFFF; /* There may be *lots* of data left to - * output... */ + if (outSize < BUFFER_SIZE_LIMIT) { + outSize = BUFFER_SIZE_LIMIT; + /* There may be *lots* of data left to output... */ dataTmp = ckrealloc(dataTmp, outSize); } - zshPtr->stream.avail_out = outSize; - zshPtr->stream.next_out = (Bytef *) dataTmp; - - e = deflate(&zshPtr->stream, flush); - } - - if (e != Z_OK && !(flush==Z_FINISH && e==Z_STREAM_END)) { - if (zshPtr->interp) { - ConvertError(zshPtr->interp, e, zshPtr->stream.adler); - } - return TCL_ERROR; } /* - * And append the final data block. + * And append the final data block to the outData list. */ - if (outSize - zshPtr->stream.avail_out > 0) { - obj = Tcl_NewByteArrayObj((unsigned char *) dataTmp, - outSize - zshPtr->stream.avail_out); - - /* - * Now append the compressed data to the outData list. - */ - - Tcl_ListObjAppendElement(NULL, zshPtr->outData, obj); - } - - if (dataTmp) { - ckfree(dataTmp); - } + AppendByteArray(zshPtr->outData, dataTmp, toStore); + ckfree(dataTmp); } else { /* * This is easy. Just append to the inData list. @@ -1356,9 +1390,7 @@ Tcl_ZlibStreamGet( if (IsRawStream(zshPtr) && HaveDictToSet(zshPtr)) { e = SetInflateDictionary(&zshPtr->stream, zshPtr->compDictObj); if (e != Z_OK) { - if (zshPtr->interp) { - ConvertError(zshPtr->interp, e, zshPtr->stream.adler); - } + ConvertError(zshPtr->interp, e, zshPtr->stream.adler); return TCL_ERROR; } DictWasSet(zshPtr); @@ -2864,7 +2896,7 @@ ZlibTransformClose( Tcl_Interp *interp) { ZlibChannelData *cd = instanceData; - int e, result = TCL_OK; + int e, written, result = TCL_OK; /* * Delete the support timer. @@ -2879,9 +2911,18 @@ ZlibTransformClose( if (cd->mode == TCL_ZLIB_STREAM_DEFLATE) { cd->outStream.avail_in = 0; do { - cd->outStream.next_out = (Bytef *) cd->outBuffer; - cd->outStream.avail_out = (unsigned) cd->outAllocated; - e = deflate(&cd->outStream, Z_FINISH); + e = Deflate(&cd->outStream, cd->outBuffer, cd->outAllocated, + Z_FINISH, &written); + + /* + * Can't be sure that deflate() won't declare the buffer to be + * full (with Z_BUF_ERROR) so handle that case. + */ + + if (e == Z_BUF_ERROR) { + e = Z_OK; + written = cd->outAllocated; + } if (e != Z_OK && e != Z_STREAM_END) { /* TODO: is this the right way to do errors on close? */ if (!TclInThreadExit()) { @@ -2890,20 +2931,17 @@ ZlibTransformClose( result = TCL_ERROR; break; } - if (cd->outStream.avail_out != (unsigned) cd->outAllocated) { - if (Tcl_WriteRaw(cd->parent, cd->outBuffer, - cd->outAllocated - cd->outStream.avail_out) < 0) { - /* TODO: is this the right way to do errors on close? - * Note: when close is called from FinalizeIOSubsystem - * then interp may be NULL */ - if (!TclInThreadExit() && interp) { - Tcl_SetObjResult(interp, Tcl_ObjPrintf( - "error while finalizing file: %s", - Tcl_PosixError(interp))); - } - result = TCL_ERROR; - break; + if (written && Tcl_WriteRaw(cd->parent, cd->outBuffer, written) < 0) { + /* TODO: is this the right way to do errors on close? + * Note: when close is called from FinalizeIOSubsystem then + * interp may be NULL */ + if (!TclInThreadExit() && interp) { + Tcl_SetObjResult(interp, Tcl_ObjPrintf( + "error while finalizing file: %s", + Tcl_PosixError(interp))); } + result = TCL_ERROR; + break; } } while (e != Z_STREAM_END); (void) deflateEnd(&cd->outStream); @@ -3078,13 +3116,21 @@ ZlibTransformOutput( cd->outStream.next_in = (Bytef *) buf; cd->outStream.avail_in = toWrite; do { - cd->outStream.next_out = (Bytef *) cd->outBuffer; - cd->outStream.avail_out = cd->outAllocated; + e = Deflate(&cd->outStream, cd->outBuffer, cd->outAllocated, + Z_NO_FLUSH, &produced); - e = deflate(&cd->outStream, Z_NO_FLUSH); - produced = cd->outAllocated - cd->outStream.avail_out; + if ((e == Z_OK && produced > 0) || e == Z_BUF_ERROR) { + /* + * deflate() indicates that it is out of space by returning + * Z_BUF_ERROR *or* by simply returning Z_OK with no remaining + * space; in either case, we must write the whole buffer out and + * retry to compress what is left. + */ - if (e == Z_OK && produced > 0) { + if (e == Z_BUF_ERROR) { + produced = cd->outAllocated; + e = Z_OK; + } if (Tcl_WriteRaw(cd->parent, cd->outBuffer, produced) < 0) { *errorCodePtr = Tcl_GetErrno(); return -1; @@ -3131,10 +3177,8 @@ ZlibTransformFlush( * Get the bytes to go out of the compression engine. */ - cd->outStream.next_out = (Bytef *) cd->outBuffer; - cd->outStream.avail_out = cd->outAllocated; - - e = deflate(&cd->outStream, flushType); + e = Deflate(&cd->outStream, cd->outBuffer, cd->outAllocated, + flushType, &len); if (e != Z_OK && e != Z_BUF_ERROR) { ConvertError(interp, e, cd->outStream.adler); return TCL_ERROR; @@ -3144,7 +3188,6 @@ ZlibTransformFlush( * Write the bytes we've received to the next layer. */ - len = cd->outStream.next_out - (Bytef *) cd->outBuffer; if (len > 0 && Tcl_WriteRaw(cd->parent, cd->outBuffer, len) < 0) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "problem flushing channel: %s", diff --git a/library/auto.tcl b/library/auto.tcl index 02edcc4..97ea8af 100644 --- a/library/auto.tcl +++ b/library/auto.tcl @@ -122,11 +122,9 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} { # uniquify $dirs in order array set seen {} foreach i $dirs { - # Take note that the [file normalize] below has been noted to cause - # difficulties for the freewrap utility. See Bug 1072136. Until - # freewrap resolves the matter, one might work around the problem by - # disabling that branch. + # Make sure $i is unique under normalization. Avoid repeated [source]. if {[interp issafe]} { + # Safe interps have no [file normalize]. set norm $i } else { set norm [file normalize $i] @@ -135,10 +133,7 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} { continue } set seen($norm) {} - lappend uniqdirs $i - } - set dirs $uniqdirs - foreach i $dirs { + set the_library $i set file [file join $i $initScript] diff --git a/library/history.tcl b/library/history.tcl index 51d2404..ef9099b 100644 --- a/library/history.tcl +++ b/library/history.tcl @@ -56,6 +56,30 @@ proc ::history {args} { tailcall apply {arglist {tailcall history {*}$arglist} ::tcl} $args } +# (unnamed) -- +# +# Callback when [::history] is destroyed. Destroys the implementation. +# +# Parameters: +# oldName what the command was called. +# newName what the command is now called (an empty string). +# op the operation (= delete). +# +# Results: +# none +# +# Side Effects: +# The implementation of the [::history] command ceases to exist. + +trace add command ::history delete [list apply {{oldName newName op} { + variable history + unset -nocomplain history + foreach c [info procs ::tcl::Hist*] { + rename $c {} + } + rename ::tcl::history {} +} ::tcl}] + # tcl::HistAdd -- # # Add an item to the history, and optionally eval it at the global scope diff --git a/library/http/http.tcl b/library/http/http.tcl index 5a05fa0..d105886 100644 --- a/library/http/http.tcl +++ b/library/http/http.tcl @@ -8,10 +8,10 @@ # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. -package require Tcl 8.6 +package require Tcl 8.6- # Keep this in sync with pkgIndex.tcl and with the install directories in # Makefiles -package provide http 2.8.9 +package provide http 2.8.10 namespace eval http { # Allow resourcing to not clobber existing data @@ -1047,7 +1047,7 @@ proc http::Event {sock token} { fconfigure $sock -translation binary if { - $state(-binary) || ![string match -nocase text* $state(type)] + $state(-binary) || [IsBinaryContentType $state(type)] } { # Turn off conversions for non-text data set state(binary) 1 @@ -1183,6 +1183,38 @@ proc http::Event {sock token} { } } +# http::IsBinaryContentType -- +# +# Determine if the content-type means that we should definitely transfer +# the data as binary. [Bug 838e99a76d] +# +# Arguments +# type The content-type of the data. +# +# Results: +# Boolean, true if we definitely should be binary. + +proc http::IsBinaryContentType {type} { + lassign [split [string tolower $type] "/;"] major minor + if {$major eq "text"} { + return false + } + # There's a bunch of XML-as-application-format things about. See RFC 3023 + # and so on. + if {$major eq "application"} { + set minor [string trimright $minor] + if {$minor in {"xml" "xml-external-parsed-entity" "xml-dtd"}} { + return false + } + } + # Not just application/foobar+xml but also image/svg+xml, so let us not + # restrict things for now... + if {[string match "*+xml" $minor]} { + return false + } + return true +} + # http::getTextLine -- # # Get one line with the stream in blocking crlf mode diff --git a/library/http/pkgIndex.tcl b/library/http/pkgIndex.tcl index 6e0301a..841b4eb 100644 --- a/library/http/pkgIndex.tcl +++ b/library/http/pkgIndex.tcl @@ -1,2 +1,2 @@ -if {![package vsatisfies [package provide Tcl] 8.6]} {return} -package ifneeded http 2.8.9 [list tclPkgSetup $dir http 2.8.9 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}] +if {![package vsatisfies [package provide Tcl] 8.6-]} {return} +package ifneeded http 2.8.10 [list tclPkgSetup $dir http 2.8.10 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}] diff --git a/library/msgcat/msgcat.tcl b/library/msgcat/msgcat.tcl index a43f13e..928474d 100644 --- a/library/msgcat/msgcat.tcl +++ b/library/msgcat/msgcat.tcl @@ -11,7 +11,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. -package require Tcl 8.5 +package require Tcl 8.5- # When the version number changes, be sure to update the pkgIndex.tcl file, # and the installation directory in the Makefiles. package provide msgcat 1.6.0 diff --git a/library/tcltest/tcltest.tcl b/library/tcltest/tcltest.tcl index cde2660..75975d2 100644 --- a/library/tcltest/tcltest.tcl +++ b/library/tcltest/tcltest.tcl @@ -16,7 +16,7 @@ # Contributions from Don Porter, NIST, 2002. (not subject to US copyright) # All rights reserved. -package require Tcl 8.5 ;# -verbose line uses [info frame] +package require Tcl 8.5- ;# -verbose line uses [info frame] namespace eval tcltest { # When the version number changes, be sure to update the pkgIndex.tcl file, diff --git a/library/tzdata/America/Los_Angeles b/library/tzdata/America/Los_Angeles index da6ca99..8e26526 100644 --- a/library/tzdata/America/Los_Angeles +++ b/library/tzdata/America/Los_Angeles @@ -11,41 +11,41 @@ set TZData(:America/Los_Angeles) { {-769395600 -25200 1 PPT} {-765385200 -28800 0 PST} {-757353600 -28800 0 PST} - {-687967200 -25200 1 PDT} + {-687967140 -25200 1 PDT} {-662655600 -28800 0 PST} - {-620834400 -25200 1 PDT} + {-620838000 -25200 1 PDT} {-608137200 -28800 0 PST} - {-589384800 -25200 1 PDT} + {-589388400 -25200 1 PDT} {-576082800 -28800 0 PST} - {-557935200 -25200 1 PDT} + {-557938800 -25200 1 PDT} {-544633200 -28800 0 PST} - {-526485600 -25200 1 PDT} + {-526489200 -25200 1 PDT} {-513183600 -28800 0 PST} - {-495036000 -25200 1 PDT} + {-495039600 -25200 1 PDT} {-481734000 -28800 0 PST} - {-463586400 -25200 1 PDT} + {-463590000 -25200 1 PDT} {-450284400 -28800 0 PST} - {-431532000 -25200 1 PDT} + {-431535600 -25200 1 PDT} {-418230000 -28800 0 PST} - {-400082400 -25200 1 PDT} + {-400086000 -25200 1 PDT} {-386780400 -28800 0 PST} - {-368632800 -25200 1 PDT} + {-368636400 -25200 1 PDT} {-355330800 -28800 0 PST} - {-337183200 -25200 1 PDT} + {-337186800 -25200 1 PDT} {-323881200 -28800 0 PST} - {-305733600 -25200 1 PDT} + {-305737200 -25200 1 PDT} {-292431600 -28800 0 PST} - {-273679200 -25200 1 PDT} + {-273682800 -25200 1 PDT} {-260982000 -28800 0 PST} - {-242229600 -25200 1 PDT} + {-242233200 -25200 1 PDT} {-226508400 -28800 0 PST} - {-210780000 -25200 1 PDT} + {-210783600 -25200 1 PDT} {-195058800 -28800 0 PST} - {-179330400 -25200 1 PDT} + {-179334000 -25200 1 PDT} {-163609200 -28800 0 PST} - {-147880800 -25200 1 PDT} + {-147884400 -25200 1 PDT} {-131554800 -28800 0 PST} - {-116431200 -25200 1 PDT} + {-116434800 -25200 1 PDT} {-100105200 -28800 0 PST} {-94665600 -28800 0 PST} {-84376800 -25200 1 PDT} diff --git a/library/tzdata/America/Tijuana b/library/tzdata/America/Tijuana index 6118cde..4b7ebe7 100644 --- a/library/tzdata/America/Tijuana +++ b/library/tzdata/America/Tijuana @@ -14,19 +14,19 @@ set TZData(:America/Tijuana) { {-686073600 -25200 1 PDT} {-661539600 -28800 0 PST} {-504892800 -28800 0 PST} - {-495036000 -25200 1 PDT} + {-495039600 -25200 1 PDT} {-481734000 -28800 0 PST} - {-463586400 -25200 1 PDT} + {-463590000 -25200 1 PDT} {-450284400 -28800 0 PST} - {-431532000 -25200 1 PDT} + {-431535600 -25200 1 PDT} {-418230000 -28800 0 PST} - {-400082400 -25200 1 PDT} + {-400086000 -25200 1 PDT} {-386780400 -28800 0 PST} - {-368632800 -25200 1 PDT} + {-368636400 -25200 1 PDT} {-355330800 -28800 0 PST} - {-337183200 -25200 1 PDT} + {-337186800 -25200 1 PDT} {-323881200 -28800 0 PST} - {-305733600 -25200 1 PDT} + {-305737200 -25200 1 PDT} {-292431600 -28800 0 PST} {-283968000 -28800 0 PST} {189331200 -28800 0 PST} diff --git a/library/tzdata/Antarctica/Casey b/library/tzdata/Antarctica/Casey index 2573dac..3035ab9 100644 --- a/library/tzdata/Antarctica/Casey +++ b/library/tzdata/Antarctica/Casey @@ -2,9 +2,9 @@ set TZData(:Antarctica/Casey) { {-9223372036854775808 0 0 -00} - {-31536000 28800 0 AWST} - {1255802400 39600 0 CAST} - {1267714800 28800 0 AWST} - {1319738400 39600 0 CAST} - {1329843600 28800 0 AWST} + {-31536000 28800 0 +08} + {1255802400 39600 0 +11} + {1267714800 28800 0 +08} + {1319738400 39600 0 +11} + {1329843600 28800 0 +08} } diff --git a/library/tzdata/Antarctica/Davis b/library/tzdata/Antarctica/Davis index c98be2f..9bb178b 100644 --- a/library/tzdata/Antarctica/Davis +++ b/library/tzdata/Antarctica/Davis @@ -2,11 +2,11 @@ set TZData(:Antarctica/Davis) { {-9223372036854775808 0 0 -00} - {-409190400 25200 0 DAVT} + {-409190400 25200 0 +07} {-163062000 0 0 -00} - {-28857600 25200 0 DAVT} - {1255806000 18000 0 DAVT} - {1268251200 25200 0 DAVT} - {1319742000 18000 0 DAVT} - {1329854400 25200 0 DAVT} + {-28857600 25200 0 +07} + {1255806000 18000 0 +05} + {1268251200 25200 0 +07} + {1319742000 18000 0 +05} + {1329854400 25200 0 +07} } diff --git a/library/tzdata/Antarctica/DumontDUrville b/library/tzdata/Antarctica/DumontDUrville index 8d21d45..f734aed 100644 --- a/library/tzdata/Antarctica/DumontDUrville +++ b/library/tzdata/Antarctica/DumontDUrville @@ -2,7 +2,7 @@ set TZData(:Antarctica/DumontDUrville) { {-9223372036854775808 0 0 -00} - {-725846400 36000 0 PMT} + {-725846400 36000 0 +10} {-566992800 0 0 -00} - {-415497600 36000 0 DDUT} + {-415497600 36000 0 +10} } diff --git a/library/tzdata/Antarctica/Mawson b/library/tzdata/Antarctica/Mawson index e50aa07..4828b1a 100644 --- a/library/tzdata/Antarctica/Mawson +++ b/library/tzdata/Antarctica/Mawson @@ -2,6 +2,6 @@ set TZData(:Antarctica/Mawson) { {-9223372036854775808 0 0 -00} - {-501206400 21600 0 MAWT} - {1255809600 18000 0 MAWT} + {-501206400 21600 0 +06} + {1255809600 18000 0 +05} } diff --git a/library/tzdata/Antarctica/Rothera b/library/tzdata/Antarctica/Rothera index 3a219c7..7f0134f 100644 --- a/library/tzdata/Antarctica/Rothera +++ b/library/tzdata/Antarctica/Rothera @@ -2,5 +2,5 @@ set TZData(:Antarctica/Rothera) { {-9223372036854775808 0 0 -00} - {218246400 -10800 0 ROTT} + {218246400 -10800 0 -03} } diff --git a/library/tzdata/Antarctica/Syowa b/library/tzdata/Antarctica/Syowa index 1fe030a..a44dd5c 100644 --- a/library/tzdata/Antarctica/Syowa +++ b/library/tzdata/Antarctica/Syowa @@ -2,5 +2,5 @@ set TZData(:Antarctica/Syowa) { {-9223372036854775808 0 0 -00} - {-407808000 10800 0 SYOT} + {-407808000 10800 0 +03} } diff --git a/library/tzdata/Antarctica/Troll b/library/tzdata/Antarctica/Troll index 09727a8..fe44578 100644 --- a/library/tzdata/Antarctica/Troll +++ b/library/tzdata/Antarctica/Troll @@ -2,195 +2,195 @@ set TZData(:Antarctica/Troll) { {-9223372036854775808 0 0 -00} - {1108166400 0 0 UTC} - {1111885200 7200 1 CEST} - {1130634000 0 0 UTC} - {1143334800 7200 1 CEST} - {1162083600 0 0 UTC} - {1174784400 7200 1 CEST} - {1193533200 0 0 UTC} - {1206838800 7200 1 CEST} - {1224982800 0 0 UTC} - {1238288400 7200 1 CEST} - {1256432400 0 0 UTC} - {1269738000 7200 1 CEST} - {1288486800 0 0 UTC} - {1301187600 7200 1 CEST} - {1319936400 0 0 UTC} - {1332637200 7200 1 CEST} - {1351386000 0 0 UTC} - {1364691600 7200 1 CEST} - {1382835600 0 0 UTC} - {1396141200 7200 1 CEST} - {1414285200 0 0 UTC} - {1427590800 7200 1 CEST} - {1445734800 0 0 UTC} - {1459040400 7200 1 CEST} - {1477789200 0 0 UTC} - {1490490000 7200 1 CEST} - {1509238800 0 0 UTC} - {1521939600 7200 1 CEST} - {1540688400 0 0 UTC} - {1553994000 7200 1 CEST} - {1572138000 0 0 UTC} - {1585443600 7200 1 CEST} - {1603587600 0 0 UTC} - {1616893200 7200 1 CEST} - {1635642000 0 0 UTC} - {1648342800 7200 1 CEST} - {1667091600 0 0 UTC} - {1679792400 7200 1 CEST} - {1698541200 0 0 UTC} - {1711846800 7200 1 CEST} - {1729990800 0 0 UTC} - {1743296400 7200 1 CEST} - {1761440400 0 0 UTC} - {1774746000 7200 1 CEST} - {1792890000 0 0 UTC} - {1806195600 7200 1 CEST} - {1824944400 0 0 UTC} - {1837645200 7200 1 CEST} - {1856394000 0 0 UTC} - {1869094800 7200 1 CEST} - {1887843600 0 0 UTC} - {1901149200 7200 1 CEST} - {1919293200 0 0 UTC} - {1932598800 7200 1 CEST} - {1950742800 0 0 UTC} - {1964048400 7200 1 CEST} - {1982797200 0 0 UTC} - {1995498000 7200 1 CEST} - {2014246800 0 0 UTC} - {2026947600 7200 1 CEST} - {2045696400 0 0 UTC} - {2058397200 7200 1 CEST} - {2077146000 0 0 UTC} - {2090451600 7200 1 CEST} - {2108595600 0 0 UTC} - {2121901200 7200 1 CEST} - {2140045200 0 0 UTC} - {2153350800 7200 1 CEST} - {2172099600 0 0 UTC} - {2184800400 7200 1 CEST} - {2203549200 0 0 UTC} - {2216250000 7200 1 CEST} - {2234998800 0 0 UTC} - {2248304400 7200 1 CEST} - {2266448400 0 0 UTC} - {2279754000 7200 1 CEST} - {2297898000 0 0 UTC} - {2311203600 7200 1 CEST} - {2329347600 0 0 UTC} - {2342653200 7200 1 CEST} - {2361402000 0 0 UTC} - {2374102800 7200 1 CEST} - {2392851600 0 0 UTC} - {2405552400 7200 1 CEST} - {2424301200 0 0 UTC} - {2437606800 7200 1 CEST} - {2455750800 0 0 UTC} - {2469056400 7200 1 CEST} - {2487200400 0 0 UTC} - {2500506000 7200 1 CEST} - {2519254800 0 0 UTC} - {2531955600 7200 1 CEST} - {2550704400 0 0 UTC} - {2563405200 7200 1 CEST} - {2582154000 0 0 UTC} - {2595459600 7200 1 CEST} - {2613603600 0 0 UTC} - {2626909200 7200 1 CEST} - {2645053200 0 0 UTC} - {2658358800 7200 1 CEST} - {2676502800 0 0 UTC} - {2689808400 7200 1 CEST} - {2708557200 0 0 UTC} - {2721258000 7200 1 CEST} - {2740006800 0 0 UTC} - {2752707600 7200 1 CEST} - {2771456400 0 0 UTC} - {2784762000 7200 1 CEST} - {2802906000 0 0 UTC} - {2816211600 7200 1 CEST} - {2834355600 0 0 UTC} - {2847661200 7200 1 CEST} - {2866410000 0 0 UTC} - {2879110800 7200 1 CEST} - {2897859600 0 0 UTC} - {2910560400 7200 1 CEST} - {2929309200 0 0 UTC} - {2942010000 7200 1 CEST} - {2960758800 0 0 UTC} - {2974064400 7200 1 CEST} - {2992208400 0 0 UTC} - {3005514000 7200 1 CEST} - {3023658000 0 0 UTC} - {3036963600 7200 1 CEST} - {3055712400 0 0 UTC} - {3068413200 7200 1 CEST} - {3087162000 0 0 UTC} - {3099862800 7200 1 CEST} - {3118611600 0 0 UTC} - {3131917200 7200 1 CEST} - {3150061200 0 0 UTC} - {3163366800 7200 1 CEST} - {3181510800 0 0 UTC} - {3194816400 7200 1 CEST} - {3212960400 0 0 UTC} - {3226266000 7200 1 CEST} - {3245014800 0 0 UTC} - {3257715600 7200 1 CEST} - {3276464400 0 0 UTC} - {3289165200 7200 1 CEST} - {3307914000 0 0 UTC} - {3321219600 7200 1 CEST} - {3339363600 0 0 UTC} - {3352669200 7200 1 CEST} - {3370813200 0 0 UTC} - {3384118800 7200 1 CEST} - {3402867600 0 0 UTC} - {3415568400 7200 1 CEST} - {3434317200 0 0 UTC} - {3447018000 7200 1 CEST} - {3465766800 0 0 UTC} - {3479072400 7200 1 CEST} - {3497216400 0 0 UTC} - {3510522000 7200 1 CEST} - {3528666000 0 0 UTC} - {3541971600 7200 1 CEST} - {3560115600 0 0 UTC} - {3573421200 7200 1 CEST} - {3592170000 0 0 UTC} - {3604870800 7200 1 CEST} - {3623619600 0 0 UTC} - {3636320400 7200 1 CEST} - {3655069200 0 0 UTC} - {3668374800 7200 1 CEST} - {3686518800 0 0 UTC} - {3699824400 7200 1 CEST} - {3717968400 0 0 UTC} - {3731274000 7200 1 CEST} - {3750022800 0 0 UTC} - {3762723600 7200 1 CEST} - {3781472400 0 0 UTC} - {3794173200 7200 1 CEST} - {3812922000 0 0 UTC} - {3825622800 7200 1 CEST} - {3844371600 0 0 UTC} - {3857677200 7200 1 CEST} - {3875821200 0 0 UTC} - {3889126800 7200 1 CEST} - {3907270800 0 0 UTC} - {3920576400 7200 1 CEST} - {3939325200 0 0 UTC} - {3952026000 7200 1 CEST} - {3970774800 0 0 UTC} - {3983475600 7200 1 CEST} - {4002224400 0 0 UTC} - {4015530000 7200 1 CEST} - {4033674000 0 0 UTC} - {4046979600 7200 1 CEST} - {4065123600 0 0 UTC} - {4078429200 7200 1 CEST} - {4096573200 0 0 UTC} + {1108166400 0 0 +00} + {1111885200 7200 1 +02} + {1130634000 0 0 +00} + {1143334800 7200 1 +02} + {1162083600 0 0 +00} + {1174784400 7200 1 +02} + {1193533200 0 0 +00} + {1206838800 7200 1 +02} + {1224982800 0 0 +00} + {1238288400 7200 1 +02} + {1256432400 0 0 +00} + {1269738000 7200 1 +02} + {1288486800 0 0 +00} + {1301187600 7200 1 +02} + {1319936400 0 0 +00} + {1332637200 7200 1 +02} + {1351386000 0 0 +00} + {1364691600 7200 1 +02} + {1382835600 0 0 +00} + {1396141200 7200 1 +02} + {1414285200 0 0 +00} + {1427590800 7200 1 +02} + {1445734800 0 0 +00} + {1459040400 7200 1 +02} + {1477789200 0 0 +00} + {1490490000 7200 1 +02} + {1509238800 0 0 +00} + {1521939600 7200 1 +02} + {1540688400 0 0 +00} + {1553994000 7200 1 +02} + {1572138000 0 0 +00} + {1585443600 7200 1 +02} + {1603587600 0 0 +00} + {1616893200 7200 1 +02} + {1635642000 0 0 +00} + {1648342800 7200 1 +02} + {1667091600 0 0 +00} + {1679792400 7200 1 +02} + {1698541200 0 0 +00} + {1711846800 7200 1 +02} + {1729990800 0 0 +00} + {1743296400 7200 1 +02} + {1761440400 0 0 +00} + {1774746000 7200 1 +02} + {1792890000 0 0 +00} + {1806195600 7200 1 +02} + {1824944400 0 0 +00} + {1837645200 7200 1 +02} + {1856394000 0 0 +00} + {1869094800 7200 1 +02} + {1887843600 0 0 +00} + {1901149200 7200 1 +02} + {1919293200 0 0 +00} + {1932598800 7200 1 +02} + {1950742800 0 0 +00} + {1964048400 7200 1 +02} + {1982797200 0 0 +00} + {1995498000 7200 1 +02} + {2014246800 0 0 +00} + {2026947600 7200 1 +02} + {2045696400 0 0 +00} + {2058397200 7200 1 +02} + {2077146000 0 0 +00} + {2090451600 7200 1 +02} + {2108595600 0 0 +00} + {2121901200 7200 1 +02} + {2140045200 0 0 +00} + {2153350800 7200 1 +02} + {2172099600 0 0 +00} + {2184800400 7200 1 +02} + {2203549200 0 0 +00} + {2216250000 7200 1 +02} + {2234998800 0 0 +00} + {2248304400 7200 1 +02} + {2266448400 0 0 +00} + {2279754000 7200 1 +02} + {2297898000 0 0 +00} + {2311203600 7200 1 +02} + {2329347600 0 0 +00} + {2342653200 7200 1 +02} + {2361402000 0 0 +00} + {2374102800 7200 1 +02} + {2392851600 0 0 +00} + {2405552400 7200 1 +02} + {2424301200 0 0 +00} + {2437606800 7200 1 +02} + {2455750800 0 0 +00} + {2469056400 7200 1 +02} + {2487200400 0 0 +00} + {2500506000 7200 1 +02} + {2519254800 0 0 +00} + {2531955600 7200 1 +02} + {2550704400 0 0 +00} + {2563405200 7200 1 +02} + {2582154000 0 0 +00} + {2595459600 7200 1 +02} + {2613603600 0 0 +00} + {2626909200 7200 1 +02} + {2645053200 0 0 +00} + {2658358800 7200 1 +02} + {2676502800 0 0 +00} + {2689808400 7200 1 +02} + {2708557200 0 0 +00} + {2721258000 7200 1 +02} + {2740006800 0 0 +00} + {2752707600 7200 1 +02} + {2771456400 0 0 +00} + {2784762000 7200 1 +02} + {2802906000 0 0 +00} + {2816211600 7200 1 +02} + {2834355600 0 0 +00} + {2847661200 7200 1 +02} + {2866410000 0 0 +00} + {2879110800 7200 1 +02} + {2897859600 0 0 +00} + {2910560400 7200 1 +02} + {2929309200 0 0 +00} + {2942010000 7200 1 +02} + {2960758800 0 0 +00} + {2974064400 7200 1 +02} + {2992208400 0 0 +00} + {3005514000 7200 1 +02} + {3023658000 0 0 +00} + {3036963600 7200 1 +02} + {3055712400 0 0 +00} + {3068413200 7200 1 +02} + {3087162000 0 0 +00} + {3099862800 7200 1 +02} + {3118611600 0 0 +00} + {3131917200 7200 1 +02} + {3150061200 0 0 +00} + {3163366800 7200 1 +02} + {3181510800 0 0 +00} + {3194816400 7200 1 +02} + {3212960400 0 0 +00} + {3226266000 7200 1 +02} + {3245014800 0 0 +00} + {3257715600 7200 1 +02} + {3276464400 0 0 +00} + {3289165200 7200 1 +02} + {3307914000 0 0 +00} + {3321219600 7200 1 +02} + {3339363600 0 0 +00} + {3352669200 7200 1 +02} + {3370813200 0 0 +00} + {3384118800 7200 1 +02} + {3402867600 0 0 +00} + {3415568400 7200 1 +02} + {3434317200 0 0 +00} + {3447018000 7200 1 +02} + {3465766800 0 0 +00} + {3479072400 7200 1 +02} + {3497216400 0 0 +00} + {3510522000 7200 1 +02} + {3528666000 0 0 +00} + {3541971600 7200 1 +02} + {3560115600 0 0 +00} + {3573421200 7200 1 +02} + {3592170000 0 0 +00} + {3604870800 7200 1 +02} + {3623619600 0 0 +00} + {3636320400 7200 1 +02} + {3655069200 0 0 +00} + {3668374800 7200 1 +02} + {3686518800 0 0 +00} + {3699824400 7200 1 +02} + {3717968400 0 0 +00} + {3731274000 7200 1 +02} + {3750022800 0 0 +00} + {3762723600 7200 1 +02} + {3781472400 0 0 +00} + {3794173200 7200 1 +02} + {3812922000 0 0 +00} + {3825622800 7200 1 +02} + {3844371600 0 0 +00} + {3857677200 7200 1 +02} + {3875821200 0 0 +00} + {3889126800 7200 1 +02} + {3907270800 0 0 +00} + {3920576400 7200 1 +02} + {3939325200 0 0 +00} + {3952026000 7200 1 +02} + {3970774800 0 0 +00} + {3983475600 7200 1 +02} + {4002224400 0 0 +00} + {4015530000 7200 1 +02} + {4033674000 0 0 +00} + {4046979600 7200 1 +02} + {4065123600 0 0 +00} + {4078429200 7200 1 +02} + {4096573200 0 0 +00} } diff --git a/library/tzdata/Antarctica/Vostok b/library/tzdata/Antarctica/Vostok index a59868b..7f345a2 100644 --- a/library/tzdata/Antarctica/Vostok +++ b/library/tzdata/Antarctica/Vostok @@ -2,5 +2,5 @@ set TZData(:Antarctica/Vostok) { {-9223372036854775808 0 0 -00} - {-380073600 21600 0 VOST} + {-380073600 21600 0 +06} } diff --git a/library/tzdata/Asia/Anadyr b/library/tzdata/Asia/Anadyr index 2e8ffc7..d1314c6 100644 --- a/library/tzdata/Asia/Anadyr +++ b/library/tzdata/Asia/Anadyr @@ -2,71 +2,71 @@ set TZData(:Asia/Anadyr) { {-9223372036854775808 42596 0 LMT} - {-1441194596 43200 0 ANAT} - {-1247572800 46800 0 ANAMMTT} - {354884400 50400 1 ANAST} - {370692000 46800 0 ANAT} - {386420400 43200 0 ANAMMTT} - {386424000 46800 1 ANAST} - {402231600 43200 0 ANAT} - {417960000 46800 1 ANAST} - {433767600 43200 0 ANAT} - {449582400 46800 1 ANAST} - {465314400 43200 0 ANAT} - {481039200 46800 1 ANAST} - {496764000 43200 0 ANAT} - {512488800 46800 1 ANAST} - {528213600 43200 0 ANAT} - {543938400 46800 1 ANAST} - {559663200 43200 0 ANAT} - {575388000 46800 1 ANAST} - {591112800 43200 0 ANAT} - {606837600 46800 1 ANAST} - {622562400 43200 0 ANAT} - {638287200 46800 1 ANAST} - {654616800 43200 0 ANAT} - {670341600 39600 0 ANAMMTT} - {670345200 43200 1 ANAST} - {686070000 39600 0 ANAT} - {695746800 43200 0 ANAMMTT} - {701791200 46800 1 ANAST} - {717516000 43200 0 ANAT} - {733240800 46800 1 ANAST} - {748965600 43200 0 ANAT} - {764690400 46800 1 ANAST} - {780415200 43200 0 ANAT} - {796140000 46800 1 ANAST} - {811864800 43200 0 ANAT} - {828194400 46800 1 ANAST} - {846338400 43200 0 ANAT} - {859644000 46800 1 ANAST} - {877788000 43200 0 ANAT} - {891093600 46800 1 ANAST} - {909237600 43200 0 ANAT} - {922543200 46800 1 ANAST} - {941292000 43200 0 ANAT} - {953992800 46800 1 ANAST} - {972741600 43200 0 ANAT} - {985442400 46800 1 ANAST} - {1004191200 43200 0 ANAT} - {1017496800 46800 1 ANAST} - {1035640800 43200 0 ANAT} - {1048946400 46800 1 ANAST} - {1067090400 43200 0 ANAT} - {1080396000 46800 1 ANAST} - {1099144800 43200 0 ANAT} - {1111845600 46800 1 ANAST} - {1130594400 43200 0 ANAT} - {1143295200 46800 1 ANAST} - {1162044000 43200 0 ANAT} - {1174744800 46800 1 ANAST} - {1193493600 43200 0 ANAT} - {1206799200 46800 1 ANAST} - {1224943200 43200 0 ANAT} - {1238248800 46800 1 ANAST} - {1256392800 43200 0 ANAT} - {1269698400 39600 0 ANAMMTT} - {1269702000 43200 1 ANAST} - {1288450800 39600 0 ANAT} - {1301151600 43200 0 ANAT} + {-1441194596 43200 0 +12} + {-1247572800 46800 0 +14} + {354884400 50400 1 +14} + {370692000 46800 0 +13} + {386420400 43200 0 +13} + {386424000 46800 1 +13} + {402231600 43200 0 +12} + {417960000 46800 1 +13} + {433767600 43200 0 +12} + {449582400 46800 1 +13} + {465314400 43200 0 +12} + {481039200 46800 1 +13} + {496764000 43200 0 +12} + {512488800 46800 1 +13} + {528213600 43200 0 +12} + {543938400 46800 1 +13} + {559663200 43200 0 +12} + {575388000 46800 1 +13} + {591112800 43200 0 +12} + {606837600 46800 1 +13} + {622562400 43200 0 +12} + {638287200 46800 1 +13} + {654616800 43200 0 +12} + {670341600 39600 0 +12} + {670345200 43200 1 +12} + {686070000 39600 0 +11} + {695746800 43200 0 +13} + {701791200 46800 1 +13} + {717516000 43200 0 +12} + {733240800 46800 1 +13} + {748965600 43200 0 +12} + {764690400 46800 1 +13} + {780415200 43200 0 +12} + {796140000 46800 1 +13} + {811864800 43200 0 +12} + {828194400 46800 1 +13} + {846338400 43200 0 +12} + {859644000 46800 1 +13} + {877788000 43200 0 +12} + {891093600 46800 1 +13} + {909237600 43200 0 +12} + {922543200 46800 1 +13} + {941292000 43200 0 +12} + {953992800 46800 1 +13} + {972741600 43200 0 +12} + {985442400 46800 1 +13} + {1004191200 43200 0 +12} + {1017496800 46800 1 +13} + {1035640800 43200 0 +12} + {1048946400 46800 1 +13} + {1067090400 43200 0 +12} + {1080396000 46800 1 +13} + {1099144800 43200 0 +12} + {1111845600 46800 1 +13} + {1130594400 43200 0 +12} + {1143295200 46800 1 +13} + {1162044000 43200 0 +12} + {1174744800 46800 1 +13} + {1193493600 43200 0 +12} + {1206799200 46800 1 +13} + {1224943200 43200 0 +12} + {1238248800 46800 1 +13} + {1256392800 43200 0 +12} + {1269698400 39600 0 +12} + {1269702000 43200 1 +12} + {1288450800 39600 0 +11} + {1301151600 43200 0 +12} } diff --git a/library/tzdata/Asia/Ashgabat b/library/tzdata/Asia/Ashgabat index 64bdb3a..fa6a619 100644 --- a/library/tzdata/Asia/Ashgabat +++ b/library/tzdata/Asia/Ashgabat @@ -2,30 +2,30 @@ set TZData(:Asia/Ashgabat) { {-9223372036854775808 14012 0 LMT} - {-1441166012 14400 0 ASHT} - {-1247544000 18000 0 ASHT} - {354913200 21600 1 ASHST} - {370720800 18000 0 ASHT} - {386449200 21600 1 ASHST} - {402256800 18000 0 ASHT} - {417985200 21600 1 ASHST} - {433792800 18000 0 ASHT} - {449607600 21600 1 ASHST} - {465339600 18000 0 ASHT} - {481064400 21600 1 ASHST} - {496789200 18000 0 ASHT} - {512514000 21600 1 ASHST} - {528238800 18000 0 ASHT} - {543963600 21600 1 ASHST} - {559688400 18000 0 ASHT} - {575413200 21600 1 ASHST} - {591138000 18000 0 ASHT} - {606862800 21600 1 ASHST} - {622587600 18000 0 ASHT} - {638312400 21600 1 ASHST} - {654642000 18000 0 ASHT} - {670366800 14400 0 ASHT} - {670370400 18000 1 ASHST} - {686095200 14400 0 ASHT} - {695772000 18000 0 TMT} + {-1441166012 14400 0 +04} + {-1247544000 18000 0 +05} + {354913200 21600 1 +06} + {370720800 18000 0 +05} + {386449200 21600 1 +06} + {402256800 18000 0 +05} + {417985200 21600 1 +06} + {433792800 18000 0 +05} + {449607600 21600 1 +06} + {465339600 18000 0 +05} + {481064400 21600 1 +06} + {496789200 18000 0 +05} + {512514000 21600 1 +06} + {528238800 18000 0 +05} + {543963600 21600 1 +06} + {559688400 18000 0 +05} + {575413200 21600 1 +06} + {591138000 18000 0 +05} + {606862800 21600 1 +06} + {622587600 18000 0 +05} + {638312400 21600 1 +06} + {654642000 18000 0 +05} + {670366800 14400 0 +04} + {670370400 18000 1 +05} + {686095200 14400 0 +04} + {695772000 18000 0 +05} } diff --git a/library/tzdata/Asia/Baku b/library/tzdata/Asia/Baku index e9ee835..f945b89 100644 --- a/library/tzdata/Asia/Baku +++ b/library/tzdata/Asia/Baku @@ -2,73 +2,73 @@ set TZData(:Asia/Baku) { {-9223372036854775808 11964 0 LMT} - {-1441163964 10800 0 BAKT} - {-405140400 14400 0 BAKT} - {354916800 18000 1 BAKST} - {370724400 14400 0 BAKT} - {386452800 18000 1 BAKST} - {402260400 14400 0 BAKT} - {417988800 18000 1 BAKST} - {433796400 14400 0 BAKT} - {449611200 18000 1 BAKST} - {465343200 14400 0 BAKT} - {481068000 18000 1 BAKST} - {496792800 14400 0 BAKT} - {512517600 18000 1 BAKST} - {528242400 14400 0 BAKT} - {543967200 18000 1 BAKST} - {559692000 14400 0 BAKT} - {575416800 18000 1 BAKST} - {591141600 14400 0 BAKT} - {606866400 18000 1 BAKST} - {622591200 14400 0 BAKT} - {638316000 18000 1 BAKST} - {654645600 14400 0 BAKT} - {670370400 14400 1 BAKST} - {683496000 14400 0 AZST} - {686098800 10800 0 AZT} - {701823600 14400 1 AZST} - {717548400 14400 0 AZT} - {820440000 14400 0 AZT} - {828234000 18000 1 AZST} - {846378000 14400 0 AZT} - {852062400 14400 0 AZT} - {859680000 18000 1 AZST} - {877824000 14400 0 AZT} - {891129600 18000 1 AZST} - {909273600 14400 0 AZT} - {922579200 18000 1 AZST} - {941328000 14400 0 AZT} - {954028800 18000 1 AZST} - {972777600 14400 0 AZT} - {985478400 18000 1 AZST} - {1004227200 14400 0 AZT} - {1017532800 18000 1 AZST} - {1035676800 14400 0 AZT} - {1048982400 18000 1 AZST} - {1067126400 14400 0 AZT} - {1080432000 18000 1 AZST} - {1099180800 14400 0 AZT} - {1111881600 18000 1 AZST} - {1130630400 14400 0 AZT} - {1143331200 18000 1 AZST} - {1162080000 14400 0 AZT} - {1174780800 18000 1 AZST} - {1193529600 14400 0 AZT} - {1206835200 18000 1 AZST} - {1224979200 14400 0 AZT} - {1238284800 18000 1 AZST} - {1256428800 14400 0 AZT} - {1269734400 18000 1 AZST} - {1288483200 14400 0 AZT} - {1301184000 18000 1 AZST} - {1319932800 14400 0 AZT} - {1332633600 18000 1 AZST} - {1351382400 14400 0 AZT} - {1364688000 18000 1 AZST} - {1382832000 14400 0 AZT} - {1396137600 18000 1 AZST} - {1414281600 14400 0 AZT} - {1427587200 18000 1 AZST} - {1445731200 14400 0 AZT} + {-1441163964 10800 0 +03} + {-405140400 14400 0 +04} + {354916800 18000 1 +05} + {370724400 14400 0 +04} + {386452800 18000 1 +05} + {402260400 14400 0 +04} + {417988800 18000 1 +05} + {433796400 14400 0 +04} + {449611200 18000 1 +05} + {465343200 14400 0 +04} + {481068000 18000 1 +05} + {496792800 14400 0 +04} + {512517600 18000 1 +05} + {528242400 14400 0 +04} + {543967200 18000 1 +05} + {559692000 14400 0 +04} + {575416800 18000 1 +05} + {591141600 14400 0 +04} + {606866400 18000 1 +05} + {622591200 14400 0 +04} + {638316000 18000 1 +05} + {654645600 14400 0 +04} + {670370400 10800 0 +03} + {670374000 14400 1 +04} + {686098800 10800 0 +03} + {701823600 14400 1 +04} + {717548400 14400 0 +04} + {820440000 14400 0 +04} + {828234000 18000 1 +05} + {846378000 14400 0 +04} + {852062400 14400 0 +04} + {859680000 18000 1 +05} + {877824000 14400 0 +04} + {891129600 18000 1 +05} + {909273600 14400 0 +04} + {922579200 18000 1 +05} + {941328000 14400 0 +04} + {954028800 18000 1 +05} + {972777600 14400 0 +04} + {985478400 18000 1 +05} + {1004227200 14400 0 +04} + {1017532800 18000 1 +05} + {1035676800 14400 0 +04} + {1048982400 18000 1 +05} + {1067126400 14400 0 +04} + {1080432000 18000 1 +05} + {1099180800 14400 0 +04} + {1111881600 18000 1 +05} + {1130630400 14400 0 +04} + {1143331200 18000 1 +05} + {1162080000 14400 0 +04} + {1174780800 18000 1 +05} + {1193529600 14400 0 +04} + {1206835200 18000 1 +05} + {1224979200 14400 0 +04} + {1238284800 18000 1 +05} + {1256428800 14400 0 +04} + {1269734400 18000 1 +05} + {1288483200 14400 0 +04} + {1301184000 18000 1 +05} + {1319932800 14400 0 +04} + {1332633600 18000 1 +05} + {1351382400 14400 0 +04} + {1364688000 18000 1 +05} + {1382832000 14400 0 +04} + {1396137600 18000 1 +05} + {1414281600 14400 0 +04} + {1427587200 18000 1 +05} + {1445731200 14400 0 +04} } diff --git a/library/tzdata/Asia/Bishkek b/library/tzdata/Asia/Bishkek index 6ba3896..a02d789 100644 --- a/library/tzdata/Asia/Bishkek +++ b/library/tzdata/Asia/Bishkek @@ -2,56 +2,57 @@ set TZData(:Asia/Bishkek) { {-9223372036854775808 17904 0 LMT} - {-1441169904 18000 0 FRUT} - {-1247547600 21600 0 FRUT} - {354909600 25200 1 FRUST} - {370717200 21600 0 FRUT} - {386445600 25200 1 FRUST} - {402253200 21600 0 FRUT} - {417981600 25200 1 FRUST} - {433789200 21600 0 FRUT} - {449604000 25200 1 FRUST} - {465336000 21600 0 FRUT} - {481060800 25200 1 FRUST} - {496785600 21600 0 FRUT} - {512510400 25200 1 FRUST} - {528235200 21600 0 FRUT} - {543960000 25200 1 FRUST} - {559684800 21600 0 FRUT} - {575409600 25200 1 FRUST} - {591134400 21600 0 FRUT} - {606859200 25200 1 FRUST} - {622584000 21600 0 FRUT} - {638308800 25200 1 FRUST} - {654638400 21600 0 FRUT} - {670363200 21600 1 FRUST} - {683582400 21600 0 KGT} - {703018800 21600 1 KGST} - {717530400 18000 0 KGT} - {734468400 21600 1 KGST} - {748980000 18000 0 KGT} - {765918000 21600 1 KGST} - {780429600 18000 0 KGT} - {797367600 21600 1 KGST} - {811879200 18000 0 KGT} - {828817200 21600 1 KGST} - {843933600 18000 0 KGT} - {859671000 21600 1 KGST} - {877811400 18000 0 KGT} - {891120600 21600 1 KGST} - {909261000 18000 0 KGT} - {922570200 21600 1 KGST} - {941315400 18000 0 KGT} - {954019800 21600 1 KGST} - {972765000 18000 0 KGT} - {985469400 21600 1 KGST} - {1004214600 18000 0 KGT} - {1017523800 21600 1 KGST} - {1035664200 18000 0 KGT} - {1048973400 21600 1 KGST} - {1067113800 18000 0 KGT} - {1080423000 21600 1 KGST} - {1099168200 18000 0 KGT} - {1111872600 21600 1 KGST} - {1123783200 21600 0 KGT} + {-1441169904 18000 0 +05} + {-1247547600 21600 0 +06} + {354909600 25200 1 +07} + {370717200 21600 0 +06} + {386445600 25200 1 +07} + {402253200 21600 0 +06} + {417981600 25200 1 +07} + {433789200 21600 0 +06} + {449604000 25200 1 +07} + {465336000 21600 0 +06} + {481060800 25200 1 +07} + {496785600 21600 0 +06} + {512510400 25200 1 +07} + {528235200 21600 0 +06} + {543960000 25200 1 +07} + {559684800 21600 0 +06} + {575409600 25200 1 +07} + {591134400 21600 0 +06} + {606859200 25200 1 +07} + {622584000 21600 0 +06} + {638308800 25200 1 +07} + {654638400 21600 0 +06} + {670363200 18000 0 +05} + {670366800 21600 1 +06} + {683586000 18000 0 +05} + {703018800 21600 1 +06} + {717530400 18000 0 +05} + {734468400 21600 1 +06} + {748980000 18000 0 +05} + {765918000 21600 1 +06} + {780429600 18000 0 +05} + {797367600 21600 1 +06} + {811879200 18000 0 +05} + {828817200 21600 1 +06} + {843933600 18000 0 +05} + {859671000 21600 1 +06} + {877811400 18000 0 +05} + {891120600 21600 1 +06} + {909261000 18000 0 +05} + {922570200 21600 1 +06} + {941315400 18000 0 +05} + {954019800 21600 1 +06} + {972765000 18000 0 +05} + {985469400 21600 1 +06} + {1004214600 18000 0 +05} + {1017523800 21600 1 +06} + {1035664200 18000 0 +05} + {1048973400 21600 1 +06} + {1067113800 18000 0 +05} + {1080423000 21600 1 +06} + {1099168200 18000 0 +05} + {1111872600 21600 1 +06} + {1123783200 21600 0 +06} } diff --git a/library/tzdata/Asia/Chita b/library/tzdata/Asia/Chita index 2517beb..279c016 100644 --- a/library/tzdata/Asia/Chita +++ b/library/tzdata/Asia/Chita @@ -2,71 +2,71 @@ set TZData(:Asia/Chita) { {-9223372036854775808 27232 0 LMT} - {-1579419232 28800 0 YAKT} - {-1247558400 32400 0 YAKMMTT} - {354898800 36000 1 YAKST} - {370706400 32400 0 YAKT} - {386434800 36000 1 YAKST} - {402242400 32400 0 YAKT} - {417970800 36000 1 YAKST} - {433778400 32400 0 YAKT} - {449593200 36000 1 YAKST} - {465325200 32400 0 YAKT} - {481050000 36000 1 YAKST} - {496774800 32400 0 YAKT} - {512499600 36000 1 YAKST} - {528224400 32400 0 YAKT} - {543949200 36000 1 YAKST} - {559674000 32400 0 YAKT} - {575398800 36000 1 YAKST} - {591123600 32400 0 YAKT} - {606848400 36000 1 YAKST} - {622573200 32400 0 YAKT} - {638298000 36000 1 YAKST} - {654627600 32400 0 YAKT} - {670352400 28800 0 YAKMMTT} - {670356000 32400 1 YAKST} - {686080800 28800 0 YAKT} - {695757600 32400 0 YAKMMTT} - {701802000 36000 1 YAKST} - {717526800 32400 0 YAKT} - {733251600 36000 1 YAKST} - {748976400 32400 0 YAKT} - {764701200 36000 1 YAKST} - {780426000 32400 0 YAKT} - {796150800 36000 1 YAKST} - {811875600 32400 0 YAKT} - {828205200 36000 1 YAKST} - {846349200 32400 0 YAKT} - {859654800 36000 1 YAKST} - {877798800 32400 0 YAKT} - {891104400 36000 1 YAKST} - {909248400 32400 0 YAKT} - {922554000 36000 1 YAKST} - {941302800 32400 0 YAKT} - {954003600 36000 1 YAKST} - {972752400 32400 0 YAKT} - {985453200 36000 1 YAKST} - {1004202000 32400 0 YAKT} - {1017507600 36000 1 YAKST} - {1035651600 32400 0 YAKT} - {1048957200 36000 1 YAKST} - {1067101200 32400 0 YAKT} - {1080406800 36000 1 YAKST} - {1099155600 32400 0 YAKT} - {1111856400 36000 1 YAKST} - {1130605200 32400 0 YAKT} - {1143306000 36000 1 YAKST} - {1162054800 32400 0 YAKT} - {1174755600 36000 1 YAKST} - {1193504400 32400 0 YAKT} - {1206810000 36000 1 YAKST} - {1224954000 32400 0 YAKT} - {1238259600 36000 1 YAKST} - {1256403600 32400 0 YAKT} - {1269709200 36000 1 YAKST} - {1288458000 32400 0 YAKT} - {1301158800 36000 0 YAKT} - {1414252800 28800 0 IRKT} - {1459015200 32400 0 YAKT} + {-1579419232 28800 0 +08} + {-1247558400 32400 0 +10} + {354898800 36000 1 +10} + {370706400 32400 0 +09} + {386434800 36000 1 +10} + {402242400 32400 0 +09} + {417970800 36000 1 +10} + {433778400 32400 0 +09} + {449593200 36000 1 +10} + {465325200 32400 0 +09} + {481050000 36000 1 +10} + {496774800 32400 0 +09} + {512499600 36000 1 +10} + {528224400 32400 0 +09} + {543949200 36000 1 +10} + {559674000 32400 0 +09} + {575398800 36000 1 +10} + {591123600 32400 0 +09} + {606848400 36000 1 +10} + {622573200 32400 0 +09} + {638298000 36000 1 +10} + {654627600 32400 0 +09} + {670352400 28800 0 +09} + {670356000 32400 1 +09} + {686080800 28800 0 +08} + {695757600 32400 0 +10} + {701802000 36000 1 +10} + {717526800 32400 0 +09} + {733251600 36000 1 +10} + {748976400 32400 0 +09} + {764701200 36000 1 +10} + {780426000 32400 0 +09} + {796150800 36000 1 +10} + {811875600 32400 0 +09} + {828205200 36000 1 +10} + {846349200 32400 0 +09} + {859654800 36000 1 +10} + {877798800 32400 0 +09} + {891104400 36000 1 +10} + {909248400 32400 0 +09} + {922554000 36000 1 +10} + {941302800 32400 0 +09} + {954003600 36000 1 +10} + {972752400 32400 0 +09} + {985453200 36000 1 +10} + {1004202000 32400 0 +09} + {1017507600 36000 1 +10} + {1035651600 32400 0 +09} + {1048957200 36000 1 +10} + {1067101200 32400 0 +09} + {1080406800 36000 1 +10} + {1099155600 32400 0 +09} + {1111856400 36000 1 +10} + {1130605200 32400 0 +09} + {1143306000 36000 1 +10} + {1162054800 32400 0 +09} + {1174755600 36000 1 +10} + {1193504400 32400 0 +09} + {1206810000 36000 1 +10} + {1224954000 32400 0 +09} + {1238259600 36000 1 +10} + {1256403600 32400 0 +09} + {1269709200 36000 1 +10} + {1288458000 32400 0 +09} + {1301158800 36000 0 +10} + {1414252800 28800 0 +08} + {1459015200 32400 0 +09} } diff --git a/library/tzdata/Asia/Colombo b/library/tzdata/Asia/Colombo index ca7bffc..7a14a9b 100644 --- a/library/tzdata/Asia/Colombo +++ b/library/tzdata/Asia/Colombo @@ -3,11 +3,11 @@ set TZData(:Asia/Colombo) { {-9223372036854775808 19164 0 LMT} {-2840159964 19172 0 MMT} - {-2019705572 19800 0 IST} - {-883287000 21600 1 IHST} - {-862639200 23400 1 IST} - {-764051400 19800 0 IST} - {832962600 23400 0 LKT} - {846266400 21600 0 LKT} - {1145039400 19800 0 IST} + {-2019705572 19800 0 +0530} + {-883287000 21600 1 +06} + {-862639200 23400 1 +0630} + {-764051400 19800 0 +0530} + {832962600 23400 0 +0630} + {846266400 21600 0 +06} + {1145039400 19800 0 +0530} } diff --git a/library/tzdata/Asia/Dushanbe b/library/tzdata/Asia/Dushanbe index 59f8cb6..e9ed132 100644 --- a/library/tzdata/Asia/Dushanbe +++ b/library/tzdata/Asia/Dushanbe @@ -2,28 +2,28 @@ set TZData(:Asia/Dushanbe) { {-9223372036854775808 16512 0 LMT} - {-1441168512 18000 0 DUST} - {-1247547600 21600 0 DUST} - {354909600 25200 1 DUSST} - {370717200 21600 0 DUST} - {386445600 25200 1 DUSST} - {402253200 21600 0 DUST} - {417981600 25200 1 DUSST} - {433789200 21600 0 DUST} - {449604000 25200 1 DUSST} - {465336000 21600 0 DUST} - {481060800 25200 1 DUSST} - {496785600 21600 0 DUST} - {512510400 25200 1 DUSST} - {528235200 21600 0 DUST} - {543960000 25200 1 DUSST} - {559684800 21600 0 DUST} - {575409600 25200 1 DUSST} - {591134400 21600 0 DUST} - {606859200 25200 1 DUSST} - {622584000 21600 0 DUST} - {638308800 25200 1 DUSST} - {654638400 21600 0 DUST} - {670363200 21600 1 DUSST} - {684363600 18000 0 TJT} + {-1441168512 18000 0 +05} + {-1247547600 21600 0 +06} + {354909600 25200 1 +07} + {370717200 21600 0 +06} + {386445600 25200 1 +07} + {402253200 21600 0 +06} + {417981600 25200 1 +07} + {433789200 21600 0 +06} + {449604000 25200 1 +07} + {465336000 21600 0 +06} + {481060800 25200 1 +07} + {496785600 21600 0 +06} + {512510400 25200 1 +07} + {528235200 21600 0 +06} + {543960000 25200 1 +07} + {559684800 21600 0 +06} + {575409600 25200 1 +07} + {591134400 21600 0 +06} + {606859200 25200 1 +07} + {622584000 21600 0 +06} + {638308800 25200 1 +07} + {654638400 21600 0 +06} + {670363200 21600 1 +06} + {684363600 18000 0 +05} } diff --git a/library/tzdata/Asia/Gaza b/library/tzdata/Asia/Gaza index 6adfe6d..ab53317 100644 --- a/library/tzdata/Asia/Gaza +++ b/library/tzdata/Asia/Gaza @@ -108,171 +108,171 @@ set TZData(:Asia/Gaza) { {1427493600 10800 1 EEST} {1445547600 7200 0 EET} {1458946800 10800 1 EEST} - {1476997200 7200 0 EET} + {1477692000 7200 0 EET} {1490396400 10800 1 EEST} - {1509051600 7200 0 EET} + {1509141600 7200 0 EET} {1522450800 10800 1 EEST} - {1540501200 7200 0 EET} + {1540591200 7200 0 EET} {1553900400 10800 1 EEST} - {1571950800 7200 0 EET} + {1572040800 7200 0 EET} {1585350000 10800 1 EEST} - {1603400400 7200 0 EET} + {1604095200 7200 0 EET} {1616799600 10800 1 EEST} - {1634850000 7200 0 EET} + {1635544800 7200 0 EET} {1648249200 10800 1 EEST} - {1666299600 7200 0 EET} + {1666994400 7200 0 EET} {1679698800 10800 1 EEST} - {1698354000 7200 0 EET} + {1698444000 7200 0 EET} {1711753200 10800 1 EEST} - {1729803600 7200 0 EET} + {1729893600 7200 0 EET} {1743202800 10800 1 EEST} - {1761253200 7200 0 EET} + {1761343200 7200 0 EET} {1774652400 10800 1 EEST} - {1792702800 7200 0 EET} + {1793397600 7200 0 EET} {1806102000 10800 1 EEST} - {1824152400 7200 0 EET} + {1824847200 7200 0 EET} {1837551600 10800 1 EEST} - {1856206800 7200 0 EET} + {1856296800 7200 0 EET} {1869606000 10800 1 EEST} - {1887656400 7200 0 EET} + {1887746400 7200 0 EET} {1901055600 10800 1 EEST} - {1919106000 7200 0 EET} + {1919196000 7200 0 EET} {1932505200 10800 1 EEST} - {1950555600 7200 0 EET} + {1950645600 7200 0 EET} {1963954800 10800 1 EEST} - {1982005200 7200 0 EET} + {1982700000 7200 0 EET} {1995404400 10800 1 EEST} - {2013454800 7200 0 EET} + {2014149600 7200 0 EET} {2026854000 10800 1 EEST} - {2045509200 7200 0 EET} + {2045599200 7200 0 EET} {2058908400 10800 1 EEST} - {2076958800 7200 0 EET} + {2077048800 7200 0 EET} {2090358000 10800 1 EEST} - {2108408400 7200 0 EET} + {2108498400 7200 0 EET} {2121807600 10800 1 EEST} - {2139858000 7200 0 EET} + {2140552800 7200 0 EET} {2153257200 10800 1 EEST} - {2171307600 7200 0 EET} + {2172002400 7200 0 EET} {2184706800 10800 1 EEST} - {2202757200 7200 0 EET} + {2203452000 7200 0 EET} {2216761200 10800 1 EEST} - {2234811600 7200 0 EET} + {2234901600 7200 0 EET} {2248210800 10800 1 EEST} - {2266261200 7200 0 EET} + {2266351200 7200 0 EET} {2279660400 10800 1 EEST} - {2297710800 7200 0 EET} + {2297800800 7200 0 EET} {2311110000 10800 1 EEST} - {2329160400 7200 0 EET} + {2329855200 7200 0 EET} {2342559600 10800 1 EEST} - {2360610000 7200 0 EET} + {2361304800 7200 0 EET} {2374009200 10800 1 EEST} - {2392664400 7200 0 EET} + {2392754400 7200 0 EET} {2406063600 10800 1 EEST} - {2424114000 7200 0 EET} + {2424204000 7200 0 EET} {2437513200 10800 1 EEST} - {2455563600 7200 0 EET} + {2455653600 7200 0 EET} {2468962800 10800 1 EEST} - {2487013200 7200 0 EET} + {2487708000 7200 0 EET} {2500412400 10800 1 EEST} - {2518462800 7200 0 EET} + {2519157600 7200 0 EET} {2531862000 10800 1 EEST} - {2549912400 7200 0 EET} + {2550607200 7200 0 EET} {2563311600 10800 1 EEST} - {2581966800 7200 0 EET} + {2582056800 7200 0 EET} {2595366000 10800 1 EEST} - {2613416400 7200 0 EET} + {2613506400 7200 0 EET} {2626815600 10800 1 EEST} - {2644866000 7200 0 EET} + {2644956000 7200 0 EET} {2658265200 10800 1 EEST} - {2676315600 7200 0 EET} + {2677010400 7200 0 EET} {2689714800 10800 1 EEST} - {2707765200 7200 0 EET} + {2708460000 7200 0 EET} {2721164400 10800 1 EEST} - {2739819600 7200 0 EET} + {2739909600 7200 0 EET} {2753218800 10800 1 EEST} - {2771269200 7200 0 EET} + {2771359200 7200 0 EET} {2784668400 10800 1 EEST} - {2802718800 7200 0 EET} + {2802808800 7200 0 EET} {2816118000 10800 1 EEST} - {2834168400 7200 0 EET} + {2834258400 7200 0 EET} {2847567600 10800 1 EEST} - {2865618000 7200 0 EET} + {2866312800 7200 0 EET} {2879017200 10800 1 EEST} - {2897067600 7200 0 EET} + {2897762400 7200 0 EET} {2910466800 10800 1 EEST} - {2929122000 7200 0 EET} + {2929212000 7200 0 EET} {2942521200 10800 1 EEST} - {2960571600 7200 0 EET} + {2960661600 7200 0 EET} {2973970800 10800 1 EEST} - {2992021200 7200 0 EET} + {2992111200 7200 0 EET} {3005420400 10800 1 EEST} - {3023470800 7200 0 EET} + {3024165600 7200 0 EET} {3036870000 10800 1 EEST} - {3054920400 7200 0 EET} + {3055615200 7200 0 EET} {3068319600 10800 1 EEST} - {3086370000 7200 0 EET} + {3087064800 7200 0 EET} {3100374000 10800 1 EEST} - {3118424400 7200 0 EET} + {3118514400 7200 0 EET} {3131823600 10800 1 EEST} - {3149874000 7200 0 EET} + {3149964000 7200 0 EET} {3163273200 10800 1 EEST} - {3181323600 7200 0 EET} + {3181413600 7200 0 EET} {3194722800 10800 1 EEST} - {3212773200 7200 0 EET} + {3213468000 7200 0 EET} {3226172400 10800 1 EEST} - {3244222800 7200 0 EET} + {3244917600 7200 0 EET} {3257622000 10800 1 EEST} - {3276277200 7200 0 EET} + {3276367200 7200 0 EET} {3289676400 10800 1 EEST} - {3307726800 7200 0 EET} + {3307816800 7200 0 EET} {3321126000 10800 1 EEST} - {3339176400 7200 0 EET} + {3339266400 7200 0 EET} {3352575600 10800 1 EEST} - {3370626000 7200 0 EET} + {3371320800 7200 0 EET} {3384025200 10800 1 EEST} - {3402075600 7200 0 EET} + {3402770400 7200 0 EET} {3415474800 10800 1 EEST} - {3433525200 7200 0 EET} + {3434220000 7200 0 EET} {3446924400 10800 1 EEST} - {3465579600 7200 0 EET} + {3465669600 7200 0 EET} {3478978800 10800 1 EEST} - {3497029200 7200 0 EET} + {3497119200 7200 0 EET} {3510428400 10800 1 EEST} - {3528478800 7200 0 EET} + {3528568800 7200 0 EET} {3541878000 10800 1 EEST} - {3559928400 7200 0 EET} + {3560623200 7200 0 EET} {3573327600 10800 1 EEST} - {3591378000 7200 0 EET} + {3592072800 7200 0 EET} {3604777200 10800 1 EEST} - {3623432400 7200 0 EET} + {3623522400 7200 0 EET} {3636831600 10800 1 EEST} - {3654882000 7200 0 EET} + {3654972000 7200 0 EET} {3668281200 10800 1 EEST} - {3686331600 7200 0 EET} + {3686421600 7200 0 EET} {3699730800 10800 1 EEST} - {3717781200 7200 0 EET} + {3717871200 7200 0 EET} {3731180400 10800 1 EEST} - {3749230800 7200 0 EET} + {3749925600 7200 0 EET} {3762630000 10800 1 EEST} - {3780680400 7200 0 EET} + {3781375200 7200 0 EET} {3794079600 10800 1 EEST} - {3812734800 7200 0 EET} + {3812824800 7200 0 EET} {3826134000 10800 1 EEST} - {3844184400 7200 0 EET} + {3844274400 7200 0 EET} {3857583600 10800 1 EEST} - {3875634000 7200 0 EET} + {3875724000 7200 0 EET} {3889033200 10800 1 EEST} - {3907083600 7200 0 EET} + {3907778400 7200 0 EET} {3920482800 10800 1 EEST} - {3938533200 7200 0 EET} + {3939228000 7200 0 EET} {3951932400 10800 1 EEST} - {3969982800 7200 0 EET} + {3970677600 7200 0 EET} {3983986800 10800 1 EEST} - {4002037200 7200 0 EET} + {4002127200 7200 0 EET} {4015436400 10800 1 EEST} - {4033486800 7200 0 EET} + {4033576800 7200 0 EET} {4046886000 10800 1 EEST} - {4064936400 7200 0 EET} + {4065026400 7200 0 EET} {4078335600 10800 1 EEST} - {4096386000 7200 0 EET} + {4097080800 7200 0 EET} } diff --git a/library/tzdata/Asia/Hebron b/library/tzdata/Asia/Hebron index 2db45f2..c9f94f2 100644 --- a/library/tzdata/Asia/Hebron +++ b/library/tzdata/Asia/Hebron @@ -107,171 +107,171 @@ set TZData(:Asia/Hebron) { {1427493600 10800 1 EEST} {1445547600 7200 0 EET} {1458946800 10800 1 EEST} - {1476997200 7200 0 EET} + {1477692000 7200 0 EET} {1490396400 10800 1 EEST} - {1509051600 7200 0 EET} + {1509141600 7200 0 EET} {1522450800 10800 1 EEST} - {1540501200 7200 0 EET} + {1540591200 7200 0 EET} {1553900400 10800 1 EEST} - {1571950800 7200 0 EET} + {1572040800 7200 0 EET} {1585350000 10800 1 EEST} - {1603400400 7200 0 EET} + {1604095200 7200 0 EET} {1616799600 10800 1 EEST} - {1634850000 7200 0 EET} + {1635544800 7200 0 EET} {1648249200 10800 1 EEST} - {1666299600 7200 0 EET} + {1666994400 7200 0 EET} {1679698800 10800 1 EEST} - {1698354000 7200 0 EET} + {1698444000 7200 0 EET} {1711753200 10800 1 EEST} - {1729803600 7200 0 EET} + {1729893600 7200 0 EET} {1743202800 10800 1 EEST} - {1761253200 7200 0 EET} + {1761343200 7200 0 EET} {1774652400 10800 1 EEST} - {1792702800 7200 0 EET} + {1793397600 7200 0 EET} {1806102000 10800 1 EEST} - {1824152400 7200 0 EET} + {1824847200 7200 0 EET} {1837551600 10800 1 EEST} - {1856206800 7200 0 EET} + {1856296800 7200 0 EET} {1869606000 10800 1 EEST} - {1887656400 7200 0 EET} + {1887746400 7200 0 EET} {1901055600 10800 1 EEST} - {1919106000 7200 0 EET} + {1919196000 7200 0 EET} {1932505200 10800 1 EEST} - {1950555600 7200 0 EET} + {1950645600 7200 0 EET} {1963954800 10800 1 EEST} - {1982005200 7200 0 EET} + {1982700000 7200 0 EET} {1995404400 10800 1 EEST} - {2013454800 7200 0 EET} + {2014149600 7200 0 EET} {2026854000 10800 1 EEST} - {2045509200 7200 0 EET} + {2045599200 7200 0 EET} {2058908400 10800 1 EEST} - {2076958800 7200 0 EET} + {2077048800 7200 0 EET} {2090358000 10800 1 EEST} - {2108408400 7200 0 EET} + {2108498400 7200 0 EET} {2121807600 10800 1 EEST} - {2139858000 7200 0 EET} + {2140552800 7200 0 EET} {2153257200 10800 1 EEST} - {2171307600 7200 0 EET} + {2172002400 7200 0 EET} {2184706800 10800 1 EEST} - {2202757200 7200 0 EET} + {2203452000 7200 0 EET} {2216761200 10800 1 EEST} - {2234811600 7200 0 EET} + {2234901600 7200 0 EET} {2248210800 10800 1 EEST} - {2266261200 7200 0 EET} + {2266351200 7200 0 EET} {2279660400 10800 1 EEST} - {2297710800 7200 0 EET} + {2297800800 7200 0 EET} {2311110000 10800 1 EEST} - {2329160400 7200 0 EET} + {2329855200 7200 0 EET} {2342559600 10800 1 EEST} - {2360610000 7200 0 EET} + {2361304800 7200 0 EET} {2374009200 10800 1 EEST} - {2392664400 7200 0 EET} + {2392754400 7200 0 EET} {2406063600 10800 1 EEST} - {2424114000 7200 0 EET} + {2424204000 7200 0 EET} {2437513200 10800 1 EEST} - {2455563600 7200 0 EET} + {2455653600 7200 0 EET} {2468962800 10800 1 EEST} - {2487013200 7200 0 EET} + {2487708000 7200 0 EET} {2500412400 10800 1 EEST} - {2518462800 7200 0 EET} + {2519157600 7200 0 EET} {2531862000 10800 1 EEST} - {2549912400 7200 0 EET} + {2550607200 7200 0 EET} {2563311600 10800 1 EEST} - {2581966800 7200 0 EET} + {2582056800 7200 0 EET} {2595366000 10800 1 EEST} - {2613416400 7200 0 EET} + {2613506400 7200 0 EET} {2626815600 10800 1 EEST} - {2644866000 7200 0 EET} + {2644956000 7200 0 EET} {2658265200 10800 1 EEST} - {2676315600 7200 0 EET} + {2677010400 7200 0 EET} {2689714800 10800 1 EEST} - {2707765200 7200 0 EET} + {2708460000 7200 0 EET} {2721164400 10800 1 EEST} - {2739819600 7200 0 EET} + {2739909600 7200 0 EET} {2753218800 10800 1 EEST} - {2771269200 7200 0 EET} + {2771359200 7200 0 EET} {2784668400 10800 1 EEST} - {2802718800 7200 0 EET} + {2802808800 7200 0 EET} {2816118000 10800 1 EEST} - {2834168400 7200 0 EET} + {2834258400 7200 0 EET} {2847567600 10800 1 EEST} - {2865618000 7200 0 EET} + {2866312800 7200 0 EET} {2879017200 10800 1 EEST} - {2897067600 7200 0 EET} + {2897762400 7200 0 EET} {2910466800 10800 1 EEST} - {2929122000 7200 0 EET} + {2929212000 7200 0 EET} {2942521200 10800 1 EEST} - {2960571600 7200 0 EET} + {2960661600 7200 0 EET} {2973970800 10800 1 EEST} - {2992021200 7200 0 EET} + {2992111200 7200 0 EET} {3005420400 10800 1 EEST} - {3023470800 7200 0 EET} + {3024165600 7200 0 EET} {3036870000 10800 1 EEST} - {3054920400 7200 0 EET} + {3055615200 7200 0 EET} {3068319600 10800 1 EEST} - {3086370000 7200 0 EET} + {3087064800 7200 0 EET} {3100374000 10800 1 EEST} - {3118424400 7200 0 EET} + {3118514400 7200 0 EET} {3131823600 10800 1 EEST} - {3149874000 7200 0 EET} + {3149964000 7200 0 EET} {3163273200 10800 1 EEST} - {3181323600 7200 0 EET} + {3181413600 7200 0 EET} {3194722800 10800 1 EEST} - {3212773200 7200 0 EET} + {3213468000 7200 0 EET} {3226172400 10800 1 EEST} - {3244222800 7200 0 EET} + {3244917600 7200 0 EET} {3257622000 10800 1 EEST} - {3276277200 7200 0 EET} + {3276367200 7200 0 EET} {3289676400 10800 1 EEST} - {3307726800 7200 0 EET} + {3307816800 7200 0 EET} {3321126000 10800 1 EEST} - {3339176400 7200 0 EET} + {3339266400 7200 0 EET} {3352575600 10800 1 EEST} - {3370626000 7200 0 EET} + {3371320800 7200 0 EET} {3384025200 10800 1 EEST} - {3402075600 7200 0 EET} + {3402770400 7200 0 EET} {3415474800 10800 1 EEST} - {3433525200 7200 0 EET} + {3434220000 7200 0 EET} {3446924400 10800 1 EEST} - {3465579600 7200 0 EET} + {3465669600 7200 0 EET} {3478978800 10800 1 EEST} - {3497029200 7200 0 EET} + {3497119200 7200 0 EET} {3510428400 10800 1 EEST} - {3528478800 7200 0 EET} + {3528568800 7200 0 EET} {3541878000 10800 1 EEST} - {3559928400 7200 0 EET} + {3560623200 7200 0 EET} {3573327600 10800 1 EEST} - {3591378000 7200 0 EET} + {3592072800 7200 0 EET} {3604777200 10800 1 EEST} - {3623432400 7200 0 EET} + {3623522400 7200 0 EET} {3636831600 10800 1 EEST} - {3654882000 7200 0 EET} + {3654972000 7200 0 EET} {3668281200 10800 1 EEST} - {3686331600 7200 0 EET} + {3686421600 7200 0 EET} {3699730800 10800 1 EEST} - {3717781200 7200 0 EET} + {3717871200 7200 0 EET} {3731180400 10800 1 EEST} - {3749230800 7200 0 EET} + {3749925600 7200 0 EET} {3762630000 10800 1 EEST} - {3780680400 7200 0 EET} + {3781375200 7200 0 EET} {3794079600 10800 1 EEST} - {3812734800 7200 0 EET} + {3812824800 7200 0 EET} {3826134000 10800 1 EEST} - {3844184400 7200 0 EET} + {3844274400 7200 0 EET} {3857583600 10800 1 EEST} - {3875634000 7200 0 EET} + {3875724000 7200 0 EET} {3889033200 10800 1 EEST} - {3907083600 7200 0 EET} + {3907778400 7200 0 EET} {3920482800 10800 1 EEST} - {3938533200 7200 0 EET} + {3939228000 7200 0 EET} {3951932400 10800 1 EEST} - {3969982800 7200 0 EET} + {3970677600 7200 0 EET} {3983986800 10800 1 EEST} - {4002037200 7200 0 EET} + {4002127200 7200 0 EET} {4015436400 10800 1 EEST} - {4033486800 7200 0 EET} + {4033576800 7200 0 EET} {4046886000 10800 1 EEST} - {4064936400 7200 0 EET} + {4065026400 7200 0 EET} {4078335600 10800 1 EEST} - {4096386000 7200 0 EET} + {4097080800 7200 0 EET} } diff --git a/library/tzdata/Asia/Irkutsk b/library/tzdata/Asia/Irkutsk index ebe00c3..9666969 100644 --- a/library/tzdata/Asia/Irkutsk +++ b/library/tzdata/Asia/Irkutsk @@ -3,70 +3,70 @@ set TZData(:Asia/Irkutsk) { {-9223372036854775808 25025 0 LMT} {-2840165825 25025 0 IMT} - {-1575874625 25200 0 IRKT} - {-1247554800 28800 0 IRKMMTT} - {354902400 32400 1 IRKST} - {370710000 28800 0 IRKT} - {386438400 32400 1 IRKST} - {402246000 28800 0 IRKT} - {417974400 32400 1 IRKST} - {433782000 28800 0 IRKT} - {449596800 32400 1 IRKST} - {465328800 28800 0 IRKT} - {481053600 32400 1 IRKST} - {496778400 28800 0 IRKT} - {512503200 32400 1 IRKST} - {528228000 28800 0 IRKT} - {543952800 32400 1 IRKST} - {559677600 28800 0 IRKT} - {575402400 32400 1 IRKST} - {591127200 28800 0 IRKT} - {606852000 32400 1 IRKST} - {622576800 28800 0 IRKT} - {638301600 32400 1 IRKST} - {654631200 28800 0 IRKT} - {670356000 25200 0 IRKMMTT} - {670359600 28800 1 IRKST} - {686084400 25200 0 IRKT} - {695761200 28800 0 IRKMMTT} - {701805600 32400 1 IRKST} - {717530400 28800 0 IRKT} - {733255200 32400 1 IRKST} - {748980000 28800 0 IRKT} - {764704800 32400 1 IRKST} - {780429600 28800 0 IRKT} - {796154400 32400 1 IRKST} - {811879200 28800 0 IRKT} - {828208800 32400 1 IRKST} - {846352800 28800 0 IRKT} - {859658400 32400 1 IRKST} - {877802400 28800 0 IRKT} - {891108000 32400 1 IRKST} - {909252000 28800 0 IRKT} - {922557600 32400 1 IRKST} - {941306400 28800 0 IRKT} - {954007200 32400 1 IRKST} - {972756000 28800 0 IRKT} - {985456800 32400 1 IRKST} - {1004205600 28800 0 IRKT} - {1017511200 32400 1 IRKST} - {1035655200 28800 0 IRKT} - {1048960800 32400 1 IRKST} - {1067104800 28800 0 IRKT} - {1080410400 32400 1 IRKST} - {1099159200 28800 0 IRKT} - {1111860000 32400 1 IRKST} - {1130608800 28800 0 IRKT} - {1143309600 32400 1 IRKST} - {1162058400 28800 0 IRKT} - {1174759200 32400 1 IRKST} - {1193508000 28800 0 IRKT} - {1206813600 32400 1 IRKST} - {1224957600 28800 0 IRKT} - {1238263200 32400 1 IRKST} - {1256407200 28800 0 IRKT} - {1269712800 32400 1 IRKST} - {1288461600 28800 0 IRKT} - {1301162400 32400 0 IRKT} - {1414256400 28800 0 IRKT} + {-1575874625 25200 0 +07} + {-1247554800 28800 0 +09} + {354902400 32400 1 +09} + {370710000 28800 0 +08} + {386438400 32400 1 +09} + {402246000 28800 0 +08} + {417974400 32400 1 +09} + {433782000 28800 0 +08} + {449596800 32400 1 +09} + {465328800 28800 0 +08} + {481053600 32400 1 +09} + {496778400 28800 0 +08} + {512503200 32400 1 +09} + {528228000 28800 0 +08} + {543952800 32400 1 +09} + {559677600 28800 0 +08} + {575402400 32400 1 +09} + {591127200 28800 0 +08} + {606852000 32400 1 +09} + {622576800 28800 0 +08} + {638301600 32400 1 +09} + {654631200 28800 0 +08} + {670356000 25200 0 +08} + {670359600 28800 1 +08} + {686084400 25200 0 +07} + {695761200 28800 0 +09} + {701805600 32400 1 +09} + {717530400 28800 0 +08} + {733255200 32400 1 +09} + {748980000 28800 0 +08} + {764704800 32400 1 +09} + {780429600 28800 0 +08} + {796154400 32400 1 +09} + {811879200 28800 0 +08} + {828208800 32400 1 +09} + {846352800 28800 0 +08} + {859658400 32400 1 +09} + {877802400 28800 0 +08} + {891108000 32400 1 +09} + {909252000 28800 0 +08} + {922557600 32400 1 +09} + {941306400 28800 0 +08} + {954007200 32400 1 +09} + {972756000 28800 0 +08} + {985456800 32400 1 +09} + {1004205600 28800 0 +08} + {1017511200 32400 1 +09} + {1035655200 28800 0 +08} + {1048960800 32400 1 +09} + {1067104800 28800 0 +08} + {1080410400 32400 1 +09} + {1099159200 28800 0 +08} + {1111860000 32400 1 +09} + {1130608800 28800 0 +08} + {1143309600 32400 1 +09} + {1162058400 28800 0 +08} + {1174759200 32400 1 +09} + {1193508000 28800 0 +08} + {1206813600 32400 1 +09} + {1224957600 28800 0 +08} + {1238263200 32400 1 +09} + {1256407200 28800 0 +08} + {1269712800 32400 1 +09} + {1288461600 28800 0 +08} + {1301162400 32400 0 +09} + {1414256400 28800 0 +08} } diff --git a/library/tzdata/Asia/Kamchatka b/library/tzdata/Asia/Kamchatka index 2b77154..818fc2d 100644 --- a/library/tzdata/Asia/Kamchatka +++ b/library/tzdata/Asia/Kamchatka @@ -2,70 +2,70 @@ set TZData(:Asia/Kamchatka) { {-9223372036854775808 38076 0 LMT} - {-1487759676 39600 0 PETT} - {-1247569200 43200 0 PETMMTT} - {354888000 46800 1 PETST} - {370695600 43200 0 PETT} - {386424000 46800 1 PETST} - {402231600 43200 0 PETT} - {417960000 46800 1 PETST} - {433767600 43200 0 PETT} - {449582400 46800 1 PETST} - {465314400 43200 0 PETT} - {481039200 46800 1 PETST} - {496764000 43200 0 PETT} - {512488800 46800 1 PETST} - {528213600 43200 0 PETT} - {543938400 46800 1 PETST} - {559663200 43200 0 PETT} - {575388000 46800 1 PETST} - {591112800 43200 0 PETT} - {606837600 46800 1 PETST} - {622562400 43200 0 PETT} - {638287200 46800 1 PETST} - {654616800 43200 0 PETT} - {670341600 39600 0 PETMMTT} - {670345200 43200 1 PETST} - {686070000 39600 0 PETT} - {695746800 43200 0 PETMMTT} - {701791200 46800 1 PETST} - {717516000 43200 0 PETT} - {733240800 46800 1 PETST} - {748965600 43200 0 PETT} - {764690400 46800 1 PETST} - {780415200 43200 0 PETT} - {796140000 46800 1 PETST} - {811864800 43200 0 PETT} - {828194400 46800 1 PETST} - {846338400 43200 0 PETT} - {859644000 46800 1 PETST} - {877788000 43200 0 PETT} - {891093600 46800 1 PETST} - {909237600 43200 0 PETT} - {922543200 46800 1 PETST} - {941292000 43200 0 PETT} - {953992800 46800 1 PETST} - {972741600 43200 0 PETT} - {985442400 46800 1 PETST} - {1004191200 43200 0 PETT} - {1017496800 46800 1 PETST} - {1035640800 43200 0 PETT} - {1048946400 46800 1 PETST} - {1067090400 43200 0 PETT} - {1080396000 46800 1 PETST} - {1099144800 43200 0 PETT} - {1111845600 46800 1 PETST} - {1130594400 43200 0 PETT} - {1143295200 46800 1 PETST} - {1162044000 43200 0 PETT} - {1174744800 46800 1 PETST} - {1193493600 43200 0 PETT} - {1206799200 46800 1 PETST} - {1224943200 43200 0 PETT} - {1238248800 46800 1 PETST} - {1256392800 43200 0 PETT} - {1269698400 39600 0 PETMMTT} - {1269702000 43200 1 PETST} - {1288450800 39600 0 PETT} - {1301151600 43200 0 PETT} + {-1487759676 39600 0 +11} + {-1247569200 43200 0 +13} + {354888000 46800 1 +13} + {370695600 43200 0 +12} + {386424000 46800 1 +13} + {402231600 43200 0 +12} + {417960000 46800 1 +13} + {433767600 43200 0 +12} + {449582400 46800 1 +13} + {465314400 43200 0 +12} + {481039200 46800 1 +13} + {496764000 43200 0 +12} + {512488800 46800 1 +13} + {528213600 43200 0 +12} + {543938400 46800 1 +13} + {559663200 43200 0 +12} + {575388000 46800 1 +13} + {591112800 43200 0 +12} + {606837600 46800 1 +13} + {622562400 43200 0 +12} + {638287200 46800 1 +13} + {654616800 43200 0 +12} + {670341600 39600 0 +12} + {670345200 43200 1 +12} + {686070000 39600 0 +11} + {695746800 43200 0 +13} + {701791200 46800 1 +13} + {717516000 43200 0 +12} + {733240800 46800 1 +13} + {748965600 43200 0 +12} + {764690400 46800 1 +13} + {780415200 43200 0 +12} + {796140000 46800 1 +13} + {811864800 43200 0 +12} + {828194400 46800 1 +13} + {846338400 43200 0 +12} + {859644000 46800 1 +13} + {877788000 43200 0 +12} + {891093600 46800 1 +13} + {909237600 43200 0 +12} + {922543200 46800 1 +13} + {941292000 43200 0 +12} + {953992800 46800 1 +13} + {972741600 43200 0 +12} + {985442400 46800 1 +13} + {1004191200 43200 0 +12} + {1017496800 46800 1 +13} + {1035640800 43200 0 +12} + {1048946400 46800 1 +13} + {1067090400 43200 0 +12} + {1080396000 46800 1 +13} + {1099144800 43200 0 +12} + {1111845600 46800 1 +13} + {1130594400 43200 0 +12} + {1143295200 46800 1 +13} + {1162044000 43200 0 +12} + {1174744800 46800 1 +13} + {1193493600 43200 0 +12} + {1206799200 46800 1 +13} + {1224943200 43200 0 +12} + {1238248800 46800 1 +13} + {1256392800 43200 0 +12} + {1269698400 39600 0 +12} + {1269702000 43200 1 +12} + {1288450800 39600 0 +11} + {1301151600 43200 0 +12} } diff --git a/library/tzdata/Asia/Khandyga b/library/tzdata/Asia/Khandyga index b898e0d..07bffac 100644 --- a/library/tzdata/Asia/Khandyga +++ b/library/tzdata/Asia/Khandyga @@ -2,72 +2,72 @@ set TZData(:Asia/Khandyga) { {-9223372036854775808 32533 0 LMT} - {-1579424533 28800 0 YAKT} - {-1247558400 32400 0 YAKMMTT} - {354898800 36000 1 YAKST} - {370706400 32400 0 YAKT} - {386434800 36000 1 YAKST} - {402242400 32400 0 YAKT} - {417970800 36000 1 YAKST} - {433778400 32400 0 YAKT} - {449593200 36000 1 YAKST} - {465325200 32400 0 YAKT} - {481050000 36000 1 YAKST} - {496774800 32400 0 YAKT} - {512499600 36000 1 YAKST} - {528224400 32400 0 YAKT} - {543949200 36000 1 YAKST} - {559674000 32400 0 YAKT} - {575398800 36000 1 YAKST} - {591123600 32400 0 YAKT} - {606848400 36000 1 YAKST} - {622573200 32400 0 YAKT} - {638298000 36000 1 YAKST} - {654627600 32400 0 YAKT} - {670352400 28800 0 YAKMMTT} - {670356000 32400 1 YAKST} - {686080800 28800 0 YAKT} - {695757600 32400 0 YAKMMTT} - {701802000 36000 1 YAKST} - {717526800 32400 0 YAKT} - {733251600 36000 1 YAKST} - {748976400 32400 0 YAKT} - {764701200 36000 1 YAKST} - {780426000 32400 0 YAKT} - {796150800 36000 1 YAKST} - {811875600 32400 0 YAKT} - {828205200 36000 1 YAKST} - {846349200 32400 0 YAKT} - {859654800 36000 1 YAKST} - {877798800 32400 0 YAKT} - {891104400 36000 1 YAKST} - {909248400 32400 0 YAKT} - {922554000 36000 1 YAKST} - {941302800 32400 0 YAKT} - {954003600 36000 1 YAKST} - {972752400 32400 0 YAKT} - {985453200 36000 1 YAKST} - {1004202000 32400 0 YAKT} - {1017507600 36000 1 YAKST} - {1035651600 32400 0 YAKT} - {1048957200 36000 1 YAKST} - {1067101200 32400 0 YAKT} - {1072882800 36000 0 VLAMMTT} - {1080403200 39600 1 VLAST} - {1099152000 36000 0 VLAT} - {1111852800 39600 1 VLAST} - {1130601600 36000 0 VLAT} - {1143302400 39600 1 VLAST} - {1162051200 36000 0 VLAT} - {1174752000 39600 1 VLAST} - {1193500800 36000 0 VLAT} - {1206806400 39600 1 VLAST} - {1224950400 36000 0 VLAT} - {1238256000 39600 1 VLAST} - {1256400000 36000 0 VLAT} - {1269705600 39600 1 VLAST} - {1288454400 36000 0 VLAT} - {1301155200 39600 0 VLAT} - {1315832400 36000 0 YAKT} - {1414252800 32400 0 YAKT} + {-1579424533 28800 0 +08} + {-1247558400 32400 0 +10} + {354898800 36000 1 +10} + {370706400 32400 0 +09} + {386434800 36000 1 +10} + {402242400 32400 0 +09} + {417970800 36000 1 +10} + {433778400 32400 0 +09} + {449593200 36000 1 +10} + {465325200 32400 0 +09} + {481050000 36000 1 +10} + {496774800 32400 0 +09} + {512499600 36000 1 +10} + {528224400 32400 0 +09} + {543949200 36000 1 +10} + {559674000 32400 0 +09} + {575398800 36000 1 +10} + {591123600 32400 0 +09} + {606848400 36000 1 +10} + {622573200 32400 0 +09} + {638298000 36000 1 +10} + {654627600 32400 0 +09} + {670352400 28800 0 +09} + {670356000 32400 1 +09} + {686080800 28800 0 +08} + {695757600 32400 0 +10} + {701802000 36000 1 +10} + {717526800 32400 0 +09} + {733251600 36000 1 +10} + {748976400 32400 0 +09} + {764701200 36000 1 +10} + {780426000 32400 0 +09} + {796150800 36000 1 +10} + {811875600 32400 0 +09} + {828205200 36000 1 +10} + {846349200 32400 0 +09} + {859654800 36000 1 +10} + {877798800 32400 0 +09} + {891104400 36000 1 +10} + {909248400 32400 0 +09} + {922554000 36000 1 +10} + {941302800 32400 0 +09} + {954003600 36000 1 +10} + {972752400 32400 0 +09} + {985453200 36000 1 +10} + {1004202000 32400 0 +09} + {1017507600 36000 1 +10} + {1035651600 32400 0 +09} + {1048957200 36000 1 +10} + {1067101200 32400 0 +09} + {1072882800 36000 0 +11} + {1080403200 39600 1 +11} + {1099152000 36000 0 +10} + {1111852800 39600 1 +11} + {1130601600 36000 0 +10} + {1143302400 39600 1 +11} + {1162051200 36000 0 +10} + {1174752000 39600 1 +11} + {1193500800 36000 0 +10} + {1206806400 39600 1 +11} + {1224950400 36000 0 +10} + {1238256000 39600 1 +11} + {1256400000 36000 0 +10} + {1269705600 39600 1 +11} + {1288454400 36000 0 +10} + {1301155200 39600 0 +11} + {1315832400 36000 0 +10} + {1414252800 32400 0 +09} } diff --git a/library/tzdata/Asia/Krasnoyarsk b/library/tzdata/Asia/Krasnoyarsk index 3c6285e..0721425 100644 --- a/library/tzdata/Asia/Krasnoyarsk +++ b/library/tzdata/Asia/Krasnoyarsk @@ -2,70 +2,70 @@ set TZData(:Asia/Krasnoyarsk) { {-9223372036854775808 22286 0 LMT} - {-1577513486 21600 0 KRAT} - {-1247551200 25200 0 KRAMMTT} - {354906000 28800 1 KRAST} - {370713600 25200 0 KRAT} - {386442000 28800 1 KRAST} - {402249600 25200 0 KRAT} - {417978000 28800 1 KRAST} - {433785600 25200 0 KRAT} - {449600400 28800 1 KRAST} - {465332400 25200 0 KRAT} - {481057200 28800 1 KRAST} - {496782000 25200 0 KRAT} - {512506800 28800 1 KRAST} - {528231600 25200 0 KRAT} - {543956400 28800 1 KRAST} - {559681200 25200 0 KRAT} - {575406000 28800 1 KRAST} - {591130800 25200 0 KRAT} - {606855600 28800 1 KRAST} - {622580400 25200 0 KRAT} - {638305200 28800 1 KRAST} - {654634800 25200 0 KRAT} - {670359600 21600 0 KRAMMTT} - {670363200 25200 1 KRAST} - {686088000 21600 0 KRAT} - {695764800 25200 0 KRAMMTT} - {701809200 28800 1 KRAST} - {717534000 25200 0 KRAT} - {733258800 28800 1 KRAST} - {748983600 25200 0 KRAT} - {764708400 28800 1 KRAST} - {780433200 25200 0 KRAT} - {796158000 28800 1 KRAST} - {811882800 25200 0 KRAT} - {828212400 28800 1 KRAST} - {846356400 25200 0 KRAT} - {859662000 28800 1 KRAST} - {877806000 25200 0 KRAT} - {891111600 28800 1 KRAST} - {909255600 25200 0 KRAT} - {922561200 28800 1 KRAST} - {941310000 25200 0 KRAT} - {954010800 28800 1 KRAST} - {972759600 25200 0 KRAT} - {985460400 28800 1 KRAST} - {1004209200 25200 0 KRAT} - {1017514800 28800 1 KRAST} - {1035658800 25200 0 KRAT} - {1048964400 28800 1 KRAST} - {1067108400 25200 0 KRAT} - {1080414000 28800 1 KRAST} - {1099162800 25200 0 KRAT} - {1111863600 28800 1 KRAST} - {1130612400 25200 0 KRAT} - {1143313200 28800 1 KRAST} - {1162062000 25200 0 KRAT} - {1174762800 28800 1 KRAST} - {1193511600 25200 0 KRAT} - {1206817200 28800 1 KRAST} - {1224961200 25200 0 KRAT} - {1238266800 28800 1 KRAST} - {1256410800 25200 0 KRAT} - {1269716400 28800 1 KRAST} - {1288465200 25200 0 KRAT} - {1301166000 28800 0 KRAT} - {1414260000 25200 0 KRAT} + {-1577513486 21600 0 +06} + {-1247551200 25200 0 +08} + {354906000 28800 1 +08} + {370713600 25200 0 +07} + {386442000 28800 1 +08} + {402249600 25200 0 +07} + {417978000 28800 1 +08} + {433785600 25200 0 +07} + {449600400 28800 1 +08} + {465332400 25200 0 +07} + {481057200 28800 1 +08} + {496782000 25200 0 +07} + {512506800 28800 1 +08} + {528231600 25200 0 +07} + {543956400 28800 1 +08} + {559681200 25200 0 +07} + {575406000 28800 1 +08} + {591130800 25200 0 +07} + {606855600 28800 1 +08} + {622580400 25200 0 +07} + {638305200 28800 1 +08} + {654634800 25200 0 +07} + {670359600 21600 0 +07} + {670363200 25200 1 +07} + {686088000 21600 0 +06} + {695764800 25200 0 +08} + {701809200 28800 1 +08} + {717534000 25200 0 +07} + {733258800 28800 1 +08} + {748983600 25200 0 +07} + {764708400 28800 1 +08} + {780433200 25200 0 +07} + {796158000 28800 1 +08} + {811882800 25200 0 +07} + {828212400 28800 1 +08} + {846356400 25200 0 +07} + {859662000 28800 1 +08} + {877806000 25200 0 +07} + {891111600 28800 1 +08} + {909255600 25200 0 +07} + {922561200 28800 1 +08} + {941310000 25200 0 +07} + {954010800 28800 1 +08} + {972759600 25200 0 +07} + {985460400 28800 1 +08} + {1004209200 25200 0 +07} + {1017514800 28800 1 +08} + {1035658800 25200 0 +07} + {1048964400 28800 1 +08} + {1067108400 25200 0 +07} + {1080414000 28800 1 +08} + {1099162800 25200 0 +07} + {1111863600 28800 1 +08} + {1130612400 25200 0 +07} + {1143313200 28800 1 +08} + {1162062000 25200 0 +07} + {1174762800 28800 1 +08} + {1193511600 25200 0 +07} + {1206817200 28800 1 +08} + {1224961200 25200 0 +07} + {1238266800 28800 1 +08} + {1256410800 25200 0 +07} + {1269716400 28800 1 +08} + {1288465200 25200 0 +07} + {1301166000 28800 0 +08} + {1414260000 25200 0 +07} } diff --git a/library/tzdata/Asia/Magadan b/library/tzdata/Asia/Magadan index afe78da..0626899 100644 --- a/library/tzdata/Asia/Magadan +++ b/library/tzdata/Asia/Magadan @@ -2,71 +2,71 @@ set TZData(:Asia/Magadan) { {-9223372036854775808 36192 0 LMT} - {-1441188192 36000 0 MAGT} - {-1247565600 39600 0 MAGMMTT} - {354891600 43200 1 MAGST} - {370699200 39600 0 MAGT} - {386427600 43200 1 MAGST} - {402235200 39600 0 MAGT} - {417963600 43200 1 MAGST} - {433771200 39600 0 MAGT} - {449586000 43200 1 MAGST} - {465318000 39600 0 MAGT} - {481042800 43200 1 MAGST} - {496767600 39600 0 MAGT} - {512492400 43200 1 MAGST} - {528217200 39600 0 MAGT} - {543942000 43200 1 MAGST} - {559666800 39600 0 MAGT} - {575391600 43200 1 MAGST} - {591116400 39600 0 MAGT} - {606841200 43200 1 MAGST} - {622566000 39600 0 MAGT} - {638290800 43200 1 MAGST} - {654620400 39600 0 MAGT} - {670345200 36000 0 MAGMMTT} - {670348800 39600 1 MAGST} - {686073600 36000 0 MAGT} - {695750400 39600 0 MAGMMTT} - {701794800 43200 1 MAGST} - {717519600 39600 0 MAGT} - {733244400 43200 1 MAGST} - {748969200 39600 0 MAGT} - {764694000 43200 1 MAGST} - {780418800 39600 0 MAGT} - {796143600 43200 1 MAGST} - {811868400 39600 0 MAGT} - {828198000 43200 1 MAGST} - {846342000 39600 0 MAGT} - {859647600 43200 1 MAGST} - {877791600 39600 0 MAGT} - {891097200 43200 1 MAGST} - {909241200 39600 0 MAGT} - {922546800 43200 1 MAGST} - {941295600 39600 0 MAGT} - {953996400 43200 1 MAGST} - {972745200 39600 0 MAGT} - {985446000 43200 1 MAGST} - {1004194800 39600 0 MAGT} - {1017500400 43200 1 MAGST} - {1035644400 39600 0 MAGT} - {1048950000 43200 1 MAGST} - {1067094000 39600 0 MAGT} - {1080399600 43200 1 MAGST} - {1099148400 39600 0 MAGT} - {1111849200 43200 1 MAGST} - {1130598000 39600 0 MAGT} - {1143298800 43200 1 MAGST} - {1162047600 39600 0 MAGT} - {1174748400 43200 1 MAGST} - {1193497200 39600 0 MAGT} - {1206802800 43200 1 MAGST} - {1224946800 39600 0 MAGT} - {1238252400 43200 1 MAGST} - {1256396400 39600 0 MAGT} - {1269702000 43200 1 MAGST} - {1288450800 39600 0 MAGT} - {1301151600 43200 0 MAGT} - {1414245600 36000 0 MAGT} - {1461427200 39600 0 MAGT} + {-1441188192 36000 0 +10} + {-1247565600 39600 0 +12} + {354891600 43200 1 +12} + {370699200 39600 0 +11} + {386427600 43200 1 +12} + {402235200 39600 0 +11} + {417963600 43200 1 +12} + {433771200 39600 0 +11} + {449586000 43200 1 +12} + {465318000 39600 0 +11} + {481042800 43200 1 +12} + {496767600 39600 0 +11} + {512492400 43200 1 +12} + {528217200 39600 0 +11} + {543942000 43200 1 +12} + {559666800 39600 0 +11} + {575391600 43200 1 +12} + {591116400 39600 0 +11} + {606841200 43200 1 +12} + {622566000 39600 0 +11} + {638290800 43200 1 +12} + {654620400 39600 0 +11} + {670345200 36000 0 +11} + {670348800 39600 1 +11} + {686073600 36000 0 +10} + {695750400 39600 0 +12} + {701794800 43200 1 +12} + {717519600 39600 0 +11} + {733244400 43200 1 +12} + {748969200 39600 0 +11} + {764694000 43200 1 +12} + {780418800 39600 0 +11} + {796143600 43200 1 +12} + {811868400 39600 0 +11} + {828198000 43200 1 +12} + {846342000 39600 0 +11} + {859647600 43200 1 +12} + {877791600 39600 0 +11} + {891097200 43200 1 +12} + {909241200 39600 0 +11} + {922546800 43200 1 +12} + {941295600 39600 0 +11} + {953996400 43200 1 +12} + {972745200 39600 0 +11} + {985446000 43200 1 +12} + {1004194800 39600 0 +11} + {1017500400 43200 1 +12} + {1035644400 39600 0 +11} + {1048950000 43200 1 +12} + {1067094000 39600 0 +11} + {1080399600 43200 1 +12} + {1099148400 39600 0 +11} + {1111849200 43200 1 +12} + {1130598000 39600 0 +11} + {1143298800 43200 1 +12} + {1162047600 39600 0 +11} + {1174748400 43200 1 +12} + {1193497200 39600 0 +11} + {1206802800 43200 1 +12} + {1224946800 39600 0 +11} + {1238252400 43200 1 +12} + {1256396400 39600 0 +11} + {1269702000 43200 1 +12} + {1288450800 39600 0 +11} + {1301151600 43200 0 +12} + {1414245600 36000 0 +10} + {1461427200 39600 0 +11} } diff --git a/library/tzdata/Asia/Omsk b/library/tzdata/Asia/Omsk index a6fa180..74163d5 100644 --- a/library/tzdata/Asia/Omsk +++ b/library/tzdata/Asia/Omsk @@ -2,70 +2,70 @@ set TZData(:Asia/Omsk) { {-9223372036854775808 17610 0 LMT} - {-1582088010 18000 0 OMST} - {-1247547600 21600 0 OMSMMTT} - {354909600 25200 1 OMSST} - {370717200 21600 0 OMST} - {386445600 25200 1 OMSST} - {402253200 21600 0 OMST} - {417981600 25200 1 OMSST} - {433789200 21600 0 OMST} - {449604000 25200 1 OMSST} - {465336000 21600 0 OMST} - {481060800 25200 1 OMSST} - {496785600 21600 0 OMST} - {512510400 25200 1 OMSST} - {528235200 21600 0 OMST} - {543960000 25200 1 OMSST} - {559684800 21600 0 OMST} - {575409600 25200 1 OMSST} - {591134400 21600 0 OMST} - {606859200 25200 1 OMSST} - {622584000 21600 0 OMST} - {638308800 25200 1 OMSST} - {654638400 21600 0 OMST} - {670363200 18000 0 OMSMMTT} - {670366800 21600 1 OMSST} - {686091600 18000 0 OMST} - {695768400 21600 0 OMSMMTT} - {701812800 25200 1 OMSST} - {717537600 21600 0 OMST} - {733262400 25200 1 OMSST} - {748987200 21600 0 OMST} - {764712000 25200 1 OMSST} - {780436800 21600 0 OMST} - {796161600 25200 1 OMSST} - {811886400 21600 0 OMST} - {828216000 25200 1 OMSST} - {846360000 21600 0 OMST} - {859665600 25200 1 OMSST} - {877809600 21600 0 OMST} - {891115200 25200 1 OMSST} - {909259200 21600 0 OMST} - {922564800 25200 1 OMSST} - {941313600 21600 0 OMST} - {954014400 25200 1 OMSST} - {972763200 21600 0 OMST} - {985464000 25200 1 OMSST} - {1004212800 21600 0 OMST} - {1017518400 25200 1 OMSST} - {1035662400 21600 0 OMST} - {1048968000 25200 1 OMSST} - {1067112000 21600 0 OMST} - {1080417600 25200 1 OMSST} - {1099166400 21600 0 OMST} - {1111867200 25200 1 OMSST} - {1130616000 21600 0 OMST} - {1143316800 25200 1 OMSST} - {1162065600 21600 0 OMST} - {1174766400 25200 1 OMSST} - {1193515200 21600 0 OMST} - {1206820800 25200 1 OMSST} - {1224964800 21600 0 OMST} - {1238270400 25200 1 OMSST} - {1256414400 21600 0 OMST} - {1269720000 25200 1 OMSST} - {1288468800 21600 0 OMST} - {1301169600 25200 0 OMST} - {1414263600 21600 0 OMST} + {-1582088010 18000 0 +05} + {-1247547600 21600 0 +07} + {354909600 25200 1 +07} + {370717200 21600 0 +06} + {386445600 25200 1 +07} + {402253200 21600 0 +06} + {417981600 25200 1 +07} + {433789200 21600 0 +06} + {449604000 25200 1 +07} + {465336000 21600 0 +06} + {481060800 25200 1 +07} + {496785600 21600 0 +06} + {512510400 25200 1 +07} + {528235200 21600 0 +06} + {543960000 25200 1 +07} + {559684800 21600 0 +06} + {575409600 25200 1 +07} + {591134400 21600 0 +06} + {606859200 25200 1 +07} + {622584000 21600 0 +06} + {638308800 25200 1 +07} + {654638400 21600 0 +06} + {670363200 18000 0 +06} + {670366800 21600 1 +06} + {686091600 18000 0 +05} + {695768400 21600 0 +07} + {701812800 25200 1 +07} + {717537600 21600 0 +06} + {733262400 25200 1 +07} + {748987200 21600 0 +06} + {764712000 25200 1 +07} + {780436800 21600 0 +06} + {796161600 25200 1 +07} + {811886400 21600 0 +06} + {828216000 25200 1 +07} + {846360000 21600 0 +06} + {859665600 25200 1 +07} + {877809600 21600 0 +06} + {891115200 25200 1 +07} + {909259200 21600 0 +06} + {922564800 25200 1 +07} + {941313600 21600 0 +06} + {954014400 25200 1 +07} + {972763200 21600 0 +06} + {985464000 25200 1 +07} + {1004212800 21600 0 +06} + {1017518400 25200 1 +07} + {1035662400 21600 0 +06} + {1048968000 25200 1 +07} + {1067112000 21600 0 +06} + {1080417600 25200 1 +07} + {1099166400 21600 0 +06} + {1111867200 25200 1 +07} + {1130616000 21600 0 +06} + {1143316800 25200 1 +07} + {1162065600 21600 0 +06} + {1174766400 25200 1 +07} + {1193515200 21600 0 +06} + {1206820800 25200 1 +07} + {1224964800 21600 0 +06} + {1238270400 25200 1 +07} + {1256414400 21600 0 +06} + {1269720000 25200 1 +07} + {1288468800 21600 0 +06} + {1301169600 25200 0 +07} + {1414263600 21600 0 +06} } diff --git a/library/tzdata/Asia/Rangoon b/library/tzdata/Asia/Rangoon index 4f3ac02..8ea2748 100644 --- a/library/tzdata/Asia/Rangoon +++ b/library/tzdata/Asia/Rangoon @@ -1,9 +1,5 @@ # created by tools/tclZIC.tcl - do not edit - -set TZData(:Asia/Rangoon) { - {-9223372036854775808 23080 0 LMT} - {-2840163880 23080 0 RMT} - {-1577946280 23400 0 BURT} - {-873268200 32400 0 JST} - {-778410000 23400 0 MMT} +if {![info exists TZData(Asia/Yangon)]} { + LoadTimeZoneFile Asia/Yangon } +set TZData(:Asia/Rangoon) $TZData(:Asia/Yangon) diff --git a/library/tzdata/Asia/Sakhalin b/library/tzdata/Asia/Sakhalin index 1de22f4..4ba7c8c 100644 --- a/library/tzdata/Asia/Sakhalin +++ b/library/tzdata/Asia/Sakhalin @@ -2,73 +2,72 @@ set TZData(:Asia/Sakhalin) { {-9223372036854775808 34248 0 LMT} - {-2031039048 32400 0 JCST} - {-1017824400 32400 0 JST} - {-768560400 39600 0 SAKMMTT} - {354891600 43200 1 SAKST} - {370699200 39600 0 SAKT} - {386427600 43200 1 SAKST} - {402235200 39600 0 SAKT} - {417963600 43200 1 SAKST} - {433771200 39600 0 SAKT} - {449586000 43200 1 SAKST} - {465318000 39600 0 SAKT} - {481042800 43200 1 SAKST} - {496767600 39600 0 SAKT} - {512492400 43200 1 SAKST} - {528217200 39600 0 SAKT} - {543942000 43200 1 SAKST} - {559666800 39600 0 SAKT} - {575391600 43200 1 SAKST} - {591116400 39600 0 SAKT} - {606841200 43200 1 SAKST} - {622566000 39600 0 SAKT} - {638290800 43200 1 SAKST} - {654620400 39600 0 SAKT} - {670345200 36000 0 SAKMMTT} - {670348800 39600 1 SAKST} - {686073600 36000 0 SAKT} - {695750400 39600 0 SAKMMTT} - {701794800 43200 1 SAKST} - {717519600 39600 0 SAKT} - {733244400 43200 1 SAKST} - {748969200 39600 0 SAKT} - {764694000 43200 1 SAKST} - {780418800 39600 0 SAKT} - {796143600 43200 1 SAKST} - {811868400 39600 0 SAKT} - {828198000 43200 1 SAKST} - {846342000 39600 0 SAKT} - {859647600 36000 0 SAKMMTT} - {859651200 39600 1 SAKST} - {877795200 36000 0 SAKT} - {891100800 39600 1 SAKST} - {909244800 36000 0 SAKT} - {922550400 39600 1 SAKST} - {941299200 36000 0 SAKT} - {954000000 39600 1 SAKST} - {972748800 36000 0 SAKT} - {985449600 39600 1 SAKST} - {1004198400 36000 0 SAKT} - {1017504000 39600 1 SAKST} - {1035648000 36000 0 SAKT} - {1048953600 39600 1 SAKST} - {1067097600 36000 0 SAKT} - {1080403200 39600 1 SAKST} - {1099152000 36000 0 SAKT} - {1111852800 39600 1 SAKST} - {1130601600 36000 0 SAKT} - {1143302400 39600 1 SAKST} - {1162051200 36000 0 SAKT} - {1174752000 39600 1 SAKST} - {1193500800 36000 0 SAKT} - {1206806400 39600 1 SAKST} - {1224950400 36000 0 SAKT} - {1238256000 39600 1 SAKST} - {1256400000 36000 0 SAKT} - {1269705600 39600 1 SAKST} - {1288454400 36000 0 SAKT} - {1301155200 39600 0 SAKT} - {1414249200 36000 0 SAKT} - {1459008000 39600 0 SAKT} + {-2031039048 32400 0 +09} + {-768560400 39600 0 +12} + {354891600 43200 1 +12} + {370699200 39600 0 +11} + {386427600 43200 1 +12} + {402235200 39600 0 +11} + {417963600 43200 1 +12} + {433771200 39600 0 +11} + {449586000 43200 1 +12} + {465318000 39600 0 +11} + {481042800 43200 1 +12} + {496767600 39600 0 +11} + {512492400 43200 1 +12} + {528217200 39600 0 +11} + {543942000 43200 1 +12} + {559666800 39600 0 +11} + {575391600 43200 1 +12} + {591116400 39600 0 +11} + {606841200 43200 1 +12} + {622566000 39600 0 +11} + {638290800 43200 1 +12} + {654620400 39600 0 +11} + {670345200 36000 0 +11} + {670348800 39600 1 +11} + {686073600 36000 0 +10} + {695750400 39600 0 +12} + {701794800 43200 1 +12} + {717519600 39600 0 +11} + {733244400 43200 1 +12} + {748969200 39600 0 +11} + {764694000 43200 1 +12} + {780418800 39600 0 +11} + {796143600 43200 1 +12} + {811868400 39600 0 +11} + {828198000 43200 1 +12} + {846342000 39600 0 +11} + {859647600 36000 0 +11} + {859651200 39600 1 +11} + {877795200 36000 0 +10} + {891100800 39600 1 +11} + {909244800 36000 0 +10} + {922550400 39600 1 +11} + {941299200 36000 0 +10} + {954000000 39600 1 +11} + {972748800 36000 0 +10} + {985449600 39600 1 +11} + {1004198400 36000 0 +10} + {1017504000 39600 1 +11} + {1035648000 36000 0 +10} + {1048953600 39600 1 +11} + {1067097600 36000 0 +10} + {1080403200 39600 1 +11} + {1099152000 36000 0 +10} + {1111852800 39600 1 +11} + {1130601600 36000 0 +10} + {1143302400 39600 1 +11} + {1162051200 36000 0 +10} + {1174752000 39600 1 +11} + {1193500800 36000 0 +10} + {1206806400 39600 1 +11} + {1224950400 36000 0 +10} + {1238256000 39600 1 +11} + {1256400000 36000 0 +10} + {1269705600 39600 1 +11} + {1288454400 36000 0 +10} + {1301155200 39600 0 +11} + {1414249200 36000 0 +10} + {1459008000 39600 0 +11} } diff --git a/library/tzdata/Asia/Samarkand b/library/tzdata/Asia/Samarkand index 4b3b49f..43ad774 100644 --- a/library/tzdata/Asia/Samarkand +++ b/library/tzdata/Asia/Samarkand @@ -2,31 +2,30 @@ set TZData(:Asia/Samarkand) { {-9223372036854775808 16073 0 LMT} - {-1441168073 14400 0 SAMT} - {-1247544000 18000 0 SAMT} - {354913200 21600 1 SAMST} - {370720800 21600 0 TAST} - {386445600 18000 0 SAMT} - {386449200 21600 1 SAMST} - {402256800 18000 0 SAMT} - {417985200 21600 1 SAMST} - {433792800 18000 0 SAMT} - {449607600 21600 1 SAMST} - {465339600 18000 0 SAMT} - {481064400 21600 1 SAMST} - {496789200 18000 0 SAMT} - {512514000 21600 1 SAMST} - {528238800 18000 0 SAMT} - {543963600 21600 1 SAMST} - {559688400 18000 0 SAMT} - {575413200 21600 1 SAMST} - {591138000 18000 0 SAMT} - {606862800 21600 1 SAMST} - {622587600 18000 0 SAMT} - {638312400 21600 1 SAMST} - {654642000 18000 0 SAMT} - {670366800 21600 1 SAMST} - {683665200 21600 0 UZST} - {686091600 18000 0 UZT} - {694206000 18000 0 UZT} + {-1441168073 14400 0 +04} + {-1247544000 18000 0 +05} + {354913200 21600 1 +06} + {370720800 21600 0 +06} + {386445600 18000 0 +05} + {386449200 21600 1 +06} + {402256800 18000 0 +05} + {417985200 21600 1 +06} + {433792800 18000 0 +05} + {449607600 21600 1 +06} + {465339600 18000 0 +05} + {481064400 21600 1 +06} + {496789200 18000 0 +05} + {512514000 21600 1 +06} + {528238800 18000 0 +05} + {543963600 21600 1 +06} + {559688400 18000 0 +05} + {575413200 21600 1 +06} + {591138000 18000 0 +05} + {606862800 21600 1 +06} + {622587600 18000 0 +05} + {638312400 21600 1 +06} + {654642000 18000 0 +05} + {670366800 21600 1 +06} + {686091600 18000 0 +05} + {694206000 18000 0 +05} } diff --git a/library/tzdata/Asia/Srednekolymsk b/library/tzdata/Asia/Srednekolymsk index a0586aa..1099a4b 100644 --- a/library/tzdata/Asia/Srednekolymsk +++ b/library/tzdata/Asia/Srednekolymsk @@ -2,70 +2,70 @@ set TZData(:Asia/Srednekolymsk) { {-9223372036854775808 36892 0 LMT} - {-1441188892 36000 0 MAGT} - {-1247565600 39600 0 MAGMMTT} - {354891600 43200 1 MAGST} - {370699200 39600 0 MAGT} - {386427600 43200 1 MAGST} - {402235200 39600 0 MAGT} - {417963600 43200 1 MAGST} - {433771200 39600 0 MAGT} - {449586000 43200 1 MAGST} - {465318000 39600 0 MAGT} - {481042800 43200 1 MAGST} - {496767600 39600 0 MAGT} - {512492400 43200 1 MAGST} - {528217200 39600 0 MAGT} - {543942000 43200 1 MAGST} - {559666800 39600 0 MAGT} - {575391600 43200 1 MAGST} - {591116400 39600 0 MAGT} - {606841200 43200 1 MAGST} - {622566000 39600 0 MAGT} - {638290800 43200 1 MAGST} - {654620400 39600 0 MAGT} - {670345200 36000 0 MAGMMTT} - {670348800 39600 1 MAGST} - {686073600 36000 0 MAGT} - {695750400 39600 0 MAGMMTT} - {701794800 43200 1 MAGST} - {717519600 39600 0 MAGT} - {733244400 43200 1 MAGST} - {748969200 39600 0 MAGT} - {764694000 43200 1 MAGST} - {780418800 39600 0 MAGT} - {796143600 43200 1 MAGST} - {811868400 39600 0 MAGT} - {828198000 43200 1 MAGST} - {846342000 39600 0 MAGT} - {859647600 43200 1 MAGST} - {877791600 39600 0 MAGT} - {891097200 43200 1 MAGST} - {909241200 39600 0 MAGT} - {922546800 43200 1 MAGST} - {941295600 39600 0 MAGT} - {953996400 43200 1 MAGST} - {972745200 39600 0 MAGT} - {985446000 43200 1 MAGST} - {1004194800 39600 0 MAGT} - {1017500400 43200 1 MAGST} - {1035644400 39600 0 MAGT} - {1048950000 43200 1 MAGST} - {1067094000 39600 0 MAGT} - {1080399600 43200 1 MAGST} - {1099148400 39600 0 MAGT} - {1111849200 43200 1 MAGST} - {1130598000 39600 0 MAGT} - {1143298800 43200 1 MAGST} - {1162047600 39600 0 MAGT} - {1174748400 43200 1 MAGST} - {1193497200 39600 0 MAGT} - {1206802800 43200 1 MAGST} - {1224946800 39600 0 MAGT} - {1238252400 43200 1 MAGST} - {1256396400 39600 0 MAGT} - {1269702000 43200 1 MAGST} - {1288450800 39600 0 MAGT} - {1301151600 43200 0 MAGT} - {1414245600 39600 0 SRET} + {-1441188892 36000 0 +10} + {-1247565600 39600 0 +12} + {354891600 43200 1 +12} + {370699200 39600 0 +11} + {386427600 43200 1 +12} + {402235200 39600 0 +11} + {417963600 43200 1 +12} + {433771200 39600 0 +11} + {449586000 43200 1 +12} + {465318000 39600 0 +11} + {481042800 43200 1 +12} + {496767600 39600 0 +11} + {512492400 43200 1 +12} + {528217200 39600 0 +11} + {543942000 43200 1 +12} + {559666800 39600 0 +11} + {575391600 43200 1 +12} + {591116400 39600 0 +11} + {606841200 43200 1 +12} + {622566000 39600 0 +11} + {638290800 43200 1 +12} + {654620400 39600 0 +11} + {670345200 36000 0 +11} + {670348800 39600 1 +11} + {686073600 36000 0 +10} + {695750400 39600 0 +12} + {701794800 43200 1 +12} + {717519600 39600 0 +11} + {733244400 43200 1 +12} + {748969200 39600 0 +11} + {764694000 43200 1 +12} + {780418800 39600 0 +11} + {796143600 43200 1 +12} + {811868400 39600 0 +11} + {828198000 43200 1 +12} + {846342000 39600 0 +11} + {859647600 43200 1 +12} + {877791600 39600 0 +11} + {891097200 43200 1 +12} + {909241200 39600 0 +11} + {922546800 43200 1 +12} + {941295600 39600 0 +11} + {953996400 43200 1 +12} + {972745200 39600 0 +11} + {985446000 43200 1 +12} + {1004194800 39600 0 +11} + {1017500400 43200 1 +12} + {1035644400 39600 0 +11} + {1048950000 43200 1 +12} + {1067094000 39600 0 +11} + {1080399600 43200 1 +12} + {1099148400 39600 0 +11} + {1111849200 43200 1 +12} + {1130598000 39600 0 +11} + {1143298800 43200 1 +12} + {1162047600 39600 0 +11} + {1174748400 43200 1 +12} + {1193497200 39600 0 +11} + {1206802800 43200 1 +12} + {1224946800 39600 0 +11} + {1238252400 43200 1 +12} + {1256396400 39600 0 +11} + {1269702000 43200 1 +12} + {1288450800 39600 0 +11} + {1301151600 43200 0 +12} + {1414245600 39600 0 +11} } diff --git a/library/tzdata/Asia/Tashkent b/library/tzdata/Asia/Tashkent index 1477376..7b6abe4 100644 --- a/library/tzdata/Asia/Tashkent +++ b/library/tzdata/Asia/Tashkent @@ -2,31 +2,30 @@ set TZData(:Asia/Tashkent) { {-9223372036854775808 16631 0 LMT} - {-1441168631 18000 0 TAST} - {-1247547600 21600 0 TAST} - {354909600 25200 1 TASST} - {370717200 21600 0 TAST} - {386445600 25200 1 TASST} - {402253200 21600 0 TAST} - {417981600 25200 1 TASST} - {433789200 21600 0 TAST} - {449604000 25200 1 TASST} - {465336000 21600 0 TAST} - {481060800 25200 1 TASST} - {496785600 21600 0 TAST} - {512510400 25200 1 TASST} - {528235200 21600 0 TAST} - {543960000 25200 1 TASST} - {559684800 21600 0 TAST} - {575409600 25200 1 TASST} - {591134400 21600 0 TAST} - {606859200 25200 1 TASST} - {622584000 21600 0 TAST} - {638308800 25200 1 TASST} - {654638400 21600 0 TAST} - {670363200 18000 0 TAST} - {670366800 21600 1 TASST} - {683665200 21600 0 UZST} - {686091600 18000 0 UZT} - {694206000 18000 0 UZT} + {-1441168631 18000 0 +05} + {-1247547600 21600 0 +06} + {354909600 25200 1 +07} + {370717200 21600 0 +06} + {386445600 25200 1 +07} + {402253200 21600 0 +06} + {417981600 25200 1 +07} + {433789200 21600 0 +06} + {449604000 25200 1 +07} + {465336000 21600 0 +06} + {481060800 25200 1 +07} + {496785600 21600 0 +06} + {512510400 25200 1 +07} + {528235200 21600 0 +06} + {543960000 25200 1 +07} + {559684800 21600 0 +06} + {575409600 25200 1 +07} + {591134400 21600 0 +06} + {606859200 25200 1 +07} + {622584000 21600 0 +06} + {638308800 25200 1 +07} + {654638400 21600 0 +06} + {670363200 18000 0 +05} + {670366800 21600 1 +06} + {686091600 18000 0 +05} + {694206000 18000 0 +05} } diff --git a/library/tzdata/Asia/Tbilisi b/library/tzdata/Asia/Tbilisi index 54b278a..60d253c 100644 --- a/library/tzdata/Asia/Tbilisi +++ b/library/tzdata/Asia/Tbilisi @@ -3,58 +3,58 @@ set TZData(:Asia/Tbilisi) { {-9223372036854775808 10751 0 LMT} {-2840151551 10751 0 TBMT} - {-1441162751 10800 0 TBIT} - {-405140400 14400 0 TBIT} - {354916800 18000 1 TBIST} - {370724400 14400 0 TBIT} - {386452800 18000 1 TBIST} - {402260400 14400 0 TBIT} - {417988800 18000 1 TBIST} - {433796400 14400 0 TBIT} - {449611200 18000 1 TBIST} - {465343200 14400 0 TBIT} - {481068000 18000 1 TBIST} - {496792800 14400 0 TBIT} - {512517600 18000 1 TBIST} - {528242400 14400 0 TBIT} - {543967200 18000 1 TBIST} - {559692000 14400 0 TBIT} - {575416800 18000 1 TBIST} - {591141600 14400 0 TBIT} - {606866400 18000 1 TBIST} - {622591200 14400 0 TBIT} - {638316000 18000 1 TBIST} - {654645600 14400 0 TBIT} - {670370400 14400 1 TBIST} - {671140800 14400 0 GEST} - {686098800 10800 0 GET} - {694213200 10800 0 GET} - {701816400 14400 1 GEST} - {717537600 10800 0 GET} - {733266000 14400 1 GEST} - {748987200 10800 0 GET} - {764715600 14400 1 GEST} - {780440400 14400 0 GET} - {796161600 18000 1 GEST} - {811882800 14400 0 GET} - {828216000 18000 1 GEST} - {846360000 18000 1 GEST} - {859662000 18000 0 GEST} - {877806000 14400 0 GET} - {891115200 18000 1 GEST} - {909255600 14400 0 GET} - {922564800 18000 1 GEST} - {941310000 14400 0 GET} - {954014400 18000 1 GEST} - {972759600 14400 0 GET} - {985464000 18000 1 GEST} - {1004209200 14400 0 GET} - {1017518400 18000 1 GEST} - {1035658800 14400 0 GET} - {1048968000 18000 1 GEST} - {1067108400 14400 0 GET} - {1080417600 18000 1 GEST} - {1088280000 14400 0 GEST} - {1099177200 10800 0 GET} - {1111878000 14400 0 GET} + {-1441162751 10800 0 +03} + {-405140400 14400 0 +04} + {354916800 18000 1 +05} + {370724400 14400 0 +04} + {386452800 18000 1 +05} + {402260400 14400 0 +04} + {417988800 18000 1 +05} + {433796400 14400 0 +04} + {449611200 18000 1 +05} + {465343200 14400 0 +04} + {481068000 18000 1 +05} + {496792800 14400 0 +04} + {512517600 18000 1 +05} + {528242400 14400 0 +04} + {543967200 18000 1 +05} + {559692000 14400 0 +04} + {575416800 18000 1 +05} + {591141600 14400 0 +04} + {606866400 18000 1 +05} + {622591200 14400 0 +04} + {638316000 18000 1 +05} + {654645600 14400 0 +04} + {670370400 10800 0 +03} + {670374000 14400 1 +04} + {686098800 10800 0 +03} + {694213200 10800 0 +03} + {701816400 14400 1 +04} + {717537600 10800 0 +03} + {733266000 14400 1 +04} + {748987200 10800 0 +03} + {764715600 14400 1 +04} + {780440400 14400 0 +04} + {796161600 18000 1 +05} + {811882800 14400 0 +04} + {828216000 18000 1 +05} + {846360000 18000 1 +05} + {859662000 18000 0 +05} + {877806000 14400 0 +04} + {891115200 18000 1 +05} + {909255600 14400 0 +04} + {922564800 18000 1 +05} + {941310000 14400 0 +04} + {954014400 18000 1 +05} + {972759600 14400 0 +04} + {985464000 18000 1 +05} + {1004209200 14400 0 +04} + {1017518400 18000 1 +05} + {1035658800 14400 0 +04} + {1048968000 18000 1 +05} + {1067108400 14400 0 +04} + {1080417600 18000 1 +05} + {1088280000 14400 0 +04} + {1099177200 10800 0 +03} + {1111878000 14400 0 +04} } diff --git a/library/tzdata/Asia/Ust-Nera b/library/tzdata/Asia/Ust-Nera index 3380b7b..021fa62 100644 --- a/library/tzdata/Asia/Ust-Nera +++ b/library/tzdata/Asia/Ust-Nera @@ -2,70 +2,70 @@ set TZData(:Asia/Ust-Nera) { {-9223372036854775808 34374 0 LMT} - {-1579426374 28800 0 YAKT} - {354898800 43200 0 MAGST} - {370699200 39600 0 MAGT} - {386427600 43200 1 MAGST} - {402235200 39600 0 MAGT} - {417963600 43200 1 MAGST} - {433771200 39600 0 MAGT} - {449586000 43200 1 MAGST} - {465318000 39600 0 MAGT} - {481042800 43200 1 MAGST} - {496767600 39600 0 MAGT} - {512492400 43200 1 MAGST} - {528217200 39600 0 MAGT} - {543942000 43200 1 MAGST} - {559666800 39600 0 MAGT} - {575391600 43200 1 MAGST} - {591116400 39600 0 MAGT} - {606841200 43200 1 MAGST} - {622566000 39600 0 MAGT} - {638290800 43200 1 MAGST} - {654620400 39600 0 MAGT} - {670345200 36000 0 MAGMMTT} - {670348800 39600 1 MAGST} - {686073600 36000 0 MAGT} - {695750400 39600 0 MAGMMTT} - {701794800 43200 1 MAGST} - {717519600 39600 0 MAGT} - {733244400 43200 1 MAGST} - {748969200 39600 0 MAGT} - {764694000 43200 1 MAGST} - {780418800 39600 0 MAGT} - {796143600 43200 1 MAGST} - {811868400 39600 0 MAGT} - {828198000 43200 1 MAGST} - {846342000 39600 0 MAGT} - {859647600 43200 1 MAGST} - {877791600 39600 0 MAGT} - {891097200 43200 1 MAGST} - {909241200 39600 0 MAGT} - {922546800 43200 1 MAGST} - {941295600 39600 0 MAGT} - {953996400 43200 1 MAGST} - {972745200 39600 0 MAGT} - {985446000 43200 1 MAGST} - {1004194800 39600 0 MAGT} - {1017500400 43200 1 MAGST} - {1035644400 39600 0 MAGT} - {1048950000 43200 1 MAGST} - {1067094000 39600 0 MAGT} - {1080399600 43200 1 MAGST} - {1099148400 39600 0 MAGT} - {1111849200 43200 1 MAGST} - {1130598000 39600 0 MAGT} - {1143298800 43200 1 MAGST} - {1162047600 39600 0 MAGT} - {1174748400 43200 1 MAGST} - {1193497200 39600 0 MAGT} - {1206802800 43200 1 MAGST} - {1224946800 39600 0 MAGT} - {1238252400 43200 1 MAGST} - {1256396400 39600 0 MAGT} - {1269702000 43200 1 MAGST} - {1288450800 39600 0 MAGT} - {1301151600 43200 0 MAGT} - {1315828800 39600 0 VLAT} - {1414249200 36000 0 VLAT} + {-1579426374 28800 0 +08} + {354898800 43200 0 +12} + {370699200 39600 0 +11} + {386427600 43200 1 +12} + {402235200 39600 0 +11} + {417963600 43200 1 +12} + {433771200 39600 0 +11} + {449586000 43200 1 +12} + {465318000 39600 0 +11} + {481042800 43200 1 +12} + {496767600 39600 0 +11} + {512492400 43200 1 +12} + {528217200 39600 0 +11} + {543942000 43200 1 +12} + {559666800 39600 0 +11} + {575391600 43200 1 +12} + {591116400 39600 0 +11} + {606841200 43200 1 +12} + {622566000 39600 0 +11} + {638290800 43200 1 +12} + {654620400 39600 0 +11} + {670345200 36000 0 +11} + {670348800 39600 1 +11} + {686073600 36000 0 +10} + {695750400 39600 0 +12} + {701794800 43200 1 +12} + {717519600 39600 0 +11} + {733244400 43200 1 +12} + {748969200 39600 0 +11} + {764694000 43200 1 +12} + {780418800 39600 0 +11} + {796143600 43200 1 +12} + {811868400 39600 0 +11} + {828198000 43200 1 +12} + {846342000 39600 0 +11} + {859647600 43200 1 +12} + {877791600 39600 0 +11} + {891097200 43200 1 +12} + {909241200 39600 0 +11} + {922546800 43200 1 +12} + {941295600 39600 0 +11} + {953996400 43200 1 +12} + {972745200 39600 0 +11} + {985446000 43200 1 +12} + {1004194800 39600 0 +11} + {1017500400 43200 1 +12} + {1035644400 39600 0 +11} + {1048950000 43200 1 +12} + {1067094000 39600 0 +11} + {1080399600 43200 1 +12} + {1099148400 39600 0 +11} + {1111849200 43200 1 +12} + {1130598000 39600 0 +11} + {1143298800 43200 1 +12} + {1162047600 39600 0 +11} + {1174748400 43200 1 +12} + {1193497200 39600 0 +11} + {1206802800 43200 1 +12} + {1224946800 39600 0 +11} + {1238252400 43200 1 +12} + {1256396400 39600 0 +11} + {1269702000 43200 1 +12} + {1288450800 39600 0 +11} + {1301151600 43200 0 +12} + {1315828800 39600 0 +11} + {1414249200 36000 0 +10} } diff --git a/library/tzdata/Asia/Vladivostok b/library/tzdata/Asia/Vladivostok index b279d1c..e8f651c 100644 --- a/library/tzdata/Asia/Vladivostok +++ b/library/tzdata/Asia/Vladivostok @@ -2,70 +2,70 @@ set TZData(:Asia/Vladivostok) { {-9223372036854775808 31651 0 LMT} - {-1487321251 32400 0 VLAT} - {-1247562000 36000 0 VLAMMTT} - {354895200 39600 1 VLAST} - {370702800 36000 0 VLAT} - {386431200 39600 1 VLAST} - {402238800 36000 0 VLAT} - {417967200 39600 1 VLAST} - {433774800 36000 0 VLAT} - {449589600 39600 1 VLAST} - {465321600 36000 0 VLAT} - {481046400 39600 1 VLAST} - {496771200 36000 0 VLAT} - {512496000 39600 1 VLAST} - {528220800 36000 0 VLAT} - {543945600 39600 1 VLAST} - {559670400 36000 0 VLAT} - {575395200 39600 1 VLAST} - {591120000 36000 0 VLAT} - {606844800 39600 1 VLAST} - {622569600 36000 0 VLAT} - {638294400 39600 1 VLAST} - {654624000 36000 0 VLAT} - {670348800 32400 0 VLAMMTT} - {670352400 36000 1 VLAST} - {686077200 32400 0 VLAT} - {695754000 36000 0 VLAMMTT} - {701798400 39600 1 VLAST} - {717523200 36000 0 VLAT} - {733248000 39600 1 VLAST} - {748972800 36000 0 VLAT} - {764697600 39600 1 VLAST} - {780422400 36000 0 VLAT} - {796147200 39600 1 VLAST} - {811872000 36000 0 VLAT} - {828201600 39600 1 VLAST} - {846345600 36000 0 VLAT} - {859651200 39600 1 VLAST} - {877795200 36000 0 VLAT} - {891100800 39600 1 VLAST} - {909244800 36000 0 VLAT} - {922550400 39600 1 VLAST} - {941299200 36000 0 VLAT} - {954000000 39600 1 VLAST} - {972748800 36000 0 VLAT} - {985449600 39600 1 VLAST} - {1004198400 36000 0 VLAT} - {1017504000 39600 1 VLAST} - {1035648000 36000 0 VLAT} - {1048953600 39600 1 VLAST} - {1067097600 36000 0 VLAT} - {1080403200 39600 1 VLAST} - {1099152000 36000 0 VLAT} - {1111852800 39600 1 VLAST} - {1130601600 36000 0 VLAT} - {1143302400 39600 1 VLAST} - {1162051200 36000 0 VLAT} - {1174752000 39600 1 VLAST} - {1193500800 36000 0 VLAT} - {1206806400 39600 1 VLAST} - {1224950400 36000 0 VLAT} - {1238256000 39600 1 VLAST} - {1256400000 36000 0 VLAT} - {1269705600 39600 1 VLAST} - {1288454400 36000 0 VLAT} - {1301155200 39600 0 VLAT} - {1414249200 36000 0 VLAT} + {-1487321251 32400 0 +09} + {-1247562000 36000 0 +11} + {354895200 39600 1 +11} + {370702800 36000 0 +10} + {386431200 39600 1 +11} + {402238800 36000 0 +10} + {417967200 39600 1 +11} + {433774800 36000 0 +10} + {449589600 39600 1 +11} + {465321600 36000 0 +10} + {481046400 39600 1 +11} + {496771200 36000 0 +10} + {512496000 39600 1 +11} + {528220800 36000 0 +10} + {543945600 39600 1 +11} + {559670400 36000 0 +10} + {575395200 39600 1 +11} + {591120000 36000 0 +10} + {606844800 39600 1 +11} + {622569600 36000 0 +10} + {638294400 39600 1 +11} + {654624000 36000 0 +10} + {670348800 32400 0 +10} + {670352400 36000 1 +10} + {686077200 32400 0 +09} + {695754000 36000 0 +11} + {701798400 39600 1 +11} + {717523200 36000 0 +10} + {733248000 39600 1 +11} + {748972800 36000 0 +10} + {764697600 39600 1 +11} + {780422400 36000 0 +10} + {796147200 39600 1 +11} + {811872000 36000 0 +10} + {828201600 39600 1 +11} + {846345600 36000 0 +10} + {859651200 39600 1 +11} + {877795200 36000 0 +10} + {891100800 39600 1 +11} + {909244800 36000 0 +10} + {922550400 39600 1 +11} + {941299200 36000 0 +10} + {954000000 39600 1 +11} + {972748800 36000 0 +10} + {985449600 39600 1 +11} + {1004198400 36000 0 +10} + {1017504000 39600 1 +11} + {1035648000 36000 0 +10} + {1048953600 39600 1 +11} + {1067097600 36000 0 +10} + {1080403200 39600 1 +11} + {1099152000 36000 0 +10} + {1111852800 39600 1 +11} + {1130601600 36000 0 +10} + {1143302400 39600 1 +11} + {1162051200 36000 0 +10} + {1174752000 39600 1 +11} + {1193500800 36000 0 +10} + {1206806400 39600 1 +11} + {1224950400 36000 0 +10} + {1238256000 39600 1 +11} + {1256400000 36000 0 +10} + {1269705600 39600 1 +11} + {1288454400 36000 0 +10} + {1301155200 39600 0 +11} + {1414249200 36000 0 +10} } diff --git a/library/tzdata/Asia/Yakutsk b/library/tzdata/Asia/Yakutsk index 0074379..8ee153a 100644 --- a/library/tzdata/Asia/Yakutsk +++ b/library/tzdata/Asia/Yakutsk @@ -2,70 +2,70 @@ set TZData(:Asia/Yakutsk) { {-9223372036854775808 31138 0 LMT} - {-1579423138 28800 0 YAKT} - {-1247558400 32400 0 YAKMMTT} - {354898800 36000 1 YAKST} - {370706400 32400 0 YAKT} - {386434800 36000 1 YAKST} - {402242400 32400 0 YAKT} - {417970800 36000 1 YAKST} - {433778400 32400 0 YAKT} - {449593200 36000 1 YAKST} - {465325200 32400 0 YAKT} - {481050000 36000 1 YAKST} - {496774800 32400 0 YAKT} - {512499600 36000 1 YAKST} - {528224400 32400 0 YAKT} - {543949200 36000 1 YAKST} - {559674000 32400 0 YAKT} - {575398800 36000 1 YAKST} - {591123600 32400 0 YAKT} - {606848400 36000 1 YAKST} - {622573200 32400 0 YAKT} - {638298000 36000 1 YAKST} - {654627600 32400 0 YAKT} - {670352400 28800 0 YAKMMTT} - {670356000 32400 1 YAKST} - {686080800 28800 0 YAKT} - {695757600 32400 0 YAKMMTT} - {701802000 36000 1 YAKST} - {717526800 32400 0 YAKT} - {733251600 36000 1 YAKST} - {748976400 32400 0 YAKT} - {764701200 36000 1 YAKST} - {780426000 32400 0 YAKT} - {796150800 36000 1 YAKST} - {811875600 32400 0 YAKT} - {828205200 36000 1 YAKST} - {846349200 32400 0 YAKT} - {859654800 36000 1 YAKST} - {877798800 32400 0 YAKT} - {891104400 36000 1 YAKST} - {909248400 32400 0 YAKT} - {922554000 36000 1 YAKST} - {941302800 32400 0 YAKT} - {954003600 36000 1 YAKST} - {972752400 32400 0 YAKT} - {985453200 36000 1 YAKST} - {1004202000 32400 0 YAKT} - {1017507600 36000 1 YAKST} - {1035651600 32400 0 YAKT} - {1048957200 36000 1 YAKST} - {1067101200 32400 0 YAKT} - {1080406800 36000 1 YAKST} - {1099155600 32400 0 YAKT} - {1111856400 36000 1 YAKST} - {1130605200 32400 0 YAKT} - {1143306000 36000 1 YAKST} - {1162054800 32400 0 YAKT} - {1174755600 36000 1 YAKST} - {1193504400 32400 0 YAKT} - {1206810000 36000 1 YAKST} - {1224954000 32400 0 YAKT} - {1238259600 36000 1 YAKST} - {1256403600 32400 0 YAKT} - {1269709200 36000 1 YAKST} - {1288458000 32400 0 YAKT} - {1301158800 36000 0 YAKT} - {1414252800 32400 0 YAKT} + {-1579423138 28800 0 +08} + {-1247558400 32400 0 +10} + {354898800 36000 1 +10} + {370706400 32400 0 +09} + {386434800 36000 1 +10} + {402242400 32400 0 +09} + {417970800 36000 1 +10} + {433778400 32400 0 +09} + {449593200 36000 1 +10} + {465325200 32400 0 +09} + {481050000 36000 1 +10} + {496774800 32400 0 +09} + {512499600 36000 1 +10} + {528224400 32400 0 +09} + {543949200 36000 1 +10} + {559674000 32400 0 +09} + {575398800 36000 1 +10} + {591123600 32400 0 +09} + {606848400 36000 1 +10} + {622573200 32400 0 +09} + {638298000 36000 1 +10} + {654627600 32400 0 +09} + {670352400 28800 0 +09} + {670356000 32400 1 +09} + {686080800 28800 0 +08} + {695757600 32400 0 +10} + {701802000 36000 1 +10} + {717526800 32400 0 +09} + {733251600 36000 1 +10} + {748976400 32400 0 +09} + {764701200 36000 1 +10} + {780426000 32400 0 +09} + {796150800 36000 1 +10} + {811875600 32400 0 +09} + {828205200 36000 1 +10} + {846349200 32400 0 +09} + {859654800 36000 1 +10} + {877798800 32400 0 +09} + {891104400 36000 1 +10} + {909248400 32400 0 +09} + {922554000 36000 1 +10} + {941302800 32400 0 +09} + {954003600 36000 1 +10} + {972752400 32400 0 +09} + {985453200 36000 1 +10} + {1004202000 32400 0 +09} + {1017507600 36000 1 +10} + {1035651600 32400 0 +09} + {1048957200 36000 1 +10} + {1067101200 32400 0 +09} + {1080406800 36000 1 +10} + {1099155600 32400 0 +09} + {1111856400 36000 1 +10} + {1130605200 32400 0 +09} + {1143306000 36000 1 +10} + {1162054800 32400 0 +09} + {1174755600 36000 1 +10} + {1193504400 32400 0 +09} + {1206810000 36000 1 +10} + {1224954000 32400 0 +09} + {1238259600 36000 1 +10} + {1256403600 32400 0 +09} + {1269709200 36000 1 +10} + {1288458000 32400 0 +09} + {1301158800 36000 0 +10} + {1414252800 32400 0 +09} } diff --git a/library/tzdata/Asia/Yangon b/library/tzdata/Asia/Yangon new file mode 100644 index 0000000..40cfa02 --- /dev/null +++ b/library/tzdata/Asia/Yangon @@ -0,0 +1,9 @@ +# created by tools/tclZIC.tcl - do not edit + +set TZData(:Asia/Yangon) { + {-9223372036854775808 23080 0 LMT} + {-2840163880 23080 0 RMT} + {-1577946280 23400 0 BURT} + {-873268200 32400 0 JST} + {-778410000 23400 0 MMT} +} diff --git a/library/tzdata/Asia/Yekaterinburg b/library/tzdata/Asia/Yekaterinburg index fdd89b0..d2133b1 100644 --- a/library/tzdata/Asia/Yekaterinburg +++ b/library/tzdata/Asia/Yekaterinburg @@ -3,70 +3,70 @@ set TZData(:Asia/Yekaterinburg) { {-9223372036854775808 14553 0 LMT} {-1688270553 13505 0 PMT} - {-1592610305 14400 0 SVET} - {-1247544000 18000 0 SVEMMTT} - {354913200 21600 1 SVEST} - {370720800 18000 0 SVET} - {386449200 21600 1 SVEST} - {402256800 18000 0 SVET} - {417985200 21600 1 SVEST} - {433792800 18000 0 SVET} - {449607600 21600 1 SVEST} - {465339600 18000 0 SVET} - {481064400 21600 1 SVEST} - {496789200 18000 0 SVET} - {512514000 21600 1 SVEST} - {528238800 18000 0 SVET} - {543963600 21600 1 SVEST} - {559688400 18000 0 SVET} - {575413200 21600 1 SVEST} - {591138000 18000 0 SVET} - {606862800 21600 1 SVEST} - {622587600 18000 0 SVET} - {638312400 21600 1 SVEST} - {654642000 18000 0 SVET} - {670366800 14400 0 SVEMMTT} - {670370400 18000 1 SVEST} - {686095200 14400 0 SVET} - {695772000 18000 0 YEKMMTT} - {701816400 21600 1 YEKST} - {717541200 18000 0 YEKT} - {733266000 21600 1 YEKST} - {748990800 18000 0 YEKT} - {764715600 21600 1 YEKST} - {780440400 18000 0 YEKT} - {796165200 21600 1 YEKST} - {811890000 18000 0 YEKT} - {828219600 21600 1 YEKST} - {846363600 18000 0 YEKT} - {859669200 21600 1 YEKST} - {877813200 18000 0 YEKT} - {891118800 21600 1 YEKST} - {909262800 18000 0 YEKT} - {922568400 21600 1 YEKST} - {941317200 18000 0 YEKT} - {954018000 21600 1 YEKST} - {972766800 18000 0 YEKT} - {985467600 21600 1 YEKST} - {1004216400 18000 0 YEKT} - {1017522000 21600 1 YEKST} - {1035666000 18000 0 YEKT} - {1048971600 21600 1 YEKST} - {1067115600 18000 0 YEKT} - {1080421200 21600 1 YEKST} - {1099170000 18000 0 YEKT} - {1111870800 21600 1 YEKST} - {1130619600 18000 0 YEKT} - {1143320400 21600 1 YEKST} - {1162069200 18000 0 YEKT} - {1174770000 21600 1 YEKST} - {1193518800 18000 0 YEKT} - {1206824400 21600 1 YEKST} - {1224968400 18000 0 YEKT} - {1238274000 21600 1 YEKST} - {1256418000 18000 0 YEKT} - {1269723600 21600 1 YEKST} - {1288472400 18000 0 YEKT} - {1301173200 21600 0 YEKT} - {1414267200 18000 0 YEKT} + {-1592610305 14400 0 +04} + {-1247544000 18000 0 +06} + {354913200 21600 1 +06} + {370720800 18000 0 +05} + {386449200 21600 1 +06} + {402256800 18000 0 +05} + {417985200 21600 1 +06} + {433792800 18000 0 +05} + {449607600 21600 1 +06} + {465339600 18000 0 +05} + {481064400 21600 1 +06} + {496789200 18000 0 +05} + {512514000 21600 1 +06} + {528238800 18000 0 +05} + {543963600 21600 1 +06} + {559688400 18000 0 +05} + {575413200 21600 1 +06} + {591138000 18000 0 +05} + {606862800 21600 1 +06} + {622587600 18000 0 +05} + {638312400 21600 1 +06} + {654642000 18000 0 +05} + {670366800 14400 0 +05} + {670370400 18000 1 +05} + {686095200 14400 0 +04} + {695772000 18000 0 +06} + {701816400 21600 1 +06} + {717541200 18000 0 +05} + {733266000 21600 1 +06} + {748990800 18000 0 +05} + {764715600 21600 1 +06} + {780440400 18000 0 +05} + {796165200 21600 1 +06} + {811890000 18000 0 +05} + {828219600 21600 1 +06} + {846363600 18000 0 +05} + {859669200 21600 1 +06} + {877813200 18000 0 +05} + {891118800 21600 1 +06} + {909262800 18000 0 +05} + {922568400 21600 1 +06} + {941317200 18000 0 +05} + {954018000 21600 1 +06} + {972766800 18000 0 +05} + {985467600 21600 1 +06} + {1004216400 18000 0 +05} + {1017522000 21600 1 +06} + {1035666000 18000 0 +05} + {1048971600 21600 1 +06} + {1067115600 18000 0 +05} + {1080421200 21600 1 +06} + {1099170000 18000 0 +05} + {1111870800 21600 1 +06} + {1130619600 18000 0 +05} + {1143320400 21600 1 +06} + {1162069200 18000 0 +05} + {1174770000 21600 1 +06} + {1193518800 18000 0 +05} + {1206824400 21600 1 +06} + {1224968400 18000 0 +05} + {1238274000 21600 1 +06} + {1256418000 18000 0 +05} + {1269723600 21600 1 +06} + {1288472400 18000 0 +05} + {1301173200 21600 0 +06} + {1414267200 18000 0 +05} } diff --git a/library/tzdata/Asia/Yerevan b/library/tzdata/Asia/Yerevan index c552403..0ffb69e 100644 --- a/library/tzdata/Asia/Yerevan +++ b/library/tzdata/Asia/Yerevan @@ -2,69 +2,68 @@ set TZData(:Asia/Yerevan) { {-9223372036854775808 10680 0 LMT} - {-1441162680 10800 0 YERT} - {-405140400 14400 0 YERT} - {354916800 18000 1 YERST} - {370724400 14400 0 YERT} - {386452800 18000 1 YERST} - {402260400 14400 0 YERT} - {417988800 18000 1 YERST} - {433796400 14400 0 YERT} - {449611200 18000 1 YERST} - {465343200 14400 0 YERT} - {481068000 18000 1 YERST} - {496792800 14400 0 YERT} - {512517600 18000 1 YERST} - {528242400 14400 0 YERT} - {543967200 18000 1 YERST} - {559692000 14400 0 YERT} - {575416800 18000 1 YERST} - {591141600 14400 0 YERT} - {606866400 18000 1 YERST} - {622591200 14400 0 YERT} - {638316000 18000 1 YERST} - {654645600 14400 0 YERT} - {670370400 14400 1 YERST} - {685569600 14400 0 AMST} - {686098800 10800 0 AMT} - {701823600 14400 1 AMST} - {717548400 10800 0 AMT} - {733273200 14400 1 AMST} - {748998000 10800 0 AMT} - {764722800 14400 1 AMST} - {780447600 10800 0 AMT} - {796172400 14400 1 AMST} - {811897200 14400 0 AMT} - {852062400 14400 0 AMT} - {859672800 18000 1 AMST} - {877816800 14400 0 AMT} - {891122400 18000 1 AMST} - {909266400 14400 0 AMT} - {922572000 18000 1 AMST} - {941320800 14400 0 AMT} - {954021600 18000 1 AMST} - {972770400 14400 0 AMT} - {985471200 18000 1 AMST} - {1004220000 14400 0 AMT} - {1017525600 18000 1 AMST} - {1035669600 14400 0 AMT} - {1048975200 18000 1 AMST} - {1067119200 14400 0 AMT} - {1080424800 18000 1 AMST} - {1099173600 14400 0 AMT} - {1111874400 18000 1 AMST} - {1130623200 14400 0 AMT} - {1143324000 18000 1 AMST} - {1162072800 14400 0 AMT} - {1174773600 18000 1 AMST} - {1193522400 14400 0 AMT} - {1206828000 18000 1 AMST} - {1224972000 14400 0 AMT} - {1238277600 18000 1 AMST} - {1256421600 14400 0 AMT} - {1269727200 18000 1 AMST} - {1288476000 14400 0 AMT} - {1301176800 18000 1 AMST} - {1319925600 14400 0 AMT} - {1328731200 14400 0 AMT} + {-1441162680 10800 0 +03} + {-405140400 14400 0 +04} + {354916800 18000 1 +05} + {370724400 14400 0 +04} + {386452800 18000 1 +05} + {402260400 14400 0 +04} + {417988800 18000 1 +05} + {433796400 14400 0 +04} + {449611200 18000 1 +05} + {465343200 14400 0 +04} + {481068000 18000 1 +05} + {496792800 14400 0 +04} + {512517600 18000 1 +05} + {528242400 14400 0 +04} + {543967200 18000 1 +05} + {559692000 14400 0 +04} + {575416800 18000 1 +05} + {591141600 14400 0 +04} + {606866400 18000 1 +05} + {622591200 14400 0 +04} + {638316000 18000 1 +05} + {654645600 14400 0 +04} + {670370400 10800 0 +03} + {670374000 14400 1 +04} + {686098800 10800 0 +03} + {701823600 14400 1 +04} + {717548400 10800 0 +03} + {733273200 14400 1 +04} + {748998000 10800 0 +03} + {764722800 14400 1 +04} + {780447600 10800 0 +03} + {796172400 14400 1 +04} + {811897200 14400 0 +04} + {852062400 14400 0 +04} + {859672800 18000 1 +05} + {877816800 14400 0 +04} + {891122400 18000 1 +05} + {909266400 14400 0 +04} + {922572000 18000 1 +05} + {941320800 14400 0 +04} + {954021600 18000 1 +05} + {972770400 14400 0 +04} + {985471200 18000 1 +05} + {1004220000 14400 0 +04} + {1017525600 18000 1 +05} + {1035669600 14400 0 +04} + {1048975200 18000 1 +05} + {1067119200 14400 0 +04} + {1080424800 18000 1 +05} + {1099173600 14400 0 +04} + {1111874400 18000 1 +05} + {1130623200 14400 0 +04} + {1143324000 18000 1 +05} + {1162072800 14400 0 +04} + {1174773600 18000 1 +05} + {1193522400 14400 0 +04} + {1206828000 18000 1 +05} + {1224972000 14400 0 +04} + {1238277600 18000 1 +05} + {1256421600 14400 0 +04} + {1269727200 18000 1 +05} + {1288476000 14400 0 +04} + {1301176800 18000 1 +05} + {1319925600 14400 0 +04} } diff --git a/library/tzdata/Etc/GMT+1 b/library/tzdata/Etc/GMT+1 index 12f97ba..70d39cf 100644 --- a/library/tzdata/Etc/GMT+1 +++ b/library/tzdata/Etc/GMT+1 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+1) { - {-9223372036854775808 -3600 0 GMT+1} + {-9223372036854775808 -3600 0 -01} } diff --git a/library/tzdata/Etc/GMT+10 b/library/tzdata/Etc/GMT+10 index 6ea50bb..9165a08 100644 --- a/library/tzdata/Etc/GMT+10 +++ b/library/tzdata/Etc/GMT+10 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+10) { - {-9223372036854775808 -36000 0 GMT+10} + {-9223372036854775808 -36000 0 -10} } diff --git a/library/tzdata/Etc/GMT+11 b/library/tzdata/Etc/GMT+11 index c91b169..a1aaf74 100644 --- a/library/tzdata/Etc/GMT+11 +++ b/library/tzdata/Etc/GMT+11 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+11) { - {-9223372036854775808 -39600 0 GMT+11} + {-9223372036854775808 -39600 0 -11} } diff --git a/library/tzdata/Etc/GMT+12 b/library/tzdata/Etc/GMT+12 index 29a4cee..d2c082a 100644 --- a/library/tzdata/Etc/GMT+12 +++ b/library/tzdata/Etc/GMT+12 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+12) { - {-9223372036854775808 -43200 0 GMT+12} + {-9223372036854775808 -43200 0 -12} } diff --git a/library/tzdata/Etc/GMT+2 b/library/tzdata/Etc/GMT+2 index 8c6b526..46cca7d 100644 --- a/library/tzdata/Etc/GMT+2 +++ b/library/tzdata/Etc/GMT+2 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+2) { - {-9223372036854775808 -7200 0 GMT+2} + {-9223372036854775808 -7200 0 -02} } diff --git a/library/tzdata/Etc/GMT+3 b/library/tzdata/Etc/GMT+3 index 862571d..e1e3001 100644 --- a/library/tzdata/Etc/GMT+3 +++ b/library/tzdata/Etc/GMT+3 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+3) { - {-9223372036854775808 -10800 0 GMT+3} + {-9223372036854775808 -10800 0 -03} } diff --git a/library/tzdata/Etc/GMT+4 b/library/tzdata/Etc/GMT+4 index a933bbc..32afa24 100644 --- a/library/tzdata/Etc/GMT+4 +++ b/library/tzdata/Etc/GMT+4 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+4) { - {-9223372036854775808 -14400 0 GMT+4} + {-9223372036854775808 -14400 0 -04} } diff --git a/library/tzdata/Etc/GMT+5 b/library/tzdata/Etc/GMT+5 index 80cc25c..747abf5 100644 --- a/library/tzdata/Etc/GMT+5 +++ b/library/tzdata/Etc/GMT+5 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+5) { - {-9223372036854775808 -18000 0 GMT+5} + {-9223372036854775808 -18000 0 -05} } diff --git a/library/tzdata/Etc/GMT+6 b/library/tzdata/Etc/GMT+6 index bc57bd6..1096839 100644 --- a/library/tzdata/Etc/GMT+6 +++ b/library/tzdata/Etc/GMT+6 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+6) { - {-9223372036854775808 -21600 0 GMT+6} + {-9223372036854775808 -21600 0 -06} } diff --git a/library/tzdata/Etc/GMT+7 b/library/tzdata/Etc/GMT+7 index d419eb9..6d47863 100644 --- a/library/tzdata/Etc/GMT+7 +++ b/library/tzdata/Etc/GMT+7 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+7) { - {-9223372036854775808 -25200 0 GMT+7} + {-9223372036854775808 -25200 0 -07} } diff --git a/library/tzdata/Etc/GMT+8 b/library/tzdata/Etc/GMT+8 index 705ad40..33c0f69 100644 --- a/library/tzdata/Etc/GMT+8 +++ b/library/tzdata/Etc/GMT+8 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+8) { - {-9223372036854775808 -28800 0 GMT+8} + {-9223372036854775808 -28800 0 -08} } diff --git a/library/tzdata/Etc/GMT+9 b/library/tzdata/Etc/GMT+9 index 4086639..4119bf4 100644 --- a/library/tzdata/Etc/GMT+9 +++ b/library/tzdata/Etc/GMT+9 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT+9) { - {-9223372036854775808 -32400 0 GMT+9} + {-9223372036854775808 -32400 0 -09} } diff --git a/library/tzdata/Etc/GMT-1 b/library/tzdata/Etc/GMT-1 index a44dd1f..e7ac44b 100644 --- a/library/tzdata/Etc/GMT-1 +++ b/library/tzdata/Etc/GMT-1 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-1) { - {-9223372036854775808 3600 0 GMT-1} + {-9223372036854775808 3600 0 +01} } diff --git a/library/tzdata/Etc/GMT-10 b/library/tzdata/Etc/GMT-10 index 1c50d01..fdbd1e3 100644 --- a/library/tzdata/Etc/GMT-10 +++ b/library/tzdata/Etc/GMT-10 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-10) { - {-9223372036854775808 36000 0 GMT-10} + {-9223372036854775808 36000 0 +10} } diff --git a/library/tzdata/Etc/GMT-11 b/library/tzdata/Etc/GMT-11 index d07710f..4b28ad0 100644 --- a/library/tzdata/Etc/GMT-11 +++ b/library/tzdata/Etc/GMT-11 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-11) { - {-9223372036854775808 39600 0 GMT-11} + {-9223372036854775808 39600 0 +11} } diff --git a/library/tzdata/Etc/GMT-12 b/library/tzdata/Etc/GMT-12 index a23b98d..594bac3 100644 --- a/library/tzdata/Etc/GMT-12 +++ b/library/tzdata/Etc/GMT-12 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-12) { - {-9223372036854775808 43200 0 GMT-12} + {-9223372036854775808 43200 0 +12} } diff --git a/library/tzdata/Etc/GMT-13 b/library/tzdata/Etc/GMT-13 index 1a6700a..f61159e 100644 --- a/library/tzdata/Etc/GMT-13 +++ b/library/tzdata/Etc/GMT-13 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-13) { - {-9223372036854775808 46800 0 GMT-13} + {-9223372036854775808 46800 0 +13} } diff --git a/library/tzdata/Etc/GMT-14 b/library/tzdata/Etc/GMT-14 index 3707e21..493800f 100644 --- a/library/tzdata/Etc/GMT-14 +++ b/library/tzdata/Etc/GMT-14 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-14) { - {-9223372036854775808 50400 0 GMT-14} + {-9223372036854775808 50400 0 +14} } diff --git a/library/tzdata/Etc/GMT-2 b/library/tzdata/Etc/GMT-2 index f9dea16..51fdbed 100644 --- a/library/tzdata/Etc/GMT-2 +++ b/library/tzdata/Etc/GMT-2 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-2) { - {-9223372036854775808 7200 0 GMT-2} + {-9223372036854775808 7200 0 +02} } diff --git a/library/tzdata/Etc/GMT-3 b/library/tzdata/Etc/GMT-3 index 99145b8..7aed39d 100644 --- a/library/tzdata/Etc/GMT-3 +++ b/library/tzdata/Etc/GMT-3 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-3) { - {-9223372036854775808 10800 0 GMT-3} + {-9223372036854775808 10800 0 +03} } diff --git a/library/tzdata/Etc/GMT-4 b/library/tzdata/Etc/GMT-4 index 27b4fec..6ca6372 100644 --- a/library/tzdata/Etc/GMT-4 +++ b/library/tzdata/Etc/GMT-4 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-4) { - {-9223372036854775808 14400 0 GMT-4} + {-9223372036854775808 14400 0 +04} } diff --git a/library/tzdata/Etc/GMT-5 b/library/tzdata/Etc/GMT-5 index dbe3df7..6c47a31 100644 --- a/library/tzdata/Etc/GMT-5 +++ b/library/tzdata/Etc/GMT-5 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-5) { - {-9223372036854775808 18000 0 GMT-5} + {-9223372036854775808 18000 0 +05} } diff --git a/library/tzdata/Etc/GMT-6 b/library/tzdata/Etc/GMT-6 index 414dbfa..202e7f8 100644 --- a/library/tzdata/Etc/GMT-6 +++ b/library/tzdata/Etc/GMT-6 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-6) { - {-9223372036854775808 21600 0 GMT-6} + {-9223372036854775808 21600 0 +06} } diff --git a/library/tzdata/Etc/GMT-7 b/library/tzdata/Etc/GMT-7 index 2bd59db..c6deaf3 100644 --- a/library/tzdata/Etc/GMT-7 +++ b/library/tzdata/Etc/GMT-7 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-7) { - {-9223372036854775808 25200 0 GMT-7} + {-9223372036854775808 25200 0 +07} } diff --git a/library/tzdata/Etc/GMT-8 b/library/tzdata/Etc/GMT-8 index 7303721..4bed42e 100644 --- a/library/tzdata/Etc/GMT-8 +++ b/library/tzdata/Etc/GMT-8 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-8) { - {-9223372036854775808 28800 0 GMT-8} + {-9223372036854775808 28800 0 +08} } diff --git a/library/tzdata/Etc/GMT-9 b/library/tzdata/Etc/GMT-9 index 46e6878..2a7625b 100644 --- a/library/tzdata/Etc/GMT-9 +++ b/library/tzdata/Etc/GMT-9 @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Etc/GMT-9) { - {-9223372036854775808 32400 0 GMT-9} + {-9223372036854775808 32400 0 +09} } diff --git a/library/tzdata/Europe/Istanbul b/library/tzdata/Europe/Istanbul index 8eadbc3..d00533f 100644 --- a/library/tzdata/Europe/Istanbul +++ b/library/tzdata/Europe/Istanbul @@ -57,37 +57,37 @@ set TZData(:Europe/Istanbul) { {228866400 10800 1 EEST} {245797200 7200 0 EET} {260316000 10800 1 EEST} - {277246800 14400 0 TRST} - {291769200 14400 1 TRST} - {308779200 10800 0 TRT} - {323827200 14400 1 TRST} - {340228800 10800 0 TRT} - {354672000 14400 1 TRST} - {371678400 10800 0 TRT} - {386121600 14400 1 TRST} - {403128000 10800 0 TRT} - {428446800 14400 1 TRST} - {433886400 10800 0 TRT} + {277246800 14400 0 +04} + {291769200 14400 1 +04} + {308779200 10800 0 +03} + {323827200 14400 1 +04} + {340228800 10800 0 +03} + {354672000 14400 1 +04} + {371678400 10800 0 +03} + {386121600 14400 1 +04} + {403128000 10800 0 +03} + {428446800 14400 1 +04} + {433886400 10800 0 +03} {482792400 7200 0 EET} {482796000 10800 1 EEST} {496702800 7200 0 EET} - {512524800 10800 1 EEST} - {528249600 7200 0 EET} - {543974400 10800 1 EEST} - {559699200 7200 0 EET} - {575424000 10800 1 EEST} - {591148800 7200 0 EET} - {606873600 10800 1 EEST} - {622598400 7200 0 EET} - {638323200 10800 1 EEST} - {654652800 7200 0 EET} + {512521200 10800 1 EEST} + {528246000 7200 0 EET} + {543970800 10800 1 EEST} + {559695600 7200 0 EET} + {575420400 10800 1 EEST} + {591145200 7200 0 EET} + {606870000 10800 1 EEST} + {622594800 7200 0 EET} + {638319600 10800 1 EEST} + {654649200 7200 0 EET} {670374000 10800 1 EEST} {686098800 7200 0 EET} {701823600 10800 1 EEST} {717548400 7200 0 EET} {733273200 10800 1 EEST} {748998000 7200 0 EET} - {764722800 10800 1 EEST} + {764118000 10800 1 EEST} {780447600 7200 0 EET} {796172400 10800 1 EEST} {811897200 7200 0 EET} @@ -136,171 +136,5 @@ set TZData(:Europe/Istanbul) { {1445734800 10800 1 EEST} {1446944400 7200 0 EET} {1459040400 10800 1 EEST} - {1477789200 7200 0 EET} - {1490490000 10800 1 EEST} - {1509238800 7200 0 EET} - {1521939600 10800 1 EEST} - {1540688400 7200 0 EET} - {1553994000 10800 1 EEST} - {1572138000 7200 0 EET} - {1585443600 10800 1 EEST} - {1603587600 7200 0 EET} - {1616893200 10800 1 EEST} - {1635642000 7200 0 EET} - {1648342800 10800 1 EEST} - {1667091600 7200 0 EET} - {1679792400 10800 1 EEST} - {1698541200 7200 0 EET} - {1711846800 10800 1 EEST} - {1729990800 7200 0 EET} - {1743296400 10800 1 EEST} - {1761440400 7200 0 EET} - {1774746000 10800 1 EEST} - {1792890000 7200 0 EET} - {1806195600 10800 1 EEST} - {1824944400 7200 0 EET} - {1837645200 10800 1 EEST} - {1856394000 7200 0 EET} - {1869094800 10800 1 EEST} - {1887843600 7200 0 EET} - {1901149200 10800 1 EEST} - {1919293200 7200 0 EET} - {1932598800 10800 1 EEST} - {1950742800 7200 0 EET} - {1964048400 10800 1 EEST} - {1982797200 7200 0 EET} - {1995498000 10800 1 EEST} - {2014246800 7200 0 EET} - {2026947600 10800 1 EEST} - {2045696400 7200 0 EET} - {2058397200 10800 1 EEST} - {2077146000 7200 0 EET} - {2090451600 10800 1 EEST} - {2108595600 7200 0 EET} - {2121901200 10800 1 EEST} - {2140045200 7200 0 EET} - {2153350800 10800 1 EEST} - {2172099600 7200 0 EET} - {2184800400 10800 1 EEST} - {2203549200 7200 0 EET} - {2216250000 10800 1 EEST} - {2234998800 7200 0 EET} - {2248304400 10800 1 EEST} - {2266448400 7200 0 EET} - {2279754000 10800 1 EEST} - {2297898000 7200 0 EET} - {2311203600 10800 1 EEST} - {2329347600 7200 0 EET} - {2342653200 10800 1 EEST} - {2361402000 7200 0 EET} - {2374102800 10800 1 EEST} - {2392851600 7200 0 EET} - {2405552400 10800 1 EEST} - {2424301200 7200 0 EET} - {2437606800 10800 1 EEST} - {2455750800 7200 0 EET} - {2469056400 10800 1 EEST} - {2487200400 7200 0 EET} - {2500506000 10800 1 EEST} - {2519254800 7200 0 EET} - {2531955600 10800 1 EEST} - {2550704400 7200 0 EET} - {2563405200 10800 1 EEST} - {2582154000 7200 0 EET} - {2595459600 10800 1 EEST} - {2613603600 7200 0 EET} - {2626909200 10800 1 EEST} - {2645053200 7200 0 EET} - {2658358800 10800 1 EEST} - {2676502800 7200 0 EET} - {2689808400 10800 1 EEST} - {2708557200 7200 0 EET} - {2721258000 10800 1 EEST} - {2740006800 7200 0 EET} - {2752707600 10800 1 EEST} - {2771456400 7200 0 EET} - {2784762000 10800 1 EEST} - {2802906000 7200 0 EET} - {2816211600 10800 1 EEST} - {2834355600 7200 0 EET} - {2847661200 10800 1 EEST} - {2866410000 7200 0 EET} - {2879110800 10800 1 EEST} - {2897859600 7200 0 EET} - {2910560400 10800 1 EEST} - {2929309200 7200 0 EET} - {2942010000 10800 1 EEST} - {2960758800 7200 0 EET} - {2974064400 10800 1 EEST} - {2992208400 7200 0 EET} - {3005514000 10800 1 EEST} - {3023658000 7200 0 EET} - {3036963600 10800 1 EEST} - {3055712400 7200 0 EET} - {3068413200 10800 1 EEST} - {3087162000 7200 0 EET} - {3099862800 10800 1 EEST} - {3118611600 7200 0 EET} - {3131917200 10800 1 EEST} - {3150061200 7200 0 EET} - {3163366800 10800 1 EEST} - {3181510800 7200 0 EET} - {3194816400 10800 1 EEST} - {3212960400 7200 0 EET} - {3226266000 10800 1 EEST} - {3245014800 7200 0 EET} - {3257715600 10800 1 EEST} - {3276464400 7200 0 EET} - {3289165200 10800 1 EEST} - {3307914000 7200 0 EET} - {3321219600 10800 1 EEST} - {3339363600 7200 0 EET} - {3352669200 10800 1 EEST} - {3370813200 7200 0 EET} - {3384118800 10800 1 EEST} - {3402867600 7200 0 EET} - {3415568400 10800 1 EEST} - {3434317200 7200 0 EET} - {3447018000 10800 1 EEST} - {3465766800 7200 0 EET} - {3479072400 10800 1 EEST} - {3497216400 7200 0 EET} - {3510522000 10800 1 EEST} - {3528666000 7200 0 EET} - {3541971600 10800 1 EEST} - {3560115600 7200 0 EET} - {3573421200 10800 1 EEST} - {3592170000 7200 0 EET} - {3604870800 10800 1 EEST} - {3623619600 7200 0 EET} - {3636320400 10800 1 EEST} - {3655069200 7200 0 EET} - {3668374800 10800 1 EEST} - {3686518800 7200 0 EET} - {3699824400 10800 1 EEST} - {3717968400 7200 0 EET} - {3731274000 10800 1 EEST} - {3750022800 7200 0 EET} - {3762723600 10800 1 EEST} - {3781472400 7200 0 EET} - {3794173200 10800 1 EEST} - {3812922000 7200 0 EET} - {3825622800 10800 1 EEST} - {3844371600 7200 0 EET} - {3857677200 10800 1 EEST} - {3875821200 7200 0 EET} - {3889126800 10800 1 EEST} - {3907270800 7200 0 EET} - {3920576400 10800 1 EEST} - {3939325200 7200 0 EET} - {3952026000 10800 1 EEST} - {3970774800 7200 0 EET} - {3983475600 10800 1 EEST} - {4002224400 7200 0 EET} - {4015530000 10800 1 EEST} - {4033674000 7200 0 EET} - {4046979600 10800 1 EEST} - {4065123600 7200 0 EET} - {4078429200 10800 1 EEST} - {4096573200 7200 0 EET} + {1473199200 10800 0 +03} } diff --git a/library/tzdata/Europe/Kaliningrad b/library/tzdata/Europe/Kaliningrad index 85add82..e1713ae 100644 --- a/library/tzdata/Europe/Kaliningrad +++ b/library/tzdata/Europe/Kaliningrad @@ -80,6 +80,6 @@ set TZData(:Europe/Kaliningrad) { {1256428800 7200 0 EET} {1269734400 10800 1 EEST} {1288483200 7200 0 EET} - {1301184000 10800 0 FET} + {1301184000 10800 0 +03} {1414278000 7200 0 EET} } diff --git a/library/tzdata/Europe/Kirov b/library/tzdata/Europe/Kirov index 82ffc9e..8762d22 100644 --- a/library/tzdata/Europe/Kirov +++ b/library/tzdata/Europe/Kirov @@ -2,7 +2,7 @@ set TZData(:Europe/Kirov) { {-9223372036854775808 11928 0 LMT} - {-1593825528 10800 0 +03} + {-1593820800 10800 0 +03} {-1247540400 14400 0 +05} {354916800 18000 1 +05} {370724400 14400 0 +04} diff --git a/library/tzdata/Europe/Minsk b/library/tzdata/Europe/Minsk index 2857e5b..7a6232e 100644 --- a/library/tzdata/Europe/Minsk +++ b/library/tzdata/Europe/Minsk @@ -71,6 +71,5 @@ set TZData(:Europe/Minsk) { {1256428800 7200 0 EET} {1269734400 10800 1 EEST} {1288483200 7200 0 EET} - {1301184000 10800 0 FET} - {1414274400 10800 0 MSK} + {1301184000 10800 0 +03} } diff --git a/library/tzdata/Europe/Moscow b/library/tzdata/Europe/Moscow index 1e2f45b..9b513b1 100644 --- a/library/tzdata/Europe/Moscow +++ b/library/tzdata/Europe/Moscow @@ -9,10 +9,10 @@ set TZData(:Europe/Moscow) { {-1627965079 16279 1 MDST} {-1618716679 12679 1 MST} {-1596429079 16279 1 MDST} - {-1593822679 14400 0 MSD} + {-1593820800 14400 0 MSD} {-1589860800 10800 0 MSK} {-1542427200 14400 1 MSD} - {-1539493200 18000 1 MSM} + {-1539493200 18000 1 +05} {-1525323600 14400 1 MSD} {-1491188400 7200 0 EET} {-1247536800 10800 0 MSD} diff --git a/library/tzdata/Europe/Samara b/library/tzdata/Europe/Samara index 08203c0..8f21c57 100644 --- a/library/tzdata/Europe/Samara +++ b/library/tzdata/Europe/Samara @@ -2,72 +2,72 @@ set TZData(:Europe/Samara) { {-9223372036854775808 12020 0 LMT} - {-1593825620 10800 0 SAMT} - {-1247540400 14400 0 SAMT} - {-1102305600 14400 0 KUYMMTT} - {354916800 18000 1 KUYST} - {370724400 14400 0 KUYT} - {386452800 18000 1 KUYST} - {402260400 14400 0 KUYT} - {417988800 18000 1 KUYST} - {433796400 14400 0 KUYT} - {449611200 18000 1 KUYST} - {465343200 14400 0 KUYT} - {481068000 18000 1 KUYST} - {496792800 14400 0 KUYT} - {512517600 18000 1 KUYST} - {528242400 14400 0 KUYT} - {543967200 18000 1 KUYST} - {559692000 14400 0 KUYT} - {575416800 18000 1 KUYST} - {591141600 14400 0 KUYT} - {606866400 10800 0 MSD} - {606870000 14400 1 MSD} - {622594800 10800 0 MSK} - {638319600 14400 1 MSD} - {654649200 10800 0 MSK} - {670374000 7200 0 EEMMTT} - {670377600 10800 1 EEST} - {686102400 10800 0 SAMT} - {687916800 14400 0 SAMT} - {701820000 18000 1 SAMST} - {717544800 14400 0 SAMT} - {733269600 18000 1 SAMST} - {748994400 14400 0 SAMT} - {764719200 18000 1 SAMST} - {780444000 14400 0 SAMT} - {796168800 18000 1 SAMST} - {811893600 14400 0 SAMT} - {828223200 18000 1 SAMST} - {846367200 14400 0 SAMT} - {859672800 18000 1 SAMST} - {877816800 14400 0 SAMT} - {891122400 18000 1 SAMST} - {909266400 14400 0 SAMT} - {922572000 18000 1 SAMST} - {941320800 14400 0 SAMT} - {954021600 18000 1 SAMST} - {972770400 14400 0 SAMT} - {985471200 18000 1 SAMST} - {1004220000 14400 0 SAMT} - {1017525600 18000 1 SAMST} - {1035669600 14400 0 SAMT} - {1048975200 18000 1 SAMST} - {1067119200 14400 0 SAMT} - {1080424800 18000 1 SAMST} - {1099173600 14400 0 SAMT} - {1111874400 18000 1 SAMST} - {1130623200 14400 0 SAMT} - {1143324000 18000 1 SAMST} - {1162072800 14400 0 SAMT} - {1174773600 18000 1 SAMST} - {1193522400 14400 0 SAMT} - {1206828000 18000 1 SAMST} - {1224972000 14400 0 SAMT} - {1238277600 18000 1 SAMST} - {1256421600 14400 0 SAMT} - {1269727200 10800 0 SAMMMTT} - {1269730800 14400 1 SAMST} - {1288479600 10800 0 SAMT} - {1301180400 14400 0 SAMT} + {-1593820800 10800 0 +03} + {-1247540400 14400 0 +04} + {-1102305600 14400 0 +05} + {354916800 18000 1 +05} + {370724400 14400 0 +04} + {386452800 18000 1 +05} + {402260400 14400 0 +04} + {417988800 18000 1 +05} + {433796400 14400 0 +04} + {449611200 18000 1 +05} + {465343200 14400 0 +04} + {481068000 18000 1 +05} + {496792800 14400 0 +04} + {512517600 18000 1 +05} + {528242400 14400 0 +04} + {543967200 18000 1 +05} + {559692000 14400 0 +04} + {575416800 18000 1 +05} + {591141600 14400 0 +04} + {606866400 10800 0 +04} + {606870000 14400 1 +04} + {622594800 10800 0 +03} + {638319600 14400 1 +04} + {654649200 10800 0 +03} + {670374000 7200 0 +03} + {670377600 10800 1 +03} + {686102400 10800 0 +03} + {687916800 14400 0 +04} + {701820000 18000 1 +05} + {717544800 14400 0 +04} + {733269600 18000 1 +05} + {748994400 14400 0 +04} + {764719200 18000 1 +05} + {780444000 14400 0 +04} + {796168800 18000 1 +05} + {811893600 14400 0 +04} + {828223200 18000 1 +05} + {846367200 14400 0 +04} + {859672800 18000 1 +05} + {877816800 14400 0 +04} + {891122400 18000 1 +05} + {909266400 14400 0 +04} + {922572000 18000 1 +05} + {941320800 14400 0 +04} + {954021600 18000 1 +05} + {972770400 14400 0 +04} + {985471200 18000 1 +05} + {1004220000 14400 0 +04} + {1017525600 18000 1 +05} + {1035669600 14400 0 +04} + {1048975200 18000 1 +05} + {1067119200 14400 0 +04} + {1080424800 18000 1 +05} + {1099173600 14400 0 +04} + {1111874400 18000 1 +05} + {1130623200 14400 0 +04} + {1143324000 18000 1 +05} + {1162072800 14400 0 +04} + {1174773600 18000 1 +05} + {1193522400 14400 0 +04} + {1206828000 18000 1 +05} + {1224972000 14400 0 +04} + {1238277600 18000 1 +05} + {1256421600 14400 0 +04} + {1269727200 10800 0 +04} + {1269730800 14400 1 +04} + {1288479600 10800 0 +03} + {1301180400 14400 0 +04} } diff --git a/library/tzdata/Europe/Ulyanovsk b/library/tzdata/Europe/Ulyanovsk index d5c33b5..8fb3f9e 100644 --- a/library/tzdata/Europe/Ulyanovsk +++ b/library/tzdata/Europe/Ulyanovsk @@ -2,7 +2,7 @@ set TZData(:Europe/Ulyanovsk) { {-9223372036854775808 11616 0 LMT} - {-1593825216 10800 0 +03} + {-1593820800 10800 0 +03} {-1247540400 14400 0 +05} {354916800 18000 1 +05} {370724400 14400 0 +04} diff --git a/library/tzdata/Europe/Volgograd b/library/tzdata/Europe/Volgograd index 83996b0..05e1044 100644 --- a/library/tzdata/Europe/Volgograd +++ b/library/tzdata/Europe/Volgograd @@ -2,71 +2,70 @@ set TZData(:Europe/Volgograd) { {-9223372036854775808 10660 0 LMT} - {-1577761060 10800 0 TSAT} - {-1411873200 10800 0 STAT} - {-1247540400 14400 0 STAT} - {-256881600 14400 0 VOLMMTT} - {354916800 18000 1 VOLST} - {370724400 14400 0 VOLT} - {386452800 18000 1 VOLST} - {402260400 14400 0 VOLT} - {417988800 18000 1 VOLST} - {433796400 14400 0 VOLT} - {449611200 18000 1 VOLST} - {465343200 14400 0 VOLT} - {481068000 18000 1 VOLST} - {496792800 14400 0 VOLT} - {512517600 18000 1 VOLST} - {528242400 14400 0 VOLT} - {543967200 18000 1 VOLST} - {559692000 14400 0 VOLT} - {575416800 10800 0 VOLMMTT} - {575420400 14400 1 VOLST} - {591145200 10800 0 VOLT} - {606870000 14400 1 VOLST} - {622594800 10800 0 VOLT} - {638319600 14400 1 VOLST} - {654649200 10800 0 VOLT} - {670374000 14400 0 VOLT} - {701820000 10800 0 MSD} - {701823600 14400 1 MSD} - {717548400 10800 0 MSK} - {733273200 14400 1 MSD} - {748998000 10800 0 MSK} - {764722800 14400 1 MSD} - {780447600 10800 0 MSK} - {796172400 14400 1 MSD} - {811897200 10800 0 MSK} - {828226800 14400 1 MSD} - {846370800 10800 0 MSK} - {859676400 14400 1 MSD} - {877820400 10800 0 MSK} - {891126000 14400 1 MSD} - {909270000 10800 0 MSK} - {922575600 14400 1 MSD} - {941324400 10800 0 MSK} - {954025200 14400 1 MSD} - {972774000 10800 0 MSK} - {985474800 14400 1 MSD} - {1004223600 10800 0 MSK} - {1017529200 14400 1 MSD} - {1035673200 10800 0 MSK} - {1048978800 14400 1 MSD} - {1067122800 10800 0 MSK} - {1080428400 14400 1 MSD} - {1099177200 10800 0 MSK} - {1111878000 14400 1 MSD} - {1130626800 10800 0 MSK} - {1143327600 14400 1 MSD} - {1162076400 10800 0 MSK} - {1174777200 14400 1 MSD} - {1193526000 10800 0 MSK} - {1206831600 14400 1 MSD} - {1224975600 10800 0 MSK} - {1238281200 14400 1 MSD} - {1256425200 10800 0 MSK} - {1269730800 14400 1 MSD} - {1288479600 10800 0 MSK} - {1301180400 14400 0 MSK} - {1414274400 10800 0 MSK} + {-1577761060 10800 0 +03} + {-1247540400 14400 0 +04} + {-256881600 14400 0 +05} + {354916800 18000 1 +05} + {370724400 14400 0 +04} + {386452800 18000 1 +05} + {402260400 14400 0 +04} + {417988800 18000 1 +05} + {433796400 14400 0 +04} + {449611200 18000 1 +05} + {465343200 14400 0 +04} + {481068000 18000 1 +05} + {496792800 14400 0 +04} + {512517600 18000 1 +05} + {528242400 14400 0 +04} + {543967200 18000 1 +05} + {559692000 14400 0 +04} + {575416800 10800 0 +04} + {575420400 14400 1 +04} + {591145200 10800 0 +03} + {606870000 14400 1 +04} + {622594800 10800 0 +03} + {638319600 14400 1 +04} + {654649200 10800 0 +03} + {670374000 14400 0 +04} + {701820000 10800 0 +04} + {701823600 14400 1 +04} + {717548400 10800 0 +03} + {733273200 14400 1 +04} + {748998000 10800 0 +03} + {764722800 14400 1 +04} + {780447600 10800 0 +03} + {796172400 14400 1 +04} + {811897200 10800 0 +03} + {828226800 14400 1 +04} + {846370800 10800 0 +03} + {859676400 14400 1 +04} + {877820400 10800 0 +03} + {891126000 14400 1 +04} + {909270000 10800 0 +03} + {922575600 14400 1 +04} + {941324400 10800 0 +03} + {954025200 14400 1 +04} + {972774000 10800 0 +03} + {985474800 14400 1 +04} + {1004223600 10800 0 +03} + {1017529200 14400 1 +04} + {1035673200 10800 0 +03} + {1048978800 14400 1 +04} + {1067122800 10800 0 +03} + {1080428400 14400 1 +04} + {1099177200 10800 0 +03} + {1111878000 14400 1 +04} + {1130626800 10800 0 +03} + {1143327600 14400 1 +04} + {1162076400 10800 0 +03} + {1174777200 14400 1 +04} + {1193526000 10800 0 +03} + {1206831600 14400 1 +04} + {1224975600 10800 0 +03} + {1238281200 14400 1 +04} + {1256425200 10800 0 +03} + {1269730800 14400 1 +04} + {1288479600 10800 0 +03} + {1301180400 14400 0 +04} + {1414274400 10800 0 +03} } diff --git a/library/tzdata/Indian/Kerguelen b/library/tzdata/Indian/Kerguelen index 8820010..93f2d94 100644 --- a/library/tzdata/Indian/Kerguelen +++ b/library/tzdata/Indian/Kerguelen @@ -2,5 +2,5 @@ set TZData(:Indian/Kerguelen) { {-9223372036854775808 0 0 -00} - {-631152000 18000 0 TFT} + {-631152000 18000 0 +05} } diff --git a/tests/format.test b/tests/format.test index 27eac31..e199398 100644 --- a/tests/format.test +++ b/tests/format.test @@ -564,9 +564,12 @@ test format-19.3 {Bug 2830354} { test format-20.1 {Bug 2932421: plain %s caused intrep change of args} -body { set x [dict create a b c d] format %s $x - # After this, obj in $x should be a dict with a non-NULL bytes field + # After this, obj in $x should be a dict + # We are testing to make sure it has not been shimmered to a + # different intrep when that is not necessary. + # Whether or not there is a string rep - we should not care! tcl::unsupported::representation $x -} -match glob -result {value is a dict with *, string representation "*"} +} -match glob -result {value is a dict *} # cleanup catch {unset a} diff --git a/tests/get.test b/tests/get.test index d51ec6d..7aa06c1 100644 --- a/tests/get.test +++ b/tests/get.test @@ -19,9 +19,10 @@ if {[lsearch [namespace children] ::tcltest] == -1} { catch [list package require -exact Tcltest [info patchlevel]] testConstraint testgetint [llength [info commands testgetint]] +testConstraint testdoubleobj [llength [info commands testdoubleobj]] testConstraint longIs32bit [expr {int(0x80000000) < 0}] testConstraint longIs64bit [expr {int(0x8000000000000000) < 0}] - + test get-1.1 {Tcl_GetInt procedure} testgetint { testgetint 44 { 22} } {66} @@ -95,7 +96,24 @@ test get-3.2 {Tcl_GetDouble(FromObj), bad numbers} { } set result } {0 1 0 1 1 {expected floating-point number but got "++1.0"} 1 {expected floating-point number but got "+-1.0"} 1 {expected floating-point number but got "-+1.0"} 0 -1 1 {expected floating-point number but got "--1.0"} 1 {expected floating-point number but got "- +1.0"}} - +# Bug 7114ac6141 +test get-3.3 {tcl_GetInt with iffy numbers} testgetint { + lmap x {0 " 0" "0 " " 0 " " 0xa " " 010 " " 0o10 " " 0b10 "} { + catch {testgetint 44 $x} x + set x + } +} {44 44 44 44 54 52 52 46} +test get-3.4 {Tcl_GetDouble with iffy numbers} testdoubleobj { + lmap x {0 0.0 " .0" ".0 " " 0e0 " "09" "- 0" "-0" "0o12" "0b10"} { + catch {testdoubleobj set 1 $x} x + set x + } +} {0.0 0.0 0.0 0.0 0.0 {expected floating-point number but got "09" (looks like invalid octal number)} {expected floating-point number but got "- 0"} 0.0 10.0 2.0} + # cleanup ::tcltest::cleanupTests return + +# Local Variables: +# mode: tcl +# End: diff --git a/tests/history.test b/tests/history.test index 7549beb..3201ad7 100644 --- a/tests/history.test +++ b/tests/history.test @@ -11,8 +11,8 @@ # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. -if {[lsearch [namespace children] ::tcltest] == -1} { - package require tcltest +if {"::tcltest" ni [namespace children]} { + package require tcltest 2 namespace import -force ::tcltest::* } @@ -245,6 +245,60 @@ test history-9.2 {miscellaneous} history { catch {history gorp} msg set msg } {unknown or ambiguous subcommand "gorp": must be add, change, clear, event, info, keep, nextid, or redo} + +# History retains references; Bug 1ae12987cb +test history-10.1 {references kept by history} -constraints history -setup { + interp create histtest + histtest eval { + # Trigger any autoloading that might be present + catch {history} + proc refcount {x} { + set rep [::tcl::unsupported::representation $x] + regexp {with a refcount of (\d+)} $rep -> rc + # Ignore the references due to calling this procedure + return [expr {$rc - 3}] + } + } +} -body { + histtest eval { + # A fresh object, refcount 1 from the variable we write it to + set obj [expr rand()] + set baseline [refcount $obj] + lappend result [refcount $obj] + history add [list list $obj] + lappend result [refcount $obj] + history clear + lappend result [refcount $obj] + } +} -cleanup { + interp delete histtest +} -result {1 2 1} +test history-10.2 {references kept by history} -constraints history -setup { + interp create histtest + histtest eval { + # Trigger any autoloading that might be present + catch {history} + proc refcount {x} { + set rep [::tcl::unsupported::representation $x] + regexp {with a refcount of (\d+)} $rep -> rc + # Ignore the references due to calling this procedure + return [expr {$rc - 3}] + } + } +} -body { + histtest eval { + # A fresh object, refcount 1 from the variable we write it to + set obj [expr rand()] + set baseline [refcount $obj] + lappend result [refcount $obj] + history add [list list $obj] + lappend result [refcount $obj] + rename history {} + lappend result [refcount $obj] + } +} -cleanup { + interp delete histtest +} -result {1 2 1} # cleanup ::tcltest::cleanupTests diff --git a/tests/http.test b/tests/http.test index 41820cb..12ad475 100644 --- a/tests/http.test +++ b/tests/http.test @@ -133,6 +133,7 @@ set tail /a/b/c set url //[info hostname]:$port/a/b/c set fullurl HTTP://user:pass@[info hostname]:$port/a/b/c set binurl //[info hostname]:$port/binary +set xmlurl //[info hostname]:$port/xml set posturl //[info hostname]:$port/post set badposturl //[info hostname]:$port/droppost set authorityurl //[info hostname]:$port @@ -431,6 +432,13 @@ Accept text/plain,application/tcl-test-value Accept-Encoding .* Content-Type application/x-www-form-urlencoded Content-Length 5} +# Bug 838e99a76d +test http-3.33 {http::geturl application/xml is text} -body { + set token [http::geturl "$xmlurl"] + scan [http::data $token] "<%\[^>]>%c<%\[^>]>" +} -cleanup { + catch { http::cleanup $token } +} -result {test 4660 /test} test http-4.1 {http::Event} -body { set token [http::geturl $url -keepalive 0] diff --git a/tests/httpd b/tests/httpd index 232e80a..8753912 100644 --- a/tests/httpd +++ b/tests/httpd @@ -171,6 +171,10 @@ proc httpdRespond { sock } { set html "$bindata[info hostname]:$port$data(url)" set type application/octet-stream } + *xml* { + set html [encoding convertto utf-8 "<test>\u1234</test>"] + set type "application/xml;charset=UTF-8" + } *post* { set html "Got [string length $data(query)] bytes" set type text/plain diff --git a/tests/interp.test b/tests/interp.test index f9c1aec..6000ffd 100644 --- a/tests/interp.test +++ b/tests/interp.test @@ -606,6 +606,17 @@ test interp-14.10 {testing interp-alias: error messages} -setup { invoked from within "a 1"} +test interp-14.11 {{interp alias} {target named the empty string} {bug 2bf56185}} -setup { + set interp [interp create [info cmdcount]] + interp eval $interp { + proc {} args {return $args} + } + +} -body { + interp alias {} p1 $interp {} + p1 one two three +} -result {one two three} + # part 15: testing file sharing test interp-15.1 {testing file sharing} { catch {interp delete z} diff --git a/tests/resolver.test b/tests/resolver.test index f3d22e5..9bb4c08 100644 --- a/tests/resolver.test +++ b/tests/resolver.test @@ -187,7 +187,7 @@ test resolver-2.1 {compiled var resolver: Bug #3383616} -setup { # During the compilation the compiled var resolver, the resolve-specific # var info is allocated, during the execution of the body, the variable is # fetched and cached. - x; + x # During later calls, the cached variable is reused. x # When the proc is freed, the resolver-specific resolver var info is @@ -196,6 +196,121 @@ test resolver-2.1 {compiled var resolver: Bug #3383616} -setup { } -cleanup { testinterpresolver down } -result {} + + +# +# The test resolver-3.1* test bad interactions of resolvers on the "global" +# (per interp) literal pools. A resolver might resolve a cmd literal depending +# on a context differently, whereas the cmd literal sharing assumed that the +# namespace containing the literal solely determines the resolved cmd (and is +# resolver-agnostic). +# +# In order to make the test cases for the per-interpreter cmd literal pool +# reproducable and to minimize interactions between test cases, we use a slave +# interpreter per test-case. +# +# +# Testing resolver in namespace-based context "ctx1" +# +test resolver-3.1a { + interp command resolver, + resolve literal "z" in proc "x1" in context "ctx1" +} -setup { + + interp create i0 + testinterpresolver up i0 + i0 eval { + proc y {} { return yy } + namespace eval ::ns { + proc x1 {} { z } + } + } +} -constraints testinterpresolver -body { + + set r [i0 eval {namespace eval ::ctx1 { + ::ns::x1 + }}] + + return $r +} -cleanup { + testinterpresolver down i0 + interp delete i0 +} -result {yy} + +# +# Testing resolver in namespace-based context "ctx2" +# +test resolver-3.1b { + interp command resolver, + resolve literal "z" in proc "x2" in context "ctx2" +} -setup { + + interp create i0 + testinterpresolver up i0 + i0 eval { + proc Y {} { return YY } + namespace eval ::ns { + proc x2 {} { z } + } + } +} -constraints testinterpresolver -body { + + set r [i0 eval {namespace eval ::ctx2 { + ::ns::x2 + }}] + + return $r +} -cleanup { + testinterpresolver down i0 + interp delete i0 +} -result {YY} + +# +# Testing resolver in namespace-based context "ctx1" and "ctx2" in the same +# interpreter. +# + +test resolver-3.1c { + interp command resolver, + resolve literal "z" in proc "x1" in context "ctx1", + resolve literal "z" in proc "x2" in context "ctx2" + + Test, whether the shared cmd literal created by the first byte-code + compilation interacts with the second one. +} -setup { + + interp create i0 + testinterpresolver up i0 + + i0 eval { + proc y {} { return yy } + proc Y {} { return YY } + namespace eval ::ns { + proc x1 {} { z } + proc x2 {} { z } + } + } + +} -constraints testinterpresolver -body { + + set r1 [i0 eval {namespace eval ::ctx1 { + ::ns::x1 + }}] + + set r2 [i0 eval {namespace eval ::ctx2 { + ::ns::x2 + }}] + + set r3 [i0 eval {namespace eval ::ctx1 { + ::ns::x1 + }}] + + return [list $r1 $r2 $r3] +} -cleanup { + testinterpresolver down i0 + interp delete i0 +} -result {yy YY yy} + cleanupTests return diff --git a/tests/scan.test b/tests/scan.test index b57b641..7540c9c 100644 --- a/tests/scan.test +++ b/tests/scan.test @@ -535,6 +535,12 @@ test scan-5.13 {integer scanning and overflow} { test scan-5.14 {integer scanning} { scan 0xff %u } 0 +test scan-5.15 {Bug be003d570f} { + scan 0x40 %o +} 0 +test scan-5.16 {Bug be003d570f} { + scan 0x40 %b +} 0 test scan-6.1 {floating-point scanning} -setup { set a {}; set b {}; set c {}; set d {} diff --git a/tests/stringComp.test b/tests/stringComp.test index 140a270..2aeb08e 100644 --- a/tests/stringComp.test +++ b/tests/stringComp.test @@ -738,6 +738,9 @@ test stringComp-14.4 {Bug 1af8de570511} { string replace $val[unset val] 1 1 $y }} 4 x } 0x00 +test stringComp-14.5 {} { + string length [string replace [string repeat a\u00fe 2] 3 end {}] +} 3 ## string tolower ## not yet bc diff --git a/tests/var.test b/tests/var.test index 297034a..a9d93ac 100644 --- a/tests/var.test +++ b/tests/var.test @@ -26,6 +26,20 @@ testConstraint testupvar [llength [info commands testupvar]] testConstraint testgetvarfullname [llength [info commands testgetvarfullname]] testConstraint testsetnoerr [llength [info commands testsetnoerr]] testConstraint memory [llength [info commands memory]] +if {[testConstraint memory]} { + proc getbytes {} { + return [lindex [split [memory info] \n] 3 3] + } + proc leaktest {script {iterations 3}} { + set end [getbytes] + for {set i 0} {$i < $iterations} {incr i} { + uplevel 1 $script + set tmp $end + set end [getbytes] + } + return [expr {$end - $tmp}] + } +} catch {rename p ""} catch {namespace delete test_ns_var} @@ -579,6 +593,22 @@ test var-8.2 {TclDeleteNamespaceVars, "unset" traces on ns delete are called wit list [namespace delete test_ns_var] $::info } -result {{} {::test_ns_var::v {} u}} +test var-8.3 {TclDeleteNamespaceVars, mem leak} -constraints memory -setup { + proc ::t {a i o} { + set $a 321 + } +} -body { + leaktest { + namespace eval n { + variable v 123 + trace variable v u ::t + } + namespace delete n + } +} -cleanup { + rename ::t {} +} -result 0 + test var-9.1 {behaviour of TclGet/SetVar simple get/set} -setup { catch {unset u} catch {unset v} diff --git a/tests/zlib.test b/tests/zlib.test index 8a040d8..ae8742b 100644 --- a/tests/zlib.test +++ b/tests/zlib.test @@ -138,6 +138,25 @@ test zlib-7.7 {zlib stream: Bug 25842c161} -constraints zlib -body { } -cleanup { catch {$s close} } -result "" +# Also causes Tk Bug 10f2e7872b +test zlib-7.8 {zlib stream: Bug b26e38a3e4} -constraints zlib -setup { + expr srand(12345) + set randdata {} + for {set i 0} {$i<6001} {incr i} { + append randdata [binary format c [expr {int(256*rand())}]] + } +} -body { + set strm [zlib stream compress] + for {set i 1} {$i<3000} {incr i} { + $strm put $randdata + } + $strm put -finalize $randdata + set data [$strm get] + list [string length $data] [string length [zlib decompress $data]] +} -cleanup { + catch {$strm close} + unset -nocomplain randdata data +} -result {120185 18003000} test zlib-8.1 {zlib transformation} -constraints zlib -setup { set file [makeFile {} test.gz] @@ -917,6 +936,29 @@ test zlib-12.1 {Tk Bug 9eb55debc5} -constraints zlib -setup { } -cleanup { $stream close } -result {12026 18000} +test zlib-12.2 {Patrick Dunnigan's issue} -constraints zlib -setup { + set filesrc [makeFile {} test.input] + set filedst [makeFile {} test.output] + set f [open $filesrc "wb"] + for {set i 0} {$i < 10000} {incr i} { + puts -nonewline $f "x" + } + close $f +} -body { + set fin [open $filesrc "rb"] + set fout [open $filedst "wb"] + set header [dict create filename "test.input" time 0] + try { + fcopy $fin [zlib push gzip $fout -header $header] + } finally { + close $fin + close $fout + } + file size $filedst +} -cleanup { + removeFile $filesrc + removeFile $filedst +} -result 4152 ::tcltest::cleanupTests return diff --git a/unix/Makefile.in b/unix/Makefile.in index 7b3d820..9ad106c 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -840,8 +840,8 @@ install-libraries: libraries do \ $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/http1.0; \ done; - @echo "Installing package http 2.8.9 as a Tcl Module"; - @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.6/http-2.8.9.tm; + @echo "Installing package http 2.8.10 as a Tcl Module"; + @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.6/http-2.8.10.tm; @echo "Installing package opt0.4 files to $(SCRIPT_INSTALL_DIR)/opt0.4/"; @for i in $(TOP_DIR)/library/opt/*.tcl ; \ do \ diff --git a/unix/tclUnixInit.c b/unix/tclUnixInit.c index 5fc0035..badfb36 100644 --- a/unix/tclUnixInit.c +++ b/unix/tclUnixInit.c @@ -769,7 +769,7 @@ TclpSetVariables( CFLocaleRef localeRef; - if (CFLocaleCopyCurrent != NULL && CFLocaleGetIdentifier != NULL && + if (&CFLocaleCopyCurrent != NULL && &CFLocaleGetIdentifier != NULL && (localeRef = CFLocaleCopyCurrent())) { CFStringRef locale = CFLocaleGetIdentifier(localeRef); diff --git a/unix/tclUnixSock.c b/unix/tclUnixSock.c index 9c5cd4b..ca8d677 100644 --- a/unix/tclUnixSock.c +++ b/unix/tclUnixSock.c @@ -1098,7 +1098,7 @@ TcpConnect( { socklen_t optlen; int async_callback = statePtr->flags & TCP_ASYNC_PENDING; - int ret = -1, error = errno; + int ret = -1, error = EHOSTUNREACH; int async = statePtr->flags & TCP_ASYNC_CONNECT; if (async_callback) { diff --git a/unix/tclUnixThrd.c b/unix/tclUnixThrd.c index ea03332..9757e4e 100644 --- a/unix/tclUnixThrd.c +++ b/unix/tclUnixThrd.c @@ -722,7 +722,8 @@ TclpFreeAllocCache( { if (ptr != NULL) { /* - * Called by the pthread lib when a thread exits + * Called by TclFinalizeThreadAllocThread() during the thread + * finalization initiated from Tcl_FinalizeThread() */ TclFreeAllocCache(ptr); @@ -730,7 +731,7 @@ TclpFreeAllocCache( } else if (initialized) { /* - * Called by us in TclFinalizeThreadAlloc() during the library + * Called by TclFinalizeThreadAlloc() during the process * finalization initiated from Tcl_Finalize() */ @@ -745,7 +746,7 @@ TclpGetAllocCache(void) if (!initialized) { pthread_mutex_lock(allocLockPtr); if (!initialized) { - pthread_key_create(&key, TclpFreeAllocCache); + pthread_key_create(&key, NULL); initialized = 1; } pthread_mutex_unlock(allocLockPtr); diff --git a/win/Makefile.in b/win/Makefile.in index 28ffe0a..0ab4204 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -81,7 +81,7 @@ CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@ #CFLAGS = $(CFLAGS_DEBUG) #CFLAGS = $(CFLAGS_OPTIMIZE) #CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE) -CFLAGS = @CFLAGS@ @CFLAGS_DEFAULT@ -DUNICODE -D_UNICODE +CFLAGS = @CFLAGS@ @CFLAGS_DEFAULT@ -DUNICODE -D_UNICODE -D_ATL_XP_TARGETING # To compile without backward compatibility and deprecated code uncomment the # following @@ -651,8 +651,8 @@ install-libraries: libraries install-tzdata install-msgs do \ $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/http1.0"; \ done; - @echo "Installing package http 2.8.9 as a Tcl Module"; - @$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.6/http-2.8.9.tm; + @echo "Installing package http 2.8.10 as a Tcl Module"; + @$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.6/http-2.8.10.tm; @echo "Installing library opt0.4 directory"; @for j in $(ROOT_DIR)/library/opt/*.tcl; \ do \ diff --git a/win/makefile.vc b/win/makefile.vc index eb9a594..f401541 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -737,7 +737,7 @@ gentommath_h: !ifndef HHC
HHC=""%ProgramFiles%\HTML Help Workshop\hhc.exe""
!endif
-HTMLDIR=$(ROOT)\html
+HTMLDIR=$(OUT_DIR)\html
HTMLBASE=TclTk$(VERSION)
HHPFILE=$(HTMLDIR)\$(HTMLBASE).hhp
CHMFILE=$(HTMLDIR)\$(HTMLBASE).chm
@@ -745,25 +745,27 @@ CHMFILE=$(HTMLDIR)\$(HTMLBASE).chm htmlhelp: chmsetup $(CHMFILE)
$(CHMFILE): $(DOCDIR)\*
- @$(TCLSH) $(TOOLSDIR)\tcltk-man2html.tcl
+ @$(TCLSH) $(TOOLSDIR)\tcltk-man2html.tcl "--htmldir=$(HTMLDIR)"
@echo Compiling HTML help project
- @$(HHC) <<$(HHPFILE) >NUL
+ -$(HHC) <<$(HHPFILE) >NUL
[OPTIONS]
Compatibility=1.1 or later
Compiled file=$(HTMLBASE).chm
+Default topic=contents.htm
Display compile progress=no
Error log file=$(HTMLBASE).log
+Full-text search=Yes
Language=0x409 English (United States)
Title=Tcl/Tk $(DOT_VERSION) Help
[FILES]
contents.htm
docs.css
-Keywords
-TclCmd
-TclLib
-TkCmd
-TkLib
-UserCmd
+Keywords\*.htm
+TclCmd\*.htm
+TclLib\*.htm
+TkCmd\*.htm
+TkLib\*.htm
+UserCmd\*.htm
<<
chmsetup:
diff --git a/win/rules.vc b/win/rules.vc index d4c2f35..e12854d 100644 --- a/win/rules.vc +++ b/win/rules.vc @@ -159,7 +159,7 @@ DEBUGFLAGS = $(DEBUGFLAGS) -RTC1 DEBUGFLAGS = $(DEBUGFLAGS) -GZ
!endif
-COMPILERFLAGS =-W3 -DUNICODE -D_UNICODE
+COMPILERFLAGS =-W3 /DUNICODE /D_UNICODE /D_ATL_XP_TARGETING
# In v13 -GL and -YX are incompatible.
!if [nmakehlp -c -YX]
@@ -230,6 +230,10 @@ STATIC_BUILD = 1 !else
STATIC_BUILD = 0
!endif
+!if [nmakehlp -f $(OPTS) "nomsvcrt"]
+!message *** Doing nomsvcrt
+MSVCRT = 0
+!else
!if [nmakehlp -f $(OPTS) "msvcrt"]
!message *** Doing msvcrt
MSVCRT = 1
@@ -240,6 +244,7 @@ MSVCRT = 1 MSVCRT = 0
!endif
!endif
+!endif
!if [nmakehlp -f $(OPTS) "staticpkg"] && $(STATIC_BUILD)
!message *** Doing staticpkg
TCL_USE_STATIC_PACKAGES = 1
diff --git a/win/tclWinFile.c b/win/tclWinFile.c index 4d7500b..6662327 100755 --- a/win/tclWinFile.c +++ b/win/tclWinFile.c @@ -3166,8 +3166,8 @@ TclWinFileOwned( case we are in all likelihood not the owner */ return 0; } - - /* + + /* * Getting the current process SID is a multi-step process. * We make the assumption that if a call fails, this process is * so underprivileged it could not possibly own anything. Normally @@ -3191,10 +3191,10 @@ TclWinFileOwned( LocalFree(secd); /* Also frees ownerSid */ if (buf) ckfree(buf); - + return (owned != 0); /* Convert non-0 to 1 */ } - + /* * Local Variables: * mode: c diff --git a/win/tclWinPipe.c b/win/tclWinPipe.c index 382addd..4666deb 100644 --- a/win/tclWinPipe.c +++ b/win/tclWinPipe.c @@ -1337,7 +1337,7 @@ ApplicationType( Tcl_DStringFree(&ds); ext = strrchr(fullName, '.'); - if ((ext != NULL) && + if ((ext != NULL) && (strcasecmp(ext, ".cmd") == 0 || strcasecmp(ext, ".bat") == 0)) { applType = APPL_DOS; break; diff --git a/win/tclWinPort.h b/win/tclWinPort.h index b486466..159a708 100644 --- a/win/tclWinPort.h +++ b/win/tclWinPort.h @@ -360,7 +360,7 @@ typedef DWORD_PTR * PDWORD_PTR; # define S_IFLNK 0120000 /* Symbolic Link */ #endif -/* +/* * Windows compilers do not define S_IFBLK. However, Tcl uses it in * GetTypeFromMode to identify blockSpecial devices based on the * value in the statsbuf st_mode field. We have no other way to pass this diff --git a/win/tclWinThrd.c b/win/tclWinThrd.c index ca26f08..8f3ddb9 100644 --- a/win/tclWinThrd.c +++ b/win/tclWinThrd.c @@ -1012,8 +1012,10 @@ TclpFreeAllocCache( if (ptr != NULL) { /* - * Called by us in TclpFinalizeThreadData when a thread exits and - * destroys the tsd key which stores allocator caches. + * Called by TclFinalizeThreadAlloc() and + * TclFinalizeThreadAllocThread() during Tcl_Finalize() or + * Tcl_FinalizeThread(). This function destroys the tsd key which + * stores allocator caches in thread local storage. */ TclFreeAllocCache(ptr); |