--- /srv/reproducible-results/rbuild-debian/r-b-build.3wMm39nd/b1/syncevolution_2.0.0-3.1_i386.changes
+++ /srv/reproducible-results/rbuild-debian/r-b-build.3wMm39nd/b2/syncevolution_2.0.0-3.1_i386.changes
├── Files
│ @@ -1,19 +1,19 @@
│
│ 1804812f3863eeb129f2e515eed5c7bc 138860 debug optional libgdbussyncevo0-dbgsym_2.0.0-3.1_i386.deb
│ 235b94e72be23ace832cd1b46f037589 20716 utils optional libgdbussyncevo0_2.0.0-3.1_i386.deb
│ 72a982fa9434427bb2f7c489c9a60d8e 40328 debug optional libsyncevo-dbus0-dbgsym_2.0.0-3.1_i386.deb
│ 157438ea12b3def49fa892bc8a7d3857 19172 utils optional libsyncevo-dbus0_2.0.0-3.1_i386.deb
│ - c64258b064207cabec7ea431b3660a6b 16403596 debug optional libsyncevolution0-dbgsym_2.0.0-3.1_i386.deb
│ - 3a40ec50c582f1dfc778d4da4c3338a3 957864 utils optional libsyncevolution0_2.0.0-3.1_i386.deb
│ + 0d04e266ac70ae57e436eeab80cb8273 16403592 debug optional libsyncevolution0-dbgsym_2.0.0-3.1_i386.deb
│ + 731aad4be2fccf77eaee685145fa942e 957912 utils optional libsyncevolution0_2.0.0-3.1_i386.deb
│ 7388cade6bdfc5ec0d4dd092ff711495 99424 debug optional sync-ui-dbgsym_2.0.0-3.1_i386.deb
│ 59c09843e6d57cc8a73ac3e59647d4be 49616 utils optional sync-ui_2.0.0-3.1_i386.deb
│ da9f5e34e3377c6aec5c79436188ca05 114644 utils optional syncevolution-common_2.0.0-3.1_all.deb
│ 09b379930401da6f2b668bffd28e2cc0 973216 debug optional syncevolution-dbgsym_2.0.0-3.1_i386.deb
│ 8b2100b971f67442f1dbaa6817570699 11374780 debug optional syncevolution-dbus-dbgsym_2.0.0-3.1_i386.deb
│ c5edf74e98253e3cb1f9f06701ddaa3d 569768 utils optional syncevolution-dbus_2.0.0-3.1_i386.deb
│ 376dc7fd6249beef2d48e76f913f827c 13232 utils optional syncevolution-http_2.0.0-3.1_all.deb
│ a6d7a1388b9a14883e64e13fe5bfdac9 4617156 debug optional syncevolution-libs-dbgsym_2.0.0-3.1_i386.deb
│ b40dea709fbef824cd48fb04440a0adb 2576256 debug optional syncevolution-libs-gnome-dbgsym_2.0.0-3.1_i386.deb
│ 8c34a0f6b6ef851485a3904e79951931 146944 utils optional syncevolution-libs-gnome_2.0.0-3.1_i386.deb
│ 6212ccef59072108fc72d1d616583cb9 286344 utils optional syncevolution-libs_2.0.0-3.1_i386.deb
│ - 9bebba47ee03e8f0cae4433b7a597ad3 298592 utils optional syncevolution_2.0.0-3.1_i386.deb
│ + e70ce0536dcd360d32d5f3a61e9fb51d 298600 utils optional syncevolution_2.0.0-3.1_i386.deb
├── libsyncevolution0_2.0.0-3.1_i386.deb
│ ├── file list
│ │ @@ -1,3 +1,3 @@
│ │ -rw-r--r-- 0 0 0 4 2024-04-19 20:17:38.000000 debian-binary
│ │ -rw-r--r-- 0 0 0 1132 2024-04-19 20:17:38.000000 control.tar.xz
│ │ --rw-r--r-- 0 0 0 956540 2024-04-19 20:17:38.000000 data.tar.xz
│ │ +-rw-r--r-- 0 0 0 956588 2024-04-19 20:17:38.000000 data.tar.xz
│ ├── control.tar.xz
│ │ ├── control.tar
│ │ │ ├── ./md5sums
│ │ │ │ ├── ./md5sums
│ │ │ │ │┄ Files differ
│ ├── data.tar.xz
│ │ ├── data.tar
│ │ │ ├── ./usr/lib/i386-linux-gnu/libsyncevolution.so.0.0.0
│ │ │ │┄ File has been modified after NT_GNU_BUILD_ID has been applied.
│ │ │ │ ├── readelf --wide --notes {}
│ │ │ │ │ @@ -1,4 +1,4 @@
│ │ │ │ │
│ │ │ │ │ Displaying notes found in: .note.gnu.build-id
│ │ │ │ │ Owner Data size Description
│ │ │ │ │ - GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 0db06756fb20b35b4eeefe1da9efa82a0bac15fa
│ │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: a64f4ad17313770a3ed300664bbeeef8e05e019e
│ │ │ │ ├── strings --all --bytes=8 {}
│ │ │ │ │ @@ -9002,15 +9002,235 @@
│ │ │ │ │ }
│ │ │ │ │ ]]>
│ │ │ │ │
│ │ │ │ │ -
│ │ │ │ │ +
│ │ │ │ │ +
│ │ │ │ │ +
│ │ │ │ │ +
│ │ │ │ │ +
│ │ │ │ │ +
│ │ │ │ │ + X-ANNIVERSARY.
│ │ │ │ │ + i = SIZE(XDATE) - 1;
│ │ │ │ │ + while (i >= 0) {
│ │ │ │ │ + if (GROUP_TAG[i] != EMPTY &&
│ │ │ │ │ + XDATE[i] != UNASSIGNED &&
│ │ │ │ │ + LABEL[i] == "Anniversary") {
│ │ │ │ │ + SWAP(ANNIVERSARY, XDATE[i]);
│ │ │ │ │ + // XDATE[i] = UNASSIGNED;
│ │ │ │ │ + break;
│ │ │ │ │ + }
│ │ │ │ │ + i = i - 1;
│ │ │ │ │ + }
│ │ │ │ │ + // Special X-ABRELATEDNAMES -> X-SPOUSE/MANAGER/ASSISTANT
│ │ │ │ │ + i = SIZE(RELATEDNAMES) - 1;
│ │ │ │ │ + while (i >= 0) {
│ │ │ │ │ + if (GROUP_TAG[i] != EMPTY &&
│ │ │ │ │ + RELATEDNAMES[i] != UNASSIGNED) {
│ │ │ │ │ + s = LABEL[i];
│ │ │ │ │ + if (s == "Spouse") {
│ │ │ │ │ + if (SPOUSE == EMPTY) {
│ │ │ │ │ + SWAP(SPOUSE, RELATEDNAMES[i]);
│ │ │ │ │ + // RELATEDNAMES[i] = UNASSIGNED;
│ │ │ │ │ + }
│ │ │ │ │ + } else if (s == "Manager") {
│ │ │ │ │ + if (MANAGER == EMPTY) {
│ │ │ │ │ + SWAP(MANAGER, RELATEDNAMES[i]);
│ │ │ │ │ + // RELATEDNAMES[i] = UNASSIGNED;
│ │ │ │ │ + }
│ │ │ │ │ + } else if (s == "Assistant") {
│ │ │ │ │ + if (ASSISTANT == EMPTY) {
│ │ │ │ │ + SWAP(ASSISTANT, RELATEDNAMES[i]);
│ │ │ │ │ + // RELATEDNAMES[i] = UNASSIGNED;
│ │ │ │ │ + }
│ │ │ │ │ + }
│ │ │ │ │ + }
│ │ │ │ │ + i = i - 1;
│ │ │ │ │ + }
│ │ │ │ │ + // IMPP -> X-JABBER/AIM/... depending on service type. Protocol must match.
│ │ │ │ │ + i = SIZE(IMPP) - 1;
│ │ │ │ │ + INTEGER offset;
│ │ │ │ │ + STRING service;
│ │ │ │ │ + STRING protocol;
│ │ │ │ │ + STRING value;
│ │ │ │ │ + while (i >= 0) {
│ │ │ │ │ + service = IMPP_SERVICE[i];
│ │ │ │ │ + if (service != UNASSIGNED) {
│ │ │ │ │ + offset = FIND(IMPP[i], ":");
│ │ │ │ │ + if (offset != UNASSIGNED) {
│ │ │ │ │ + protocol = SUBSTR(IMPP[i], 0, offset);
│ │ │ │ │ + value = URLDECODE(SUBSTR(IMPP[i], offset + 1));
│ │ │ │ │ + if (service == "AIM" && protocol == "aim") {
│ │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, AIM_HANDLE, AIM_SLOT, i);
│ │ │ │ │ + } else if (service == "Gadugadu") {
│ │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, GADUGADU_HANDLE, GADUGADU_SLOT, i);
│ │ │ │ │ + } else if (service == "Groupwise") {
│ │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, GROUPWISE_HANDLE, GROUPWISE_SLOT, i);
│ │ │ │ │ + } else if (service == "ICQ" && protocol == "aim") {
│ │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, ICQ_HANDLE, ICQ_SLOT, i);
│ │ │ │ │ + } else if (service == "Jabber" && protocol == "xmpp") {
│ │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, JABBER_HANDLE, JABBER_SLOT, i);
│ │ │ │ │ + } else if (service == "MSN" && protocol == "msnim") {
│ │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, MSN_HANDLE, MSN_SLOT, i);
│ │ │ │ │ + } else if (service == "Yahoo" && protocol == "ymsgr") {
│ │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, YAHOO_HANDLE, YAHOO_SLOT, i);
│ │ │ │ │ + } else if (service == "Skype" && protocol == "skype") {
│ │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, SKYPE_HANDLE, SKYPE_SLOT, i);
│ │ │ │ │ + } else if (service == "Sip") {
│ │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, SIP_HANDLE, SIP_SLOT, i);
│ │ │ │ │ + }
│ │ │ │ │ + }
│ │ │ │ │ + }
│ │ │ │ │ + i = i - 1;
│ │ │ │ │ + }
│ │ │ │ │ + // Remove labels which are no longer needed (valued moved above,
│ │ │ │ │ + // stored for a group which has no other properties (Google
│ │ │ │ │ + // CardDAV server sometimes sends that, editing in Evolution
│ │ │ │ │ + // might cause it, etc.) or provide no information ("Other").
│ │ │ │ │ + i = SIZE(LABEL) - 1;
│ │ │ │ │ + while (i >= 0) {
│ │ │ │ │ + if (LABEL[i] == "Other" ||
│ │ │ │ │ + LABEL[i] != UNASSIGNED &&
│ │ │ │ │ + (GROUP_TAG[i] == EMPTY ||
│ │ │ │ │ + RELATEDNAMES[i] == UNASSIGNED &&
│ │ │ │ │ + XDATE[i] == UNASSIGNED &&
│ │ │ │ │ + TEL[i] == UNASSIGNED &&
│ │ │ │ │ + EMAIL[i] == UNASSIGNED &&
│ │ │ │ │ + WEB[i] == UNASSIGNED &&
│ │ │ │ │ + XDATE[i] == UNASSIGNED &&
│ │ │ │ │ + IMPP[i] == UNASSIGNED &&
│ │ │ │ │ + ADR_POBOX[i] == UNASSIGNED &&
│ │ │ │ │ + ADR_ADDTL[i] == UNASSIGNED &&
│ │ │ │ │ + ADR_STREET[i] == UNASSIGNED &&
│ │ │ │ │ + ADR_CITY[i] == UNASSIGNED &&
│ │ │ │ │ + ADR_REG[i] == UNASSIGNED &&
│ │ │ │ │ + ADR_ZIP[i] == UNASSIGNED &&
│ │ │ │ │ + ADR_COUNTRY[i] == UNASSIGNED &&
│ │ │ │ │ + ADR_STREET_FLAGS[i] == UNASSIGNED)) {
│ │ │ │ │ + LABEL[i] = UNASSIGNED;
│ │ │ │ │ + }
│ │ │ │ │ + i = i - 1;
│ │ │ │ │ + }
│ │ │ │ │ + // Remove all group tags. Not used for legacy formats.
│ │ │ │ │ + GROUP_TAG = UNASSIGNED;
│ │ │ │ │ + ]]>
│ │ │ │ │ +
│ │ │ │ │ +
│ │ │ │ │ +
│ │ │ │ │ + = 0) {
│ │ │ │ │ + if ($3[impp_index] != EMPTY) {
│ │ │ │ │ + INTEGER num;
│ │ │ │ │ + num = SIZE(LABEL);
│ │ │ │ │ + IMPP[num] = $2 + ":" + URLENCODE($3[impp_index]);
│ │ │ │ │ + $3[impp_index] = UNASSIGNED;
│ │ │ │ │ + SWAP($4[impp_index], IMPP_SLOT[num]);
│ │ │ │ │ + IMPP_SERVICE[num] = $1;
│ │ │ │ │ + LABEL[num] = "Other";
│ │ │ │ │ + }
│ │ │ │ │ + impp_index = impp_index - 1;
│ │ │ │ │ + }
│ │ │ │ │ + ]]>
│ │ │ │ │ +
│ │ │ │ │ + = 0) {
│ │ │ │ │ + if (LABEL[i] != EMPTY) {
│ │ │ │ │ + GROUP_TAG[i] = "item" + tagnum;
│ │ │ │ │ + tagnum = tagnum + 1;
│ │ │ │ │ + }
│ │ │ │ │ + i = i - 1;
│ │ │ │ │ + }
│ │ │ │ │ + ]]>
│ │ │ │ │ +
│ │ │ │ │ +
│ │ │ │ │
│ │ │ │ │ -
│ │ │ │ │ -
│ │ │ │ │ -
│ │ │ │ │ -
│ │ │ │ │ -
│ │ │ │ │ -
│ │ │ │ │ - X-ANNIVERSARY.
│ │ │ │ │ - i = SIZE(XDATE) - 1;
│ │ │ │ │ - while (i >= 0) {
│ │ │ │ │ - if (GROUP_TAG[i] != EMPTY &&
│ │ │ │ │ - XDATE[i] != UNASSIGNED &&
│ │ │ │ │ - LABEL[i] == "Anniversary") {
│ │ │ │ │ - SWAP(ANNIVERSARY, XDATE[i]);
│ │ │ │ │ - // XDATE[i] = UNASSIGNED;
│ │ │ │ │ - break;
│ │ │ │ │ - }
│ │ │ │ │ - i = i - 1;
│ │ │ │ │ - }
│ │ │ │ │ - // Special X-ABRELATEDNAMES -> X-SPOUSE/MANAGER/ASSISTANT
│ │ │ │ │ - i = SIZE(RELATEDNAMES) - 1;
│ │ │ │ │ - while (i >= 0) {
│ │ │ │ │ - if (GROUP_TAG[i] != EMPTY &&
│ │ │ │ │ - RELATEDNAMES[i] != UNASSIGNED) {
│ │ │ │ │ - s = LABEL[i];
│ │ │ │ │ - if (s == "Spouse") {
│ │ │ │ │ - if (SPOUSE == EMPTY) {
│ │ │ │ │ - SWAP(SPOUSE, RELATEDNAMES[i]);
│ │ │ │ │ - // RELATEDNAMES[i] = UNASSIGNED;
│ │ │ │ │ - }
│ │ │ │ │ - } else if (s == "Manager") {
│ │ │ │ │ - if (MANAGER == EMPTY) {
│ │ │ │ │ - SWAP(MANAGER, RELATEDNAMES[i]);
│ │ │ │ │ - // RELATEDNAMES[i] = UNASSIGNED;
│ │ │ │ │ - }
│ │ │ │ │ - } else if (s == "Assistant") {
│ │ │ │ │ - if (ASSISTANT == EMPTY) {
│ │ │ │ │ - SWAP(ASSISTANT, RELATEDNAMES[i]);
│ │ │ │ │ - // RELATEDNAMES[i] = UNASSIGNED;
│ │ │ │ │ - }
│ │ │ │ │ - }
│ │ │ │ │ - }
│ │ │ │ │ - i = i - 1;
│ │ │ │ │ - }
│ │ │ │ │ - // IMPP -> X-JABBER/AIM/... depending on service type. Protocol must match.
│ │ │ │ │ - i = SIZE(IMPP) - 1;
│ │ │ │ │ - INTEGER offset;
│ │ │ │ │ - STRING service;
│ │ │ │ │ - STRING protocol;
│ │ │ │ │ - STRING value;
│ │ │ │ │ - while (i >= 0) {
│ │ │ │ │ - service = IMPP_SERVICE[i];
│ │ │ │ │ - if (service != UNASSIGNED) {
│ │ │ │ │ - offset = FIND(IMPP[i], ":");
│ │ │ │ │ - if (offset != UNASSIGNED) {
│ │ │ │ │ - protocol = SUBSTR(IMPP[i], 0, offset);
│ │ │ │ │ - value = URLDECODE(SUBSTR(IMPP[i], offset + 1));
│ │ │ │ │ - if (service == "AIM" && protocol == "aim") {
│ │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, AIM_HANDLE, AIM_SLOT, i);
│ │ │ │ │ - } else if (service == "Gadugadu") {
│ │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, GADUGADU_HANDLE, GADUGADU_SLOT, i);
│ │ │ │ │ - } else if (service == "Groupwise") {
│ │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, GROUPWISE_HANDLE, GROUPWISE_SLOT, i);
│ │ │ │ │ - } else if (service == "ICQ" && protocol == "aim") {
│ │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, ICQ_HANDLE, ICQ_SLOT, i);
│ │ │ │ │ - } else if (service == "Jabber" && protocol == "xmpp") {
│ │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, JABBER_HANDLE, JABBER_SLOT, i);
│ │ │ │ │ - } else if (service == "MSN" && protocol == "msnim") {
│ │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, MSN_HANDLE, MSN_SLOT, i);
│ │ │ │ │ - } else if (service == "Yahoo" && protocol == "ymsgr") {
│ │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, YAHOO_HANDLE, YAHOO_SLOT, i);
│ │ │ │ │ - } else if (service == "Skype" && protocol == "skype") {
│ │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, SKYPE_HANDLE, SKYPE_SLOT, i);
│ │ │ │ │ - } else if (service == "Sip") {
│ │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, SIP_HANDLE, SIP_SLOT, i);
│ │ │ │ │ - }
│ │ │ │ │ - }
│ │ │ │ │ - }
│ │ │ │ │ - i = i - 1;
│ │ │ │ │ - }
│ │ │ │ │ - // Remove labels which are no longer needed (valued moved above,
│ │ │ │ │ - // stored for a group which has no other properties (Google
│ │ │ │ │ - // CardDAV server sometimes sends that, editing in Evolution
│ │ │ │ │ - // might cause it, etc.) or provide no information ("Other").
│ │ │ │ │ - i = SIZE(LABEL) - 1;
│ │ │ │ │ - while (i >= 0) {
│ │ │ │ │ - if (LABEL[i] == "Other" ||
│ │ │ │ │ - LABEL[i] != UNASSIGNED &&
│ │ │ │ │ - (GROUP_TAG[i] == EMPTY ||
│ │ │ │ │ - RELATEDNAMES[i] == UNASSIGNED &&
│ │ │ │ │ - XDATE[i] == UNASSIGNED &&
│ │ │ │ │ - TEL[i] == UNASSIGNED &&
│ │ │ │ │ - EMAIL[i] == UNASSIGNED &&
│ │ │ │ │ - WEB[i] == UNASSIGNED &&
│ │ │ │ │ - XDATE[i] == UNASSIGNED &&
│ │ │ │ │ - IMPP[i] == UNASSIGNED &&
│ │ │ │ │ - ADR_POBOX[i] == UNASSIGNED &&
│ │ │ │ │ - ADR_ADDTL[i] == UNASSIGNED &&
│ │ │ │ │ - ADR_STREET[i] == UNASSIGNED &&
│ │ │ │ │ - ADR_CITY[i] == UNASSIGNED &&
│ │ │ │ │ - ADR_REG[i] == UNASSIGNED &&
│ │ │ │ │ - ADR_ZIP[i] == UNASSIGNED &&
│ │ │ │ │ - ADR_COUNTRY[i] == UNASSIGNED &&
│ │ │ │ │ - ADR_STREET_FLAGS[i] == UNASSIGNED)) {
│ │ │ │ │ - LABEL[i] = UNASSIGNED;
│ │ │ │ │ - }
│ │ │ │ │ - i = i - 1;
│ │ │ │ │ - }
│ │ │ │ │ - // Remove all group tags. Not used for legacy formats.
│ │ │ │ │ - GROUP_TAG = UNASSIGNED;
│ │ │ │ │ - ]]>
│ │ │ │ │ -
│ │ │ │ │ -
│ │ │ │ │ -
│ │ │ │ │ - = 0) {
│ │ │ │ │ - if ($3[impp_index] != EMPTY) {
│ │ │ │ │ - INTEGER num;
│ │ │ │ │ - num = SIZE(LABEL);
│ │ │ │ │ - IMPP[num] = $2 + ":" + URLENCODE($3[impp_index]);
│ │ │ │ │ - $3[impp_index] = UNASSIGNED;
│ │ │ │ │ - SWAP($4[impp_index], IMPP_SLOT[num]);
│ │ │ │ │ - IMPP_SERVICE[num] = $1;
│ │ │ │ │ - LABEL[num] = "Other";
│ │ │ │ │ - }
│ │ │ │ │ - impp_index = impp_index - 1;
│ │ │ │ │ - }
│ │ │ │ │ - ]]>
│ │ │ │ │ -
│ │ │ │ │ - = 0) {
│ │ │ │ │ - if (LABEL[i] != EMPTY) {
│ │ │ │ │ - GROUP_TAG[i] = "item" + tagnum;
│ │ │ │ │ - tagnum = tagnum + 1;
│ │ │ │ │ - }
│ │ │ │ │ - i = i - 1;
│ │ │ │ │ - }
│ │ │ │ │ - ]]>
│ │ │ │ │ -
│ │ │ │ │ -
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │ .. 0) {.
│ │ │ │ │ - 0x0038fc10 2f2f2044 54535441 52542061 6e642044 // DTSTART and D
│ │ │ │ │ - 0x0038fc20 54454e44 20726570 72657365 6e742061 TEND represent a
│ │ │ │ │ - 0x0038fc30 6c6c6461 79206576 656e742c 206d616b llday event, mak
│ │ │ │ │ - 0x0038fc40 65207468 656d2064 6174652d 6f6e6c79 e them date-only
│ │ │ │ │ - 0x0038fc50 2076616c 7565730a 20202020 20202020 values.
│ │ │ │ │ - 0x0038fc60 20202f2f 202d2063 6f6e7665 72742073 // - convert s
│ │ │ │ │ - 0x0038fc70 74617274 20746f20 75736572 207a6f6e tart to user zon
│ │ │ │ │ - 0x0038fc80 6520286f 7220666c 6f617469 6e672920 e (or floating)
│ │ │ │ │ - 0x0038fc90 736f2069 74207265 70726573 656e7473 so it represents
│ │ │ │ │ - 0x0038fca0 206d6964 6e696768 740a2020 20202020 midnight.
│ │ │ │ │ - 0x0038fcb0 20202020 44545354 41525420 3d20434f DTSTART = CO
│ │ │ │ │ - 0x0038fcc0 4e564552 54544f55 5345525a 4f4e4528 NVERTTOUSERZONE(
│ │ │ │ │ - 0x0038fcd0 44545354 41525429 3b0a2020 20202020 DTSTART);.
│ │ │ │ │ - 0x0038fce0 20202020 4d414b45 414c4c44 41592844 MAKEALLDAY(D
│ │ │ │ │ - 0x0038fcf0 54535441 52542c44 54454e44 2c69293b TSTART,DTEND,i);
│ │ │ │ │ - 0x0038fd00 0a202020 20202020 20202069 66202852 . if (R
│ │ │ │ │ - 0x0038fd10 525f454e 4420213d 20454d50 54592920 R_END != EMPTY)
│ │ │ │ │ - 0x0038fd20 7b0a2020 20202020 20202020 20202052 {. R
│ │ │ │ │ - 0x0038fd30 525f454e 44203d20 44415445 4f4e4c59 R_END = DATEONLY
│ │ │ │ │ - 0x0038fd40 28434f4e 56455254 544f5553 45525a4f (CONVERTTOUSERZO
│ │ │ │ │ - 0x0038fd50 4e452852 525f454e 4429293b 0a202020 NE(RR_END));.
│ │ │ │ │ - 0x0038fd60 20202020 2020207d 0a202020 20202020 }.
│ │ │ │ │ - 0x0038fd70 207d0a20 20202020 20202065 6c736520 }. else
│ │ │ │ │ - 0x0038fd80 7b0a2020 20202020 20202020 2f2f2069 {. // i
│ │ │ │ │ - 0x0038fd90 43616c65 6e646172 20322e30 202d206f Calendar 2.0 - o
│ │ │ │ │ - 0x0038fda0 6e6c7920 69662044 54535441 52542069 nly if DTSTART i
│ │ │ │ │ - 0x0038fdb0 73206120 64617465 2d6f6e6c 79207661 s a date-only va
│ │ │ │ │ - 0x0038fdc0 6c756520 74686973 20726561 6c6c7920 lue this really
│ │ │ │ │ - 0x0038fdd0 69732061 6e20616c 6c646179 0a202020 is an allday.
│ │ │ │ │ - 0x0038fde0 20202020 20202069 66202849 53444154 if (ISDAT
│ │ │ │ │ - 0x0038fdf0 454f4e4c 59284454 53544152 54292920 EONLY(DTSTART))
│ │ │ │ │ - 0x0038fe00 7b0a2020 20202020 20202020 20202f2f {. //
│ │ │ │ │ - 0x0038fe10 20726573 68617065 20746f20 6d616b65 reshape to make
│ │ │ │ │ - 0x0038fe20 20737572 65207765 20646f6e 27742068 sure we don't h
│ │ │ │ │ - 0x0038fe30 61766520 696e7661 6c696420 7a65726f ave invalid zero
│ │ │ │ │ - 0x0038fe40 2d647572 6174696f 6e20616c 6c646179 -duration allday
│ │ │ │ │ - 0x0038fe50 7320286f 6c64204f 43532039 20736572 s (old OCS 9 ser
│ │ │ │ │ - 0x0038fe60 76657273 290a2020 20202020 20202020 vers).
│ │ │ │ │ - 0x0038fe70 20204d41 4b45414c 4c444159 28445453 MAKEALLDAY(DTS
│ │ │ │ │ - 0x0038fe80 54415254 2c445445 4e442c69 293b0a20 TART,DTEND,i);.
│ │ │ │ │ - 0x0038fe90 20202020 20202020 207d0a20 20202020 }.
│ │ │ │ │ - 0x0038fea0 2020207d 0a0a2020 20202020 20202f2f }.. //
│ │ │ │ │ - 0x0038feb0 204d616b 65207375 72652074 68617420 Make sure that
│ │ │ │ │ - 0x0038fec0 616c6c20 45584441 54452074 696d6573 all EXDATE times
│ │ │ │ │ - 0x0038fed0 20617265 20696e20 74686520 73616d65 are in the same
│ │ │ │ │ - 0x0038fee0 2074696d 657a6f6e 65206173 20746865 timezone as the
│ │ │ │ │ - 0x0038fef0 20737461 72740a20 20202020 2020202f start. /
│ │ │ │ │ - 0x0038ff00 2f207469 6d652e20 536f6d65 20736572 / time. Some ser
│ │ │ │ │ - 0x0038ff10 76657273 2073656e 64207468 656d2061 vers send them a
│ │ │ │ │ - 0x0038ff20 73205554 432c2077 68696368 20697320 s UTC, which is
│ │ │ │ │ - 0x0038ff30 616c6c20 66696e65 20616e64 2077656c all fine and wel
│ │ │ │ │ - 0x0038ff40 6c2c2062 75740a20 20202020 2020202f l, but. /
│ │ │ │ │ - 0x0038ff50 2f206f6e 6c792069 66207468 65207469 / only if the ti
│ │ │ │ │ - 0x0038ff60 6d657a6f 6e652064 6566696e 6974696f mezone definitio
│ │ │ │ │ - 0x0038ff70 6e20646f 65736e27 74206368 616e6765 n doesn't change
│ │ │ │ │ - 0x0038ff80 2e20416c 736f2c20 6c696269 63616c20 . Also, libical
│ │ │ │ │ - 0x0038ff90 646f6573 206e6f74 0a202020 20202020 does not.
│ │ │ │ │ - 0x0038ffa0 202f2f20 68616e64 6c652073 75636820 // handle such
│ │ │ │ │ - 0x0038ffb0 55544320 45584441 5445732c 20736f20 UTC EXDATEs, so
│ │ │ │ │ - 0x0038ffc0 6c657427 7320636f 6e766572 74206974 let's convert it
│ │ │ │ │ - 0x0038ffd0 20776869 6c652074 68652055 54432061 while the UTC a
│ │ │ │ │ - 0x0038ffe0 6e640a20 20202020 2020202f 2f207469 nd. // ti
│ │ │ │ │ - 0x0038fff0 6d65207a 6f6e6520 64656669 6e697469 me zone definiti
│ │ │ │ │ - 0x00390000 6f6e2028 686f7065 66756c6c 79292061 on (hopefully) a
│ │ │ │ │ - 0x00390010 72652069 6e207379 6e632e0a 20202020 re in sync..
│ │ │ │ │ - 0x00390020 20202020 69662028 54494d45 5a4f4e45 if (TIMEZONE
│ │ │ │ │ - 0x00390030 28445453 54415254 2920213d 20225554 (DTSTART) != "UT
│ │ │ │ │ - 0x00390040 43222026 26202149 53464c4f 4154494e C" && !ISFLOATIN
│ │ │ │ │ - 0x00390050 47284454 53544152 54292920 7b0a2020 G(DTSTART)) {.
│ │ │ │ │ - 0x00390060 20202020 20202020 69203d20 303b0a20 i = 0;.
│ │ │ │ │ - 0x00390070 20202020 20202020 2074696d 65737461 timesta
│ │ │ │ │ - 0x00390080 6d702065 78646174 653b0a20 20202020 mp exdate;.
│ │ │ │ │ - 0x00390090 20202020 20776869 6c652028 693c5349 while (i0
│ │ │ │ │ - 0x00390be0 29207b0a 20202020 20202020 20204455 ) {. DU
│ │ │ │ │ - 0x00390bf0 45203d20 434f4e56 45525454 4f555345 E = CONVERTTOUSE
│ │ │ │ │ - 0x00390c00 525a4f4e 45284455 45293b0a 20202020 RZONE(DUE);.
│ │ │ │ │ - 0x00390c10 20202020 20204455 45203d20 44415445 DUE = DATE
│ │ │ │ │ - 0x00390c20 4f4e4c59 28445545 293b0a20 20202020 ONLY(DUE);.
│ │ │ │ │ - 0x00390c30 2020207d 0a202020 20202020 20696620 }. if
│ │ │ │ │ - 0x00390c40 28495445 4d444154 41545950 4528293d (ITEMDATATYPE()=
│ │ │ │ │ - 0x00390c50 3d227643 616c656e 64617231 30222920 ="vCalendar10")
│ │ │ │ │ - 0x00390c60 7b0a2020 20202020 20202020 24564341 {. $VCA
│ │ │ │ │ - 0x00390c70 4c454e44 41525f31 30544f32 305f5052 LENDAR_10TO20_PR
│ │ │ │ │ - 0x00390c80 494f5249 54595f43 4f4e5645 5253494f IORITY_CONVERSIO
│ │ │ │ │ - 0x00390c90 4e3b0a20 20202020 2020207d 0a202020 N;. }.
│ │ │ │ │ - 0x00390ca0 2020207d 0a202020 2020202f 2f206120 }. // a
│ │ │ │ │ - 0x00390cb0 776f726b 61726f75 6e642066 6f722066 workaround for f
│ │ │ │ │ - 0x00390cc0 756e616d 626f6c3a 20616464 696e6720 unambol: adding
│ │ │ │ │ - 0x00390cd0 27616374 696f6e27 20666f72 2027616c 'action' for 'al
│ │ │ │ │ - 0x00390ce0 61726d27 0a202020 2020202f 2f206966 arm'. // if
│ │ │ │ │ - 0x00390cf0 20697465 6d206461 74612074 79706520 item data type
│ │ │ │ │ - 0x00390d00 69732076 43616c65 6e646172 312e302c is vCalendar1.0,
│ │ │ │ │ - 0x00390d10 20616c73 6f206164 64202761 6374696f also add 'actio
│ │ │ │ │ - 0x00390d20 6e272066 6f722027 616c6172 6d272e0a n' for 'alarm'..
│ │ │ │ │ - 0x00390d30 20202020 20202f2f 20546869 73206973 // This is
│ │ │ │ │ - 0x00390d40 20612077 6f726b61 726f756e 6420666f a workaround fo
│ │ │ │ │ - 0x00390d50 72204d6f 62696361 6c2e6e65 742c2077 r Mobical.net, w
│ │ │ │ │ - 0x00390d60 68696368 20757365 73207643 616c656e hich uses vCalen
│ │ │ │ │ - 0x00390d70 64617231 2e302e0a 20202020 20206966 dar1.0.. if
│ │ │ │ │ - 0x00390d80 2028414c 41524d5f 54494d45 213d454d (ALARM_TIME!=EM
│ │ │ │ │ - 0x00390d90 50545920 26262041 4c41524d 5f414354 PTY && ALARM_ACT
│ │ │ │ │ - 0x00390da0 494f4e3d 3d454d50 54592920 7b0a2020 ION==EMPTY) {.
│ │ │ │ │ - 0x00390db0 20202020 20202020 414c4152 4d5f4143 ALARM_AC
│ │ │ │ │ - 0x00390dc0 54494f4e 203d2022 44495350 4c415922 TION = "DISPLAY"
│ │ │ │ │ - 0x00390dd0 3b0a2020 20202020 7d0a2020 20205d5d ;. }. ]]
│ │ │ │ │ - 0x00390de0 3e3c2f6d 6163726f 3e0a0a0a 20202020 >...
│ │ │ │ │ - 0x00390df0 3c6d6163 726f206e 616d653d 22564341 .. ..
│ │ │ │ │ - 0x00391ae0 20202020 3c212d2d 20557365 73207468 .
│ │ │ │ │ - 0x00391cd0 20202020 3c6d6163 726f206e 616d653d .. <
│ │ │ │ │ - 0x00391e60 212d2d20 696e766f 6b656420 7768656e !-- invoked when
│ │ │ │ │ - 0x00391e70 20726561 64696e67 20706c61 696e2074 reading plain t
│ │ │ │ │ - 0x00391e80 65787420 6d656d6f 2066726f 6d207374 ext memo from st
│ │ │ │ │ - 0x00391e90 6f726167 65206f72 20726563 65697669 orage or receivi
│ │ │ │ │ - 0x00391ea0 6e672066 726f6d20 70656572 202d2d3e ng from peer -->
│ │ │ │ │ - 0x00391eb0 0a202020 203c6d61 63726f20 6e616d65 . ..
│ │ │ │ │ - 0x003920a0 20203c21 2d2d2069 6e766f6b 65642062 .
│ │ │ │ │ - 0x003927d0 0a0a2020 20203c21 2d2d2063 6f6e7665 .. . X
│ │ │ │ │ - 0x00392890 2d414e4e 49564552 53415259 2e0a2020 -ANNIVERSARY..
│ │ │ │ │ - 0x003928a0 20202020 2069203d 2053495a 45285844 i = SIZE(XD
│ │ │ │ │ - 0x003928b0 41544529 202d2031 3b0a2020 20202020 ATE) - 1;.
│ │ │ │ │ - 0x003928c0 20776869 6c652028 69203e3d 20302920 while (i >= 0)
│ │ │ │ │ - 0x003928d0 7b0a2020 20202020 20202020 69662028 {. if (
│ │ │ │ │ - 0x003928e0 47524f55 505f5441 475b695d 20213d20 GROUP_TAG[i] !=
│ │ │ │ │ - 0x003928f0 454d5054 59202626 0a202020 20202020 EMPTY &&.
│ │ │ │ │ - 0x00392900 20202020 20202058 44415445 5b695d20 XDATE[i]
│ │ │ │ │ - 0x00392910 213d2055 4e415353 49474e45 44202626 != UNASSIGNED &&
│ │ │ │ │ - 0x00392920 0a202020 20202020 20202020 2020204c . L
│ │ │ │ │ - 0x00392930 4142454c 5b695d20 3d3d2022 416e6e69 ABEL[i] == "Anni
│ │ │ │ │ - 0x00392940 76657273 61727922 29207b0a 20202020 versary") {.
│ │ │ │ │ - 0x00392950 20202020 20202020 20205357 41502841 SWAP(A
│ │ │ │ │ - 0x00392960 4e4e4956 45525341 52592c20 58444154 NNIVERSARY, XDAT
│ │ │ │ │ - 0x00392970 455b695d 293b0a0a 20202020 20202020 E[i]);..
│ │ │ │ │ - 0x00392980 20202020 20202f2f 20584441 54455b69 // XDATE[i
│ │ │ │ │ - 0x00392990 5d203d20 554e4153 5349474e 45443b0a ] = UNASSIGNED;.
│ │ │ │ │ - 0x003929a0 20202020 20202020 20202020 20206272 br
│ │ │ │ │ - 0x003929b0 65616b3b 0a202020 20202020 2020207d eak;. }
│ │ │ │ │ - 0x003929c0 0a202020 20202020 20202069 203d2069 . i = i
│ │ │ │ │ - 0x003929d0 202d2031 3b0a2020 20202020 207d0a0a - 1;. }..
│ │ │ │ │ - 0x003929e0 20202020 2020202f 2f205370 65636961 // Specia
│ │ │ │ │ - 0x003929f0 6c20582d 41425245 4c415445 444e414d l X-ABRELATEDNAM
│ │ │ │ │ - 0x00392a00 4553202d 3e20582d 53504f55 53452f4d ES -> X-SPOUSE/M
│ │ │ │ │ - 0x00392a10 414e4147 45522f41 53534953 54414e54 ANAGER/ASSISTANT
│ │ │ │ │ - 0x00392a20 0a202020 20202020 69203d20 53495a45 . i = SIZE
│ │ │ │ │ - 0x00392a30 2852454c 41544544 4e414d45 5329202d (RELATEDNAMES) -
│ │ │ │ │ - 0x00392a40 20313b0a 20202020 20202077 68696c65 1;. while
│ │ │ │ │ - 0x00392a50 20286920 3e3d2030 29207b0a 20202020 (i >= 0) {.
│ │ │ │ │ - 0x00392a60 20202020 20206966 20284752 4f55505f if (GROUP_
│ │ │ │ │ - 0x00392a70 5441475b 695d2021 3d20454d 50545920 TAG[i] != EMPTY
│ │ │ │ │ - 0x00392a80 26260a20 20202020 20202020 20202020 &&.
│ │ │ │ │ - 0x00392a90 2052454c 41544544 4e414d45 535b695d RELATEDNAMES[i]
│ │ │ │ │ - 0x00392aa0 20213d20 554e4153 5349474e 45442920 != UNASSIGNED)
│ │ │ │ │ - 0x00392ab0 7b0a2020 20202020 20202020 20202073 {. s
│ │ │ │ │ - 0x00392ac0 203d204c 4142454c 5b695d3b 0a202020 = LABEL[i];.
│ │ │ │ │ - 0x00392ad0 20202020 20202020 20206966 20287320 if (s
│ │ │ │ │ - 0x00392ae0 3d3d2022 53706f75 73652229 207b0a20 == "Spouse") {.
│ │ │ │ │ - 0x00392af0 20202020 20202020 20202020 20202069 i
│ │ │ │ │ - 0x00392b00 66202853 504f5553 45203d3d 20454d50 f (SPOUSE == EMP
│ │ │ │ │ - 0x00392b10 54592920 7b0a2020 20202020 20202020 TY) {.
│ │ │ │ │ - 0x00392b20 20202020 20202020 20535741 50285350 SWAP(SP
│ │ │ │ │ - 0x00392b30 4f555345 2c205245 4c415445 444e414d OUSE, RELATEDNAM
│ │ │ │ │ - 0x00392b40 45535b69 5d293b0a 20202020 20202020 ES[i]);.
│ │ │ │ │ - 0x00392b50 20202020 20202020 2020202f 2f205245 // RE
│ │ │ │ │ - 0x00392b60 4c415445 444e414d 45535b69 5d203d20 LATEDNAMES[i] =
│ │ │ │ │ - 0x00392b70 554e4153 5349474e 45443b0a 20202020 UNASSIGNED;.
│ │ │ │ │ - 0x00392b80 20202020 20202020 20202020 7d0a2020 }.
│ │ │ │ │ - 0x00392b90 20202020 20202020 2020207d 20656c73 } els
│ │ │ │ │ - 0x00392ba0 65206966 20287320 3d3d2022 4d616e61 e if (s == "Mana
│ │ │ │ │ - 0x00392bb0 67657222 29207b0a 20202020 20202020 ger") {.
│ │ │ │ │ - 0x00392bc0 20202020 20202020 69662028 4d414e41 if (MANA
│ │ │ │ │ - 0x00392bd0 47455220 3d3d2045 4d505459 29207b0a GER == EMPTY) {.
│ │ │ │ │ - 0x00392be0 20202020 20202020 20202020 20202020
│ │ │ │ │ - 0x00392bf0 20202053 57415028 4d414e41 4745522c SWAP(MANAGER,
│ │ │ │ │ - 0x00392c00 2052454c 41544544 4e414d45 535b695d RELATEDNAMES[i]
│ │ │ │ │ - 0x00392c10 293b0a20 20202020 20202020 20202020 );.
│ │ │ │ │ - 0x00392c20 20202020 20202f2f 2052454c 41544544 // RELATED
│ │ │ │ │ - 0x00392c30 4e414d45 535b695d 203d2055 4e415353 NAMES[i] = UNASS
│ │ │ │ │ - 0x00392c40 49474e45 443b0a20 20202020 20202020 IGNED;.
│ │ │ │ │ - 0x00392c50 20202020 2020207d 0a202020 20202020 }.
│ │ │ │ │ - 0x00392c60 20202020 20207d20 656c7365 20696620 } else if
│ │ │ │ │ - 0x00392c70 2873203d 3d202241 73736973 74616e74 (s == "Assistant
│ │ │ │ │ - 0x00392c80 2229207b 0a202020 20202020 20202020 ") {.
│ │ │ │ │ - 0x00392c90 20202020 20696620 28415353 49535441 if (ASSISTA
│ │ │ │ │ - 0x00392ca0 4e54203d 3d20454d 50545929 207b0a20 NT == EMPTY) {.
│ │ │ │ │ - 0x00392cb0 20202020 20202020 20202020 20202020
│ │ │ │ │ - 0x00392cc0 20205357 41502841 53534953 54414e54 SWAP(ASSISTANT
│ │ │ │ │ - 0x00392cd0 2c205245 4c415445 444e414d 45535b69 , RELATEDNAMES[i
│ │ │ │ │ - 0x00392ce0 5d293b0a 20202020 20202020 20202020 ]);.
│ │ │ │ │ - 0x00392cf0 20202020 2020202f 2f205245 4c415445 // RELATE
│ │ │ │ │ - 0x00392d00 444e414d 45535b69 5d203d20 554e4153 DNAMES[i] = UNAS
│ │ │ │ │ - 0x00392d10 5349474e 45443b0a 20202020 20202020 SIGNED;.
│ │ │ │ │ - 0x00392d20 20202020 20202020 7d0a2020 20202020 }.
│ │ │ │ │ - 0x00392d30 20202020 2020207d 0a202020 20202020 }.
│ │ │ │ │ - 0x00392d40 2020207d 0a202020 20202020 20202069 }. i
│ │ │ │ │ - 0x00392d50 203d2069 202d2031 3b0a2020 20202020 = i - 1;.
│ │ │ │ │ - 0x00392d60 207d0a0a 20202020 2020202f 2f20494d }.. // IM
│ │ │ │ │ - 0x00392d70 5050202d 3e20582d 4a414242 45522f41 PP -> X-JABBER/A
│ │ │ │ │ - 0x00392d80 494d2f2e 2e2e2064 6570656e 64696e67 IM/... depending
│ │ │ │ │ - 0x00392d90 206f6e20 73657276 69636520 74797065 on service type
│ │ │ │ │ - 0x00392da0 2e205072 6f746f63 6f6c206d 75737420 . Protocol must
│ │ │ │ │ - 0x00392db0 6d617463 682e0a20 20202020 20206920 match.. i
│ │ │ │ │ - 0x00392dc0 3d205349 5a452849 4d505029 202d2031 = SIZE(IMPP) - 1
│ │ │ │ │ - 0x00392dd0 3b0a2020 20202020 20494e54 45474552 ;. INTEGER
│ │ │ │ │ - 0x00392de0 206f6666 7365743b 0a202020 20202020 offset;.
│ │ │ │ │ - 0x00392df0 53545249 4e472073 65727669 63653b0a STRING service;.
│ │ │ │ │ - 0x00392e00 20202020 20202053 5452494e 47207072 STRING pr
│ │ │ │ │ - 0x00392e10 6f746f63 6f6c3b0a 20202020 20202053 otocol;. S
│ │ │ │ │ - 0x00392e20 5452494e 47207661 6c75653b 0a202020 TRING value;.
│ │ │ │ │ - 0x00392e30 20202020 7768696c 65202869 203e3d20 while (i >=
│ │ │ │ │ - 0x00392e40 3029207b 0a202020 20202020 20202073 0) {. s
│ │ │ │ │ - 0x00392e50 65727669 6365203d 20494d50 505f5345 ervice = IMPP_SE
│ │ │ │ │ - 0x00392e60 52564943 455b695d 3b0a2020 20202020 RVICE[i];.
│ │ │ │ │ - 0x00392e70 20202020 69662028 73657276 69636520 if (service
│ │ │ │ │ - 0x00392e80 213d2055 4e415353 49474e45 4429207b != UNASSIGNED) {
│ │ │ │ │ - 0x00392e90 0a202020 20202020 20202020 20206f66 . of
│ │ │ │ │ - 0x00392ea0 66736574 203d2046 494e4428 494d5050 fset = FIND(IMPP
│ │ │ │ │ - 0x00392eb0 5b695d2c 20223a22 293b0a20 20202020 [i], ":");.
│ │ │ │ │ - 0x00392ec0 20202020 20202020 69662028 6f666673 if (offs
│ │ │ │ │ - 0x00392ed0 65742021 3d20554e 41535349 474e4544 et != UNASSIGNED
│ │ │ │ │ - 0x00392ee0 29207b0a 20202020 20202020 20202020 ) {.
│ │ │ │ │ - 0x00392ef0 20202020 70726f74 6f636f6c 203d2053 protocol = S
│ │ │ │ │ - 0x00392f00 55425354 5228494d 50505b69 5d2c2030 UBSTR(IMPP[i], 0
│ │ │ │ │ - 0x00392f10 2c206f66 66736574 293b0a20 20202020 , offset);.
│ │ │ │ │ - 0x00392f20 20202020 20202020 20202076 616c7565 value
│ │ │ │ │ - 0x00392f30 203d2055 524c4445 434f4445 28535542 = URLDECODE(SUB
│ │ │ │ │ - 0x00392f40 53545228 494d5050 5b695d2c 206f6666 STR(IMPP[i], off
│ │ │ │ │ - 0x00392f50 73657420 2b203129 293b0a20 20202020 set + 1));.
│ │ │ │ │ - 0x00392f60 20202020 20202020 20202069 66202873 if (s
│ │ │ │ │ - 0x00392f70 65727669 6365203d 3d202241 494d2220 ervice == "AIM"
│ │ │ │ │ - 0x00392f80 26262070 726f746f 636f6c20 3d3d2022 && protocol == "
│ │ │ │ │ - 0x00392f90 61696d22 29207b0a 20202020 20202020 aim") {.
│ │ │ │ │ - 0x00392fa0 20202020 20202020 20202024 56434152 $VCAR
│ │ │ │ │ - 0x00392fb0 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA
│ │ │ │ │ - 0x00392fc0 43595f49 4d505028 76616c75 652c2041 CY_IMPP(value, A
│ │ │ │ │ - 0x00392fd0 494d5f48 414e444c 452c2041 494d5f53 IM_HANDLE, AIM_S
│ │ │ │ │ - 0x00392fe0 4c4f542c 2069293b 0a202020 20202020 LOT, i);.
│ │ │ │ │ - 0x00392ff0 20202020 20202020 207d2065 6c736520 } else
│ │ │ │ │ - 0x00393000 69662028 73657276 69636520 3d3d2022 if (service == "
│ │ │ │ │ - 0x00393010 47616475 67616475 2229207b 0a202020 Gadugadu") {.
│ │ │ │ │ - 0x00393020 20202020 20202020 20202020 20202020
│ │ │ │ │ - 0x00393030 24564341 52445f4d 4f444552 4e5f544f $VCARD_MODERN_TO
│ │ │ │ │ - 0x00393040 5f4c4547 4143595f 494d5050 2876616c _LEGACY_IMPP(val
│ │ │ │ │ - 0x00393050 75652c20 47414455 47414455 5f48414e ue, GADUGADU_HAN
│ │ │ │ │ - 0x00393060 444c452c 20474144 55474144 555f534c DLE, GADUGADU_SL
│ │ │ │ │ - 0x00393070 4f542c20 69293b0a 20202020 20202020 OT, i);.
│ │ │ │ │ - 0x00393080 20202020 20202020 7d20656c 73652069 } else i
│ │ │ │ │ - 0x00393090 66202873 65727669 6365203d 3d202247 f (service == "G
│ │ │ │ │ - 0x003930a0 726f7570 77697365 2229207b 0a202020 roupwise") {.
│ │ │ │ │ - 0x003930b0 20202020 20202020 20202020 20202020
│ │ │ │ │ - 0x003930c0 24564341 52445f4d 4f444552 4e5f544f $VCARD_MODERN_TO
│ │ │ │ │ - 0x003930d0 5f4c4547 4143595f 494d5050 2876616c _LEGACY_IMPP(val
│ │ │ │ │ - 0x003930e0 75652c20 47524f55 50574953 455f4841 ue, GROUPWISE_HA
│ │ │ │ │ - 0x003930f0 4e444c45 2c204752 4f555057 4953455f NDLE, GROUPWISE_
│ │ │ │ │ - 0x00393100 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);.
│ │ │ │ │ - 0x00393110 20202020 20202020 20207d20 656c7365 } else
│ │ │ │ │ - 0x00393120 20696620 28736572 76696365 203d3d20 if (service ==
│ │ │ │ │ - 0x00393130 22494351 22202626 2070726f 746f636f "ICQ" && protoco
│ │ │ │ │ - 0x00393140 6c203d3d 20226169 6d222920 7b0a2020 l == "aim") {.
│ │ │ │ │ - 0x00393150 20202020 20202020 20202020 20202020
│ │ │ │ │ - 0x00393160 20245643 4152445f 4d4f4445 524e5f54 $VCARD_MODERN_T
│ │ │ │ │ - 0x00393170 4f5f4c45 47414359 5f494d50 50287661 O_LEGACY_IMPP(va
│ │ │ │ │ - 0x00393180 6c75652c 20494351 5f48414e 444c452c lue, ICQ_HANDLE,
│ │ │ │ │ - 0x00393190 20494351 5f534c4f 542c2069 293b0a20 ICQ_SLOT, i);.
│ │ │ │ │ - 0x003931a0 20202020 20202020 20202020 2020207d }
│ │ │ │ │ - 0x003931b0 20656c73 65206966 20287365 72766963 else if (servic
│ │ │ │ │ - 0x003931c0 65203d3d 20224a61 62626572 22202626 e == "Jabber" &&
│ │ │ │ │ - 0x003931d0 2070726f 746f636f 6c203d3d 2022786d protocol == "xm
│ │ │ │ │ - 0x003931e0 70702229 207b0a20 20202020 20202020 pp") {.
│ │ │ │ │ - 0x003931f0 20202020 20202020 20202456 43415244 $VCARD
│ │ │ │ │ - 0x00393200 5f4d4f44 45524e5f 544f5f4c 45474143 _MODERN_TO_LEGAC
│ │ │ │ │ - 0x00393210 595f494d 50502876 616c7565 2c204a41 Y_IMPP(value, JA
│ │ │ │ │ - 0x00393220 42424552 5f48414e 444c452c 204a4142 BBER_HANDLE, JAB
│ │ │ │ │ - 0x00393230 4245525f 534c4f54 2c206929 3b0a2020 BER_SLOT, i);.
│ │ │ │ │ - 0x00393240 20202020 20202020 20202020 20207d20 }
│ │ │ │ │ - 0x00393250 656c7365 20696620 28736572 76696365 else if (service
│ │ │ │ │ - 0x00393260 203d3d20 224d534e 22202626 2070726f == "MSN" && pro
│ │ │ │ │ - 0x00393270 746f636f 6c203d3d 20226d73 6e696d22 tocol == "msnim"
│ │ │ │ │ - 0x00393280 29207b0a 20202020 20202020 20202020 ) {.
│ │ │ │ │ - 0x00393290 20202020 20202024 56434152 445f4d4f $VCARD_MO
│ │ │ │ │ - 0x003932a0 4445524e 5f544f5f 4c454741 43595f49 DERN_TO_LEGACY_I
│ │ │ │ │ - 0x003932b0 4d505028 76616c75 652c204d 534e5f48 MPP(value, MSN_H
│ │ │ │ │ - 0x003932c0 414e444c 452c204d 534e5f53 4c4f542c ANDLE, MSN_SLOT,
│ │ │ │ │ - 0x003932d0 2069293b 0a202020 20202020 20202020 i);.
│ │ │ │ │ - 0x003932e0 20202020 207d2065 6c736520 69662028 } else if (
│ │ │ │ │ - 0x003932f0 73657276 69636520 3d3d2022 5961686f service == "Yaho
│ │ │ │ │ - 0x00393300 6f222026 26207072 6f746f63 6f6c203d o" && protocol =
│ │ │ │ │ - 0x00393310 3d202279 6d736772 2229207b 0a202020 = "ymsgr") {.
│ │ │ │ │ - 0x00393320 20202020 20202020 20202020 20202020
│ │ │ │ │ - 0x00393330 24564341 52445f4d 4f444552 4e5f544f $VCARD_MODERN_TO
│ │ │ │ │ - 0x00393340 5f4c4547 4143595f 494d5050 2876616c _LEGACY_IMPP(val
│ │ │ │ │ - 0x00393350 75652c20 5941484f 4f5f4841 4e444c45 ue, YAHOO_HANDLE
│ │ │ │ │ - 0x00393360 2c205941 484f4f5f 534c4f54 2c206929 , YAHOO_SLOT, i)
│ │ │ │ │ - 0x00393370 3b0a2020 20202020 20202020 20202020 ;.
│ │ │ │ │ - 0x00393380 20207d20 656c7365 20696620 28736572 } else if (ser
│ │ │ │ │ - 0x00393390 76696365 203d3d20 22536b79 70652220 vice == "Skype"
│ │ │ │ │ - 0x003933a0 26262070 726f746f 636f6c20 3d3d2022 && protocol == "
│ │ │ │ │ - 0x003933b0 736b7970 65222920 7b0a2020 20202020 skype") {.
│ │ │ │ │ - 0x003933c0 20202020 20202020 20202020 20245643 $VC
│ │ │ │ │ - 0x003933d0 4152445f 4d4f4445 524e5f54 4f5f4c45 ARD_MODERN_TO_LE
│ │ │ │ │ - 0x003933e0 47414359 5f494d50 50287661 6c75652c GACY_IMPP(value,
│ │ │ │ │ - 0x003933f0 20534b59 50455f48 414e444c 452c2053 SKYPE_HANDLE, S
│ │ │ │ │ - 0x00393400 4b595045 5f534c4f 542c2069 293b0a20 KYPE_SLOT, i);.
│ │ │ │ │ - 0x00393410 20202020 20202020 20202020 2020207d }
│ │ │ │ │ - 0x00393420 20656c73 65206966 20287365 72766963 else if (servic
│ │ │ │ │ - 0x00393430 65203d3d 20225369 70222920 7b0a2020 e == "Sip") {.
│ │ │ │ │ - 0x00393440 20202020 20202020 20202020 20202020
│ │ │ │ │ - 0x00393450 20245643 4152445f 4d4f4445 524e5f54 $VCARD_MODERN_T
│ │ │ │ │ - 0x00393460 4f5f4c45 47414359 5f494d50 50287661 O_LEGACY_IMPP(va
│ │ │ │ │ - 0x00393470 6c75652c 20534950 5f48414e 444c452c lue, SIP_HANDLE,
│ │ │ │ │ - 0x00393480 20534950 5f534c4f 542c2069 293b0a20 SIP_SLOT, i);.
│ │ │ │ │ - 0x00393490 20202020 20202020 20202020 2020207d }
│ │ │ │ │ - 0x003934a0 0a202020 20202020 20202020 20207d0a . }.
│ │ │ │ │ - 0x003934b0 20202020 20202020 20207d0a 20202020 }.
│ │ │ │ │ - 0x003934c0 20202020 20206920 3d206920 2d20313b i = i - 1;
│ │ │ │ │ - 0x003934d0 0a202020 20202020 7d0a0a0a 20202020 . }...
│ │ │ │ │ - 0x003934e0 2020202f 2f205265 6d6f7665 206c6162 // Remove lab
│ │ │ │ │ - 0x003934f0 656c7320 77686963 68206172 65206e6f els which are no
│ │ │ │ │ - 0x00393500 206c6f6e 67657220 6e656564 65642028 longer needed (
│ │ │ │ │ - 0x00393510 76616c75 6564206d 6f766564 2061626f valued moved abo
│ │ │ │ │ - 0x00393520 76652c0a 20202020 2020202f 2f207374 ve,. // st
│ │ │ │ │ - 0x00393530 6f726564 20666f72 20612067 726f7570 ored for a group
│ │ │ │ │ - 0x00393540 20776869 63682068 6173206e 6f206f74 which has no ot
│ │ │ │ │ - 0x00393550 68657220 70726f70 65727469 65732028 her properties (
│ │ │ │ │ - 0x00393560 476f6f67 6c650a20 20202020 20202f2f Google. //
│ │ │ │ │ - 0x00393570 20436172 64444156 20736572 76657220 CardDAV server
│ │ │ │ │ - 0x00393580 736f6d65 74696d65 73207365 6e647320 sometimes sends
│ │ │ │ │ - 0x00393590 74686174 2c206564 6974696e 6720696e that, editing in
│ │ │ │ │ - 0x003935a0 2045766f 6c757469 6f6e0a20 20202020 Evolution.
│ │ │ │ │ - 0x003935b0 20202f2f 206d6967 68742063 61757365 // might cause
│ │ │ │ │ - 0x003935c0 2069742c 20657463 2e29206f 72207072 it, etc.) or pr
│ │ │ │ │ - 0x003935d0 6f766964 65206e6f 20696e66 6f726d61 ovide no informa
│ │ │ │ │ - 0x003935e0 74696f6e 2028224f 74686572 22292e0a tion ("Other")..
│ │ │ │ │ - 0x003935f0 20202020 20202069 203d2053 495a4528 i = SIZE(
│ │ │ │ │ - 0x00393600 4c414245 4c29202d 20313b0a 20202020 LABEL) - 1;.
│ │ │ │ │ - 0x00393610 20202077 68696c65 20286920 3e3d2030 while (i >= 0
│ │ │ │ │ - 0x00393620 29207b0a 20202020 20202020 20206966 ) {. if
│ │ │ │ │ - 0x00393630 20284c41 42454c5b 695d203d 3d20224f (LABEL[i] == "O
│ │ │ │ │ - 0x00393640 74686572 22207c7c 0a202020 20202020 ther" ||.
│ │ │ │ │ - 0x00393650 20202020 2020204c 4142454c 5b695d20 LABEL[i]
│ │ │ │ │ - 0x00393660 213d2055 4e415353 49474e45 44202626 != UNASSIGNED &&
│ │ │ │ │ - 0x00393670 0a202020 20202020 20202020 20202028 . (
│ │ │ │ │ - 0x00393680 47524f55 505f5441 475b695d 203d3d20 GROUP_TAG[i] ==
│ │ │ │ │ - 0x00393690 454d5054 59207c7c 0a202020 20202020 EMPTY ||.
│ │ │ │ │ - 0x003936a0 20202020 20202020 52454c41 5445444e RELATEDN
│ │ │ │ │ - 0x003936b0 414d4553 5b695d20 3d3d2055 4e415353 AMES[i] == UNASS
│ │ │ │ │ - 0x003936c0 49474e45 44202626 0a202020 20202020 IGNED &&.
│ │ │ │ │ - 0x003936d0 20202020 20202020 58444154 455b695d XDATE[i]
│ │ │ │ │ - 0x003936e0 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED &
│ │ │ │ │ - 0x003936f0 260a2020 20202020 20202020 20202020 &.
│ │ │ │ │ - 0x00393700 2054454c 5b695d20 3d3d2055 4e415353 TEL[i] == UNASS
│ │ │ │ │ - 0x00393710 49474e45 44202626 0a202020 20202020 IGNED &&.
│ │ │ │ │ - 0x00393720 20202020 20202020 454d4149 4c5b695d EMAIL[i]
│ │ │ │ │ - 0x00393730 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED &
│ │ │ │ │ - 0x00393740 260a2020 20202020 20202020 20202020 &.
│ │ │ │ │ - 0x00393750 20574542 5b695d20 3d3d2055 4e415353 WEB[i] == UNASS
│ │ │ │ │ - 0x00393760 49474e45 44202626 0a202020 20202020 IGNED &&.
│ │ │ │ │ - 0x00393770 20202020 20202020 58444154 455b695d XDATE[i]
│ │ │ │ │ - 0x00393780 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED &
│ │ │ │ │ - 0x00393790 260a2020 20202020 20202020 20202020 &.
│ │ │ │ │ - 0x003937a0 20494d50 505b695d 203d3d20 554e4153 IMPP[i] == UNAS
│ │ │ │ │ - 0x003937b0 5349474e 45442026 260a2020 20202020 SIGNED &&.
│ │ │ │ │ - 0x003937c0 20202020 20202020 20414452 5f504f42 ADR_POB
│ │ │ │ │ - 0x003937d0 4f585b69 5d203d3d 20554e41 53534947 OX[i] == UNASSIG
│ │ │ │ │ - 0x003937e0 4e454420 26260a20 20202020 20202020 NED &&.
│ │ │ │ │ - 0x003937f0 20202020 20204144 525f4144 44544c5b ADR_ADDTL[
│ │ │ │ │ - 0x00393800 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED
│ │ │ │ │ - 0x00393810 2026260a 20202020 20202020 20202020 &&.
│ │ │ │ │ - 0x00393820 20202041 44525f53 54524545 545b695d ADR_STREET[i]
│ │ │ │ │ - 0x00393830 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED &
│ │ │ │ │ - 0x00393840 260a2020 20202020 20202020 20202020 &.
│ │ │ │ │ - 0x00393850 20414452 5f434954 595b695d 203d3d20 ADR_CITY[i] ==
│ │ │ │ │ - 0x00393860 554e4153 5349474e 45442026 260a2020 UNASSIGNED &&.
│ │ │ │ │ - 0x00393870 20202020 20202020 20202020 20414452 ADR
│ │ │ │ │ - 0x00393880 5f524547 5b695d20 3d3d2055 4e415353 _REG[i] == UNASS
│ │ │ │ │ - 0x00393890 49474e45 44202626 0a202020 20202020 IGNED &&.
│ │ │ │ │ - 0x003938a0 20202020 20202020 4144525f 5a49505b ADR_ZIP[
│ │ │ │ │ - 0x003938b0 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED
│ │ │ │ │ - 0x003938c0 2026260a 20202020 20202020 20202020 &&.
│ │ │ │ │ - 0x003938d0 20202041 44525f43 4f554e54 52595b69 ADR_COUNTRY[i
│ │ │ │ │ - 0x003938e0 5d203d3d 20554e41 53534947 4e454420 ] == UNASSIGNED
│ │ │ │ │ - 0x003938f0 26260a20 20202020 20202020 20202020 &&.
│ │ │ │ │ - 0x00393900 20204144 525f5354 52454554 5f464c41 ADR_STREET_FLA
│ │ │ │ │ - 0x00393910 47535b69 5d203d3d 20554e41 53534947 GS[i] == UNASSIG
│ │ │ │ │ - 0x00393920 4e454429 29207b0a 20202020 20202020 NED)) {.
│ │ │ │ │ - 0x00393930 20202020 2020204c 4142454c 5b695d20 LABEL[i]
│ │ │ │ │ - 0x00393940 3d20554e 41535349 474e4544 3b0a2020 = UNASSIGNED;.
│ │ │ │ │ - 0x00393950 20202020 20202020 7d0a2020 20202020 }.
│ │ │ │ │ - 0x00393960 20202020 69203d20 69202d20 313b0a20 i = i - 1;.
│ │ │ │ │ - 0x00393970 20202020 20207d0a 0a202020 20202020 }..
│ │ │ │ │ - 0x00393980 2f2f2052 656d6f76 6520616c 6c206772 // Remove all gr
│ │ │ │ │ - 0x00393990 6f757020 74616773 2e204e6f 74207573 oup tags. Not us
│ │ │ │ │ - 0x003939a0 65642066 6f72206c 65676163 7920666f ed for legacy fo
│ │ │ │ │ - 0x003939b0 726d6174 732e0a20 20202020 20204752 rmats.. GR
│ │ │ │ │ - 0x003939c0 4f55505f 54414720 3d20554e 41535349 OUP_TAG = UNASSI
│ │ │ │ │ - 0x003939d0 474e4544 3b0a2020 20205d5d 3e3c2f6d GNED;. ]]>.. ..
│ │ │ │ │ - 0x00393b00 20737065 6369616c 20582d41 4252454c special X-ABREL
│ │ │ │ │ - 0x00393b10 41544544 4e414d45 53202d2d 3e0a2020 ATEDNAMES -->.
│ │ │ │ │ - 0x00393b20 20203c6d 6163726f 206e616d 653d2256
│ │ │ │ │ - 0x00393c80 6d616372 6f3e0a0a 20202020 3c212d2d macro>.. .
│ │ │ │ │ - 0x00393cb0 20203c6d 6163726f 206e616d 653d2256 = 0
│ │ │ │ │ - 0x00393d40 29207b0a 20202020 20202020 20206966 ) {. if
│ │ │ │ │ - 0x00393d50 20282433 5b696d70 705f696e 6465785d ($3[impp_index]
│ │ │ │ │ - 0x00393d60 20213d20 454d5054 5929207b 0a202020 != EMPTY) {.
│ │ │ │ │ - 0x00393d70 20202020 20202020 2020494e 54454745 INTEGE
│ │ │ │ │ - 0x00393d80 52206e75 6d3b0a20 20202020 20202020 R num;.
│ │ │ │ │ - 0x00393d90 20202020 6e756d20 3d205349 5a45284c num = SIZE(L
│ │ │ │ │ - 0x00393da0 4142454c 293b0a20 20202020 20202020 ABEL);.
│ │ │ │ │ - 0x00393db0 20202020 494d5050 5b6e756d 5d203d20 IMPP[num] =
│ │ │ │ │ - 0x00393dc0 2432202b 20223a22 202b2055 524c454e $2 + ":" + URLEN
│ │ │ │ │ - 0x00393dd0 434f4445 2824335b 696d7070 5f696e64 CODE($3[impp_ind
│ │ │ │ │ - 0x00393de0 65785d29 3b0a2020 20202020 20202020 ex]);.
│ │ │ │ │ - 0x00393df0 20202024 335b696d 70705f69 6e646578 $3[impp_index
│ │ │ │ │ - 0x00393e00 5d203d20 554e4153 5349474e 45443b0a ] = UNASSIGNED;.
│ │ │ │ │ - 0x00393e10 20202020 20202020 20202020 20535741 SWA
│ │ │ │ │ - 0x00393e20 50282434 5b696d70 705f696e 6465785d P($4[impp_index]
│ │ │ │ │ - 0x00393e30 2c20494d 50505f53 4c4f545b 6e756d5d , IMPP_SLOT[num]
│ │ │ │ │ - 0x00393e40 293b0a20 20202020 20202020 20202020 );.
│ │ │ │ │ - 0x00393e50 494d5050 5f534552 56494345 5b6e756d IMPP_SERVICE[num
│ │ │ │ │ - 0x00393e60 5d203d20 24313b0a 20202020 20202020 ] = $1;.
│ │ │ │ │ - 0x00393e70 20202020 204c4142 454c5b6e 756d5d20 LABEL[num]
│ │ │ │ │ - 0x00393e80 3d20224f 74686572 223b0a20 20202020 = "Other";.
│ │ │ │ │ - 0x00393e90 20202020 207d0a20 20202020 20202020 }.
│ │ │ │ │ - 0x00393ea0 20696d70 705f696e 64657820 3d20696d impp_index = im
│ │ │ │ │ - 0x00393eb0 70705f69 6e646578 202d2031 3b0a2020 pp_index - 1;.
│ │ │ │ │ - 0x00393ec0 20202020 207d0a20 2020205d 5d3e3c2f }. ]]>
│ │ │ │ │ - 0x00393ed0 6d616372 6f3e0a0a 20202020 3c212d2d macro>.. .
│ │ │ │ │ - 0x00393f20 2020203c 6d616372 6f206e61 6d653d22 = 0) {.
│ │ │ │ │ - 0x00394700 20202020 20696620 284c4142 454c5b69 if (LABEL[i
│ │ │ │ │ - 0x00394710 5d20213d 20454d50 54592920 7b0a2020 ] != EMPTY) {.
│ │ │ │ │ - 0x00394720 20202020 20202020 20202047 524f5550 GROUP
│ │ │ │ │ - 0x00394730 5f544147 5b695d20 3d202269 74656d22 _TAG[i] = "item"
│ │ │ │ │ - 0x00394740 202b2074 61676e75 6d3b0a20 20202020 + tagnum;.
│ │ │ │ │ - 0x00394750 20202020 20202020 7461676e 756d203d tagnum =
│ │ │ │ │ - 0x00394760 20746167 6e756d20 2b20313b 0a202020 tagnum + 1;.
│ │ │ │ │ - 0x00394770 20202020 2020207d 0a202020 20202020 }.
│ │ │ │ │ - 0x00394780 20202069 203d2069 202d2031 3b0a2020 i = i - 1;.
│ │ │ │ │ - 0x00394790 20202020 207d0a20 2020205d 5d3e3c2f }. ]]>
│ │ │ │ │ - 0x003947a0 6d616372 6f3e0a0a 20202020 3c6d6163 macro>.. .. . <
│ │ │ │ │ + 0x0038f750 20202020 3c6d6163 726f206e 616d653d ..
│ │ │ │ │ + 0x0038f7f0 3c6d6163 726f206e 616d653d 224e4557
│ │ │ │ │ + 0x0038f8e0 0a0a2020 20203c6d 6163726f 206e616d .. ..
│ │ │ │ │ + 0x0038f950 20202020 3c212d2d 206d6f76 65732061 .
│ │ │ │ │ + 0x0038f990 3c6d6163 726f206e 616d653d 22564341 <
│ │ │ │ │ + 0x0038fa70 2f6d6163 726f3e0a 0a202020 203c212d /macro>..
│ │ │ │ │ + 0x0038fac0 0a202020 203c6d61 63726f20 6e616d65 . X-ANNIVERS
│ │ │ │ │ + 0x0038fb40 4152592e 0a202020 20202020 69203d20 ARY.. i =
│ │ │ │ │ + 0x0038fb50 53495a45 28584441 54452920 2d20313b SIZE(XDATE) - 1;
│ │ │ │ │ + 0x0038fb60 0a202020 20202020 7768696c 65202869 . while (i
│ │ │ │ │ + 0x0038fb70 203e3d20 3029207b 0a202020 20202020 >= 0) {.
│ │ │ │ │ + 0x0038fb80 20202069 66202847 524f5550 5f544147 if (GROUP_TAG
│ │ │ │ │ + 0x0038fb90 5b695d20 213d2045 4d505459 2026260a [i] != EMPTY &&.
│ │ │ │ │ + 0x0038fba0 20202020 20202020 20202020 20205844 XD
│ │ │ │ │ + 0x0038fbb0 4154455b 695d2021 3d20554e 41535349 ATE[i] != UNASSI
│ │ │ │ │ + 0x0038fbc0 474e4544 2026260a 20202020 20202020 GNED &&.
│ │ │ │ │ + 0x0038fbd0 20202020 20204c41 42454c5b 695d203d LABEL[i] =
│ │ │ │ │ + 0x0038fbe0 3d202241 6e6e6976 65727361 72792229 = "Anniversary")
│ │ │ │ │ + 0x0038fbf0 207b0a20 20202020 20202020 20202020 {.
│ │ │ │ │ + 0x0038fc00 20535741 5028414e 4e495645 52534152 SWAP(ANNIVERSAR
│ │ │ │ │ + 0x0038fc10 592c2058 44415445 5b695d29 3b0a0a20 Y, XDATE[i]);..
│ │ │ │ │ + 0x0038fc20 20202020 20202020 20202020 202f2f20 //
│ │ │ │ │ + 0x0038fc30 58444154 455b695d 203d2055 4e415353 XDATE[i] = UNASS
│ │ │ │ │ + 0x0038fc40 49474e45 443b0a20 20202020 20202020 IGNED;.
│ │ │ │ │ + 0x0038fc50 20202020 20627265 616b3b0a 20202020 break;.
│ │ │ │ │ + 0x0038fc60 20202020 20207d0a 20202020 20202020 }.
│ │ │ │ │ + 0x0038fc70 20206920 3d206920 2d20313b 0a202020 i = i - 1;.
│ │ │ │ │ + 0x0038fc80 20202020 7d0a0a20 20202020 20202f2f }.. //
│ │ │ │ │ + 0x0038fc90 20537065 6369616c 20582d41 4252454c Special X-ABREL
│ │ │ │ │ + 0x0038fca0 41544544 4e414d45 53202d3e 20582d53 ATEDNAMES -> X-S
│ │ │ │ │ + 0x0038fcb0 504f5553 452f4d41 4e414745 522f4153 POUSE/MANAGER/AS
│ │ │ │ │ + 0x0038fcc0 53495354 414e540a 20202020 20202069 SISTANT. i
│ │ │ │ │ + 0x0038fcd0 203d2053 495a4528 52454c41 5445444e = SIZE(RELATEDN
│ │ │ │ │ + 0x0038fce0 414d4553 29202d20 313b0a20 20202020 AMES) - 1;.
│ │ │ │ │ + 0x0038fcf0 20207768 696c6520 2869203e 3d203029 while (i >= 0)
│ │ │ │ │ + 0x0038fd00 207b0a20 20202020 20202020 20696620 {. if
│ │ │ │ │ + 0x0038fd10 2847524f 55505f54 41475b69 5d20213d (GROUP_TAG[i] !=
│ │ │ │ │ + 0x0038fd20 20454d50 54592026 260a2020 20202020 EMPTY &&.
│ │ │ │ │ + 0x0038fd30 20202020 20202020 52454c41 5445444e RELATEDN
│ │ │ │ │ + 0x0038fd40 414d4553 5b695d20 213d2055 4e415353 AMES[i] != UNASS
│ │ │ │ │ + 0x0038fd50 49474e45 4429207b 0a202020 20202020 IGNED) {.
│ │ │ │ │ + 0x0038fd60 20202020 20207320 3d204c41 42454c5b s = LABEL[
│ │ │ │ │ + 0x0038fd70 695d3b0a 20202020 20202020 20202020 i];.
│ │ │ │ │ + 0x0038fd80 20696620 2873203d 3d202253 706f7573 if (s == "Spous
│ │ │ │ │ + 0x0038fd90 65222920 7b0a2020 20202020 20202020 e") {.
│ │ │ │ │ + 0x0038fda0 20202020 20206966 20285350 4f555345 if (SPOUSE
│ │ │ │ │ + 0x0038fdb0 203d3d20 454d5054 5929207b 0a202020 == EMPTY) {.
│ │ │ │ │ + 0x0038fdc0 20202020 20202020 20202020 20202020
│ │ │ │ │ + 0x0038fdd0 53574150 2853504f 5553452c 2052454c SWAP(SPOUSE, REL
│ │ │ │ │ + 0x0038fde0 41544544 4e414d45 535b695d 293b0a20 ATEDNAMES[i]);.
│ │ │ │ │ + 0x0038fdf0 20202020 20202020 20202020 20202020
│ │ │ │ │ + 0x0038fe00 20202f2f 2052454c 41544544 4e414d45 // RELATEDNAME
│ │ │ │ │ + 0x0038fe10 535b695d 203d2055 4e415353 49474e45 S[i] = UNASSIGNE
│ │ │ │ │ + 0x0038fe20 443b0a20 20202020 20202020 20202020 D;.
│ │ │ │ │ + 0x0038fe30 2020207d 0a202020 20202020 20202020 }.
│ │ │ │ │ + 0x0038fe40 20207d20 656c7365 20696620 2873203d } else if (s =
│ │ │ │ │ + 0x0038fe50 3d20224d 616e6167 65722229 207b0a20 = "Manager") {.
│ │ │ │ │ + 0x0038fe60 20202020 20202020 20202020 20202069 i
│ │ │ │ │ + 0x0038fe70 6620284d 414e4147 4552203d 3d20454d f (MANAGER == EM
│ │ │ │ │ + 0x0038fe80 50545929 207b0a20 20202020 20202020 PTY) {.
│ │ │ │ │ + 0x0038fe90 20202020 20202020 20205357 4150284d SWAP(M
│ │ │ │ │ + 0x0038fea0 414e4147 45522c20 52454c41 5445444e ANAGER, RELATEDN
│ │ │ │ │ + 0x0038feb0 414d4553 5b695d29 3b0a2020 20202020 AMES[i]);.
│ │ │ │ │ + 0x0038fec0 20202020 20202020 20202020 202f2f20 //
│ │ │ │ │ + 0x0038fed0 52454c41 5445444e 414d4553 5b695d20 RELATEDNAMES[i]
│ │ │ │ │ + 0x0038fee0 3d20554e 41535349 474e4544 3b0a2020 = UNASSIGNED;.
│ │ │ │ │ + 0x0038fef0 20202020 20202020 20202020 20207d0a }.
│ │ │ │ │ + 0x0038ff00 20202020 20202020 20202020 207d2065 } e
│ │ │ │ │ + 0x0038ff10 6c736520 69662028 73203d3d 20224173 lse if (s == "As
│ │ │ │ │ + 0x0038ff20 73697374 616e7422 29207b0a 20202020 sistant") {.
│ │ │ │ │ + 0x0038ff30 20202020 20202020 20202020 69662028 if (
│ │ │ │ │ + 0x0038ff40 41535349 5354414e 54203d3d 20454d50 ASSISTANT == EMP
│ │ │ │ │ + 0x0038ff50 54592920 7b0a2020 20202020 20202020 TY) {.
│ │ │ │ │ + 0x0038ff60 20202020 20202020 20535741 50284153 SWAP(AS
│ │ │ │ │ + 0x0038ff70 53495354 414e542c 2052454c 41544544 SISTANT, RELATED
│ │ │ │ │ + 0x0038ff80 4e414d45 535b695d 293b0a20 20202020 NAMES[i]);.
│ │ │ │ │ + 0x0038ff90 20202020 20202020 20202020 20202f2f //
│ │ │ │ │ + 0x0038ffa0 2052454c 41544544 4e414d45 535b695d RELATEDNAMES[i]
│ │ │ │ │ + 0x0038ffb0 203d2055 4e415353 49474e45 443b0a20 = UNASSIGNED;.
│ │ │ │ │ + 0x0038ffc0 20202020 20202020 20202020 2020207d }
│ │ │ │ │ + 0x0038ffd0 0a202020 20202020 20202020 20207d0a . }.
│ │ │ │ │ + 0x0038ffe0 20202020 20202020 20207d0a 20202020 }.
│ │ │ │ │ + 0x0038fff0 20202020 20206920 3d206920 2d20313b i = i - 1;
│ │ │ │ │ + 0x00390000 0a202020 20202020 7d0a0a20 20202020 . }..
│ │ │ │ │ + 0x00390010 20202f2f 20494d50 50202d3e 20582d4a // IMPP -> X-J
│ │ │ │ │ + 0x00390020 41424245 522f4149 4d2f2e2e 2e206465 ABBER/AIM/... de
│ │ │ │ │ + 0x00390030 70656e64 696e6720 6f6e2073 65727669 pending on servi
│ │ │ │ │ + 0x00390040 63652074 7970652e 2050726f 746f636f ce type. Protoco
│ │ │ │ │ + 0x00390050 6c206d75 7374206d 61746368 2e0a2020 l must match..
│ │ │ │ │ + 0x00390060 20202020 2069203d 2053495a 4528494d i = SIZE(IM
│ │ │ │ │ + 0x00390070 50502920 2d20313b 0a202020 20202020 PP) - 1;.
│ │ │ │ │ + 0x00390080 494e5445 47455220 6f666673 65743b0a INTEGER offset;.
│ │ │ │ │ + 0x00390090 20202020 20202053 5452494e 47207365 STRING se
│ │ │ │ │ + 0x003900a0 72766963 653b0a20 20202020 20205354 rvice;. ST
│ │ │ │ │ + 0x003900b0 52494e47 2070726f 746f636f 6c3b0a20 RING protocol;.
│ │ │ │ │ + 0x003900c0 20202020 20205354 52494e47 2076616c STRING val
│ │ │ │ │ + 0x003900d0 75653b0a 20202020 20202077 68696c65 ue;. while
│ │ │ │ │ + 0x003900e0 20286920 3e3d2030 29207b0a 20202020 (i >= 0) {.
│ │ │ │ │ + 0x003900f0 20202020 20207365 72766963 65203d20 service =
│ │ │ │ │ + 0x00390100 494d5050 5f534552 56494345 5b695d3b IMPP_SERVICE[i];
│ │ │ │ │ + 0x00390110 0a202020 20202020 20202069 66202873 . if (s
│ │ │ │ │ + 0x00390120 65727669 63652021 3d20554e 41535349 ervice != UNASSI
│ │ │ │ │ + 0x00390130 474e4544 29207b0a 20202020 20202020 GNED) {.
│ │ │ │ │ + 0x00390140 20202020 206f6666 73657420 3d204649 offset = FI
│ │ │ │ │ + 0x00390150 4e442849 4d50505b 695d2c20 223a2229 ND(IMPP[i], ":")
│ │ │ │ │ + 0x00390160 3b0a2020 20202020 20202020 20202069 ;. i
│ │ │ │ │ + 0x00390170 6620286f 66667365 7420213d 20554e41 f (offset != UNA
│ │ │ │ │ + 0x00390180 53534947 4e454429 207b0a20 20202020 SSIGNED) {.
│ │ │ │ │ + 0x00390190 20202020 20202020 20202070 726f746f proto
│ │ │ │ │ + 0x003901a0 636f6c20 3d205355 42535452 28494d50 col = SUBSTR(IMP
│ │ │ │ │ + 0x003901b0 505b695d 2c20302c 206f6666 73657429 P[i], 0, offset)
│ │ │ │ │ + 0x003901c0 3b0a2020 20202020 20202020 20202020 ;.
│ │ │ │ │ + 0x003901d0 20207661 6c756520 3d205552 4c444543 value = URLDEC
│ │ │ │ │ + 0x003901e0 4f444528 53554253 54522849 4d50505b ODE(SUBSTR(IMPP[
│ │ │ │ │ + 0x003901f0 695d2c20 6f666673 6574202b 20312929 i], offset + 1))
│ │ │ │ │ + 0x00390200 3b0a2020 20202020 20202020 20202020 ;.
│ │ │ │ │ + 0x00390210 20206966 20287365 72766963 65203d3d if (service ==
│ │ │ │ │ + 0x00390220 20224149 4d222026 26207072 6f746f63 "AIM" && protoc
│ │ │ │ │ + 0x00390230 6f6c203d 3d202261 696d2229 207b0a20 ol == "aim") {.
│ │ │ │ │ + 0x00390240 20202020 20202020 20202020 20202020
│ │ │ │ │ + 0x00390250 20202456 43415244 5f4d4f44 45524e5f $VCARD_MODERN_
│ │ │ │ │ + 0x00390260 544f5f4c 45474143 595f494d 50502876 TO_LEGACY_IMPP(v
│ │ │ │ │ + 0x00390270 616c7565 2c204149 4d5f4841 4e444c45 alue, AIM_HANDLE
│ │ │ │ │ + 0x00390280 2c204149 4d5f534c 4f542c20 69293b0a , AIM_SLOT, i);.
│ │ │ │ │ + 0x00390290 20202020 20202020 20202020 20202020
│ │ │ │ │ + 0x003902a0 7d20656c 73652069 66202873 65727669 } else if (servi
│ │ │ │ │ + 0x003902b0 6365203d 3d202247 61647567 61647522 ce == "Gadugadu"
│ │ │ │ │ + 0x003902c0 29207b0a 20202020 20202020 20202020 ) {.
│ │ │ │ │ + 0x003902d0 20202020 20202024 56434152 445f4d4f $VCARD_MO
│ │ │ │ │ + 0x003902e0 4445524e 5f544f5f 4c454741 43595f49 DERN_TO_LEGACY_I
│ │ │ │ │ + 0x003902f0 4d505028 76616c75 652c2047 41445547 MPP(value, GADUG
│ │ │ │ │ + 0x00390300 4144555f 48414e44 4c452c20 47414455 ADU_HANDLE, GADU
│ │ │ │ │ + 0x00390310 47414455 5f534c4f 542c2069 293b0a20 GADU_SLOT, i);.
│ │ │ │ │ + 0x00390320 20202020 20202020 20202020 2020207d }
│ │ │ │ │ + 0x00390330 20656c73 65206966 20287365 72766963 else if (servic
│ │ │ │ │ + 0x00390340 65203d3d 20224772 6f757077 69736522 e == "Groupwise"
│ │ │ │ │ + 0x00390350 29207b0a 20202020 20202020 20202020 ) {.
│ │ │ │ │ + 0x00390360 20202020 20202024 56434152 445f4d4f $VCARD_MO
│ │ │ │ │ + 0x00390370 4445524e 5f544f5f 4c454741 43595f49 DERN_TO_LEGACY_I
│ │ │ │ │ + 0x00390380 4d505028 76616c75 652c2047 524f5550 MPP(value, GROUP
│ │ │ │ │ + 0x00390390 57495345 5f48414e 444c452c 2047524f WISE_HANDLE, GRO
│ │ │ │ │ + 0x003903a0 55505749 53455f53 4c4f542c 2069293b UPWISE_SLOT, i);
│ │ │ │ │ + 0x003903b0 0a202020 20202020 20202020 20202020 .
│ │ │ │ │ + 0x003903c0 207d2065 6c736520 69662028 73657276 } else if (serv
│ │ │ │ │ + 0x003903d0 69636520 3d3d2022 49435122 20262620 ice == "ICQ" &&
│ │ │ │ │ + 0x003903e0 70726f74 6f636f6c 203d3d20 2261696d protocol == "aim
│ │ │ │ │ + 0x003903f0 2229207b 0a202020 20202020 20202020 ") {.
│ │ │ │ │ + 0x00390400 20202020 20202020 24564341 52445f4d $VCARD_M
│ │ │ │ │ + 0x00390410 4f444552 4e5f544f 5f4c4547 4143595f ODERN_TO_LEGACY_
│ │ │ │ │ + 0x00390420 494d5050 2876616c 75652c20 4943515f IMPP(value, ICQ_
│ │ │ │ │ + 0x00390430 48414e44 4c452c20 4943515f 534c4f54 HANDLE, ICQ_SLOT
│ │ │ │ │ + 0x00390440 2c206929 3b0a2020 20202020 20202020 , i);.
│ │ │ │ │ + 0x00390450 20202020 20207d20 656c7365 20696620 } else if
│ │ │ │ │ + 0x00390460 28736572 76696365 203d3d20 224a6162 (service == "Jab
│ │ │ │ │ + 0x00390470 62657222 20262620 70726f74 6f636f6c ber" && protocol
│ │ │ │ │ + 0x00390480 203d3d20 22786d70 70222920 7b0a2020 == "xmpp") {.
│ │ │ │ │ + 0x00390490 20202020 20202020 20202020 20202020
│ │ │ │ │ + 0x003904a0 20245643 4152445f 4d4f4445 524e5f54 $VCARD_MODERN_T
│ │ │ │ │ + 0x003904b0 4f5f4c45 47414359 5f494d50 50287661 O_LEGACY_IMPP(va
│ │ │ │ │ + 0x003904c0 6c75652c 204a4142 4245525f 48414e44 lue, JABBER_HAND
│ │ │ │ │ + 0x003904d0 4c452c20 4a414242 45525f53 4c4f542c LE, JABBER_SLOT,
│ │ │ │ │ + 0x003904e0 2069293b 0a202020 20202020 20202020 i);.
│ │ │ │ │ + 0x003904f0 20202020 207d2065 6c736520 69662028 } else if (
│ │ │ │ │ + 0x00390500 73657276 69636520 3d3d2022 4d534e22 service == "MSN"
│ │ │ │ │ + 0x00390510 20262620 70726f74 6f636f6c 203d3d20 && protocol ==
│ │ │ │ │ + 0x00390520 226d736e 696d2229 207b0a20 20202020 "msnim") {.
│ │ │ │ │ + 0x00390530 20202020 20202020 20202020 20202456 $V
│ │ │ │ │ + 0x00390540 43415244 5f4d4f44 45524e5f 544f5f4c CARD_MODERN_TO_L
│ │ │ │ │ + 0x00390550 45474143 595f494d 50502876 616c7565 EGACY_IMPP(value
│ │ │ │ │ + 0x00390560 2c204d53 4e5f4841 4e444c45 2c204d53 , MSN_HANDLE, MS
│ │ │ │ │ + 0x00390570 4e5f534c 4f542c20 69293b0a 20202020 N_SLOT, i);.
│ │ │ │ │ + 0x00390580 20202020 20202020 20202020 7d20656c } el
│ │ │ │ │ + 0x00390590 73652069 66202873 65727669 6365203d se if (service =
│ │ │ │ │ + 0x003905a0 3d202259 61686f6f 22202626 2070726f = "Yahoo" && pro
│ │ │ │ │ + 0x003905b0 746f636f 6c203d3d 2022796d 73677222 tocol == "ymsgr"
│ │ │ │ │ + 0x003905c0 29207b0a 20202020 20202020 20202020 ) {.
│ │ │ │ │ + 0x003905d0 20202020 20202024 56434152 445f4d4f $VCARD_MO
│ │ │ │ │ + 0x003905e0 4445524e 5f544f5f 4c454741 43595f49 DERN_TO_LEGACY_I
│ │ │ │ │ + 0x003905f0 4d505028 76616c75 652c2059 41484f4f MPP(value, YAHOO
│ │ │ │ │ + 0x00390600 5f48414e 444c452c 20594148 4f4f5f53 _HANDLE, YAHOO_S
│ │ │ │ │ + 0x00390610 4c4f542c 2069293b 0a202020 20202020 LOT, i);.
│ │ │ │ │ + 0x00390620 20202020 20202020 207d2065 6c736520 } else
│ │ │ │ │ + 0x00390630 69662028 73657276 69636520 3d3d2022 if (service == "
│ │ │ │ │ + 0x00390640 536b7970 65222026 26207072 6f746f63 Skype" && protoc
│ │ │ │ │ + 0x00390650 6f6c203d 3d202273 6b797065 2229207b ol == "skype") {
│ │ │ │ │ + 0x00390660 0a202020 20202020 20202020 20202020 .
│ │ │ │ │ + 0x00390670 20202020 24564341 52445f4d 4f444552 $VCARD_MODER
│ │ │ │ │ + 0x00390680 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP
│ │ │ │ │ + 0x00390690 2876616c 75652c20 534b5950 455f4841 (value, SKYPE_HA
│ │ │ │ │ + 0x003906a0 4e444c45 2c20534b 5950455f 534c4f54 NDLE, SKYPE_SLOT
│ │ │ │ │ + 0x003906b0 2c206929 3b0a2020 20202020 20202020 , i);.
│ │ │ │ │ + 0x003906c0 20202020 20207d20 656c7365 20696620 } else if
│ │ │ │ │ + 0x003906d0 28736572 76696365 203d3d20 22536970 (service == "Sip
│ │ │ │ │ + 0x003906e0 2229207b 0a202020 20202020 20202020 ") {.
│ │ │ │ │ + 0x003906f0 20202020 20202020 24564341 52445f4d $VCARD_M
│ │ │ │ │ + 0x00390700 4f444552 4e5f544f 5f4c4547 4143595f ODERN_TO_LEGACY_
│ │ │ │ │ + 0x00390710 494d5050 2876616c 75652c20 5349505f IMPP(value, SIP_
│ │ │ │ │ + 0x00390720 48414e44 4c452c20 5349505f 534c4f54 HANDLE, SIP_SLOT
│ │ │ │ │ + 0x00390730 2c206929 3b0a2020 20202020 20202020 , i);.
│ │ │ │ │ + 0x00390740 20202020 20207d0a 20202020 20202020 }.
│ │ │ │ │ + 0x00390750 20202020 207d0a20 20202020 20202020 }.
│ │ │ │ │ + 0x00390760 207d0a20 20202020 20202020 2069203d }. i =
│ │ │ │ │ + 0x00390770 2069202d 20313b0a 20202020 2020207d i - 1;. }
│ │ │ │ │ + 0x00390780 0a0a0a20 20202020 20202f2f 2052656d ... // Rem
│ │ │ │ │ + 0x00390790 6f766520 6c616265 6c732077 68696368 ove labels which
│ │ │ │ │ + 0x003907a0 20617265 206e6f20 6c6f6e67 6572206e are no longer n
│ │ │ │ │ + 0x003907b0 65656465 64202876 616c7565 64206d6f eeded (valued mo
│ │ │ │ │ + 0x003907c0 76656420 61626f76 652c0a20 20202020 ved above,.
│ │ │ │ │ + 0x003907d0 20202f2f 2073746f 72656420 666f7220 // stored for
│ │ │ │ │ + 0x003907e0 61206772 6f757020 77686963 68206861 a group which ha
│ │ │ │ │ + 0x003907f0 73206e6f 206f7468 65722070 726f7065 s no other prope
│ │ │ │ │ + 0x00390800 72746965 73202847 6f6f676c 650a2020 rties (Google.
│ │ │ │ │ + 0x00390810 20202020 202f2f20 43617264 44415620 // CardDAV
│ │ │ │ │ + 0x00390820 73657276 65722073 6f6d6574 696d6573 server sometimes
│ │ │ │ │ + 0x00390830 2073656e 64732074 6861742c 20656469 sends that, edi
│ │ │ │ │ + 0x00390840 74696e67 20696e20 45766f6c 7574696f ting in Evolutio
│ │ │ │ │ + 0x00390850 6e0a2020 20202020 202f2f20 6d696768 n. // migh
│ │ │ │ │ + 0x00390860 74206361 75736520 69742c20 6574632e t cause it, etc.
│ │ │ │ │ + 0x00390870 29206f72 2070726f 76696465 206e6f20 ) or provide no
│ │ │ │ │ + 0x00390880 696e666f 726d6174 696f6e20 28224f74 information ("Ot
│ │ │ │ │ + 0x00390890 68657222 292e0a20 20202020 20206920 her").. i
│ │ │ │ │ + 0x003908a0 3d205349 5a45284c 4142454c 29202d20 = SIZE(LABEL) -
│ │ │ │ │ + 0x003908b0 313b0a20 20202020 20207768 696c6520 1;. while
│ │ │ │ │ + 0x003908c0 2869203e 3d203029 207b0a20 20202020 (i >= 0) {.
│ │ │ │ │ + 0x003908d0 20202020 20696620 284c4142 454c5b69 if (LABEL[i
│ │ │ │ │ + 0x003908e0 5d203d3d 20224f74 68657222 207c7c0a ] == "Other" ||.
│ │ │ │ │ + 0x003908f0 20202020 20202020 20202020 20204c41 LA
│ │ │ │ │ + 0x00390900 42454c5b 695d2021 3d20554e 41535349 BEL[i] != UNASSI
│ │ │ │ │ + 0x00390910 474e4544 2026260a 20202020 20202020 GNED &&.
│ │ │ │ │ + 0x00390920 20202020 20202847 524f5550 5f544147 (GROUP_TAG
│ │ │ │ │ + 0x00390930 5b695d20 3d3d2045 4d505459 207c7c0a [i] == EMPTY ||.
│ │ │ │ │ + 0x00390940 20202020 20202020 20202020 20202052 R
│ │ │ │ │ + 0x00390950 454c4154 45444e41 4d45535b 695d203d ELATEDNAMES[i] =
│ │ │ │ │ + 0x00390960 3d20554e 41535349 474e4544 2026260a = UNASSIGNED &&.
│ │ │ │ │ + 0x00390970 20202020 20202020 20202020 20202058 X
│ │ │ │ │ + 0x00390980 44415445 5b695d20 3d3d2055 4e415353 DATE[i] == UNASS
│ │ │ │ │ + 0x00390990 49474e45 44202626 0a202020 20202020 IGNED &&.
│ │ │ │ │ + 0x003909a0 20202020 20202020 54454c5b 695d203d TEL[i] =
│ │ │ │ │ + 0x003909b0 3d20554e 41535349 474e4544 2026260a = UNASSIGNED &&.
│ │ │ │ │ + 0x003909c0 20202020 20202020 20202020 20202045 E
│ │ │ │ │ + 0x003909d0 4d41494c 5b695d20 3d3d2055 4e415353 MAIL[i] == UNASS
│ │ │ │ │ + 0x003909e0 49474e45 44202626 0a202020 20202020 IGNED &&.
│ │ │ │ │ + 0x003909f0 20202020 20202020 5745425b 695d203d WEB[i] =
│ │ │ │ │ + 0x00390a00 3d20554e 41535349 474e4544 2026260a = UNASSIGNED &&.
│ │ │ │ │ + 0x00390a10 20202020 20202020 20202020 20202058 X
│ │ │ │ │ + 0x00390a20 44415445 5b695d20 3d3d2055 4e415353 DATE[i] == UNASS
│ │ │ │ │ + 0x00390a30 49474e45 44202626 0a202020 20202020 IGNED &&.
│ │ │ │ │ + 0x00390a40 20202020 20202020 494d5050 5b695d20 IMPP[i]
│ │ │ │ │ + 0x00390a50 3d3d2055 4e415353 49474e45 44202626 == UNASSIGNED &&
│ │ │ │ │ + 0x00390a60 0a202020 20202020 20202020 20202020 .
│ │ │ │ │ + 0x00390a70 4144525f 504f424f 585b695d 203d3d20 ADR_POBOX[i] ==
│ │ │ │ │ + 0x00390a80 554e4153 5349474e 45442026 260a2020 UNASSIGNED &&.
│ │ │ │ │ + 0x00390a90 20202020 20202020 20202020 20414452 ADR
│ │ │ │ │ + 0x00390aa0 5f414444 544c5b69 5d203d3d 20554e41 _ADDTL[i] == UNA
│ │ │ │ │ + 0x00390ab0 53534947 4e454420 26260a20 20202020 SSIGNED &&.
│ │ │ │ │ + 0x00390ac0 20202020 20202020 20204144 525f5354 ADR_ST
│ │ │ │ │ + 0x00390ad0 52454554 5b695d20 3d3d2055 4e415353 REET[i] == UNASS
│ │ │ │ │ + 0x00390ae0 49474e45 44202626 0a202020 20202020 IGNED &&.
│ │ │ │ │ + 0x00390af0 20202020 20202020 4144525f 43495459 ADR_CITY
│ │ │ │ │ + 0x00390b00 5b695d20 3d3d2055 4e415353 49474e45 [i] == UNASSIGNE
│ │ │ │ │ + 0x00390b10 44202626 0a202020 20202020 20202020 D &&.
│ │ │ │ │ + 0x00390b20 20202020 4144525f 5245475b 695d203d ADR_REG[i] =
│ │ │ │ │ + 0x00390b30 3d20554e 41535349 474e4544 2026260a = UNASSIGNED &&.
│ │ │ │ │ + 0x00390b40 20202020 20202020 20202020 20202041 A
│ │ │ │ │ + 0x00390b50 44525f5a 49505b69 5d203d3d 20554e41 DR_ZIP[i] == UNA
│ │ │ │ │ + 0x00390b60 53534947 4e454420 26260a20 20202020 SSIGNED &&.
│ │ │ │ │ + 0x00390b70 20202020 20202020 20204144 525f434f ADR_CO
│ │ │ │ │ + 0x00390b80 554e5452 595b695d 203d3d20 554e4153 UNTRY[i] == UNAS
│ │ │ │ │ + 0x00390b90 5349474e 45442026 260a2020 20202020 SIGNED &&.
│ │ │ │ │ + 0x00390ba0 20202020 20202020 20414452 5f535452 ADR_STR
│ │ │ │ │ + 0x00390bb0 4545545f 464c4147 535b695d 203d3d20 EET_FLAGS[i] ==
│ │ │ │ │ + 0x00390bc0 554e4153 5349474e 45442929 207b0a20 UNASSIGNED)) {.
│ │ │ │ │ + 0x00390bd0 20202020 20202020 20202020 20204c41 LA
│ │ │ │ │ + 0x00390be0 42454c5b 695d203d 20554e41 53534947 BEL[i] = UNASSIG
│ │ │ │ │ + 0x00390bf0 4e45443b 0a202020 20202020 2020207d NED;. }
│ │ │ │ │ + 0x00390c00 0a202020 20202020 20202069 203d2069 . i = i
│ │ │ │ │ + 0x00390c10 202d2031 3b0a2020 20202020 207d0a0a - 1;. }..
│ │ │ │ │ + 0x00390c20 20202020 2020202f 2f205265 6d6f7665 // Remove
│ │ │ │ │ + 0x00390c30 20616c6c 2067726f 75702074 6167732e all group tags.
│ │ │ │ │ + 0x00390c40 204e6f74 20757365 6420666f 72206c65 Not used for le
│ │ │ │ │ + 0x00390c50 67616379 20666f72 6d617473 2e0a2020 gacy formats..
│ │ │ │ │ + 0x00390c60 20202020 2047524f 55505f54 4147203d GROUP_TAG =
│ │ │ │ │ + 0x00390c70 20554e41 53534947 4e45443b 0a202020 UNASSIGNED;.
│ │ │ │ │ + 0x00390c80 205d5d3e 3c2f6d61 63726f3e 0a0a2020 ]]>..
│ │ │ │ │ + 0x00390c90 20203c21 2d2d2054 6865206c 65676163 .
│ │ │ │ │ + 0x00390d80 0a202020 203c212d 2d20582d 53504f55 . . ..
│ │ │ │ │ + 0x00390f30 2020203c 212d2d20 582d4a41 42424552 . = 0) {.
│ │ │ │ │ + 0x00390ff0 20202020 20696620 2824335b 696d7070 if ($3[impp
│ │ │ │ │ + 0x00391000 5f696e64 65785d20 213d2045 4d505459 _index] != EMPTY
│ │ │ │ │ + 0x00391010 29207b0a 20202020 20202020 20202020 ) {.
│ │ │ │ │ + 0x00391020 20494e54 45474552 206e756d 3b0a2020 INTEGER num;.
│ │ │ │ │ + 0x00391030 20202020 20202020 2020206e 756d203d num =
│ │ │ │ │ + 0x00391040 2053495a 45284c41 42454c29 3b0a2020 SIZE(LABEL);.
│ │ │ │ │ + 0x00391050 20202020 20202020 20202049 4d50505b IMPP[
│ │ │ │ │ + 0x00391060 6e756d5d 203d2024 32202b20 223a2220 num] = $2 + ":"
│ │ │ │ │ + 0x00391070 2b205552 4c454e43 4f444528 24335b69 + URLENCODE($3[i
│ │ │ │ │ + 0x00391080 6d70705f 696e6465 785d293b 0a202020 mpp_index]);.
│ │ │ │ │ + 0x00391090 20202020 20202020 20202433 5b696d70 $3[imp
│ │ │ │ │ + 0x003910a0 705f696e 6465785d 203d2055 4e415353 p_index] = UNASS
│ │ │ │ │ + 0x003910b0 49474e45 443b0a20 20202020 20202020 IGNED;.
│ │ │ │ │ + 0x003910c0 20202020 53574150 2824345b 696d7070 SWAP($4[impp
│ │ │ │ │ + 0x003910d0 5f696e64 65785d2c 20494d50 505f534c _index], IMPP_SL
│ │ │ │ │ + 0x003910e0 4f545b6e 756d5d29 3b0a2020 20202020 OT[num]);.
│ │ │ │ │ + 0x003910f0 20202020 20202049 4d50505f 53455256 IMPP_SERV
│ │ │ │ │ + 0x00391100 4943455b 6e756d5d 203d2024 313b0a20 ICE[num] = $1;.
│ │ │ │ │ + 0x00391110 20202020 20202020 20202020 4c414245 LABE
│ │ │ │ │ + 0x00391120 4c5b6e75 6d5d203d 20224f74 68657222 L[num] = "Other"
│ │ │ │ │ + 0x00391130 3b0a2020 20202020 20202020 7d0a2020 ;. }.
│ │ │ │ │ + 0x00391140 20202020 20202020 696d7070 5f696e64 impp_ind
│ │ │ │ │ + 0x00391150 6578203d 20696d70 705f696e 64657820 ex = impp_index
│ │ │ │ │ + 0x00391160 2d20313b 0a202020 20202020 7d0a2020 - 1;. }.
│ │ │ │ │ + 0x00391170 20205d5d 3e3c2f6d 6163726f 3e0a0a20 ]]>..
│ │ │ │ │ + 0x00391180 2020203c 212d2d20 636f6e76 65727420 . <
│ │ │ │ │ + 0x003911f0 215b4344 4154415b 0a202020 20202020 ![CDATA[.
│ │ │ │ │ + 0x00391200 69662028 414e4e49 56455253 41525920 if (ANNIVERSARY
│ │ │ │ │ + 0x00391210 213d2045 4d505459 29207b0a 20202020 != EMPTY) {.
│ │ │ │ │ + 0x00391220 20202020 2020494e 54454745 5220693b INTEGER i;
│ │ │ │ │ + 0x00391230 0a202020 20202020 20202069 203d2053 . i = S
│ │ │ │ │ + 0x00391240 495a4528 4c414245 4c293b0a 20202020 IZE(LABEL);.
│ │ │ │ │ + 0x00391250 20202020 20202f2f 20535452 494e4720 // STRING
│ │ │ │ │ + 0x00391260 7461673b 0a0a2020 20202020 20202020 tag;..
│ │ │ │ │ + 0x00391270 2f2f2024 4e455754 41472874 61672c20 // $NEWTAG(tag,
│ │ │ │ │ + 0x00391280 47524f55 505f5441 47293b0a 0a202020 GROUP_TAG);..
│ │ │ │ │ + 0x00391290 20202020 20202053 57415028 58444154 SWAP(XDAT
│ │ │ │ │ + 0x003912a0 455b695d 2c20414e 4e495645 52534152 E[i], ANNIVERSAR
│ │ │ │ │ + 0x003912b0 59293b0a 20202020 20202020 20204c41 Y);. LA
│ │ │ │ │ + 0x003912c0 42454c5b 695d203d 2022416e 6e697665 BEL[i] = "Annive
│ │ │ │ │ + 0x003912d0 72736172 79223b0a 20202020 20202020 rsary";.
│ │ │ │ │ + 0x003912e0 20202f2f 2047524f 55505f54 41475b69 // GROUP_TAG[i
│ │ │ │ │ + 0x003912f0 5d203d20 7461673b 0a202020 20202020 ] = tag;.
│ │ │ │ │ + 0x00391300 2020202f 2f20414e 4e495645 52534152 // ANNIVERSAR
│ │ │ │ │ + 0x00391310 59203d20 554e4153 5349474e 45443b0a Y = UNASSIGNED;.
│ │ │ │ │ + 0x00391320 20202020 2020207d 0a0a2020 20202020 }..
│ │ │ │ │ + 0x00391330 20245643 4152445f 4c454741 43595f54 $VCARD_LEGACY_T
│ │ │ │ │ + 0x00391340 4f5f4d4f 4445524e 5f52454c 41544544 O_MODERN_RELATED
│ │ │ │ │ + 0x00391350 4e414d45 53285350 4f555345 2c202253 NAMES(SPOUSE, "S
│ │ │ │ │ + 0x00391360 706f7573 6522293b 0a202020 20202020 pouse");.
│ │ │ │ │ + 0x00391370 24564341 52445f4c 45474143 595f544f $VCARD_LEGACY_TO
│ │ │ │ │ + 0x00391380 5f4d4f44 45524e5f 52454c41 5445444e _MODERN_RELATEDN
│ │ │ │ │ + 0x00391390 414d4553 284d414e 41474552 2c20224d AMES(MANAGER, "M
│ │ │ │ │ + 0x003913a0 616e6167 65722229 3b0a2020 20202020 anager");.
│ │ │ │ │ + 0x003913b0 20245643 4152445f 4c454741 43595f54 $VCARD_LEGACY_T
│ │ │ │ │ + 0x003913c0 4f5f4d4f 4445524e 5f52454c 41544544 O_MODERN_RELATED
│ │ │ │ │ + 0x003913d0 4e414d45 53284153 53495354 414e542c NAMES(ASSISTANT,
│ │ │ │ │ + 0x003913e0 20224173 73697374 616e7422 293b0a0a "Assistant");..
│ │ │ │ │ + 0x003913f0 20202020 20202024 56434152 445f4c45 $VCARD_LE
│ │ │ │ │ + 0x00391400 47414359 5f544f5f 4d4f4445 524e5f49 GACY_TO_MODERN_I
│ │ │ │ │ + 0x00391410 4d505028 2241494d 222c2022 61696d22 MPP("AIM", "aim"
│ │ │ │ │ + 0x00391420 2c204149 4d5f4841 4e444c45 2c204149 , AIM_HANDLE, AI
│ │ │ │ │ + 0x00391430 4d5f534c 4f54293b 0a202020 20202020 M_SLOT);.
│ │ │ │ │ + 0x00391440 24564341 52445f4c 45474143 595f544f $VCARD_LEGACY_TO
│ │ │ │ │ + 0x00391450 5f4d4f44 45524e5f 494d5050 28224761 _MODERN_IMPP("Ga
│ │ │ │ │ + 0x00391460 64756761 6475222c 2022782d 6170706c dugadu", "x-appl
│ │ │ │ │ + 0x00391470 65222c20 47414455 47414455 5f48414e e", GADUGADU_HAN
│ │ │ │ │ + 0x00391480 444c452c 20474144 55474144 555f534c DLE, GADUGADU_SL
│ │ │ │ │ + 0x00391490 4f54293b 202f2f20 3f3f3f0a 20202020 OT); // ???.
│ │ │ │ │ + 0x003914a0 20202024 56434152 445f4c45 47414359 $VCARD_LEGACY
│ │ │ │ │ + 0x003914b0 5f544f5f 4d4f4445 524e5f49 4d505028 _TO_MODERN_IMPP(
│ │ │ │ │ + 0x003914c0 2247726f 75707769 7365222c 2022782d "Groupwise", "x-
│ │ │ │ │ + 0x003914d0 6170706c 65222c20 47524f55 50574953 apple", GROUPWIS
│ │ │ │ │ + 0x003914e0 455f4841 4e444c45 2c204752 4f555057 E_HANDLE, GROUPW
│ │ │ │ │ + 0x003914f0 4953455f 534c4f54 293b202f 2f203f3f ISE_SLOT); // ??
│ │ │ │ │ + 0x00391500 3f0a2020 20202020 20245643 4152445f ?. $VCARD_
│ │ │ │ │ + 0x00391510 4c454741 43595f54 4f5f4d4f 4445524e LEGACY_TO_MODERN
│ │ │ │ │ + 0x00391520 5f494d50 50282249 4351222c 20226169 _IMPP("ICQ", "ai
│ │ │ │ │ + 0x00391530 6d222c20 4943515f 48414e44 4c452c20 m", ICQ_HANDLE,
│ │ │ │ │ + 0x00391540 4943515f 534c4f54 293b0a20 20202020 ICQ_SLOT);.
│ │ │ │ │ + 0x00391550 20202456 43415244 5f4c4547 4143595f $VCARD_LEGACY_
│ │ │ │ │ + 0x00391560 544f5f4d 4f444552 4e5f494d 50502822 TO_MODERN_IMPP("
│ │ │ │ │ + 0x00391570 4a616262 6572222c 2022786d 7070222c Jabber", "xmpp",
│ │ │ │ │ + 0x00391580 204a4142 4245525f 48414e44 4c452c20 JABBER_HANDLE,
│ │ │ │ │ + 0x00391590 4a414242 45525f53 4c4f5429 3b0a2020 JABBER_SLOT);.
│ │ │ │ │ + 0x003915a0 20202020 20245643 4152445f 4c454741 $VCARD_LEGA
│ │ │ │ │ + 0x003915b0 43595f54 4f5f4d4f 4445524e 5f494d50 CY_TO_MODERN_IMP
│ │ │ │ │ + 0x003915c0 5028224d 534e222c 20226d73 6e696d22 P("MSN", "msnim"
│ │ │ │ │ + 0x003915d0 2c204d53 4e5f4841 4e444c45 2c204d53 , MSN_HANDLE, MS
│ │ │ │ │ + 0x003915e0 4e5f534c 4f54293b 0a202020 20202020 N_SLOT);.
│ │ │ │ │ + 0x003915f0 24564341 52445f4c 45474143 595f544f $VCARD_LEGACY_TO
│ │ │ │ │ + 0x00391600 5f4d4f44 45524e5f 494d5050 28225961 _MODERN_IMPP("Ya
│ │ │ │ │ + 0x00391610 686f6f22 2c202279 6d736772 222c2059 hoo", "ymsgr", Y
│ │ │ │ │ + 0x00391620 41484f4f 5f48414e 444c452c 20594148 AHOO_HANDLE, YAH
│ │ │ │ │ + 0x00391630 4f4f5f53 4c4f5429 3b0a2020 20202020 OO_SLOT);.
│ │ │ │ │ + 0x00391640 20245643 4152445f 4c454741 43595f54 $VCARD_LEGACY_T
│ │ │ │ │ + 0x00391650 4f5f4d4f 4445524e 5f494d50 50282253 O_MODERN_IMPP("S
│ │ │ │ │ + 0x00391660 6b797065 222c2022 736b7970 65222c20 kype", "skype",
│ │ │ │ │ + 0x00391670 534b5950 455f4841 4e444c45 2c20534b SKYPE_HANDLE, SK
│ │ │ │ │ + 0x00391680 5950455f 534c4f54 293b0a20 20202020 YPE_SLOT);.
│ │ │ │ │ + 0x00391690 20202456 43415244 5f4c4547 4143595f $VCARD_LEGACY_
│ │ │ │ │ + 0x003916a0 544f5f4d 4f444552 4e5f494d 50502822 TO_MODERN_IMPP("
│ │ │ │ │ + 0x003916b0 53697022 2c202278 2d617070 6c65222c Sip", "x-apple",
│ │ │ │ │ + 0x003916c0 20534950 5f48414e 444c452c 20534950 SIP_HANDLE, SIP
│ │ │ │ │ + 0x003916d0 5f534c4f 54293b20 2f2f203f 3f3f0a20 _SLOT); // ???.
│ │ │ │ │ + 0x003916e0 20202020 20202f2f 20245643 4152445f // $VCARD_
│ │ │ │ │ + 0x003916f0 4c454741 43595f54 4f5f4d4f 4445524e LEGACY_TO_MODERN
│ │ │ │ │ + 0x00391700 5f494d50 5028223f 3f3f222c 20223f3f _IMPP("???", "??
│ │ │ │ │ + 0x00391710 3f222c20 494d5f41 44445245 5353293b ?", IM_ADDRESS);
│ │ │ │ │ + 0x00391720 0a202020 20202020 2f2f2024 56434152 . // $VCAR
│ │ │ │ │ + 0x00391730 445f4c45 47414359 5f544f5f 4d4f4445 D_LEGACY_TO_MODE
│ │ │ │ │ + 0x00391740 524e5f49 4d505028 223f3f3f 222c2022 RN_IMPP("???", "
│ │ │ │ │ + 0x00391750 3f3f3f22 2c204d45 414e5748 494c455f ???", MEANWHILE_
│ │ │ │ │ + 0x00391760 48414e44 4c452c20 4d45414e 5748494c HANDLE, MEANWHIL
│ │ │ │ │ + 0x00391770 455f534c 4f54293b 0a202020 20202020 E_SLOT);.
│ │ │ │ │ + 0x00391780 2f2f2024 56434152 445f4c45 47414359 // $VCARD_LEGACY
│ │ │ │ │ + 0x00391790 5f544f5f 4d4f4445 524e5f49 4d505028 _TO_MODERN_IMPP(
│ │ │ │ │ + 0x003917a0 223f3f22 2c20223f 3f3f222c 20534d53 "??", "???", SMS
│ │ │ │ │ + 0x003917b0 5f48414e 444c452c 20534d53 5f534c4f _HANDLE, SMS_SLO
│ │ │ │ │ + 0x003917c0 54293b0a 0a202020 20202020 2f2f2043 T);.. // C
│ │ │ │ │ + 0x003917d0 72656174 65206772 6f757020 74616773 reate group tags
│ │ │ │ │ + 0x003917e0 20666f72 20616c6c 206c6162 656c732e for all labels.
│ │ │ │ │ + 0x003917f0 20576974 686f7574 20746865 6d207468 Without them th
│ │ │ │ │ + 0x00391800 65206c61 62656c20 776f6e27 74206265 e label won't be
│ │ │ │ │ + 0x00391810 0a202020 20202020 2f2f2061 73736f63 . // assoc
│ │ │ │ │ + 0x00391820 69617465 64207769 74682074 68652063 iated with the c
│ │ │ │ │ + 0x00391830 6f727265 73706f6e 64696e67 2070726f orresponding pro
│ │ │ │ │ + 0x00391840 70657274 7920696e 20746865 206d6f64 perty in the mod
│ │ │ │ │ + 0x00391850 65726e20 76436172 642e0a20 20202020 ern vCard..
│ │ │ │ │ + 0x00391860 2020494e 54454745 5220693b 0a202020 INTEGER i;.
│ │ │ │ │ + 0x00391870 20202020 69203d20 53495a45 284c4142 i = SIZE(LAB
│ │ │ │ │ + 0x00391880 454c2920 2d20313b 0a202020 20202020 EL) - 1;.
│ │ │ │ │ + 0x00391890 2f2f2052 65736574 2047524f 55505f54 // Reset GROUP_T
│ │ │ │ │ + 0x003918a0 41472e20 4974206d 69676874 20636f6e AG. It might con
│ │ │ │ │ + 0x003918b0 7461696e 206f6273 6f6c6574 65207461 tain obsolete ta
│ │ │ │ │ + 0x003918c0 67732061 66746572 0a202020 20202020 gs after.
│ │ │ │ │ + 0x003918d0 2f2f2061 20726561 642f6d6f 64696679 // a read/modify
│ │ │ │ │ + 0x003918e0 20637963 6c652e0a 20202020 20202047 cycle.. G
│ │ │ │ │ + 0x003918f0 524f5550 5f544147 203d2045 4d505459 ROUP_TAG = EMPTY
│ │ │ │ │ + 0x00391900 3b0a2020 20202020 202f2f20 57652064 ;. // We d
│ │ │ │ │ + 0x00391910 6f6e2774 20757365 2067726f 75702074 on't use group t
│ │ │ │ │ + 0x00391920 61677320 696e7465 726e616c 6c792c20 ags internally,
│ │ │ │ │ + 0x00391930 736f2077 65206361 6e207369 6d706c79 so we can simply
│ │ │ │ │ + 0x00391940 20656e75 6d657261 74652074 68656d0a enumerate them.
│ │ │ │ │ + 0x00391950 20202020 2020202f 2f206865 72652e0a // here..
│ │ │ │ │ + 0x00391960 20202020 20202049 4e544547 45522074 INTEGER t
│ │ │ │ │ + 0x00391970 61676e75 6d3b0a20 20202020 20207461 agnum;. ta
│ │ │ │ │ + 0x00391980 676e756d 203d2031 3b0a2020 20202020 gnum = 1;.
│ │ │ │ │ + 0x00391990 20776869 6c652028 69203e3d 20302920 while (i >= 0)
│ │ │ │ │ + 0x003919a0 7b0a2020 20202020 20202020 69662028 {. if (
│ │ │ │ │ + 0x003919b0 4c414245 4c5b695d 20213d20 454d5054 LABEL[i] != EMPT
│ │ │ │ │ + 0x003919c0 5929207b 0a202020 20202020 20202020 Y) {.
│ │ │ │ │ + 0x003919d0 20204752 4f55505f 5441475b 695d203d GROUP_TAG[i] =
│ │ │ │ │ + 0x003919e0 20226974 656d2220 2b207461 676e756d "item" + tagnum
│ │ │ │ │ + 0x003919f0 3b0a2020 20202020 20202020 20202074 ;. t
│ │ │ │ │ + 0x00391a00 61676e75 6d203d20 7461676e 756d202b agnum = tagnum +
│ │ │ │ │ + 0x00391a10 20313b0a 20202020 20202020 20207d0a 1;. }.
│ │ │ │ │ + 0x00391a20 20202020 20202020 20206920 3d206920 i = i
│ │ │ │ │ + 0x00391a30 2d20313b 0a202020 20202020 7d0a2020 - 1;. }.
│ │ │ │ │ + 0x00391a40 20205d5d 3e3c2f6d 6163726f 3e0a0a20 ]]>..
│ │ │ │ │ + 0x00391a50 2020203c 6d616372 6f206e61 6d653d22 ..
│ │ │ │ │ + 0x00391ae0 3c6d6163 726f206e 616d653d 22564341 .. 0) {.
│ │ │ │ │ + 0x00392020 2020202f 2f204454 53544152 5420616e // DTSTART an
│ │ │ │ │ + 0x00392030 64204454 454e4420 72657072 6573656e d DTEND represen
│ │ │ │ │ + 0x00392040 7420616c 6c646179 20657665 6e742c20 t allday event,
│ │ │ │ │ + 0x00392050 6d616b65 20746865 6d206461 74652d6f make them date-o
│ │ │ │ │ + 0x00392060 6e6c7920 76616c75 65730a20 20202020 nly values.
│ │ │ │ │ + 0x00392070 20202020 202f2f20 2d20636f 6e766572 // - conver
│ │ │ │ │ + 0x00392080 74207374 61727420 746f2075 73657220 t start to user
│ │ │ │ │ + 0x00392090 7a6f6e65 20286f72 20666c6f 6174696e zone (or floatin
│ │ │ │ │ + 0x003920a0 67292073 6f206974 20726570 72657365 g) so it represe
│ │ │ │ │ + 0x003920b0 6e747320 6d69646e 69676874 0a202020 nts midnight.
│ │ │ │ │ + 0x003920c0 20202020 20202044 54535441 5254203d DTSTART =
│ │ │ │ │ + 0x003920d0 20434f4e 56455254 544f5553 45525a4f CONVERTTOUSERZO
│ │ │ │ │ + 0x003920e0 4e452844 54535441 5254293b 0a202020 NE(DTSTART);.
│ │ │ │ │ + 0x003920f0 20202020 2020204d 414b4541 4c4c4441 MAKEALLDA
│ │ │ │ │ + 0x00392100 59284454 53544152 542c4454 454e442c Y(DTSTART,DTEND,
│ │ │ │ │ + 0x00392110 69293b0a 20202020 20202020 20206966 i);. if
│ │ │ │ │ + 0x00392120 20285252 5f454e44 20213d20 454d5054 (RR_END != EMPT
│ │ │ │ │ + 0x00392130 5929207b 0a202020 20202020 20202020 Y) {.
│ │ │ │ │ + 0x00392140 20205252 5f454e44 203d2044 4154454f RR_END = DATEO
│ │ │ │ │ + 0x00392150 4e4c5928 434f4e56 45525454 4f555345 NLY(CONVERTTOUSE
│ │ │ │ │ + 0x00392160 525a4f4e 45285252 5f454e44 29293b0a RZONE(RR_END));.
│ │ │ │ │ + 0x00392170 20202020 20202020 20207d0a 20202020 }.
│ │ │ │ │ + 0x00392180 20202020 7d0a2020 20202020 2020656c }. el
│ │ │ │ │ + 0x00392190 7365207b 0a202020 20202020 2020202f se {. /
│ │ │ │ │ + 0x003921a0 2f206943 616c656e 64617220 322e3020 / iCalendar 2.0
│ │ │ │ │ + 0x003921b0 2d206f6e 6c792069 66204454 53544152 - only if DTSTAR
│ │ │ │ │ + 0x003921c0 54206973 20612064 6174652d 6f6e6c79 T is a date-only
│ │ │ │ │ + 0x003921d0 2076616c 75652074 68697320 7265616c value this real
│ │ │ │ │ + 0x003921e0 6c792069 7320616e 20616c6c 6461790a ly is an allday.
│ │ │ │ │ + 0x003921f0 20202020 20202020 20206966 20284953 if (IS
│ │ │ │ │ + 0x00392200 44415445 4f4e4c59 28445453 54415254 DATEONLY(DTSTART
│ │ │ │ │ + 0x00392210 2929207b 0a202020 20202020 20202020 )) {.
│ │ │ │ │ + 0x00392220 202f2f20 72657368 61706520 746f206d // reshape to m
│ │ │ │ │ + 0x00392230 616b6520 73757265 20776520 646f6e27 ake sure we don'
│ │ │ │ │ + 0x00392240 74206861 76652069 6e76616c 6964207a t have invalid z
│ │ │ │ │ + 0x00392250 65726f2d 64757261 74696f6e 20616c6c ero-duration all
│ │ │ │ │ + 0x00392260 64617973 20286f6c 64204f43 53203920 days (old OCS 9
│ │ │ │ │ + 0x00392270 73657276 65727329 0a202020 20202020 servers).
│ │ │ │ │ + 0x00392280 20202020 204d414b 45414c4c 44415928 MAKEALLDAY(
│ │ │ │ │ + 0x00392290 44545354 4152542c 4454454e 442c6929 DTSTART,DTEND,i)
│ │ │ │ │ + 0x003922a0 3b0a2020 20202020 20202020 7d0a2020 ;. }.
│ │ │ │ │ + 0x003922b0 20202020 20207d0a 0a202020 20202020 }..
│ │ │ │ │ + 0x003922c0 202f2f20 4d616b65 20737572 65207468 // Make sure th
│ │ │ │ │ + 0x003922d0 61742061 6c6c2045 58444154 45207469 at all EXDATE ti
│ │ │ │ │ + 0x003922e0 6d657320 61726520 696e2074 68652073 mes are in the s
│ │ │ │ │ + 0x003922f0 616d6520 74696d65 7a6f6e65 20617320 ame timezone as
│ │ │ │ │ + 0x00392300 74686520 73746172 740a2020 20202020 the start.
│ │ │ │ │ + 0x00392310 20202f2f 2074696d 652e2053 6f6d6520 // time. Some
│ │ │ │ │ + 0x00392320 73657276 65727320 73656e64 20746865 servers send the
│ │ │ │ │ + 0x00392330 6d206173 20555443 2c207768 69636820 m as UTC, which
│ │ │ │ │ + 0x00392340 69732061 6c6c2066 696e6520 616e6420 is all fine and
│ │ │ │ │ + 0x00392350 77656c6c 2c206275 740a2020 20202020 well, but.
│ │ │ │ │ + 0x00392360 20202f2f 206f6e6c 79206966 20746865 // only if the
│ │ │ │ │ + 0x00392370 2074696d 657a6f6e 65206465 66696e69 timezone defini
│ │ │ │ │ + 0x00392380 74696f6e 20646f65 736e2774 20636861 tion doesn't cha
│ │ │ │ │ + 0x00392390 6e67652e 20416c73 6f2c206c 69626963 nge. Also, libic
│ │ │ │ │ + 0x003923a0 616c2064 6f657320 6e6f740a 20202020 al does not.
│ │ │ │ │ + 0x003923b0 20202020 2f2f2068 616e646c 65207375 // handle su
│ │ │ │ │ + 0x003923c0 63682055 54432045 58444154 45732c20 ch UTC EXDATEs,
│ │ │ │ │ + 0x003923d0 736f206c 65742773 20636f6e 76657274 so let's convert
│ │ │ │ │ + 0x003923e0 20697420 7768696c 65207468 65205554 it while the UT
│ │ │ │ │ + 0x003923f0 4320616e 640a2020 20202020 20202f2f C and. //
│ │ │ │ │ + 0x00392400 2074696d 65207a6f 6e652064 6566696e time zone defin
│ │ │ │ │ + 0x00392410 6974696f 6e202868 6f706566 756c6c79 ition (hopefully
│ │ │ │ │ + 0x00392420 29206172 6520696e 2073796e 632e0a20 ) are in sync..
│ │ │ │ │ + 0x00392430 20202020 20202069 66202854 494d455a if (TIMEZ
│ │ │ │ │ + 0x00392440 4f4e4528 44545354 41525429 20213d20 ONE(DTSTART) !=
│ │ │ │ │ + 0x00392450 22555443 22202626 20214953 464c4f41 "UTC" && !ISFLOA
│ │ │ │ │ + 0x00392460 54494e47 28445453 54415254 2929207b TING(DTSTART)) {
│ │ │ │ │ + 0x00392470 0a202020 20202020 20202069 203d2030 . i = 0
│ │ │ │ │ + 0x00392480 3b0a2020 20202020 20202020 74696d65 ;. time
│ │ │ │ │ + 0x00392490 7374616d 70206578 64617465 3b0a2020 stamp exdate;.
│ │ │ │ │ + 0x003924a0 20202020 20202020 7768696c 65202869 while (i
│ │ │ │ │ + 0x003924b0 3c53495a 45284558 44415445 53292920 0) {.
│ │ │ │ │ + 0x00393000 20445545 203d2043 4f4e5645 5254544f DUE = CONVERTTO
│ │ │ │ │ + 0x00393010 55534552 5a4f4e45 28445545 293b0a20 USERZONE(DUE);.
│ │ │ │ │ + 0x00393020 20202020 20202020 20445545 203d2044 DUE = D
│ │ │ │ │ + 0x00393030 4154454f 4e4c5928 44554529 3b0a2020 ATEONLY(DUE);.
│ │ │ │ │ + 0x00393040 20202020 20207d0a 20202020 20202020 }.
│ │ │ │ │ + 0x00393050 69662028 4954454d 44415441 54595045 if (ITEMDATATYPE
│ │ │ │ │ + 0x00393060 28293d3d 22764361 6c656e64 61723130 ()=="vCalendar10
│ │ │ │ │ + 0x00393070 2229207b 0a202020 20202020 20202024 ") {. $
│ │ │ │ │ + 0x00393080 5643414c 454e4441 525f3130 544f3230 VCALENDAR_10TO20
│ │ │ │ │ + 0x00393090 5f505249 4f524954 595f434f 4e564552 _PRIORITY_CONVER
│ │ │ │ │ + 0x003930a0 53494f4e 3b0a2020 20202020 20207d0a SION;. }.
│ │ │ │ │ + 0x003930b0 20202020 20207d0a 20202020 20202f2f }. //
│ │ │ │ │ + 0x003930c0 20612077 6f726b61 726f756e 6420666f a workaround fo
│ │ │ │ │ + 0x003930d0 72206675 6e616d62 6f6c3a20 61646469 r funambol: addi
│ │ │ │ │ + 0x003930e0 6e672027 61637469 6f6e2720 666f7220 ng 'action' for
│ │ │ │ │ + 0x003930f0 27616c61 726d270a 20202020 20202f2f 'alarm'. //
│ │ │ │ │ + 0x00393100 20696620 6974656d 20646174 61207479 if item data ty
│ │ │ │ │ + 0x00393110 70652069 73207643 616c656e 64617231 pe is vCalendar1
│ │ │ │ │ + 0x00393120 2e302c20 616c736f 20616464 20276163 .0, also add 'ac
│ │ │ │ │ + 0x00393130 74696f6e 2720666f 72202761 6c61726d tion' for 'alarm
│ │ │ │ │ + 0x00393140 272e0a20 20202020 202f2f20 54686973 '.. // This
│ │ │ │ │ + 0x00393150 20697320 6120776f 726b6172 6f756e64 is a workaround
│ │ │ │ │ + 0x00393160 20666f72 204d6f62 6963616c 2e6e6574 for Mobical.net
│ │ │ │ │ + 0x00393170 2c207768 69636820 75736573 20764361 , which uses vCa
│ │ │ │ │ + 0x00393180 6c656e64 6172312e 302e0a20 20202020 lendar1.0..
│ │ │ │ │ + 0x00393190 20696620 28414c41 524d5f54 494d4521 if (ALARM_TIME!
│ │ │ │ │ + 0x003931a0 3d454d50 54592026 2620414c 41524d5f =EMPTY && ALARM_
│ │ │ │ │ + 0x003931b0 41435449 4f4e3d3d 454d5054 5929207b ACTION==EMPTY) {
│ │ │ │ │ + 0x003931c0 0a202020 20202020 20202041 4c41524d . ALARM
│ │ │ │ │ + 0x003931d0 5f414354 494f4e20 3d202244 4953504c _ACTION = "DISPL
│ │ │ │ │ + 0x003931e0 4159223b 0a202020 2020207d 0a202020 AY";. }.
│ │ │ │ │ + 0x003931f0 205d5d3e 3c2f6d61 63726f3e 0a0a0a20 ]]>...
│ │ │ │ │ + 0x00393200 2020203c 6d616372 6f206e61 6d653d22 .. .. . .
│ │ │ │ │ + 0x003944b0 0a202020 203c212d 2d20696e 766f6b65 . . = lensummary &&
│ │ │ │ │ + 0x00394650 0a202020 20202020 20535542 53545228 . SUBSTR(
│ │ │ │ │ + 0x00394660 44455343 52495054 494f4e2c 20302c20 DESCRIPTION, 0,
│ │ │ │ │ + 0x00394670 6c656e73 756d6d61 72792920 3d3d2053 lensummary) == S
│ │ │ │ │ + 0x00394680 554d4d41 52592026 260a2020 20202020 UMMARY &&.
│ │ │ │ │ + 0x00394690 2020286c 656e7375 6d6d6172 79203d3d (lensummary ==
│ │ │ │ │ + 0x003946a0 206c656e 64657363 72207c7c 20535542 lendescr || SUB
│ │ │ │ │ + 0x003946b0 53545228 44455343 52495054 494f4e2c STR(DESCRIPTION,
│ │ │ │ │ + 0x003946c0 206c656e 73756d6d 6172792c 20312920 lensummary, 1)
│ │ │ │ │ + 0x003946d0 3d3d2022 5c6e2229 29207b0a 20202020 == "\n")) {.
│ │ │ │ │ + 0x003946e0 20202020 44455343 52495054 494f4e20 DESCRIPTION
│ │ │ │ │ + 0x003946f0 3d205355 42535452 28444553 43524950 = SUBSTR(DESCRIP
│ │ │ │ │ + 0x00394700 54494f4e 2c206c65 6e73756d 6d617279 TION, lensummary
│ │ │ │ │ + 0x00394710 202b2031 2c206c65 6e646573 6372202d + 1, lendescr -
│ │ │ │ │ + 0x00394720 206c656e 73756d6d 61727920 2d203129 lensummary - 1)
│ │ │ │ │ + 0x00394730 3b0a2020 20207d0a 20202020 5d5d3e3c ;. }. ]]><
│ │ │ │ │ + 0x00394740 2f6d6163 726f3e0a 0a202020 203c6d61 /macro>.. .. <
│ │ │ │ │ 0x003948c0 2f736372 69707469 6e673e0a 0a20203c /scripting>.. <
│ │ │ │ │ 0x003948d0 64617461 74797065 733e0a20 2020203c datatypes>. <
│ │ │ │ │ 0x003948e0 212d2d20 6c697374 206f6620 696e7465 !-- list of inte
│ │ │ │ │ 0x003948f0 726e616c 20666965 6c647320 72657072 rnal fields repr
│ │ │ │ │ 0x00394900 6573656e 74696e67 20764361 72642064 esenting vCard d
│ │ │ │ │ 0x00394910 61746120 2d2d3e0a 20202020 3c666965 ata -->.
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │ -
│ │ │ │ │ +
│ │ │ │ │ SyncEvolution
│ │ │ │ │