@onereach/idw-ui-components 0.1.2-beta.7.0 → 0.2.0-beta.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +360 -1
- package/dist/cjs/index.js +2 -18
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +1639 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/idw-ui-components.css +1 -0
- package/dist/types/components/Feeds/FeedEmbed/FeedEmbed.vue.d.ts +16 -0
- package/dist/types/components/Feeds/FeedEmbed/FeedEmbed.vue.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedFileContent/FeedFileContent.vue.d.ts +6 -0
- package/dist/types/components/Feeds/FeedFileContent/FeedFileContent.vue.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedFileContent/index.d.ts +3 -0
- package/dist/types/components/Feeds/FeedFileContent/index.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedFileContent/types.d.ts +13 -0
- package/dist/types/components/Feeds/FeedFileContent/types.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedHtmlContent/FeedHtmlContent.vue.d.ts +6 -0
- package/dist/types/components/Feeds/FeedHtmlContent/FeedHtmlContent.vue.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedHtmlContent/index.d.ts +3 -0
- package/dist/types/components/Feeds/FeedHtmlContent/index.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedHtmlContent/types.d.ts +13 -0
- package/dist/types/components/Feeds/FeedHtmlContent/types.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedItemBase/FeedItemBase.vue.d.ts +42 -0
- package/dist/types/components/Feeds/FeedItemBase/FeedItemBase.vue.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedItemBase/index.d.ts +3 -0
- package/dist/types/components/Feeds/FeedItemBase/index.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedItemBase/types.d.ts +35 -0
- package/dist/types/components/Feeds/FeedItemBase/types.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedItemMetaFooter/FeedItemMetaFooter.vue.d.ts +12 -0
- package/dist/types/components/Feeds/FeedItemMetaFooter/FeedItemMetaFooter.vue.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedItemMetaFooter/index.d.ts +3 -0
- package/dist/types/components/Feeds/FeedItemMetaFooter/index.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedItemMetaFooter/types.d.ts +27 -0
- package/dist/types/components/Feeds/FeedItemMetaFooter/types.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedList/FeedList.vue.d.ts +60 -0
- package/dist/types/components/Feeds/FeedList/FeedList.vue.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedList/FeedListItemBody.vue.d.ts +17 -0
- package/dist/types/components/Feeds/FeedList/FeedListItemBody.vue.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedList/index.d.ts +3 -0
- package/dist/types/components/Feeds/FeedList/index.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedList/types.d.ts +69 -0
- package/dist/types/components/Feeds/FeedList/types.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedMarkdownContent/FeedMarkdownContent.vue.d.ts +7 -0
- package/dist/types/components/Feeds/FeedMarkdownContent/FeedMarkdownContent.vue.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedMarkdownContent/index.d.ts +3 -0
- package/dist/types/components/Feeds/FeedMarkdownContent/index.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedMarkdownContent/types.d.ts +12 -0
- package/dist/types/components/Feeds/FeedMarkdownContent/types.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedSkillContent/FeedSkillContent.vue.d.ts +29 -0
- package/dist/types/components/Feeds/FeedSkillContent/FeedSkillContent.vue.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedSkillContent/index.d.ts +3 -0
- package/dist/types/components/Feeds/FeedSkillContent/index.d.ts.map +1 -0
- package/dist/types/components/Feeds/FeedSkillContent/types.d.ts +29 -0
- package/dist/types/components/Feeds/FeedSkillContent/types.d.ts.map +1 -0
- package/dist/types/components/Feeds/feedEmbed.d.ts +10 -0
- package/dist/types/components/Feeds/feedEmbed.d.ts.map +1 -0
- package/dist/types/components/Feeds/formatFeedReadingTime.d.ts +3 -0
- package/dist/types/components/Feeds/formatFeedReadingTime.d.ts.map +1 -0
- package/dist/types/components/Feeds/index.d.ts +10 -0
- package/dist/types/components/Feeds/index.d.ts.map +1 -0
- package/dist/types/components/SkillCard/SkillCard.vue.d.ts +20 -0
- package/dist/types/components/SkillCard/SkillCard.vue.d.ts.map +1 -0
- package/dist/types/components/SkillCard/index.d.ts +4 -0
- package/dist/types/components/SkillCard/index.d.ts.map +1 -0
- package/dist/types/components/SkillCard/types.d.ts +17 -0
- package/dist/types/components/SkillCard/types.d.ts.map +1 -0
- package/dist/types/idw-card/bind/bindIdwCard.d.ts +7 -0
- package/dist/types/idw-card/bind/bindIdwCard.d.ts.map +1 -0
- package/dist/types/idw-card/bind/index.d.ts +2 -0
- package/dist/types/idw-card/bind/index.d.ts.map +1 -0
- package/dist/types/idw-card/form/dates.d.ts +5 -0
- package/dist/types/idw-card/form/dates.d.ts.map +1 -0
- package/dist/types/idw-card/form/formContext.d.ts +10 -0
- package/dist/types/idw-card/form/formContext.d.ts.map +1 -0
- package/dist/types/idw-card/form/index.d.ts +3 -0
- package/dist/types/idw-card/form/index.d.ts.map +1 -0
- package/dist/types/idw-card/host/hostConfig.d.ts +13 -0
- package/dist/types/idw-card/host/hostConfig.d.ts.map +1 -0
- package/dist/types/idw-card/host/index.d.ts +3 -0
- package/dist/types/idw-card/host/index.d.ts.map +1 -0
- package/dist/types/idw-card/index.d.ts +10 -0
- package/dist/types/idw-card/index.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/CardRenderer.vue.d.ts +18 -0
- package/dist/types/idw-card/renderer/CardRenderer.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/IdwCardActionBar.vue.d.ts +12 -0
- package/dist/types/idw-card/renderer/IdwCardActionBar.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/IdwCardElementView.vue.d.ts +16 -0
- package/dist/types/idw-card/renderer/IdwCardElementView.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/actionStyle.d.ts +12 -0
- package/dist/types/idw-card/renderer/actionStyle.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/ActionSetElement.vue.d.ts +12 -0
- package/dist/types/idw-card/renderer/elements/ActionSetElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/BadgeElement.vue.d.ts +7 -0
- package/dist/types/idw-card/renderer/elements/BadgeElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/ColumnSetElement.vue.d.ts +16 -0
- package/dist/types/idw-card/renderer/elements/ColumnSetElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/ContainerElement.vue.d.ts +16 -0
- package/dist/types/idw-card/renderer/elements/ContainerElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/FactSetElement.vue.d.ts +7 -0
- package/dist/types/idw-card/renderer/elements/FactSetElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/FileElement.vue.d.ts +9 -0
- package/dist/types/idw-card/renderer/elements/FileElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/HtmlElement.vue.d.ts +9 -0
- package/dist/types/idw-card/renderer/elements/HtmlElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/IconElement.vue.d.ts +7 -0
- package/dist/types/idw-card/renderer/elements/IconElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/ImageElement.vue.d.ts +7 -0
- package/dist/types/idw-card/renderer/elements/ImageElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/ImageSetElement.vue.d.ts +7 -0
- package/dist/types/idw-card/renderer/elements/ImageSetElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/InputElement.vue.d.ts +7 -0
- package/dist/types/idw-card/renderer/elements/InputElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/MediaElement.vue.d.ts +7 -0
- package/dist/types/idw-card/renderer/elements/MediaElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/ProgressElement.vue.d.ts +7 -0
- package/dist/types/idw-card/renderer/elements/ProgressElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/SkillElement.vue.d.ts +14 -0
- package/dist/types/idw-card/renderer/elements/SkillElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/TableElement.vue.d.ts +7 -0
- package/dist/types/idw-card/renderer/elements/TableElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/elements/TextElement.vue.d.ts +7 -0
- package/dist/types/idw-card/renderer/elements/TextElement.vue.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/index.d.ts +3 -0
- package/dist/types/idw-card/renderer/index.d.ts.map +1 -0
- package/dist/types/idw-card/renderer/types.d.ts +12 -0
- package/dist/types/idw-card/renderer/types.d.ts.map +1 -0
- package/dist/types/idw-card/schema/index.d.ts +3 -0
- package/dist/types/idw-card/schema/index.d.ts.map +1 -0
- package/dist/types/idw-card/templates/approval.d.ts +94 -0
- package/dist/types/idw-card/templates/approval.d.ts.map +1 -0
- package/dist/types/idw-card/templates/compile.d.ts +7 -0
- package/dist/types/idw-card/templates/compile.d.ts.map +1 -0
- package/dist/types/idw-card/templates/index.d.ts +7 -0
- package/dist/types/idw-card/templates/index.d.ts.map +1 -0
- package/dist/types/idw-card/templates/registry.d.ts +16 -0
- package/dist/types/idw-card/templates/registry.d.ts.map +1 -0
- package/dist/types/idw-card/templates/types.d.ts +20 -0
- package/dist/types/idw-card/templates/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +33 -14
- package/dist/cjs/format-idw-summary.js +0 -11
- package/dist/cjs/format-idw-summary.js.map +0 -1
- package/dist/esm/format-idw-summary.js +0 -8
- package/dist/esm/format-idw-summary.js.map +0 -1
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1,1639 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { defineComponent as p, computed as u, openBlock as t, createElementBlock as i, normalizeStyle as oe, normalizeClass as E, createVNode as O, unref as f, createCommentVNode as y, createElementVNode as B, toDisplayString as C, renderSlot as T, useSlots as G, ref as W, watch as se, createBlock as c, withDirectives as Ce, vShow as Se, withCtx as M, createTextVNode as q, Fragment as z, renderList as L, inject as Be, mergeProps as ze, reactive as ee, provide as Ie, resolveComponent as Le, createSlots as Pe } from "vue";
|
|
2
|
+
import { OrLoaderV3 as Z, OrIconButtonV3 as te, OrButtonV3 as J, OrIconV3 as Te, OrTextareaV3 as Ee, OrInputV3 as U, OrSwitchV3 as je, OrCheckboxV3 as le, OrSelectV3 as Oe, OrRadioV3 as Ve, OrDatePickerV3 as Re, OrTimePickerV3 as Ne, OrDateTimePickerV3 as Me, OrSliderV3 as Fe, OrRangeSliderV3 as Ae, OrRatingV3 as Ue, ProgressColor as D, ProgressType as ne, OrProgressV3 as De } from "@onereach/ui-components";
|
|
3
|
+
import We from "@onereach/idw-markdown-renderer";
|
|
4
|
+
import { IDW_CARD_VERSION as de, IDW_CARD_SCHEMA as ce, validateIdwCard as ae, getIdwCardFallbackText as qe, isIdwCardInputElement as He, isElementVisible as Qe, collectInitialInputValues as Xe, listIdwCardInputs as Ze, isInputEmpty as Ye } from "@onereach/idw-contracts";
|
|
5
|
+
import { IDW_CARD_MAX_ACTIONS as sn, IDW_CARD_MAX_BODY_ELEMENTS as dn, IDW_CARD_MAX_COLUMNS as cn, IDW_CARD_MAX_NESTING as un, IDW_CARD_MIN_COLUMNS as mn, IDW_CARD_SCHEMA as kn, IDW_CARD_VERSION as fn, collectInitialInputValues as yn, getIdwCardFallbackText as bn, idwCardActionSchema as vn, idwCardElementSchema as gn, idwCardSchema as xn, idwCardVerbSchema as hn, isAllowedResourceUrl as pn, isIdwCardInputElement as wn, isInputEmpty as Cn, listIdwCardInputs as Sn, parseIdwCard as Bn, validateIdwCard as zn } from "@onereach/idw-contracts";
|
|
6
|
+
import { z as V } from "zod";
|
|
7
|
+
function $l(e) {
|
|
8
|
+
return `${e.name} (${e.id})`;
|
|
9
|
+
}
|
|
10
|
+
var N = /* @__PURE__ */ ((e) => (e.XS = "xs", e.S = "s", e.L = "l", e))(N || {});
|
|
11
|
+
const Ge = ["data-interactive", "data-disabled", "data-selected"], Je = {
|
|
12
|
+
key: 0,
|
|
13
|
+
class: "absolute left-0 top-0 w-full h-full z-10 flex items-center justify-center bg-on-disabled-dark"
|
|
14
|
+
}, Ke = { class: "layout-column justify-between h-full w-full relative z-[2]" }, $e = { class: "grid grid-cols-[1fr_auto] items-start gap-xs" }, _e = { class: "idw-skill-card__actions" }, et = /* @__PURE__ */ p({
|
|
15
|
+
name: "SkillCard",
|
|
16
|
+
__name: "SkillCard",
|
|
17
|
+
props: {
|
|
18
|
+
skill: {},
|
|
19
|
+
selected: { type: Boolean, default: !1 },
|
|
20
|
+
disabled: { type: Boolean, default: !1 },
|
|
21
|
+
loading: { type: Boolean, default: !1 },
|
|
22
|
+
size: { default: N.L },
|
|
23
|
+
interactive: { type: Boolean, default: !0 }
|
|
24
|
+
},
|
|
25
|
+
setup(e) {
|
|
26
|
+
const r = {
|
|
27
|
+
[N.XS]: {
|
|
28
|
+
container: ["w-[128px]", "h-[128px]", "p-md+", "gap-[17px]"],
|
|
29
|
+
domain: ["text-[12px] leading-[16px]"],
|
|
30
|
+
title: ["text-[16px] leading-[20px] line-clamp-3"]
|
|
31
|
+
},
|
|
32
|
+
[N.S]: {
|
|
33
|
+
container: ["w-[163px]", "h-[163px]", "p-md+", "gap-[17px]"],
|
|
34
|
+
domain: ["typography-caption-regular"],
|
|
35
|
+
title: ["text-[20px] leading-[24px] line-clamp-4"]
|
|
36
|
+
},
|
|
37
|
+
[N.L]: {
|
|
38
|
+
container: ["w-[240px]", "h-[240px]", "p-lg", "gap-md+"],
|
|
39
|
+
domain: ["typography-body-2-regular"],
|
|
40
|
+
title: ["text-[30px] leading-[36px] line-clamp-5"]
|
|
41
|
+
}
|
|
42
|
+
}, l = e, n = u(() => r[l.size] || r[N.L]), a = u(() => ({
|
|
43
|
+
backgroundImage: l.disabled ? void 0 : `url(${l.skill.image})`,
|
|
44
|
+
backgroundPosition: "15px 15px",
|
|
45
|
+
backgroundSize: "200%"
|
|
46
|
+
})), s = u(() => {
|
|
47
|
+
const m = [
|
|
48
|
+
"idw-skill-card overflow-hidden",
|
|
49
|
+
"bg-surface-1 dark:bg-surface-1-dark",
|
|
50
|
+
"shadow-card dark:shadow-card-dark",
|
|
51
|
+
"rounded-[24px]",
|
|
52
|
+
...n.value.container
|
|
53
|
+
];
|
|
54
|
+
return l.disabled ? m.push(
|
|
55
|
+
"text-outline dark:text-outline-dark",
|
|
56
|
+
"select-none"
|
|
57
|
+
) : (m.push(
|
|
58
|
+
"text-black dark:text-white"
|
|
59
|
+
), l.interactive && m.push("cursor-pointer")), m;
|
|
60
|
+
});
|
|
61
|
+
return (m, b) => (t(), i("div", {
|
|
62
|
+
class: E(s.value),
|
|
63
|
+
"data-interactive": l.interactive,
|
|
64
|
+
"data-disabled": l.disabled,
|
|
65
|
+
"data-selected": l.selected,
|
|
66
|
+
style: oe(a.value)
|
|
67
|
+
}, [
|
|
68
|
+
l.loading ? (t(), i("div", Je, [
|
|
69
|
+
O(f(Z), { type: "circle" })
|
|
70
|
+
])) : y("", !0),
|
|
71
|
+
B("div", Ke, [
|
|
72
|
+
B("div", $e, [
|
|
73
|
+
B("span", {
|
|
74
|
+
class: E(["truncate idw-skill-card__domain", n.value.domain])
|
|
75
|
+
}, C(e.skill.domain), 3),
|
|
76
|
+
B("div", _e, [
|
|
77
|
+
T(m.$slots, "actions", {}, void 0, !0)
|
|
78
|
+
])
|
|
79
|
+
]),
|
|
80
|
+
B("span", {
|
|
81
|
+
class: E(["idw-skill-card__title", n.value.title])
|
|
82
|
+
}, C(e.skill.name), 3)
|
|
83
|
+
])
|
|
84
|
+
], 14, Ge));
|
|
85
|
+
}
|
|
86
|
+
}), ue = (e, r) => {
|
|
87
|
+
const l = e.__vccOpts || e;
|
|
88
|
+
for (const [n, a] of r)
|
|
89
|
+
l[n] = a;
|
|
90
|
+
return l;
|
|
91
|
+
}, tt = /* @__PURE__ */ ue(et, [["__scopeId", "data-v-68117d86"]]), lt = "allow-scripts allow-same-origin", nt = {
|
|
92
|
+
/** Matches prior feed html/file iframe height in idw-ui (`h-[720px]`). */
|
|
93
|
+
list: "block w-full h-[720px] max-h-[720px] border-none",
|
|
94
|
+
fill: "block w-full h-full min-h-0 flex-1 border-none"
|
|
95
|
+
};
|
|
96
|
+
function at(e = "") {
|
|
97
|
+
const l = e.trim() ? e.trim().split(/\s+/).length : 0, n = Math.max(Math.round(l / 200), l > 0 ? 1 : 0);
|
|
98
|
+
if (n <= 0)
|
|
99
|
+
return "";
|
|
100
|
+
if (n >= 60) {
|
|
101
|
+
const a = Math.floor(n / 60), s = n % 60;
|
|
102
|
+
return s > 0 ? `~${a}h ${s} min` : `~${a}h`;
|
|
103
|
+
}
|
|
104
|
+
return `~${n} min`;
|
|
105
|
+
}
|
|
106
|
+
const rt = ["aria-labelledby"], it = { class: "flex w-full min-w-0 flex-col gap-md" }, ot = { class: "flex w-full min-w-0 items-start gap-md" }, st = { class: "flex min-w-0 flex-1 flex-wrap content-center items-center gap-md" }, dt = ["datetime"], ct = {
|
|
107
|
+
key: 1,
|
|
108
|
+
class: "shrink-0 overflow-hidden text-ellipsis whitespace-nowrap typography-caption-regular text-outline dark:text-outline-dark"
|
|
109
|
+
}, ut = { class: "flex shrink-0 items-center gap-md" }, mt = { class: "flex w-full min-w-0 items-center gap-sm" }, kt = { class: "flex min-w-0 flex-1 flex-col items-start" }, ft = ["id"], yt = {
|
|
110
|
+
key: 0,
|
|
111
|
+
class: "m-0 w-full overflow-hidden text-ellipsis typography-body-2-regular text-on-surface-variant dark:text-on-surface-variant-dark"
|
|
112
|
+
}, bt = ["id", "aria-label", "aria-hidden"], vt = {
|
|
113
|
+
key: 1,
|
|
114
|
+
class: "flex w-full min-w-0 flex-wrap content-center items-center"
|
|
115
|
+
}, gt = {
|
|
116
|
+
key: 1,
|
|
117
|
+
class: "flex min-w-0 flex-1 flex-wrap content-center items-center gap-sm empty:hidden"
|
|
118
|
+
}, xt = {
|
|
119
|
+
key: 2,
|
|
120
|
+
class: "w-full min-w-0 empty:hidden"
|
|
121
|
+
}, ht = "Show more", pt = "Show less", wt = /* @__PURE__ */ p({
|
|
122
|
+
name: "FeedItemBase",
|
|
123
|
+
__name: "FeedItemBase",
|
|
124
|
+
props: {
|
|
125
|
+
id: {},
|
|
126
|
+
title: {},
|
|
127
|
+
shortContent: { default: void 0 },
|
|
128
|
+
timestamp: { default: void 0 },
|
|
129
|
+
timestampDatetime: { default: void 0 },
|
|
130
|
+
source: { default: void 0 },
|
|
131
|
+
expandable: { type: Boolean, default: !0 },
|
|
132
|
+
fullscreenControl: { type: Boolean, default: !1 },
|
|
133
|
+
mentionControl: { type: Boolean, default: !0 },
|
|
134
|
+
isNew: { type: Boolean, default: !1 },
|
|
135
|
+
controlLabels: { default: void 0 }
|
|
136
|
+
},
|
|
137
|
+
emits: ["update:expanded", "expand", "collapse", "control-click", "fullscreen"],
|
|
138
|
+
setup(e, { emit: r }) {
|
|
139
|
+
const l = {
|
|
140
|
+
mention: "Mention",
|
|
141
|
+
fullscreen: "Fullscreen"
|
|
142
|
+
}, n = e, a = r, s = G(), m = W(!1), b = W(!1), g = u(() => !n.expandable || m.value);
|
|
143
|
+
se(
|
|
144
|
+
g,
|
|
145
|
+
(P) => {
|
|
146
|
+
P && (b.value = !0);
|
|
147
|
+
},
|
|
148
|
+
{ immediate: !0 }
|
|
149
|
+
);
|
|
150
|
+
const S = u(() => `feed-item-title-${n.id}`), v = u(() => `feed-item-body-${n.id}`), x = u(() => n.isNew ? "bg-primary-opacity-0-12 dark:bg-primary-opacity-0-12-dark" : "bg-surface-2 dark:bg-surface-2-dark"), w = u(() => ({
|
|
151
|
+
...l,
|
|
152
|
+
...n.controlLabels
|
|
153
|
+
})), h = u(() => !!s.actions), I = u(() => !!s.footer), o = u(() => !!s.body), d = u(() => n.expandable && o.value), k = u(() => h.value && g.value), j = u(
|
|
154
|
+
() => d.value || k.value
|
|
155
|
+
), R = u(() => I.value && g.value);
|
|
156
|
+
function F(P) {
|
|
157
|
+
!n.expandable || P === m.value || (m.value = P, a("update:expanded", P), a(P ? "expand" : "collapse"));
|
|
158
|
+
}
|
|
159
|
+
function A() {
|
|
160
|
+
F(!m.value);
|
|
161
|
+
}
|
|
162
|
+
function pe(P) {
|
|
163
|
+
a("control-click", P);
|
|
164
|
+
}
|
|
165
|
+
function we() {
|
|
166
|
+
a("fullscreen");
|
|
167
|
+
}
|
|
168
|
+
return (P, _) => (t(), i("article", {
|
|
169
|
+
class: E(["feed-item-base relative flex min-w-0 flex-col gap-md rounded-md border border-outline-opacity-0-12 dark:border-outline-opacity-0-12-dark p-md", x.value]),
|
|
170
|
+
"aria-labelledby": S.value
|
|
171
|
+
}, [
|
|
172
|
+
B("div", it, [
|
|
173
|
+
B("header", ot, [
|
|
174
|
+
B("div", st, [
|
|
175
|
+
e.timestamp ? (t(), i("time", {
|
|
176
|
+
key: 0,
|
|
177
|
+
class: "shrink-0 overflow-hidden text-ellipsis whitespace-nowrap typography-caption-regular text-outline dark:text-outline-dark",
|
|
178
|
+
datetime: e.timestampDatetime || void 0
|
|
179
|
+
}, C(e.timestamp), 9, dt)) : y("", !0),
|
|
180
|
+
e.source ? (t(), i("span", ct, C(e.source), 1)) : y("", !0)
|
|
181
|
+
]),
|
|
182
|
+
B("div", ut, [
|
|
183
|
+
T(P.$slots, "controls", {}, () => [
|
|
184
|
+
e.fullscreenControl ? (t(), c(f(te), {
|
|
185
|
+
key: 0,
|
|
186
|
+
icon: "open_in_full",
|
|
187
|
+
tooltip: w.value.fullscreen,
|
|
188
|
+
onClick: we
|
|
189
|
+
}, null, 8, ["tooltip"])) : y("", !0),
|
|
190
|
+
e.mentionControl ? (t(), c(f(te), {
|
|
191
|
+
key: 1,
|
|
192
|
+
icon: "alternate_email",
|
|
193
|
+
tooltip: w.value.mention,
|
|
194
|
+
onClick: _[0] || (_[0] = (Xl) => pe("mention"))
|
|
195
|
+
}, null, 8, ["tooltip"])) : y("", !0)
|
|
196
|
+
])
|
|
197
|
+
])
|
|
198
|
+
]),
|
|
199
|
+
B("div", mt, [
|
|
200
|
+
B("div", kt, [
|
|
201
|
+
B("h3", {
|
|
202
|
+
id: S.value,
|
|
203
|
+
class: "m-0 w-full overflow-hidden text-ellipsis typography-headline-3 text-on-background dark:text-on-background-dark"
|
|
204
|
+
}, C(e.title), 9, ft),
|
|
205
|
+
e.shortContent ? (t(), i("p", yt, C(e.shortContent), 1)) : y("", !0)
|
|
206
|
+
])
|
|
207
|
+
]),
|
|
208
|
+
b.value ? Ce((t(), i("div", {
|
|
209
|
+
key: 0,
|
|
210
|
+
id: v.value,
|
|
211
|
+
class: "feed-item-base__body max-h-[37.875rem] w-full min-w-0 overflow-y-auto rounded-md",
|
|
212
|
+
role: "region",
|
|
213
|
+
"aria-label": e.title,
|
|
214
|
+
"aria-hidden": !g.value
|
|
215
|
+
}, [
|
|
216
|
+
T(P.$slots, "body")
|
|
217
|
+
], 8, bt)), [
|
|
218
|
+
[Se, g.value]
|
|
219
|
+
]) : y("", !0),
|
|
220
|
+
j.value ? (t(), i("div", vt, [
|
|
221
|
+
d.value ? (t(), c(f(J), {
|
|
222
|
+
key: 0,
|
|
223
|
+
type: "button",
|
|
224
|
+
variant: "link",
|
|
225
|
+
color: "primary",
|
|
226
|
+
class: "min-w-[96px] mr-md",
|
|
227
|
+
"aria-expanded": g.value,
|
|
228
|
+
"aria-controls": v.value,
|
|
229
|
+
onClick: A
|
|
230
|
+
}, {
|
|
231
|
+
default: M(() => [
|
|
232
|
+
q(C(g.value ? pt : ht), 1)
|
|
233
|
+
]),
|
|
234
|
+
_: 1
|
|
235
|
+
}, 8, ["aria-expanded", "aria-controls"])) : y("", !0),
|
|
236
|
+
k.value ? (t(), i("div", gt, [
|
|
237
|
+
T(P.$slots, "actions")
|
|
238
|
+
])) : y("", !0)
|
|
239
|
+
])) : y("", !0),
|
|
240
|
+
R.value ? (t(), i("footer", xt, [
|
|
241
|
+
T(P.$slots, "footer")
|
|
242
|
+
])) : y("", !0)
|
|
243
|
+
])
|
|
244
|
+
], 10, rt));
|
|
245
|
+
}
|
|
246
|
+
}), Ct = {
|
|
247
|
+
key: 0,
|
|
248
|
+
class: "feed-item-meta-footer flex items-center justify-between gap-sm typography-caption-regular text-outline dark:text-outline-dark"
|
|
249
|
+
}, St = { class: "flex items-center gap-xs" }, Bt = {
|
|
250
|
+
key: 0,
|
|
251
|
+
class: "mr-sm inline-flex items-center gap-xs",
|
|
252
|
+
"aria-hidden": "true"
|
|
253
|
+
}, zt = {
|
|
254
|
+
key: 1,
|
|
255
|
+
class: "text-on-background dark:text-on-background-dark bg-primary-opacity-0-08 dark:bg-primary-opacity-0-08-dark px-sm rounded-md"
|
|
256
|
+
}, _l = /* @__PURE__ */ p({
|
|
257
|
+
name: "FeedItemMetaFooter",
|
|
258
|
+
__name: "FeedItemMetaFooter",
|
|
259
|
+
props: {
|
|
260
|
+
engagement: {},
|
|
261
|
+
readingTimeSource: { default: void 0 }
|
|
262
|
+
},
|
|
263
|
+
emits: ["open-reactions", "open-comments"],
|
|
264
|
+
setup(e, { emit: r }) {
|
|
265
|
+
const l = e, n = r, a = u(() => l.engagement.reactionCount ?? 0), s = u(() => l.engagement.reactionEmojis ?? []), m = u(() => l.engagement.commentsCount ?? 0), b = u(() => l.engagement.commentsLabel), g = u(() => l.engagement.readingTime ? l.engagement.readingTime : l.readingTimeSource ? at(l.readingTimeSource) : ""), S = u(
|
|
266
|
+
() => a.value > 0 || !!g.value || m.value > 0 && !!b.value
|
|
267
|
+
);
|
|
268
|
+
return (v, x) => S.value ? (t(), i("span", Ct, [
|
|
269
|
+
B("span", St, [
|
|
270
|
+
a.value > 0 ? (t(), i("button", {
|
|
271
|
+
key: 0,
|
|
272
|
+
type: "button",
|
|
273
|
+
class: "flex cursor-pointer items-center text-on-background dark:text-on-background-dark bg-primary-opacity-0-08 dark:bg-primary-opacity-0-08-dark px-sm rounded-md border-0",
|
|
274
|
+
onClick: x[0] || (x[0] = (w) => n("open-reactions"))
|
|
275
|
+
}, [
|
|
276
|
+
s.value.length ? (t(), i("span", Bt, [
|
|
277
|
+
(t(!0), i(z, null, L(s.value, (w, h) => (t(), i("span", {
|
|
278
|
+
key: `${w}-${h}`,
|
|
279
|
+
class: "inline-flex size-4 items-center justify-center text-[16px] leading-none"
|
|
280
|
+
}, C(w), 1))), 128))
|
|
281
|
+
])) : y("", !0),
|
|
282
|
+
q(" " + C(a.value), 1)
|
|
283
|
+
])) : y("", !0),
|
|
284
|
+
g.value ? (t(), i("span", zt, C(g.value), 1)) : y("", !0)
|
|
285
|
+
]),
|
|
286
|
+
m.value > 0 && b.value ? (t(), i("button", {
|
|
287
|
+
key: 0,
|
|
288
|
+
type: "button",
|
|
289
|
+
class: "underline cursor-pointer bg-transparent border-0 p-0 typography-caption-regular text-outline dark:text-outline-dark",
|
|
290
|
+
onClick: x[1] || (x[1] = (w) => n("open-comments"))
|
|
291
|
+
}, C(b.value), 1)) : y("", !0)
|
|
292
|
+
])) : y("", !0);
|
|
293
|
+
}
|
|
294
|
+
}), It = /* @__PURE__ */ p({
|
|
295
|
+
name: "FeedMarkdownContent",
|
|
296
|
+
__name: "FeedMarkdownContent",
|
|
297
|
+
props: {
|
|
298
|
+
text: {},
|
|
299
|
+
contentClass: { default: void 0 },
|
|
300
|
+
internalLinkPattern: { default: void 0 }
|
|
301
|
+
},
|
|
302
|
+
setup(e) {
|
|
303
|
+
return (r, l) => (t(), c(f(We), {
|
|
304
|
+
class: E(["feed-markdown-content styled-content typography-body-2-regular text-on-background dark:text-on-background-dark", e.contentClass]),
|
|
305
|
+
text: e.text,
|
|
306
|
+
"internal-link-pattern": e.internalLinkPattern
|
|
307
|
+
}, null, 8, ["class", "text", "internal-link-pattern"]));
|
|
308
|
+
}
|
|
309
|
+
}), K = /* @__PURE__ */ ue(It, [["__scopeId", "data-v-ad3acbfc"]]), Lt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAGQBAMAAACqu9pFAAAAHlBMVEVHcEz////////////////////////////////////JATChAAAACnRSTlMABwIMEhokMD9UyelWMwAAIABJREFUeNrsXVl24zgSFNN9AC7ufyBVBzAF1X+7RB+gp+wjzP2vMNiJJUFSm0v2AK9ftWWREk0EApErd7s66njcgZ0fiFjvRx2PPQCRK7D2mMMV5Dtj1/f6vb43qO6R3etSuF02F56orq1O6P81mC0QuAT1jAkM3szAhYawuTysiGt+CeSxG+SX96iXTc/OOlPvHWqce2odX1IzWBBqnvVYAzRsyOJDeRcojBI25qN6iyRzaNfqt5uzuTJBovz4nthJkNhE1LHh76CLX9fxLTlY4Y6HWF3GK4kcSqxg9IHD9CtaLdvEg14dKf4hhWV67TMlUzqpQvr7ojkFFYSUWhqMbdq4g6Mg+1Dw2pyV945I5CSQDsVD0/qdhSGGOwSpearw+I6DP4CNhIQ6wZDZczD7Bce7GZVdYdWUWb+S9PeD86OwFDDwPpII3ZmGiXXFIEaL7mFMzl7/zlyF1/GVR9fdHM45vxaUNixocCPqe+Jko48YhLasEBrJGtgswv3qagVeZcc3Us9n8BOmxuL64FxDVltzCZQdNDtCP6N2a5uT+4hqjdpnlPtj7AiXhzIaV/HKu4rob4Pn9am06nbQ+LQIXR4bUAOd/2kXMHnv0J9g1vyS8yWXCxREszx3bdE2FdHfRT6zVeeHVQzsBl82K1qkMAYSsGKalHjI1oiSE/Kdyy4DVt1zFdHfBM+LpGwCcrdzAkDoHiYIlju/cU9oG7WktOOYXbiYls/DiujvKZ/97n+X9CJQ+SAx3XvbcdwUXsFLQ9Zr7jmoiP7qcE5mULsERiNjt3ky1uKI686GSyRNCmmni9Y8dLjizqmI/tJwjgkL8JzsOAdl9B4MtuIb6TGCkz4rupyzpYu7VO6vQyokNI5AViTpRZZuuoqLr8vOAckVwQyp1wIclBNlXVaowAf3notQGyU9dO116l9fcQxRXEs+WUneqIj+miPas5Ge/zQUN4feSCuR0ZIiyQhSL9Bpg7G9clFyFUxJrpzrq4AFoc2XNHhF9Jf0bMwzCrT0zBKBcD1NCbJ1QQhnGI6j/VT+mknyOHUjzpUjvlr+IbyYqFeGtF6qpb+kGStAvho5e8o0MTfykK1iOtPKLq+Ik1YaeL0i/21TmeB2gDk1qU/SOhzC7UexYCvJM/WWIoS8aENWRH8t5TxTE53eDt2ljt5EqBCUaqMbYIxErt/nLr6N25aMy9QeIzwC9imhq69fgjSUMF0jLF+Im+cJJJUk8HuW2iWG4zXfQ2sfwDzXRAihNw1WuiX58m3GiuiHG02fgkmEUOVFct59Epw/YwVbX56weXikfx0JaVQ5+uGkxTAObSgDhhCqpOsK+D1rRv9sqVNjpUhXgHVmvDZDW0H0SPQs+h282BdKb/bWemIGWzlw8Z7kDPjH66tnLRUE9st6TDJCTfl/JDy3qrBO21CDUxo+LUhk2FrLgU+lKeJ2Iw63hcbPXyP8XEdMuAWBr2FkseKab8NQhfSjDK6n4olBJ2bdzA0jcSUnY/fAcg6Eg3KQxtnn5VHE4HMYZk1an98rRl9Rd1kDBMxWG8YblQUyF5WkHwjPu30XBtG4ph6TjWSx1q/W3FnHFi7ZXMVClT5xLWTeZvu5KgP6PFwGAuZ8pZSuX4BkC5l5HCpJP8LYj84QCkXIwbK0fc1UHaoOYLCFPf1GLjzXuiYkc4Xi4cDCbQADz8SCoEls1wtsWcyKXmwatl8lg70YLmog/E+PgYxzdRrh2ybei4Wrha8PspAsDyjGOeeJD8eTEEMaEtxiu17gbcS8wCBS0BLJxvCQJkhl6cfD876V8zUuSAePoXEcTVkrowRGGK1Q46iGiEaAR5VYvVgkAEIEagTjtAzM6gyoakJ90tzwiYULcjnFOudpzfa7GdLMQnrsK6YfC89w2DUDOStzZvzCPj/jmCsUqDjFMLpIBQ9NxGGccV3Q3sCDN1SZLGQ9H6MztcQ2C2jsMptTrxneBdcwml/p/1b7n+aY5mPA0uZH0Cl9FVt/YMBw8OwWTpPEITUjaBIiFjwciK4uymFo3FZaQpfWwtyygAUXxwjxHnpPVFRIOPxG7hUWqxvMigTAdZnczNNyJ2v97XR+DtXzo7o8Ph/P4qBD3BFLyrlqXsVI+wqQ8luE3eAsvy21lSsPlmVWuC9ELWALEIFd0ti037CCdgvBSOCLFkGachgUpgV+Dl4h/dmjES0ONhPHVpYMGtjvdNqGN+ptz41hSEMngWGngX22lATzCdqrERO7qs69OUB0RNJp/ZjBkS8RdewqgcADPf8of1u9eJ/qrhMqjpK7AJBIS/BNKpCHGca0v+NOT5bgW/o1JY7uZbWjl/DxZIp8OU8ldFKBk/xZUbRUMjPOusMfOIiaKv155uBJCNLu2x9yLjdYgjJcAedZhztdcXNYhrLvJGbTpX2uP9WDlPuoJAb6AazaCDQ1dyP3soe/4iIwDj0zozi1FWqfIjeOEw1nbycGw2hEKIRNXK1Jv0m4lvb+vE1MpoT5wR7LCN9DUTrDLCgitR8cnFgHhbIcynGn1rGwbRwikp4lyLGS9P3GX+/WsTRMU6rvzFQTlozd6ukwCy/VmpwB5iz3Y0ZeBJ6+t9vFjE/vHVyROYzH5VrUNYR/XrHdEtDPA9AZ1OLt5NZUM5M0PJ+qkr6bW+P4rvhETGJKeFjnII1EUJhb4qE62ulpv0Yw23B5kdsxXF1dSrqZIXfVwDztiNzCSrFz+bdwue0Zb5Hka3Fwx+yn6u6423jlg4Juoux4QU57OJMd7c6sKAlsrN5v/Ss6pZmvk7elj8Utj8GgT4pOcWlHjsGL9YVQTHFqRKf3DR0V9Te5Ob5W5N1JOv9SHe+beBMMJV9MRcPYe5/ZNXDW8UK73avt+XiUi4pvgCDryhZhIW9vtSsZpsezXHkFXf475NQ+UEhxkveyte+L44e/z0OVHfcZR3W39/Hd5bRvCTofv226ltCSbDuY/V7ua0y39gR1lY7QJQw5uGw8FtEuX+p8B6YnemQP0jEUp+N9l38iTlSgae61BvCfHydL9vtTlR33wPMhx/NAOZZAFa6gJyNWMBS3iQyfxxwbVNuymrl1GM6X0Kwrlfi5FqF3g8ziW2yJvjNUDEg8Sw7JyuFB+M9q3j5emZUdh4q/m5uESsrFegMIetbJNf38qicQwNbBHOEXKdCs9EAwhVzHk+iiXB/YKpYhiskvimxYyuUOaioxfbwyZTqGgcPd/u3dIBmrkL61fp7GDM8Zb4DaZAMLEch04j6HrjaETuI4nU7Cpboxw5Z8IVmazvmICJYPbte/66691O4rMg8hlimE6QiNmEkanj8skqv/7qZj0M6jZgoFxj6WGzpPaQynh7L8Ino2k8vd41Q6ssiqECdHZ3ipR0roykUs++PUEzHvjYeFcskUtuH+A75gZT481Mz87Z1Rt7uOq+SGpgc4tpF8Zp4ohVCJ9/Fs8oGQFnNKuy23Kz+nuOhLCx6p7CWuIviTSWEuABeuB+x68TmUMJ0xsZEp5lddlgDdHOfIFRw/zEa4nyqibyQ3rIB7fgkm5PnVmzFHkU2jVNJk0l0fzfx52UizqOXEOWwxuUm+93LNLeCFHqWcioST4oNIN1Wp1xrTKrUueS+wtuGH9eA100sF4y3w/GYY4vlXyNmjNwxzu6Ybxp4gyqbDBB5rOiBLcZYYguUTUh+ZS/PHFyeDzn+WCwaeEWDgOzjauLlJY4psPfJPI7zP3N2pLq0mDNM4fpy0BeNnoo5rxv7dcMXTa2gi+jv7rB/drny7g9UQqtkMI1mOOafeuPy8Hms56cKr+UGF27XBXCOlLsrmavShM7DrtgMbthTFxgoaCo4PwnRUe5n7f+RBCtI42JFb0TdVRN8Kz8003+5Azel0UTB7sH7m3zQW3Al2d1XB86VOMzd6JBZbWQTYb6tP0c7B7UQeLmUa05yUZ/bWxDlfew/f5j/SLNd3+uevCsmrxo/f5h5DYJEEHqTmpIDsSrEHk4tAEZqRz7rGpWRy2TK+LUHtW42goSIrmZ/nLKwkT4ORvdxzmnbpA6qNAW0b/s2UJcMqoq/Gs8PubBCC9/FLanlTfuNpjKYIMJfQumMsD0MumcDYWsxXcEDMng92Nqq5tM5cT4Q4tfT8K0rT6cgWYtmqd+WEaWbMYB14zT/qhSKViuib4PmHF9Dc7YNcHMXwumNs37J8840hvR+lKUWV50ssjR7Kl8DZZi7Nz+ze9LS4pDbXqG3tetTNP6bp5Mt+z5c+kBYEUx5q9Llb7r5aJMfJMcCNObgT/gVUy/B6PD/99pQh6di2YZS745HpNhy0JTU/W0VKkeGYF33iBbXdueBOPwAKbcUw87+FTw0ax9jzwpJWeovXCWk2aZ49hbl64fGq9zXfQTaH3hC1A++v1r5gEtHVe3edft417+6Htw9JXtOpE3orfFJ3ds9Ke+9g4ncS+0TJFl7by27xAwBjf7H88TBjj8X0zh0RO+mCsbsBwbaRQdvyOX6fZ30TdmSTasxQnnjruUUyF21mG2rNIdfZ8+9WzkJbwXmRf8PefbA3EJ4/PlSLUfj533/165P6Z5SGXlt0eAnx9vE+ZjHDq6tVNmTbSZMsqJ1CyuAjy79KGfg29z4W1zALHHVeyLlEE7xcO0chlcalQ0chWWkOSl5+9fB+mQmmjjPGk79rP/UWh8P09rs1tjf+VHynb/uPU4+8jOhhes2xseWBEUAm33vpe12jUr0elj6CvkJU7URGmzWCVOv2GLFE3jbLPjmENFghDfENZc9T++znRWrop98V0eeO5sPd079/qaeASEPJuDd0nhIcx87kR/+PvWtpbxPJoqJQ9uKhXlOFvRcCso4C5Ovl2AJlnR4rPT+gp/P3p269qyhAst2zMSwc27GFXJy6de65LwZ7VGY+0CSFp5zllvknxC18jY0Jgtgv7KHF1rgGWpf3w5gyiPctnUlPwF+9ejaj0Y3NNNYhFSQSGB1EU1e8Uy8C8cKH84rQO22Y8jzSE7QtaKMsbxAT7TJ+DAKzo/SYczt3fCRMwYJiz5EjiJbBdGenaOIvpfL8SZkiAtmkO+f6tZkPhYLMTLQYQHYmkkfMZhl2mcWlVZKLYBvIyURCn8/qG6g+bfZrfvR9Vy21i4enTdrDoRg2nG6YfnkTh2L988JEWMmgMDLPy+3Cbx/8IPy3RI2CdUSG0Y24y2WmtHq7OY54dswTXD0/Ml2pgMa9OkZtZgqrLkxWEypEO6WbdPn7o7Y2Xzfp0wrSO669XK78HHTnLBOhb2zajaA6Zptc6XmFsD3QIQyeReTodIthN3QbmLV+PJuNQWw5mh4ZO4+Dlsm3Fk/KJaBwTHb+nZQbMk98ZUHiKCSP5j8W2jY4PATdSdvo4yZdefQdAsdZeYaY6/jMcFg55gEzJdowJ2UU6SFYiR1F0UVU5jBjS0BYyiTlwfFEtDW/wYhnahR45NUbrNjHwskxuQfjeRZO5lg5shKhVTUhljUqVkgwpNyuVogmlBGm/are3eoQKt25j0QOLoS+rXL6gINbHYPUbRyaQj6ostjZjpGY2mdm5s/1A/BA+TXBcbOZ6QycGYxe12V8tkCS4MQi7GhetZPBQtlPzRLvmBCtDk6mRafDYcXqTZd0CIMuEhL09glyksz15eQjOAqrAnFtamMgZmz1cUR6SDJnkpnNgy1dYmpW21vyPDRcDjNw3rxu4NtGtaKcFQiNt47dPBeTmcmiYx+NDr9sbERTo5MPq2t4y/X4LH2Po4A2rJ7lhcgQQMg0aqQhTMzWXKDc6dq5uYlunnaLWrl7F64YxTsJqSkmj18lby82GSG2TunmuVhtc7kspGh0Y3JoqTnJb5zB4qwhluUr7KXS8XUvaBycb6YxCCSZDuuMj0Y2TGymtKlirrrZkd38vDi7/XlN9e+XZBftBGjn4ylO40fsi+6MbXu2qETaKp2dy2/IQZzWSYcw14seCh6inwPTotNhTVVaJBw7qXRsn5R7YuNZsbttb5yMWE4lIWAHS2u8pP+Rk7fTCd17MZKlLQqJ+qigbylgX6GlW7l159hmQV7SjxaHFzoTz1Fil1wGmkrzTj7JCL5bwZh0MSfnHyvtWLo+Pcvlkr4hSNGnMX9mP3RSvZR0pRKJqqawJDPf40ZvHbWJ8Lx8p8U45rklS0DWLSCX3hTKeMFLTExIL7qPsaNwmIui+5xzvTyViJbWYqvWXPsyLDUa1SvtmFc41IHGczggum317UH1wXAfFZ4TczyIOXDB2/EKv376hDaUeIFgc3rLJTlUzNh2i7JPh1rsQIxIUzVI1WKPA8cdtHqUSN6B2Iqi6iDhu7MsNFiRs3oSDPbpsOp305dA68M52zJTnXf9zvIHkdEvKRgaCXU1W4XbGhIJPxEXsRcYy2CecBTvHFUVi1sFkS3m8aFFMGHQkwCCgD0R34Gi6IzRco8owC5g2onfOFYay4IrgWixoDmPEAbGM9jLmAphTjvKV0RPe4RPwjHMEJjqpOuL7MHCs1kwkV6k3ct3Cs7q+UKB4LjbzHL8G4kIChtpGbta3l1mXRee5pENzOX9ZErI44Qi9TcQHTARNYTTL+4aaaeIUBpp5gsSieigZYegmb2hbHTAER2uivTU9ZmtYki3/P6wCWqwDlZml4XnUKUXiAbMdkkc8gi+6KZsDvI+s7AY1DB/D2IkBb6jTpCIhGni/SUceZsukokTRTJk58CyV0xWxTJE66MwhREglCvr39WI5lAOVxs9Z6Bhw4dnys1OaGPn3lp4zrVd4IY6XxhEhrCrwXogBM8evQ+aBdeFf4Lda7aI6lLjv4H+W4gVlkHIzHzVOdzs3SRO2XtgTaYRVbHMCSe6jUHV05XN625oSr43VCaHQPTKOiYYdCbXqI5rlitgVUegWuMZpd2z2ge7jd2QTbNK4yrnrDMh96keZCZRdGO/FoPlG3TBOU6cWUxqxvizPuusvw52l8muWuGryFQOXWC/wW0PVjqq2m7oAfRpbyN6u2odPgP9h1yh7VPXcJK2M/W6o7nw7cYw0G4BPsS8WblSjMej0AyhwUqeu8v6ak1Cv7BSLuzXQuSfedpO5vPiTC8InZZR2TjBkMxsMYN4WzumchCjBQquem69SVIN1NbsJYIFgX5cc/49BpouZXCh64OG4avQ5fx4ztujbtVBDTS2zTNKymJm3rUVgcPxne3mnLQ1lVWnxmGS/9+KIacRapQs5bYigpO2d04WimKt3PNuBdwnTIyUuiAd+kIkM9LH8yD/SyB6/7wC2LmCH4BnQPJv/+XY3RspjHl3yJR012RGWLZAiTUFBKx1NnlMG5rva96kL3hN+DiTtyLZ1596sXeN2UrP+LX5JMIcRriZwSdo4tqUQgRhrQtE+Aq3hrqB8rpvIn5yGojmzgxZ2xu41+NB4Hn7N1+qR0Owy7WtABOiW3VswrItboEzT+acnnOpnShToDNYScL6/MfeXIsxqrxYmtG2I7ftNDHnCOldmC1xbk6y6BqQ6QKcoITaYrvNH5C0tmGLl9MVFSkFqDqb/l6QUM8w5t05lCcYDvCj4XWl0fbVU/4MeA5/8b1ugHaT6mVN29ioCafGwuotj8cdZcTjKuYGkXguwG/Lp1Swz6F5XuRpsEsQsraETruw8uvFrYDwxO61rHDT3YjxLPbtV1C5JGiiXzQk1rFOrCYLzyjKKybSVU2cN9Kc2+IRrobhtENDpnWm7b/h46e1LMu6tv/ibCz8/ofwn3cGaDPlDdJPte6JkvbJNs9e2UHnkXpcwmRkt1mPi0Jjhh7d9zMUO58ev9s6yfc0Z+hBe1Q5dn61kufzQzWE2xq6hMJ6LMvsmT/oiHLUTJ8hfhvKZLv9F/j4eSUdlkuYDMCSw+FFfP1Frd+gbEQKwRRFPyici9zUQcqjxzzjxPLiiNuPy2euF4/2Wwm3vHPwDkIt4vMHZwZfmEl5sF3F3YkP0kScZcTto8tdbLq2lycF4JMriVbD98NGHKngxTPldFhRbBjoq1iUy8Em0EGtDAQzz6oVN11yao+NNLZ83HGGlayI509UTHuqCyJiMoHPlUKEvLZzorj9G8dgkfFYiuU7U5aitr4H0nLwBErckBRrB42Sy4ssnWWhFfsG9d8nODu5GQ9X0uGuz+8vO7bVuyeLQFNTcNLLXMBcppMwI22zo/DWQkgyjqwojghtwdgg1mxOpfW6UHY9S3y35RYhj7dwjvH4FjHRZUlgLCIVGYR8rVFtgFQ7iTPCFFHTQXcg+fbSCgEJd6OhQXvQo4OaBw0F6ditSBbG9fIX+7dre+MMAwcEVpqftUCkqak4UlObUHeNa6Kh5G3OGE42m0rAj8+pmCMRaGIwCXGS60ZdPHUoJXN5rrtV2N/zigxsMmWOgUYv7C8WX9L+xqijsBY8zaEqwnrQlUddASstiJ/TqyM4s/T+vbBEmePHf2jzXA8Xtuz1Wbh7n78ARLthaFpxXX5e245+6OGLRklzqWIjR8OggSohMYbLcj4jyG+a0VQ9C5YCmqk2aLasGyWYd0UYyVvdY+PJwqFAlhub4aRRJxd0yY5dvqwInMOTUdqeMlR/pcyu57WG1WCD/rcddE0R5d+cbmjH5yPDOb30yQ/Gm/tBEmhcdcNlGNqGi8d518dJd+352Yv00svytzbWhrkstTnGdgBhQozIfI7hlE3PdM9/2wzHUvnNNCuQLxLEGqOLkEZKf1mOOy5vEYpZ/RNMqXNMsewM7U6LDSp6DALDw1XP0I47S+8In3l6f86iB98O+mT90Fc1vBw332AdwqvA8/4nNc1l16gTMh1KaLxBDBByd0c0LmYUEHHDbOIwKBf6XZAxWYheq3Kg8SaQoKbfjaztMvny6Kb53qOjZJZQbZLKCKUi98hCqYB0Ppp/DJBmJDmo+Oqng2nHOzbGkBLp4UnmkT1cPzii8wsIcSwRIPjzeoCMmO7y6xzJUglmCbprN7QqRb5kpINTuwfG3yj/owSxGQ1083QfddHjUt33Uuwcp7Kwq0X8LQsIs8mvqdrFeP6NB/Z8GZieZO70oOSQHiMafO+h54vMOHRQ9/qFPoE5gegB6ih5fmRKx8Nw/sCQRvUVYBmC9Jz8568dSPZ9A8Kd7t+fXH5dla0GbUN466wAueRnZkSfyJgFJ8XSab1z7fI/lVhUOPaX9S2zfD3kt7PkxklYaKpNk7giB9KUejRmYXzZwrKGEtHGSuDq8pM9jKBiNsYo9EbMB4QwFwI7zvP+cX3p4w+K5+DCV2qIKaH48wc1AgP1yetnmdeP8mq4/Ho5Guai2On0+/SUf4FTsWwsVwdFQvCb7xkhmg7dZ5fJYjaG6qyh8JvpGlms+hJErB+/HHvvH3DB3xobSHHb20OyHDzzcm2bPSOcVIaPiBK6kEXax9C+lbnhetnrn9cT7P2AaapIBwb27BNI6kCQT8olvAzXQ/8h+3WEF6hJ2QTfr5drW/fpwHY26/cAedC4Gvq2G2JN6HpHaU4blFCLbvNkxAeaBAt0A7NQGg+k/I+8q+lu21aiBKR0TZFSugVIOWtTJJWtHZLqW9qlSHfZ1KacfWM7P+A1yc9+mAFAgl8ynZfTheyTk8S2JFvAYHBn5s6dCS4QbQ7L4V2tjA6byChJB9K4xX3jR2wY/bqhO1YmaeuTdqZ8j9d5lKvunwBv4fSSHByGb9WFJwIE/gqnl8IZS42BkNmhysUyC0csQxplr/Mr+Q/A59WdsGjFsRFe/RVqOc4OGAKSm0egKx4kVJM9hPMLmBCU2H7RdGAt0z6CcIsi6eBmEmAANjqnQlmSpP9PdXz/Fx7ZWCRxjybmer8F5QPS+wNKSmPRIx2SPKULpNi110sg/LBGcehucyP/0awhz0SgLixdSqRgFKjCwnrTIB5cab6SFx9eW9lQMYxIgSWVG0WBXt/BeqdQIGQ0bpSmgJ/UTa65RZV33TDYs0UdN2GjAZrwnJDYm5pE0BoeP9ppSG0e2eTI8SJtlRDq8YkzNyk1hr54gznqTtJZLA7kpe3ebRWlqVa1bJjmdGYO9/azBAoDhztw6VQVCN+ovDNeq2DRDcIm5R17VfYs8zuz8gPUBn/7zIyvznMIlf3McM89UIbm3DMT2TFHs8sxPws7zyfPz35uJMsAJb/nyaHmbFF7wh3QatKerqSkOyL7jSq9nDfiMIGWByjjngvj78BY/UakEYj8zS8Z5Ywu3JuqEPeiJ3uw6K36JsooAZgmu3rXVq8phUckB2lZnZ/9ZVnbf0yvTX6rNi0hQO0PzGxScRiIpeVoCh4FXVqHWfGQtMoORWNUzosdwdRDtOSeHXIUdbJ1ZDZmoZSJl5Q0VnX05Mek2bTqBRa9H97VbVCZHx4lAwo8wlxDmGPbKJvjQBVjeXFL4kvqZ0UeoUWvNMQoL7TmTFzpjTt7RRYN798icWWv7oQ9qxYV2ULsAoGUGO6ZdBwuddOiGEoN4W5hm2drjFALp8JgWa+jhMiH7m3aElwccKfjoLrNVpbCHOqpw9yPdkzbjREbwfVJht0ItLOBQ8n1WO8oGW7t4W5a3jmGW7ZNi85tOe+bxAWK6ZJcB/hPv2uL9ku9d29eDerYQiVFvHG6E2/57PC78s/nKDrsXrVULUl7vDQXoXg2ZM4URTNVg0U9RsirJc/VPoYjXrKPHgaCLf6CDvFxeWnmjfhd8O986CmUmukTfRCPWItHHf0WOl66Tv/wUNh0MGTUdFslCwM7Gw/B2AaBCMlKwBuyOVZs3dk38NHriolfNquU4z67fR32vPqIEGuzLsUBnytKP6IQsOQ357FBCZjtz43dWKb7mv/V8SywUTzSPEi0aA9VohvHiuUD7/i9PZTLpSaUeIHTYc/D5jZYeY6NR8ebVQYavXWyBAa5MRN2sDoaDNs5jnqD9s0i06ghHWCpcKOm7kX3H4G9cel5yE96+xWW/gyRyLJUDml79SoCwj164kUGaIsqph3gDZnXeGfQpRIbAAAgAElEQVTADbM7lrrZPoHpsExtbcs9hwyc98ZIOoXSN3PZHwiljCmTTPh4veRnr4Pwu8ZPc35Y3Rdngw4HA4rfB1J/9ZpSoxNC9RGm3fnR0TVUsbQRR5Cxa1x2vpAW7YNFk0zgP5xp8/6/6JQRZpBM4udXwVYiyNDKlxJqrUp5aYlbSgJn/96AzOt6QXiUpQHjKfKQXKxlNZQbHgbwNYMoKWwYBSaEcwpBM8gNwsCZZM61C24ktX4GEvw35Do8b4AniDxAWJEmX0M6LSowRDptY+plDnpJTgPVjJT/skhlvpl8uoXuRUemNOkff6J3lxfussJtnH98BQD6QsCNYKfy0BW+/3V1roDzujBwV+2f/Wwv3AqNgCYK1C+8qsUuCKcrdjFKE/FnYVykgA3FLkRhKC9jEb8HE1zmNOLEscTdyBHgCPAp6wOIZ0+L12eIqhRNEARD0WxfvgCTj5Q3wv29bmIQhYQm98ZRQ6O9n9adLIzyNNNcO4GfZVVs9mRWBMkTpqWVlqNbIvo4/dbZ1TWNK1d3YK4wf7eEKhNGEvHevjbsWa3vGqveLiwoifaJR/Vei+tSLG7R4ECvUU1CP56gAgFsJXeed89TIGwj1CFVnh3UedZ/BkAKWligDMsZmJ7iHJ3gKXnWTicy1aVvoym2/7yuSRugi4ebwQxHWjMJkO/Y7o/1M51L9cvHDzIzZ2KKOcJoa3ttRWJTyqfHc91ueMoAuiK7fKlzlaTE+HBv0xhaeSDjTGtRqbW2Z5zyKBU4Oh3IFHuFapCwCGsvJMwZIInBYuPsGfc8GPEPlJy9KUIaput2mPLN1OtLItExRp0ZJtbaziNCGxprdG2atcGUMZpwTPLBTTMF3WaZ9B+m5fvZtfo9tk/oiLPEGBxEf31Ai35/KAJx0Jc3329PvtGQlsI5z+uM+wrSPLucCSO3FJ2LXHXxM9ZVlqjp2paVke0YRmCoYSBQyZLuQnqbY1DWdM+0gyS0FsyLsfTUZ/WKl33aPj7kuMB1bwKy1xoFIOcaCC9t14HH8Ba5kQxPsIOzk7druHbrTw+QiC6Csikn0hvYWVKqRKy1vn+wZ6eNot/uDx9mtT3T+ytrVuRiCa4xWgQQrQ1ay8kgxYvULbJj5kxcU74/HCLb+Y63cO1j7tkwZOfnxYNTPlzHVDAfIuDRKV3nHbcMJ9scgAyiDshQkg8OE2cEtosIfMMwdNmwzvS2tSYgkRuAHbOCGxY9O4jvZh8oFs7glXaP59kp2/P8IJByI1X+y2drKZZjhksyK3Hd3p2r3J6yZ6gTSoGZjt6Jac48rHtBYQDOYpBsB+oU1mbEQ/anWrF/dWXa+jesa6XT83rdGLJl0nLiXU2N5lEw8i6pm2HaDsXseMtJzwptwNsvt0wAQ5M7syoqvGaVvIpF3z5lJ5yLpvfCOetZsTzMnjax+ILSAFPzDfYtewZ+DKbzaEeRCpLOmoBHGsFGmP7rucG4Mfp9WLAQp+GYjqPVGVo13W93XpEf87FsGJrT+raY3DLepVTxlrowhIaQmZf9DW6yGXvNhWz3BjG7fXnIVTQr3AXPdNw+v39M2GpPd3UgT1eHb5fNbkLc+PT36Rr0fz6LMOMOljwtDlWR3kIuWjZWqvZKBTQ03gA+zLoIeu6ZNGl/i4Y6AS1dDw2P9UsQu+v63GcKLrRLQ1pMVPsXT3SZ/Ff9UMamdH2bEtYtVb4JAwnNrIb5KWqNMuNTqJrKlUxGX9PPZE+FuPSy+yeg2QnbTsVfNVuD7B6LfJfT7NrAKyVy2mtcOf9ycar2/P6BihN74WdltU/ERr1/uNSWrCJABdB0/nlZ2BiFGG0/uLFRU0OBipZU+ZLZOSVDOP4R1JncIIBojx8zZ3yY43RdMjXkX5SFu+6iA3OgyQuOD29Hd8J/2s8fH3V+WB8jT7wdvF6AWPd8KeiRFjJu5kdMmsdSX4Zhx7eekOFm9w/qPXjxPi7u76z4uhs4Nhb9y7cTzUVvvzJU+zrk4ppjll9C2lIKZyt7ViQO5a0hiYdUu3agbWH1G7kZQDnfJyEmm5VPGuH2GxBww41qBHfHrlyVYhuDF1RKgISqdAPvrJOAWcivEWcARbBRKwyeQTTT2dx0oCCjWhnhVxLxYlbsF3JBx0260RYkhiyHf6Mtmm2vqfvpYWNaNFtBWnZdK0ZXjyeZuotR+PnNV3ld0bhK/4QWlQZvkEwmnldy4QR0xgC7k9zg0OzGQ6gCRqDd0cKd9Bh8Vh43bS5fWgdMrTyd68qiydFcM+8wRDXpuZU2EQYdLPpAYdgqp4FkOhFJW2o8FuufGn2ZIT7GijaY9Nir1ulTb9mQIL3dow4Noat5+z3fmUMpfGAnnWn2aHb2cIr+GZOT9JNch2WZ2+/OVYuKtGe1XFRxk9xig3eX2bmCuVHHQhJomKaXDm23RpFj8FnndmlNoFTCHVop6SXUDcOs6omItvlt9YntB+In9uy3X2Q/0hzTlzOfnIChI/1cVHiEEO4m6mYlDk/xo3QYe3meW6ftDCdNd4+6/RCoSqsvD5kJlQnEidqi39i/nl5gGBd3YHtv8Z25JdxJhYr90J5hrRia9bV04IUNdRYat9wzVL8FggaC2AA/3U/sYxu70NViwJJw98IreBPEaYdSAN1Wc8uUzG1MLgjlF1jt1FVe0OuGbWMekvckdCmZ1sRinuOhF45kZUXYNER7aZqJMD00y5ZQYoFmChHAa+rSstFs3FXKuiExRWefvrYaVGh8K8xc1r1nV9bNqeXu4hxZovT+ArmFmNn5S7ao4JUm52ySSEk6QL83ZDjMvm8VbfggeTfYbeGO2LMHEZt+AtaOazVa/pLphKYx2L0D08h9Gd6bB/KB/FxlL2poI9Nw0i69xSiqbvy2Wd2mixfR/VEm22hz0P/ztPqowNPCcJMoLQ6HUljwpeR+FSkO8hBHIqv2mRzsRmJNUaJFqiDIGfhmevP9n9aqg6iBIip9tMjTacHobf4WIdb8AcCzPOTvnPKCSXsm5aHIilKsZUAlvv4gMxxFm0hwKcLuagTtkcEigdrL5jsCC1CTF/FDb4fb/+PuanobR44ou6lJruKHciYpec+mSRo5WibpydGy2LSPCWxKs7cAiSXnvjuef5D83HRVN5vNL0meAAFkA4udsUfWB6uLr15VvTeEQQQjqKMJ33a8Hlko9v8s3bFl7FB187ZUSkXewcMtRN8f0LkZ/lViBlEueaks3bS/rTgNcZGFlZtNBb6x2i9yixCEUmy8DGwdCm61lm8UiXj29rvXytEvUA8hKDGMP/z2meJ59iyMZYw//n1Ra5DQAhexJtV0Xr7tiixS42mwugbNlHlbktgt7HmWj02MO9nVQJB1rJ5kKBLLOE0HdAw/D70G6tSDcV4TRIZzkFgT8ecZp4Wznqn7UUuDljHcoLIBYC24uQXNO9BZIb9m9Om8tzgP90oOTmDFkFq8loSQvng2xFT7tfgd/q//vu1FNIwH/8J//vSJnAxn63pz4YmpneBJtcJTnpZvryHVeSL+Yc05AmmnZ5KnVlZY8XA8z+O0T9lGfS1dKWtLrJ9OzmPxLIpMPZzrUnDc3pjSGjIM7MlE0L8ck0c6bEsxvEgmi2r0KNQiuiXRSJW6bpz2HskTc+CW2F2x58hIJQ+8hudpR0ooUePX/1RhC2jy/15QOUi59X2CL/fFk0rYFz+elV7Mn+Homptqs1tR/VQDak7YZRs9g4B8XFx5i6vBQOrxqLQR8G9/uyEOTq6p2oN32FsPxpnfoMm/Cu6OXkked1GMJWrQ8WkOxLcOnLvAP7YaNrSmCGQ5rPNEsfrBvCXXo9R13XUf1EEwb15sH4xCQBoaCQ6fh7TyC3p8r5jmtIwR/WyQv/K/lC+fJJ4XL96FGCFc7Btqx4Qui/ltVzajSqIonALhEbTTM88OGU739z5kYU9hDyCNwYDzPpiLe5usjhARG1pSbdgUzY4F07TapQl6xwRdlR0YVVaGRrZtaXq3/kFgFByzQgaDRj1PE09VgeoGNgfdpOZpAjlW4K77Tww76fB96HcBOSXM96x8+1wf2q87xio1pkCvV5in4bp9yT8H0zFhU1IJ5LG9N+v3RP/C/2S+vZZr7XaXoxKry279vJOemYDTs3ZtBRJWvHRpiYTRmo8byOSh99FobgNcCFe5P0e9ttFmM7dJfTTTlPGDR4jIMWxijYzUATzSsAoPYrvpshzrdqvJjxF84luasV0jvG7aTYPFcmrrD7HhI7RHnRHFRYhokKBZME8INcIultKFvtsVkdIxwPUVDjkTePcr5n2CeAaqWSwJJ9VzM70/e4V4rqqlIz7GLMtLnC0APtplLVCdMyYsJ8yl3hngj1tatIs+0mjk+n/Y3qRLPRxr5NGhjqB4B4rkoMMcG3+or8FpfBqqWtf+Sa88CMZm+Sh6xorn1F6hVWs1ipsBnkNhmotuNlloOWy4TwXijPT6Fv/vioj+ZSW4WOSn2dVcPZLe3UIqgw8gX3yCWX+zvJRiJNcFD+06Q5vbe2Oy3eyqkhX8i7E8X+KShMuWpGXlwUE1k241JPMUaM4LbdlKWkeCdMrIpFHgRL3WXE9aRoVad/VDLqUG3vFTEAzEs2FaRx6IZ1AJL+pxXuPw0w7jOBEpCR993oRcqk8T3OyjpYx+fJs0KWGwrsS8S4U3dPPKQJwR1DngyophHFIo6QJSpmVhsRpcUhiN/hOIF365P/+NWRj0niCqSFYgOlJn6LvKuNju36uoHSRzDqEXTB/ccnk41/AjwY+DRkD4T1XPm0BNFWJlODY31zUAHham82uP7ziNtBnkk4wuuyEoWWjFOx+J5/GqUUHx0xRJjQNT05Cn46X2RkJxVkGmEUY63LBTAmahk282MC8q4AgMgsmjCZHp8wQle2JQ7z8YnlxtofkyqVLFr0L7jOAyLSPFmcczLa9k3ZCsUHJVZugLtrr+8b7r3NB4Ml4aumoSdctaNxpudMBx+hDN+gUjgFOCROqey3GyKGqt7IdNwRMINwgbu4dW6OhlnSVFzTV5Its+2IQL+o3zoFUO/k80oAj2sMHv9kkx3VKV6fxoHoohUvxy4c8wFhN4WI/AsLME0vge5nlq+wlTTD4NlDwHATg8KcRON09DoRCpF4ZYPI3dELZ59TTUmV28TI0vN7PzrgspLOvc3WA8CxZIBDTZ7Mt//ejstzv5tx2svrNC+rLRmCO5hlIy16id1NlVNiOPwC0TqD+8rSqTB8Hb8XBWJu6WnDINhPp3T37/Q/bHVFlcdV1dxY6JBNStAWbfGhQiP/ycxGoTdSeokQFjMnyaTA9fuDz0q478LqxdSQ5czMo4PKTnbWbJiqEzbkxWAnkgnAxcVrG7XWrZUoAXkrK7rSOaLgrvwluwKS3oWfuBUxgsxDnZ2XomBq9AIduKv72/7N9bCu9+XG6/p1ayWVtWnMOwTF5u98LaQ17XAj7vLhglMKcE90FHWPB5bdwcxQy2qxAChtqkcVuBg4ov/v+PsnmtUGvijNbG8QCqfXgP07rjgY5V+ss8PjpHdGE6xQseOX3+MNXTXkDrtzFBaFfcMGiUZ1cgw5123TRBTZdF4r77gIkZ7h9xVu54WEdSUwnGfr9+r0HM7HlyAzTfxf3knPuFgrEBhPFSu298SRO2Kd+Lp3Y8u6zc8ASsqkHq3G2rtMWfZlFfc9R3y0Jet0Xaq/pg8BGrnSi0O+OXH+E7+hBj2HutCwmCesrN7s5+6Fohp7wU0sUkNBguaPt1cJdNacNkcwDrIKTOsAJE3TV+V3ztnQ3i5OV3WDrKb81C/SxZkYgjjWmdo4HBk88wWz8ANLELozxf6g5yMwINs8qlq1X+reJw66na7vTqgOasLC45AFvV0DlnncE5k3WdlQIcbZTf44XiqhtdHH3ERahEwBUQtCzrJz5T2siP0mP/pjNyZA+INql/eSp50adoBADxUd/a94fYbV13RyaONstAl4PPhm7qoOAYOMgvJTGUhVEHLl1jlViuJk1Ewwy0+/i7LAUBblYb+RRJhVdx9nC+KRpys7AhLas1jIYmZZUxIDC/V5tKJ8XyqlpSYyajE1zBuh0Qd1PpzDRUMHkaBfGlKL+cNDQirSwTZV8QLzsRZA9hWM1cfjAni43BNu0xfrP3MLxa6RLXU3qP8EQG17rdh2Lb1/uV9WNqzy2t5O0KKGFnU51lpxvA7vTQKQIwl6SeESOCyZhYkq31IghbevOY7V/j6soT5Xr59npr0Md/SIJrBfdcyVEFjzciL00T72zjWaiJ0icwBCI55GZjze87b893pQbL6Fe4MZE7Ydrh5LwO7OTA+d2+bkNBJyDKmVAVXIjrI+ZpJtP6CsoNK9IxKsSrHfStY2GYAqi6cMx4sMYryp0z8AfMKA4hBmQDjY42niPi2beDRhSviWoNVaiTFNVfjtPCGlZ3V6CF58FjE4rhaECvkoJ+ieLx+zHtZGlcTGP0JFMorr59ElS6m5f7DQ4sVcXSmpc/Xi+NJ9E/gctP83Ui2OkJQhFz82zenmk8g5MVhBsUuyQRlijkOWePv83Waz2eoXQQcIMkjC27sM/JNzihh5qv4DSbyowj+oa8jAnq26eIZnkKsulhggJNB3GOQk5pwBiFJrzYJj260lzUHpnm6LHCjph8niqgMUIFUhr4/ZPUQ8t+gN/GApbWnp0dKB50RmMBZkWD8IbEoc/hsj8mzRq4WVSsab4MtCVYP5aD/Q7iwMX2fa1mT8zH97+ZewErgoQfAzCgxMzCMGNNtg9nmaLdKsbm/jwv/wkLhFAc8Er4sUqT/byYNVDOeYSh8AR6/z5P4ldeByjzEIcH+7wkLAqgMdQ/MKFvqK3gXyy19gmNx5a/fRFhgdfAgfqq2+PtjeNtDc3wEuNJpmL5RPTki/hxSWoYQLL9znk6QEZ3mChcmCCju5jzPNqhVFKi4W8idTioi22C6/2Lyh7ebLsr60lRfkm9WRXh4y9iTGOLfXR+KNq/3lWQkR1eTBSeuDVxaFwVpTfbPDB73Xww1cYT2978jy2bNkjIgNgctgTqsztRZxCegXk4XzU0VWM6WzutDFx63WIbMIdnHGPQAuvkNS3EBSlAGAfZxOD/9YHTGo3brcHAExwLSAQy21mYjN7PSF4iWmhPOubyb/ymyi8b+fbajCsEX3dv3+t2wazgIDOFfot5j60142J3Zlw0idn2FXx0eTgv6d2lWaLYIr87BeRh9sKu77/U7SKnXM9ujAWsvJNSm6+DNSAezHBBFizN2cDSFSmmc6WeJHRHSWYrMnXo8uiAxBiaexiwcQs+uHSIuVxgCp6yf8bE/Sd9A6hq8eBxiuTQHM6FHvhN88gTdEhWZWk4TCGSPMJo/S9119LeKK5EQSSzNmBnzSOZdTCQu40HlNvLpI3wrKcD7u1839jOH7id/tlXVRJC4pHH3Vx3Vu3EjY04KlWdqjplljredS6IDVo0pKbaYLKcI6BmIonAUcwfPtRzUEsUD1+dHn8l48xvDKq6kavgt3Z/zc2znQvre5M9r9jWqrqFYmu7EnPtiCLg3IxyU15IMHCPo5qKWPiup0oALJVFHDbIdLgpLdZTXrOZaZgueSB6b/W4Pp68A7UhvRZ6n4Py1GSXD8Nani/6+4mN5dtpms4cFlq3ysUaKssnBWfsCpXn7acRKyvtADc58VcObGWlH9ra488REGDd/WEFWX28tS7vRRUEufvxy8CZwG7ld4+albg9Yfhi1tXKtk3YPHcjz3Gc3SoRFLWclgQ9EVWhQETyliUTBK5fH7uECua2+rINftD3wqPSZIk84ZAImEFKZKqAzvxh0mpPDLQYZETsNzAKTq85irCvcw4+aqQnwOjzhSKjLKpcLt1WQHNbuCzL9fjTnKcLMEIrg8Um2pjZmDY1hP6qX7Q+fIOYCWJ8fkiDTMePtVVaIgtDvvwqKh029FA6FfgaATzbi2pZBbE6i34/LO6aBakk9IHMaxj2X4ndbnfSVN3l6tZwq0PY9PwYpe1WBockzoqB4wtiokBR8R+kqzDjHY3M8PtxmeldJyanFo7I6GmT300NkAX+XQpkvB/IHGwJ+ejs7xmJMYS0cLjMv4Ymr2mjteYrOkEPrf642WKJqLFMulZS/O9DIhroBKW3b+8FRcVPYShkCq6O29WjGHNvWX/+3ZEHZz0lCwXLnVo5CQ7Hc5Sj4Aa+PN1e8pPn5tFS00b/dcBNn38TN1cYzzmuWz0REJasAAHdECblKZrUAJEt5u65yYzUYRc/fY43iqalmcO+OWu+WjqSFf6LkW9hfgnivsNjfAzToTsZPAiXgyPb1SnoYaAR46EaxdA3NORO6QLaVG6eBr/Vno/9jP3PnWzHxeuz5KnYdokb4Y6xdiHG3Fv2y98yZKxvz9k+rwG1z2q8Hcue/b7Vlewe7Zd7sc3FzC/7Qeg45FC4RKRyUs/8tQeDKBLbBDjQoIezcYBmRfoeWIHh+mSw9QaUonDCNwkNyTvRZu6O7a6Z0HM/gNWPYJr4k7cXimkdkQ/nGcS+IImtjobeZMgmLNYMWaKwWoDiYG4iOtK0+62/gJ1do0cNlv/qVdpvsmRI8kVsfXfaLgT7FyOiSUXPOMtCoBzlYv+kBccN66dGW1/+tvdfsU+YUKQtY4bpUDFehTwM+l9Xbc9tQpMswNgG3zyQB+kQzmX6HlRxVl/Q5x7enFyvjPNnuDcsWhaZRWIJUhCcDnsx917ZkOJ9yPpihIAJzXA+Uz6jTgpEBt/uIWp7QYcVuGP8RcZKWikeJHRd6QmUAx6fe78Q3tOhje5fP2HBLzjRwop9USK6DmtxQgMLVi2rpMDsC3ey88P6jB0OmGl+cbrt7zXZczusluXqPzh49Pqr5YjG2GWzRmONWScy2Krkof3Wr6hDCxjgRJUzY2flZmGy0pv3nLFQdWENxBnnorzPCyuFoxasAJ2J8A2Sz52tXTZOAv4mQcz5ibYTJ70cf5p+DqCcVvSdgBWmgO8ozBIQigaZn8BkkQaIJtfVgp+SninUDcqa3T9laFTjfHuoHv2udJTIAwx4g4baZUVrgeKLlyMryuB88Qz+lSMmL0r7vP9Hu/ffT5gzvNjKETTQOHj5COkUTGvfmdkjHg72W9/Om6qERlnV2Z+Vg/gmLr13LGfShfmT4oxkyNARPZ3S82lvsmgThjby0Dx7pjei59Tf7ykYOtBysKYXTUSmFrba+BBHSOlq8wTisYd/2weLPHQWIVyKo2R1qDqUDVQMwEDzMCcbRDp5h+hckbEFaH9vLefln561xgmGK/70qwLawqMw3f38sXGqs40JHYiCWw3P1Xe9I+XmZ4M9smyxasBVjqFxkJG8EcuxMk+yuEYfO8IaL2hiKTUNJISzudZvi5yHPRELY6DmjnelzCVrjwID61pVxQyq7SmKARwO11pYdtLz2OHbFnYCzRM8TC9lnUpdGtE+hljHJKH6xn7az1ghcWLQ6kFPeEBTpgavKK+7ulDpZjs8jAHx3bplWiAS5NI1/O22+8qMPz3Q1bz82dNzK7TRyy3m3Y7703HrLev9t2V1rk4H5Wjt8cwRqSYc80eS7X4+e/k9x/MaK/0JJlMuD0qP1dTUWXE8Q34FNF6LvN2QQHeVx4mW5QyehS5MoShYIPTe4euGkB1VcfQVRF402eE9AGSC9fmhPzpBIjIlbDTeYyZXqGu7B2JviIJ8URkd9Otk+BBKqTHezGwcqMQDHTDdTOwOa37NGNruEXfYsVzvTy+vr8cGOuUEwZ8LEQ7nL90ggTW/vTp1Ov8WuTpuhI3miK83MYX20XLfpHR7lkb6hqN1/7UnKJoNioqA38vXYPd6D0bYYSkW1aHKl0+/q1upF4Zb1uwbSHyvo2AwXAV6CkdFGrZe9kykSSrgJ8uwxbD3oT/J180rcQxHB5HZQRGQS8mSuX0kK5qCOTT3nx66hgzw1HvNy5BBLoWAUmM6P/ActYhts6Yrx0FBPPgOlSw0bBqftqdTU5aVqJBme2gELT29RAPK0Zx6k59eqy4PsGphV6CMh01RHsvLE9pWGSu8s8OzzT0mxW8QKF9e3UOfIGMbN+Cvb2FrXjPsMOERQ+KCqoxySVa6A+1gL6Encrgc+noiYOrWY6k6Cv5JJgQmEnz0hmcAzRufXbZJSX0DNdFoKsUUZt/xkqcwPTTeWmZzTumfjC5DOrPcPaQlq7w3nBsMTHwjreKwrbzAyLJwp2HR7W5ukXmQY8RM0MFv0y1lbSthX/BTm0NajLkGquOabaiX1yzJWHFuVjpfXCs8xzU/XJwt8PMYxfmQx+fOE9QbLWDvwq4vveC3zkExHI7V6aVXN9BGmNrjhm9xVGJhKsY06ZyKIj7ZT1a+mbgxyizM8g4ShmgbSRT8z8tHIq1Uzh2lu0clItOdW0RTj1Y8ZSZjQxjjlgR2ny0kwZjDBkg75UBUsEqF0HHMbs2V53a5iw+FEv2fjR5HOrRJ8i2tWIWuvQ/NLVDYgIh2xPT2bbXwGdtGS1oE54Rn52nZ4dmmewgSuG3GXQd6dc2C4zmkrAEdgh0sA2T6iMqjPvTb09m9HrtJM9pAD8iglu5EL19cbiJsLpwt/o1gmMinfQ1iyuJqHrMowx9dj7gfGV6IfQXdz0g9Fw4Y4Cfc0bjOaIJsDub2YZoMalB8HysABNB92UFFpuS0Md4muQEuqI+hOJ8wa9ZDarXv9AT21W40TTsL+ei8olsoIsbnY+9aVvIoH7xpHEbC9wFWF1fr0dTr/7OBpm1X8I38RLg7YDqPA5HWHKCrCsxzkbLvP5qNXOzLx+4/9w7H6uXY+xjdyCVAc9XXH2lFQilroLRjTjCJSLsEMIuiz9WAesG8dzpOn8u602gQKoowTlxmQCuIqFAR4YrIE7cX6lbWdaeZ6SGkFb2HlYWzfY82TNzk23yxnNoSHNKpNwUu20/L+tSYAfk122a1iGpIyKrFRR8XnnYAACAASURBVLNkej4hyrmXwY230OHlwdTpdOLhJDdqa27A4UP4ARBArAnz+7ZnY6RvDqJfm59PLU7JrA9iv7MSmnUIvy224zfStkp0lYd+HYiVKx1z86zWQww7ENkUUT8Hwrmgg9fpZLL9EQ6zRTDhtUJ1EmQP4KmTrhcv+ZCdhqo3vQPAi+ZM+NhewhYqUl1wN5K5t3Da08Dpnz72g3lTBCKeBrOHSKSDGdp4XVWdJxSkkklQw0Ly49OezjpHKYVGt65d3vj0cHc03V1uXRNfSg+C17xkrplLtGn7LLK86A6FrFjyx/bw8vOQ4ARKawUEQUyFd30eRtrO9vjV7CU/mTZYtU8XUNZcFSFkjOLdkdYvh0JIP7tAAm3dQBpomyp2j+5f2475hBIXCwZDdtkUuHghhhIie+KWwHeQUSDVlbWDrgToDcD4sgTzxNhe+x6mcbZy9CYFrENa2sNemknMpPCF1xl1vw6ULPPQbVYZbDIYEdvPFnrzIImMryJ44aj73kRKRY3pbrFu2axnlFKYsgIKmhXQTTrpXLPBnJB6G/myEDqmVckDPaOGIVrtD26vSkHyDTd7CYZKJTrOK+g1JFBoatl0cw5wrnL0MrKqpChWztZX36CX1UN6zqan5/x0WGPJypI2DdCXtK5P3FXgzplMrEAn7MtrF4OHeVMVuVpK7sW1cFJ1moHo0SnOQiZ0lSibpo+Eqt6eidc0na3TFEDU3N23vRRCjBhRb+rTLXuAGRdd9VOFgMHQL9Zefej4Fb6RPel9eJ0L00ntjK7o3L5xZe45/5e4a9mOFEeiKWV/QILwnod7bwzUbCsNyt52DYicbR0b8QPtpL5gXJ89ESEBIl9Oz6lHLur0cVXjFAqFbtyIuNEojE2oE27uXE7AzJda9AWp+RvhlaBVbaOWVTlsP3xOVD9oSiCERR3i7ct2eGLwIJCPBn/W1iHPfzPswDRHHe2fVpjuEGobR0Hfyd1riQ2AENM9inZ48fZvX9DjEr62dNzqUy2lVHJLFEUAYGR463yz2UHbH1rUubQOTkIUUXveVKqPF/pELcMhQmRBUhjHew1x9XLsnrPBrpQSH72qHzsw/SbSgsezfE14ZFOmEMqUc0wj30b6OgzP+vwPbyePLmgQxA5LA79U5ADB0qNDVL27vQD4sAsoKWaTRmeqF7ACAEOKXOyIOrv+n+VzPn3/LyVkvh868C8B/Esc4lf0A+nP+ncNJdsCZA9EtflttkxBeRru+68oSZlJ3VWyP9SZZ/psclXmEEU8Ft9efcz/Y23h9DbXz+gQ0T7B3Wr49DhoN8lVpyFsaGYlYnhZWdBs4vOnCfZoMwZcJ5ybzeTG3nKIBOWJRU6TlbOyHD07bHbkVCp9OAPjX/CfPvdpFAYLJ1AS3sh8Hw13Oav+wb1LPS24yswNUY1ubklwyPzkj883LM0LCFHLuXWI5W3/z2K9CKOTncEdUdHqb6+OGAWGUD1pc0S7vkNPJel5YB2vWQtXb9M2ZMaR1FvY8N9i0VEuLVWW/OdNawWm3KW+oMsGC14pSaoPygv64QvcR5uknUX54RX1XWvi3k63GlCIiXW7rtOq9ObrFq+z0JGaOvoGY0kHON0TDoLlpRePPh1VZMZmETHJtZRlmTnisjcpGF2C05dINLH1qX40jTa3AAk6iQbwj1Wi9EFtfecrjiGjzSXGWIK3gON2kTSxg/JMoRMRoiMyEzWr29YHcSJ6rDlm42L/qupsPptcwP5a3IFFpN/eujGlS+PgYml6NdiuQc4KHX+ra77rNneAO8AclEmt6+cVqx5/vXOupsK3QPeoyUpEjxlDcPeEkQLSM6WPiAOMdcOLcVzBCoU2mv0z7FECy2pVVcYhVioJpRFnLFtW8A2tz9mzmzREpil/crMosOMFlRqk45CoS0XCNwuOXjfCK/k336NqTs+71fHEVxTWuZFPKvGImn5uF5ePBzXNHOvG+ylNj4JDTpPSqwZc5ezDk2tsPQ7drJxEY7jzcjNPebQE8NKlHJnqZP/WDwM4J2EBN09aI6BUdBvMWKZxyIrGv9PboMmqrO00HQbWvmy4/MUW7VTWs12nXqjbOlyZnObqvhay/47WDKAIa0/gJSRtbci1qCKG476mfIsyHD+44QcGUfVxXtt2HZ42ncWBnAuUIBhFV5CHRkUoA9xc5ZSkjJfpAe8nne7rLTBsQwM5vQceXiTuToz3/L+Nl/Ou+K29B2YOXeylNKHQCSDjWLSlVOSuvThCedft5WOHl67t4ya48jc9gFTSH6d8gZwSLUWTQyD4bZjGFsaFsdl79YDPMipE5Z1u8ibOq7YxBZarQj/y4le2sSROo0ig66D8t+EPeVHDzVftDgiCS+z8A2zc4DU1DdAUOLAxxLFYUnXV+GKxcrZASvloFxldYEw9HF8PElsLZ44lDdFtFS94kZIctC/OFnDdMAKLf1QR4+KYnnkVuIbNeQUbPhVHvz8G9Jzazc2a/gAzUs+4cUFNl5NfRmUCrIaswPs+XKqWcaAyjacoyf83s38ZK6dDgXSfcePYsYHhMF7IVhd5DcG9tWiapUOZQtlI+QzWostCU23Dvd7G+S/z0SyfK+nZTj8l5R9GhwDuCpRQzHsawIZ6uLAQOs/r1jI6I4F5Pziy/Gjt9/3by8lrNHnCpT1zavtON3wOuBui7AAiYywBWDpEBPJ4gV3dXDWYMwMIr82jiG/JdRv+2T8PVNwBgvHVEVuX8juc3yrpH82EZTwqQON6i6eR4vTNDXDUeH/ipWvSTYHb1VHmZfNQyThv9YG88tSDRAIdNR3poD9AtLimTTWFDYlsvwT7r/AffZ0p6pwJdOPl2+jjkfn/BZ7n8kMBcCfYrhQgHiakfgHkyu96OHE4lqMp0aLRJ951T9wcbjvJajc4XCPS8n997zbHIzFtGcd6smcGaMxtWsGf4ECbiWBdVwAUfVMuzc/LgbKzBBfe+iJLF2bByVv7/omi+FSfL6j++AZ8HbppwmjMKJ6z0ItTY6Or52ZRoB1eZWIs6UmoBY8CXmp6yrzaj2z71zI+w5kQ2YkjVzD0gFDoELrRzpwSAcg5HKqN21XHcTYLkly86LttaLeVSs940H9h+xcc4dmUeZNBfLbTums7820+XFT2Mffs5IgK/WUVbKNPz3GSNwprUnimdFmVCAk80osJKardjEylYeH6w4NDYEJYgMV1TLbKYeutbik2/VASm0r9VeYoyCB2050rVAqXVlfJplq42aMN5sLhrCxXfaJBcwGI+EvTvs15wDGk22mzil2STVzSPDhj52fNnJ/I+KLq+Q1tMMYu7XhN6lEUyj/SA44j5JKdccmRqEz8J+lPDA1xIf96TV0P5LgpjqTAa+2516tRndlwJnVXChMYmcwgmLPXym3IKhxWSYK1Tb4F1IFK20g0/qxqaeFc5RANPrA8hZXinBkMB4mowwHGEI5h+EAccNLSN7YcJkS3nZ45C/xxsj+g6LuqfQhQLPLFJ1HDih461eErLBd76gWVKvNCuWX9Ii99kq4Vc6KQn+ke5DNpl5VmwtBPvNfg2jGq1d6kY8DfOQ2L+iZ+qnrqlmYZf5st1Ossd/3equKx0wVMiHxhtpyPyCCqQW1BbE02IoNxiKFqjLU1umvIxQwHpy9/Mb2MqLsBPsvEX0IyNInSylbl0SjwFYdnfc2rB1aleUm9uck2KLPHCRb8lGppljv+cN0+hwkcqBK1WHFSLqZRsPICvzCaMyFt02iFfxXamjk1WyFK/MW74SUcRQ1INynDki5qk2iUfklp8/nCIHNKXQVuBycqzeNdTuH8yc6l6fkeqg/V390WIoIfj5f2bHsJWchufkroao75S312kdkLwkHRVgrdOwLkN8svcHMPYoqpdBRewa1g/dcwaPAuR5ZAHcyxVwz94HCqyaLQbhVyofrvbwNmZWYnlqN/BwvZDcYSaATPuhb7Jlcpqx6TigrcA4jOpsiQi59ATS+eed9ucb1lusN0dUD12X6CWg8beg8GLkcUDSZUkoTWjNT8eNRQ3s8rqJSfzXM2o6LHPCG8ANQdPlkEo6sPOXlsm6XKYVNVRzgrulB5RAzth1QPV24j6wwzwsu5EOHkZxb2vGKUUOE+Cz96NuJFetzoF1w+gxT1OdjJ1EX7N/3WcYxxaKrwph+3WtWpoGTu0kdaSMj/rIvhbRYSYrI+/las7TQeirlxjqPQIfwhrSARDeG537K6kG3jVSnLM0wb5g9/drMFsB9Neyzkw8HxbhJFaRM8nwEgIvDLd/2hxrrXKrfNB5iyBz8M30qQIt1Oj8kVrAYoBRhvvTzX2LuAUJuRAMdRxoNTdyL4cI/KFS0WrGwrCjbQba6m8o5Sgr7tL3Urm+hDOfFpTDKNe5vt2z9WyTNjPA1uN5pFUzW+oepYaKpHrUE7z/mAhccXUfeRUWeLVoapLvq9/5NJi1N5LGQ6JmJVY0c9wR1YHLGna+ObiqdVDsBwcqXFiSpBJB85VucMU2bNkNBgKfqFKAZSuws+34VR0OpGlnGOjBXPRaPnp/Efa9FRtYD/XYZqiYh8yW4xdcJ2Q5cK2ZQjB5zQigPww+BVW+SmATghhwnxYgeQRAESozzM1OIQICsCAQnGh1v/lHxuMoDOPhKCbqNnaGLE8oZgeB7uQFYs4WOVr1xLz0xaDX4mTkYnYw+5AZ5jBUhmjX+0VkRI5BfHEmkAGyQYZ27diBLw0Ry/vc+3Wdd8c9YyW1I59ijjCq9gEI4bZSOPYssxpqc3OrfArVV4hlZlOJg+gQuzpt8Rr5KTafdG/y7Gwo1Hx0uXYSSHmhhW8tG5+HtlxAJe0jICH83Kaq2dY5Q//EC44V44cIxapBe4JLaxwFZeHuwHpBhSz3LAQtJyZYNEe48dwrS9XLSIKVpVZblhp+1AGRqPlGWFajtHTNe15hQ5f4y/j4dW4CDv6gPcDthHicoGFDzydzLQcwSZLnRbwCJpnJp3IlKKf/0/1q4uvU0liYb2zLsAZZ6hlQUEAXkeXWi95xPgBYyBu4EgrSBSduC726lT3c2PBFZkR1++2HEsWYbqqlNVp06xJrPs69AMOty54on79sNwC70H1ZvskNX4KJuSHQ8fzCYPhFNRNsNBb7s6M7+A2PRaVUYDeXjCE5pmTvUXutqny4VQYAnuAtmvmOYsqQYlZPdDt8EB6f9LUzPGWcNWstwWBJryO7YzPKmvT9Uw0SWT1R+DG/31IYOqmo6ZhBsWMXMqlG42iiJKHq1CVtSXG96EjplIShqOxx+akSxDVH10fZ0Oco19Eqo913UDKnl7xmxwdgsbeGvpbmUr+gfv9kZkv0m6FMzL0UjzIUTLpufpP96dsohOOYfsFCVo4Jvl9S0CzCN+3LZ1gqt0tt+e9WZ1TtyadB+i/KGpMgXYAhWMPMEQBcqkSunURnsTvPtirhe+45HnTBJUac9dTf7qfDrTVw7biTM3+/r2Y5NOy0jsuwI2A4sm+zXJWrxvX2ICs5v/Qr7p69BF+DP1KIvHQy7DV4Uep0kablw2B0NE2kky/DwGF6Uxc+tgdBvZ85BVY3IrfuSX9Q6d8er4P493TaWnS4fZWXd165sxWOyk/Jq3UtzXAqRvYGjujMcPV+lsTcRzRxPZ93MtYXmqnnHcf6AEaDuXo5VvS87bifPo7b6hG2caM0VLsEekxtBZW6XI99vbcjjuj9HUJHdRtfUhhpd6oVhrMzqME1bYCswFlQYkPFNFd5Jiu6YvEPwAeeOLGV3a5Fu/qtWLzkjUkGI9/ZFxlg26GRhCy3PQQ3MwS/wkQc1xU714G2CKslyJkD9WsOYC1GKUz1m4n/wweeDBi6K+HvGxT/TBDROkkwGnghh6zXTmRY6+qkrwyvYNBcFihgp2r0LJHskOU0ePb/DpNR2nDj1Y7HXcVt+8vvO4+I1jiLNYQ55dwzVLbOovc7a9d+ykkTJBFXrmRf79dRzc8n2HZtnNWJgQvQYN31uKoV/aDjMsnNI55Q7YTBEmjSUk75rOCnVgLBRE0qJ88UA5/vaXPQKRSOt9wfHaSYbRgi9/AEb72FmSa2U5kZZxsqK4FANUk8kSQq6LJHPLuGybmmUtNQB286pGWTpnvtWxhsII488EJhvBQwe6uY2mVPuyGhoJoMkQCjl2x/MRMzr49DBfjvNVtjw/amU288VR0TuOmQdXF5O2qTKGtDhgzhhxLCLz7SKcX2kh+gxxXoFxkbpkdtnPvU9wWoK37VnHKwBs+KsbN89pGmJrkYE1lEof3ZL22HX1YfzSaCmYOyHXKKkW9Nd3yf2HfhecTzeaRQxgKPh2AMCy6uChVZOjttsnlHG2Iijjspy9M9IKSz4KOkSSQfLC04Wx8kDHPiHz2GTeujoda6Rq8W7d0pHbgW/v0w8OeIFVVefPl/P52NWQLhEB9/JrzBNGegYNI1mS17apajdxOvR0fCOlbdBD5osZYwqZnLU3CaqzvDAQb/JSF6m9q1mWaXXZW2TW2T2xM5mV2a1tGNZycJ5y7DKDK3OWgVW+s3JOWh5XDvY6te+plpK8y8QLb9d04h1h+8ySCdD9UqUqCivj6vg3KgLiO2pVGWvEIGP8/KJ4Moks80R3djvBpfgfPeyJDi9Z/em1Q9Aea2L5PCv7pHZeT+oDTqGYHldN7QWf+2VPBDvC/Y8tFo5EbqzsYXM+CDo28KvStozVIamgNpJXbXu6nH9A8SzJfIolGZ0lpuZz07+q6XweKTU4jJwY0FZFEGLnpg2BDRzjksFJ2l+YEP67wtIrVze4yf83OjLxzCBUjKMhJb82ZwmYrJhx7kkR3NxxXZqbMoxmSwuzxmz2wQ6UDqZBzAkpybEqzSDwoRssM03uBUqSPVX3iaUW4Yxr5SyP4DHzcJZiuKFg6wVQe6QraUM6QYd4wlNJ02KrC0HkTVV7+ednqR1MHFcUOg+8C4DPUBzDirs6y3SygLFxspHj6XIsIkOXwcuiXreCpoxMBitNMLOkmh95XMR9RZuc9H/wExwsUUysM/vykUoHO9EeGxEIajt0ptENRQIXZ9gs+Q0lyKTAm+MuP07b/tgcJ8rsgn49PbDdnF4v9GxMDcaUY9DB5mXgcMuVpgxwdY+dPIofFOqkmJyKjMcQi1Gdjqe+0UEspsyjAR3013PJFO6s7L6hDAkh39CLFixvc5U+irlSzBy8uM5Hfxsu9a8fBNxihCIDm3QWTd+kjNWYfB4mQ/6Wq7Kfrc+rv3+U9qEq8ltpV9mRFUdlSg/iGzhMx0doQqR5VE17eT2dL5fXrjSqjtidSvcwpwyLTHqQkRXrCoWuOt7XQz96k0QpT7sIP61zU10X8QfQsxlMJ4/fsA3Tz6Q3SZi4awpPu6rPf5/rnKx5JRhqlcXOC/znDp28YLhebJo1AZQC66uGRInM87DC3La2ZU0uglIUX0BTLLquOSdmvgJVWqtowNQaOTuwp/l1d7sX/WMWq8+7SLswfNx8Ma1Cng+5Ph2P4L93LN6ce7BJY60VcmK95d5nBDsFRetyGIjgAgo7VUqDarNfIzR7+T7vEs0JZrJ+w21v3VC9eusATPRhXSGN+vWK2q6kLF9xv4begoudqViPYeMsqn9td1D1aCUPWTz3oD8FmO7y2Uk/vbdh6OjBJmzkgD1mCQZBEoyi81GDfhEFmcuPDHPFLs5zwXWIzXOXjdaCQXe16wxba6RV9wkcLvK2EJ3JS8UnvSprM6PmpxMXPLXPZPAKi12C0bdHHy3Hh29G/EC6U/DiWSHopTVA9+h2N/vrP5QEGY2DEPJ/OYtORdMMGzl+TD7nGkBv1Pfg0790/Mx7g093PDoIC88pE0zbbvt2mUgVnnD3x9czC1hggEUx76zGvS8wYVTsmPZHIYAACrzmaLo8Ldy00IoYZeGySa/fd8odZn8CgaGQ4X1aExJKsGlmJxMrWkc29ZXpb+SifY2I0AxyrVozuWYIMWRuIHXZyixToROKX4pZzihbVixvqdsI0ky2zFUvpKYmsa/RpTBx727mH2aH/946n0nvxqZzjrdQTF7md9qVQ0EfOLyP2jT2Xg3Y6uY+m0tkJAlHcFPDkDUaLOPbkaIbXGklXWyOrY4vq98I9Ovn7tg29QH1BToNOZ2gtmuahsDp6Qx2JQ8WULL5i4B3N4zMfC6Ye4ZaR1LuQsinRu+5CpSIQp0pp+ytzvDZAcAD8456xhzqzpQdbh1WxqB3qNsnqq23etkJcAaAtjcEo1CVsR4ULuCEwb6TPNoynfNOq9lNyNgbXuTbt71xPCZREjh5hzlfQWnhPujgw5XRaZam5X313+Z4iLlUcGHqVT5i0yK8mUBwkmzhUIp4WFUjU/Ka+kkS6vrstZDbsSAYSkyBLQbmmQ/HGsCkq2pEt1voz7DLXbNKCxg9LBVNySbZDiZgXMgAkGNGmyPz/OfTP78uP/vJ2k1GwHJHvjmMyVnjb/8dLvqp3AZYKyX3IG04kHdqj5djTTCDQgXSwoYXKSW666yZpWil7D6tc8/PtYaBndJA+T7TdQ1CUAyMN1y/2QBDT/YVoy6/mjYhNAdBzS/8njSAUFkQIevXoYmbR4+5VsPc8PVDT8eI6MGr53jjHvUwPOMFswoxcmqKS8EAV+GeTQte+qb0PBUI6fEw4n27Y8mY5uTEO5ho42ezsWpxQoKKHkBSjJceb+1c69lD+theLI1fzLZ/ILsJ1ACRXqaeHSImMURQ+9EMbCG4PFZiakmkp8vlcu4Kncr68IIHz4393NuUO7oSj4uFhYAS5GnX4A+FaAWSt0UeyFp8DeWEGd141uBCWtzwiqr2cq5L1WgqUmYbvoni/JaeVXAlKzDONuL+N5otvSACHdR6arXIF0uN8Jp7Eu9+NHpaWdbZjVb5fNNbmGaiHbULBoe/+p058essbFrDMNqSYmHB66iCfXe9rWWCytk2NurEes8KAAvK3nFmWIUZTIxFciezArG63rxESS78cQF9nnjQfB2h7XKcTvJIFXL5MKG0ryv7+gblQnk2jaU+c3CMuKifNo3Wyqp1vDbnGm031FJWIoFoGCJ8zr4pwhyjDH1FeJc+WWeP9XwJHX8Fwc5Xhb8K06aAQfOp4CF2ReDeQSew0TVJAhJJ+QwKNx0lxKdDNMrd8th38YqHXvOW3hPPaEG6oy7rqmpYQok+P2g0Z2b6+XJh2t7n0p7jq+ytmLLTscBnWY7IZcX+MDZcZ963okcuYbl+z2WDdBIvQJu0W2w8jh+252uQ4fT/3gTLBA1dKwn6w2eCxE1be5CSiXoqHrO3maRy/QNC/fYRrMAE5Xqu+T3hya1pSsMNx9dK4FgyJKYvzNYveSxw9O+1rvOVzemf158176YVqKQock6TNsSazo+koM8thDxLlGl8M8nH0hoCerff/s/btWU3iizBVvUGjLD/Bb73vzF4/nWh/N8joDfQwN2ABTsQ3oG928mILBBCSFZ3nzM+c870y5IsZWVFRkZGCqCO4+em6yt5MYgwtBCwWicMJZ/jFxmWx8zexsurHlexF0G0Dy0oUl32sgd2DfyYvaAYbBleLsb8MGEJw6/6J7sqQGEg83Wz45rnyINTg7xGy9KEpaSF7fV+h+3ZgrD1U3KZ2m2+UmPsuuCpH0C2uR8vtvOmSOFMSbVHH+AtlQo2426zIQ+ZUUR5HCocHEtPFJuRBpL5nDabC0DP3tRbdIAj4A1nEmltj8zucBPABNr33AI3Jdk3F4oKb8S9qaYZN0mteEr1AVnKMJaAMRv+1KTRFTYvBDWF6ZOLbHibvr50B0mroOWYl9hLmOwQMbhnBblClYPXhYOG213CnF74Y9b9avGJJPZHfyh0QYvlzlsSfjHSuN1xsmPsXhHWy3+T2+z4hnjRnS+1Gt3qsuylyiRIbZomaaIeIwkYjQKxU9X1Hh2WXENVyoef6O8LLBneCIy6g/PbYm1eAuAhdSwumyr/tlT3sX0qqRwmd1AoSXSlceqCD1XwfqT5lajP8T/o9F9yNYxlisYLhxQp9JIkulQOoaueM5d78509zm4r+hS1njTQl4ljs17g7C4WcwuoaIN34eKWLCwgvHzsTBgP26KxVmKiHKBAAH4zrF0TuQklvE5aYRRXch5jc86M2GHFxOmXXLuYtkImSnm2A7izpJrTBF9YYk8yGmQG0FK3zR7OWqAIhjthhVTjCSbq3g9ts8eoLaIGA36RTzKkrXE40G0BTer6++b++4Qd2LgbG3rCPPmx12bRS1M3eSzlqXaQKIMLXhoKmDGKnQxj2rhGyNs5+tr9GUk2VxkCZPSQAOTL1RqchXEBwRaCLahS3RzlR83Vtl/K3N2Qw4ajafUvrE4ws/E9XawJt4OTj3z09h8UKpNqZianCKILrspDBEa3UA/BjPVdnFQx4dWOoPEmAwNT9BF92jJCIKeaypDH4jsCAtpduFc/7slbna+RZwe3KM5XwcnDMiDmalyMyVVVjb2aEtlQXtatVHjoKyPp2yxnJcg4lIe2+BB86DI5uTEwKYL/cRBStJzrMi+omK/KBsViW0kM+DglGclsuEgOn4M63wR4lNU2cAWEFz4UTZUjHWe2zuvc1qg+LSAyshqguqs/jRZi+OEwSokjOfrQoMIbiwSsogDI5jObzWK3RKK4LjHwUDR7HpzFqbvnu5nUBVpAeateLaehlnZgUb+Xpek4O0WT5AXEteTqFVxywMfld2tfxn1Kl4HKDcOs4TAS6VxT4zi6lckL/HFoDFL1CgHuni18TCbskXn+xqHEGRynPic/z9QbmCzJp3zqMSHlVaHMHOmBFhwzanpNouxTcitOko4vKCcrBnih0IPTFIGf0v2TWdEyt8l1bDHvVGGyCSIj9qALreh582UMSnBdPmBKlgNO1T2Ybna6Gyn8gMvlD/cEDPLaqvE8mJgSQLRV1iFzvPrQYCpQXmbNW0J+rgYKlUO1XXL45mYJ/qtXBVGr04HBmgJ7WAAAIABJREFUs3/+fdLJOg4SM843Zx2OeJhgctXUEVlcqCAWGV8uox3eM9fXjeObncmNo+dWs3pRAKsbL1zf2uIOblo4vvAStHzwFJJZNwupRdk0eA2DEzXj/DMI7xHU0WIjyZWFnFb2VYhgIWRf039CV5RhM2ftWBOmfSqw5Qv28xT0WcmiMQO3hK4Dw6PIkY85YFNCAdErrhq/KCGOL1BZxnxRzl4EhdDDFuNLKuzBWZOT0HbdAbAYEPRl37XtT8mBEK9A/fwkZeYYlkECMF0W5OwQ9bgCcOvXEMyiVC5q1ftLeaucxSyp4X4SIJTK7eMYDPNcfLKt7nkzCqfSJHfKr9ldSQicJNFgoRyfbdz0766xYwu4W4e705FjuBpQJpzZ4arn87cv/9KX9lYuoyVatDIANjO1g/17FCmtzx/VL4rthR+YK9nBdaFvkqudGMsrJ98L1R+sGQdGOf40VJ0gYGLOTqPKApqVkrQqokDSxmPqJFP0wcf3IJ8DpbPP7NNPwVDRLR+PXNly13NkCpCduGCYAXks2yovC+7B8Ogt/hhnWxUV+1ALVvg2EEFxgrs+eEapKIXiHiMJVUlD83Ryl5JVLlKX6jxyMuBMQN+vXTNwlHqgnsGxm38oOqkJWwiMKSsc1Gom5PjFcFhPYjJE3TBJvNcFLoZWncvBYMzmljQ66lOHl4EYu/t3whlbGUH6RXQZ/YVn9SVt2eP9t90sMRz5lcd7qLYB88dokcdeGisu+k/ETHDVMGmnY1CUrdP5io26SH5Bu5UEBIfN4+cq094iTsQOtnC5hYS6QeTLB+Xb3VD32rJrMaxLlrslOsliWxG/l21/AGLIMD8lMBoELlZOjGBMztoTPnTMTaHajB2frFQbmM9zjMcxzBRyOj4ZUJHN5DRsNo7ifBpzhZ5zjDcUu5MaUs6th0kIx+ExG/EdhCWBAoPNgq4NZOyQdExqPs1x/qeGdxfDeVqCTlG56juu2muYcbtANLWHJDU9+fMr4qbT8VjmwVt2jqLPgkTmhq5M8n3isGFIiz1tjnKcxa+/froSxkDA6qRJ9aDYjLUxgWKqbZQa4D/W0g1lTYA8zWgGbghpEQIuo/4ZgSGTv0h+IMfKQ3T9x8fHe8+HsRluefLZddcfMK8uh6LACIJCeS53kVRdpZh/kZeSlMU6iAW51Ds5/BELQ54C6Eu6vpNfNl3Xv6KMzFB17q7KRzjFvXuafihQq0wgmoHWzgk5ddRlMkq0Yt73BcsrdtO9m4S+5jOlkrt77u9uurdHRvpmtIybwDstTMdthqE+6SpYXxbsr444naghik+jWC2/Rl+Fc1OPwD9DvwYigHShZjBH5h0smqIy8135jt3DnfMT1c16JNqe3N8tvn3eD40fucqnP15gJ8uSwU55UPEIImZ3e9wC7pp0mdtSQrI3z5KEYLbkvU7QbCFlEjzby/cf2kP30aNZjxiX4AbS+B5Dykf/shwDOaj7Mvi8J3mcgpy0rsuB3rOtG3mIt3fMXqF8xNgK61hJ833bHnaYZc+3V/MaHUzWygPr26RC/uyI5x6dVnGy5w/wRNGECsjrtlLiKdxsbi+PnBfwf252hx+EJPENInsGW+qd7+nm+pXVFHGEF5bPr27VUmloY+0R+beBK8Gw3GKwsUmYxhMTywAzGQ4ZAHuOSTxTZdqXr7sQBXo6aYA/Ose2++KMdpXb9cdrpGB0zuc92mp7jtxC9rk1M6qjqQRC7kAk2w7kRjJN7JiURn/BFs0rLOewbjXZ0/2i+3g/qFK/baum3IPxrh3qIJZGiq1KtPQzWzNca3Soc9aZh55fLQ+JRDNRNApBFIZlv6/zq7Pz9yx2q6G9ogfa0TiDTs48V/lwUidfmCxAkRFjwqzIfxOPrp634eMvLklH8GAB/DVfObIj3kjXzpbCLSw8POqQzDA55ftZdDLueGNoH3cgXQUzwUCYDV2NtVka0PnvndHFIg8IsrqZpuPB7hm9hvUJT5Wn/nQPjvZkcvJ5G7oh6fNGZxdFOHSGibOhKM2dZy80nL7uPOKQLmysfMosBEmDQAnvU8vvahCQNNBrGZx994b033Z7SfVkDvdNg4E/1nZI3PA+evvo+h72OFLu1YJV5FxUOyX/QEcbJNH27V1ATXROIAeeJPf+TWAPzgfGwPdsa6MC0Ktu5T9JRYcnpUuJfrTro4835mwDRxD9kV3wvf3FeD5lAc+Zg2H0L/CjmXTuCJ/NOchhWyacOqlDDEUr0XHeMb55/sqMzghmQu0t8h+xjxbfxfdgVQwTIyuwPeHzNEWNBuYE1exLZFlOkG7PORwka/S92CojXLXsEpPd0PZFjRVo2gpsu67DlL8ggdiXQgvAQ9KdVIBA1pKdUy7iSsq3XvIqI4g2A0x2HfFL04Mg7rrDATWhRFm9b8jBsRZtSL6x4Si5l4cAHb5QB7KQseVVVqkX+FrPSsKtcFgOvboP5C7pBtBRa1qv8qKiaECQMRBqVg6WNNzrVSLp4whdMcgxf26B+/tLr450tkbd0ZXXWxqMmSie586jOgqVnjQMz6jEATLfqIXWrn82QuxFwdItnc3T3z/afFrA/G9CbybJ2BF6+PsyavNJMqBHjCRcMdgkHt6kgMthcViWkkAZaw0yay+BBqkevYNT1/91/bmy6T/6XqrBQ8vC8F1iDfSwBKtAD6blw2EPI7M49qEMRbxVXONasdeeMWd+fDAxF0p6y1NncYrDhzhWFI1itEA3Dib6EM5BQ4jX3rqXuPPUvRTDkLX2lkIY0oHlSZRjbHdJBAV1AA7/U2k+gYDqLa6GuJlfF8Mi2d/w6jDugqfcuFCsF7kNtJtLhHC4xBFzLOXLVP9sLorF+JTeZ9xK7Dqg4UnDPMtS7489sP1JB8uc7OI2g/mfzRUlzeeCR81lmkb3ZbHj0QgkI8K5A5TCod9jcCVHVgbGf4xfWonZw77Yyf0AOLZ2dSs6JG8MYSyl6vp3nAEMltcKjPtDI7Vd+X8JOInXd2KPHhDZoXR6Xb+94yHe3mGwgUMlp6olctZGfQUg3h3yTFUe/7B2bdmNYknQUBswQv4XyP3fGLQAN1D/1QL8PecYVAsYI61gLO3A3u1kRF4e4qFHz/ijTpWtsh4keSMzIyJXZuAB0QwWUVWwOQMEB4U1Jzu3KKVk5GypIKwx2kAJLvvB+rs7QNdkEMxkJlOp5qnCrUy3wD6O6Q+JGoyqw6jiVByRcbuSMgluTGFsp0XqdGggrufcNLbrQlo72Ofujp5BBvZlpwI6is5NSTzdajU9ufRYY11J8RjmafM4xoLS8ftxk3aiaEdZ46eR5OamThGTOubWaqyu6pJMnCyVz70lDnuQE6Kgp/TDXicYgVCaYsmFiQJXR1pWVGi3Aac1nwA06f1RAC0b2qDkV+WbhLLgAknq35/l7nAE7EAoH+UWKTVCiz3G2ztkdET8iT89HpTFmaj/ZsBN3axl5aTYf0gov31+nLPyN/mu+n2EcR+eXCCWYI73F38FIzzjrwLbXaczmVcU8PR4fimMnj5uwy9RX9664hGAbWASrGx7JGAGNNdcm4DazGtWprlRV5Z0Bygtoa7GNJpxAM//UNnXSKK8yRmH2T907UUQwg8a47ah37iXR+cU7yTTh4gylZBSzErdOCY9ORmaDJreH55/ncQrNTfGPyW7KJUMBhdpooB1r+mvJkf+bMIFzbivab8QhPynQhr+CIIDCSy+zjUW0Zp7BHn5+0vSqmAJBqrgZLi+1DvtUXzKA76OzMnoA+4/QOsOcVNIOj5qNB8Ocjt8fRDhnu+vpFc9TDgd9RpP5O1UR4wklXMeNbzOJCvAMwGxBZuqUtKbHllrbKrzZT9tfP1r+A3fVTU55i9kiMGD+xVzmFUPEdNrCSNRqG0BnLIRkXc5ZXTVDlyCy5OOOLgvlDu/l2aiYjYyv8x2Km68M7qJSztmWdx6wvTdrBUoGKpWbwDeNMEJxrPB+inPJIWQysA8VmYR5hc4I2MlViOiYVeBPhtZEEg/rRQUDVmdoRXlduGaWmndGLphtO6r2WclKVFwLhEtuEBAFqYtVmAZ/FH7b8Tj8tDv7/2ecX/8+uaXJmXk7z0OD/yMAY9ar+TpQeMLnVUicMqyRAKU++zXynN/YicKxCrMiu0J47KtIm8Tvuw77Xyz6Ft44ZQ/+ebxShs5ndBh2fyc40S72kVVjKUW3D5gR6+zs+Jpq0KNIOfOlooTDtZw96YKt1effit1nSgUpzYJXKg1mkeiXnGD3mCmB35082bvK9Ne2kDICVAbydWM2DeoijMGv+IQ2lpo0Uxqel5yToJeclGSG4l/ya/tXQ8XcYMXUOzlYId9C+63Yl++IkeiwZxnCCsfw0OpztAfCyHgKKt69/sEqMEgBiiWv5yAjU9f2mLmdxDmSNcnBri6RKIRjNk4UmaS6oA7l9yLBAa/jUACu72n+V6oNYxpByEYBz7ASXdq9kfRbUZ+v5SfNhNO5zSeh4zTpULOAAQa9PR+rWGuR39diMIwHElF7nAab9YiCnLvN4N9J7i3w9j47YOk0LSXnXvL12Z1W/8rnEPS4N/lkIeiS9cRCoOo4Alf9zb+cO0pznPIvkJ31F5fj8wzLVVYCexM3j6R0YpCdVq9eKYZYdXSkzvLPAutrx1Fhtwwabsqlha8jVmjJO7T6XT8ArIwWVki7mdd7BSJoLG211g/we8DfmMRjhf+VPE+BAkldR6wOkODBHsiiFkg6GY97tNgkaIeRb/qwUFBFCdbTXlBmVg/K/lPv+Yuc5hPimSttNHC2phB6sfJaTkQnqnAy4bhtPnzMtTl69dMjwC4YaeJ1/f4p5m6P4pPf4yZpwcn2v0bcP91KWh4o6+13y2ekfhc0PSIvQJo4VkEj2vGPImn8PU6f10xH/OQLs30gzxMibtsaiS5zKYX5gIohkUd02PbVEzwg9YkHmnDCfZkpJw+7ep3nKiOsyl+fx8/G+qRYHfHxcEAfH7Q6R6G2PJncfhPVlQHAhFMUHY7kJRO3wZ+SBUIlgd++lkD0NTU1Shkqd4kwTObgxjCKk1XpwQauQWcwgToQKKmTTmTtn2ufVV/gZjoBYVlSQJoyi6jfCmfZFCR2M6ch4F1vs/DR27m41bOBqw/mvHmckhQN/tgJ6srdVe7cIUxxJmwf3Eo3hKIeOgEzph76jfRsujl8vPltEYl6V5IxZ5zhVliO3o3xhce4ytlk2+NZyzMYGeOkGU7jH3O4QsWc6zg2w+6tjAagg3E6Ly9gJvu64BKSPOl0qOOgmXajpIVNgLLUQQiYOv3wGELxQwECSBgRAOqBkAw4E/4Jkk2CDe/nl7DAlvkPgU7IwujjCzyZgIOf+aaLA0JshJ0PVXA8CaAkQEVjlqIItg5vtGuyOEgN0KmRWL/0Pa9tIKBgw1snb8id/mbN+R/EAoXPOahDcSNUbZyeXTwZhwMrPTFHn1yKLd1443H3qZyPVjRxOHclBBoOYpHSzj1/HdGc09Tj52zkDy9cT13yP037ebFBE7x+lvjruOaRuvYM1HVTV5hREx8rT3nwcuNJHW1lqA+L59Ktk+94LTUu4DL8dgnZdKwYPzTb49vfs0/849iu8y5mlZv6OUWE/OEK8MrM7GuK+1pfLL1dyIURou40rhDFmXjDug+09Y04Ag0LNWHJNoy34NSoZG43x3q10fdCpZo50b+AEUDDeOPXMEULJkI9uEWXKiDOUxuU3IzGp4JiCPsbVTZqPLzNgdYmMY0PodXab6VY2iTt6yrfGdIf/JaYcXQcqWnLnA6BYot6C0WM2yGfNxe4bF3QWpqKTu6zcs4IieO/96QRID0YnhfOL43X/HeXi12o5lmUVdw4y4t7UgrZ2jVjkuXgg2Tohqxhzbb86K6LRWj/pHl9XPN8/YC34C4eJ2WKn12llWqXWsJBuisSxVlJVG6O9aGQF3UeVKYLkmGahEjD3Q9yiSNA5KZ6asuxVkYlXFUpeXuqDLGkioBcJ/hVCmXLEb7jVwODj8KiGMW4VmB4zEIO4YxzwzQPM/nHzwrYs0p2iGJ5PUwesH+3raSDnj40EgcXjZZnLAh/nn4rONZ8Cj5efrju3BtacvdlpbdJPtKOFhS611Ugg88j0amMfb/Y8fK/zDtB84LuwlH8+0NwtFeWbSf6DOUthPFwmSr3GmMjX9k858eVAEc0G64LJlT6j37CZGueVHSoJzgZZGB509RFYV5igEwZakPQLl5/pNcJEQ3pznVVhKq9it0ZIhJdLqVAoqq1hKsJnnzC0im2NeQ/1Zw9n6o1b6Z+JzOUlAIlFn3PgWiASb3IhBaeHRpBKs1jrf2M3Zmerw7+qpAq6t6bSfCGQpAmkOwTkPSUV9tTYYfrQwobLm1H+Go3c89ZGfwEaJpUvHMgHtsyT8gcrS9t5mOiecYH1v/vvQ9+Y7DkUG0CbT205dQ6jWdnuN7fj235axmC272odC+y1g3I48d3uF4CGu7uJE1Y5ZQyKH8Lge20Watln+RlL4BW4KZOqaJlmDqHameGum73XHfDClBFUFyjtEHDJlQ2TKPIPFG4YYkC4SQblOVo2MWUxadq44PbsZZN83NabtwPon1SAM0pd4aUjBiF8fddFgj722k6xGIcKwlmRHhqHoLtvFSNJd0lTDsCnXTvo23YPLVTS05lXVpEp+0GrDnQtf2JnGx1ffyGNrldtakuuMtcN0JR6c7ozme0fNaZwS5ZeYmBo79iO98EstNin9PYza4y0jmecV0OOHuqODhj79ZGg105Gup75zU0QUoPnsHu5IlHcL3I4kKuWiCZDHuMHxnqRpREBRaNikJ2YWNmRRoEYtGefcpdYVSyD42Lxb9t4wyV/ozEb+XWasWRaO9TLsUaXsJ/J0S+vytzmdVWD2z4jkFPKOe0NW+ZAGJdTTGmBWSn7SxgH5hbQ4atJtkmSHPyl0WGHJEFykc4sa39be8VgXeisP19ugvqwiHFgbttgnzLW/WFrdJ072iT9187EFYrpo+XkNZGv06G8roZvXs4p6MbXsXzA6s5BzUP299Xa9qnVfO/i1b7OzcHGHnQAvrU7KQPnlIfFroP72bjm2/oHd/Qqv1ZELC0PPRsiBE2HpqcSDpryiTXPtqgCQZw6SUwEhj3XW98NzATdFjc5oRnzzbjn0MCkI8x1+GaaGDI9DyYKCB/SlZzKsQsuGdq/OM7kYRKJEEzIPkkfeC2se3UF1TF0yFD0Z4rJzlgevdx5YtCgjOSIZmjIL55JINGSgpI4+nx9j2ypaLkpIneH2gYYEvnpeNjIvPlIX9heCT573fbDV23Iu7L3v4QXdquuHLpfaFd0Oo9ueEVxkol2+2H8mwSF3HK2y2tBvyLtuYNMXgRzTLD0DdU/xtjsqo2zEdVUryIH+i1T54P8tFNDREWEuAPVrp72O9AzzFqA6QV6rCOnuxl4sHd1MAaUvowuIxU6NSUKTBeQiiwG9N5iM4fgQAsyuJwMbkyI4UkCcq1MnDkA0as8AeqKnCnVOxOuVEBTISLPBOldrlmB0e5OTHPSe0dURDJBJbOtjMWYy8xuIAlnddDbQqHFeRQqzRdo3SrBtC49mNkkYKARqDOqIqu1niyr1icdoP1NX8y5je1fLPidjD5150KGQ1C9Iv3mxuMn6jz1s5Rx/Wj1pp4MLFrWwR3LrBFBxwuMLURa7PB/dBtbkhgxs/6GkZnJIWrUrOguFsNFwGjCZKtgGVPjMjMEdws6QxtqXi8NGLzHzu1X0TpOnS1eO/rF1blptIEhVZXoAAVX/z8AIKAe5fy4D+uwX4e44LyQuYElrByF7BTO924kYkkCBUJZWt06fbrbJUPJLIGxE37o1pHduJUJ3cPOrlUuCL7kYBd9kIguuAqta0KSAjA+szFu0kZKIFjDA5TNJP9xm7DkqVhfeAY9101jCwLNB7LHtIE4D2+Q+OJ2/hvVEmAXlkn00a9e3yA5np4AS15VmY1/KwSfzVi1bjCq8LhNJ9mGosdYtTWfcLjk6Rs4F7X0EjE71J55YA3XfYFzKj4l8Y1PUgJxrmsmZSTxEEulzRZZYWMt3BTmuc6RgfKnsMCSvsw5ECWCXyhsJOEjRIkPT0D9S/ROy0o3XAQrw9tXspy+aC8PhMtgd6+3Q+6jF+lysLXEPO14uHr01N2Bp0PtTlXrJYBslKaDfq0/Djrsulv4HwqePKpoK2AERBPDyTOQsvURyuD1JjrmvIbkAOASMyRdNsMHuizQRtzPPW3IoBA2vNHSXNVGFy9LExheR5mvs45cWp4vNsCS6gh7Zh4Xc6uERzZ3ZvDpXSI0o5PivZwRoMPtZvVDaUOyUqBSa3zXurEz4sATGSnfGbZfFcw1/OgO3XDw1H4bKHeGSPYX0wgCDddUOgihAP6B+7nzfsvptlR+bK1DKvXMky5CWY94ZMTqD5N5Dcx7Kg0CjO6bw9Y9QWFB9ob0EwpuTJTxkI0Z26+oB+9bl9XiMfAJtPKgEH9P5omfPeCBfWaifA1cUAiJ9kdXtCLeKI2by/QOeI3MinB3apkojDkHs5s8tcW+0LryDG+6RXeiy+roRVkHFWeTefxQiGqXydnQolfCzplUVxP6S+A+zRFXm4GIiWotYo5vrfY6llKL2hLXWl/uPRyWZx8fV4LIWYC4H56kaIoKVBbwq+ytZzMLoLN2nLXTEpYkR0EZKHncRyvGHNzx6HUsEVoodWkvRGiOJqe/uy6qKUSTmZUTFjOoKgwIrNOIc4o7iGVLLEK8cxDCkdK03L6X6VCpDAqIVmPHsmwBL5sfp0pOx/jV7Osu9TgH7587/oimzgJlRT1G8YA/M8LOqydbNvimodhFX1vFzBY4VyPgc9YE9b0CvXnm0jxVkEdyM+1TDXjIQVrDVZ2mj9gZYRCL0hrVgklSwcfWiKrstkJVD6hS4zimtgKGNS4MyC1X3z2GNvin6RR571dydw2YsRP1TX1qhCWwTP1IDB6J3sxmLWPUii27n9i9XrBf6IhhGYReV5wC7Lx9ZFS/V2FjnjCDqjtzfru+K/2iSa92FkfVJ53EIgTG2txwn9+JIwK+4oo9EYIeMqozfts0yVyKEBvW8JgkRL/Us2MoJRbFxCzv+md4u1y2NZom7rU3QH04/yvbqkvwz4UVQbhTGLICS0GMZJtJB0h6LP8mpnNItpW2f/TE4QnSBcU5D2WDl133yjp4LAdkYny5VvnoNBN4/nBDDMW0jnEMVwPO/0JQUTrBkflPmEWQyTxmrT9ZdYyJLViIOHztF+zA7z+ykja2VcNdXfjfe8giC42uB4I+A7IwD7GojBYavlnUfmeYF3VXS6X72j5av8d9hl+e5w/UJDHUIxqxQcm16q0mXu5vDRriGuGdB+nFZGw9HnxgbDT1rPzeBQESagbPIAN8FQDHX8yWn/0M2g2L1zErRWNukaw8Nu/bKGnKhDOCT23CSjPFGKDvF12QwP+w76MPqYA2iGSTePifyHfYmO+Gc+VFimsB4Y4BQdMx2vFHk69obPssScPfxopTOXVNVE7BKuWU/mMtE6Bftnz+ocYyuuIlkaNuviEUTw+isX8K+635xe6+Ll2qwiu1VOVN3bv7NsHvueBSqT1PDOB0vq4v1Owfm2P2LyvbER9VxI7q1M2HIKMGCv1ca5FVcZIkIKBoReoKT4yRaTO3FbZdJMzXK6e1o8gUo7UqRiyyAYBDL1Yb9Ld/SUfP/fcVTGc7N4s0iWQAMp4jKmtehhwWARlIJQ0ohFqyh+I4nCrCSoKpkMi9nSJBPM7af7w0tk18LWUIofEShyYEa7btvnDUtqlygOSg0FimGiaMM9eFhU2DxYaUorPf5nAplVCA7gz3+OO4k2ds4tbjljzBnKSkZD1TNCUyxjf7cuM5Z4jY2CkvLHCve3tEqmG4O6FrItyrEWi+ii9CwdwSEzdN6xqpXRXRwImd2YljtGR8ZLl0DNIsYl+9MvyliHaFbizY1M3Bz/DjgBlWIe27XnedJbiYQ1B34UAegHbBzHY8557NYgGrfnjYHDApeys51dMH+tbghEg/sjSniwCGfDzDyCRF18i9CUz6y8A6GeUojcQNES19O8bvf/crsTga4WPTJZEDvyvDXoaK/QbyrQlTww8+nQZISIvp9bbZKUiQJlKRxoCth/Hk3KnCVnuj0efnKXHfp19bE1LrXfVeVVYgpJK6UVhKK3W8TsjzdjeKg61ZsrixlLsK+uKTXh64hjps8t6yFEdivaWVjryUPxWg25L8WZ+8JlkW4S6We+MZCejngQRZwb0r+jaEp+DeLyckLtsYqmkJ9rUxCZSP++2C1cmbdKxOxGY1v4xXMVGw1qhxvJuPPYffOvzzHtAM1SnwIzGMBurSC/SHv/ec9L+rhzmXJpQaAJncIyulRlfzUKuUVeSeYGt1fu09GHrTLenvYNZYhe38IngJ75MRABe2eA9nmUz0Wc/yB1RU9zhT3r2ba1xhcmXxoMkfMHuhyPZaFw0lYFm5XtqUWRk54sfyTiyqZwXsfiGu+RQ4nNLGSNtvWE3TyiWcktaLrOg5dZAxTV52DqokDXJ3ddHUBnEH50S1NQ+c7ooPl4Hf26zBldPEs33d95VgdtgzO59UDYByV3SIGwPA/HahAu4xJdXbOsmzayD3oqRxmlKCDgHcsuJEjDtj72t03RHFB99kXXP8vYsS1ZE9Zw42pfPS0s+kO+VOlGOEBZAkGP2I7seyAfb/TMDxY/EqQGLMEcllso+BMo2TkSDQgS5Ulpbzhw5vQM0tvpepKZ0MayW1pFlNIi7pu/QZhzpFVucTqy/AIa3hqM/PGk2TN/8dUrgFtG+2FndBpe0XaVEpvWx7e7P/i8a+bRsMU7l8wfP84m3GgA1ciZT7cMo+PFK5kbtnjvXSIIKngNCV+G6vu+GrU8EcuEh002Ft8Z5uFWbH9WGSaFYSU5kdbxYp4Gq4rGkY/plqKESrKsikZkAAAgAElEQVRf7KGWtMNoiwrzTsPRLvD30+8/2kP7zI0SKH4xgFht/NxZfMRAbcuyomUUrq3YpbWY7qt8e3i2vcW7Xqbpu1qVMW/0vkP4vmgixP1Ol6RAf/AzL7ISazLyL0WhVrQe7YLgD2Wca6N3KmVC6+v5melHPc2gu5Kq45ljgLEdifTCidZj2ZN7ygfurCyeORLFxShXj8x2lWfnLWmmadU4mLoL2u+9D+9/Ba81aVyZ8a55SlAL0OtOSq5zk4/9XUBxQPHTm+vxDdka4cleavECVmBu8lKEf3KYoByghCF1KmyqFSstQ/cL41Ng8pfbI0dzl9c//e6i2rmZpx6baAVBRpvCO0Wzoim3OQ981C/rX2niAlF24CJeqpVYcK8Ixu/QKReBQbp9YXo4l0JvBpGlrGfseFKI8X7hx8xY0gutS/Dp9GIuyz/6/1H9WA9Ffi3C5PUJC382zKN7TuiNiKVLBK47+Bfeubmpq6XjX1+i0uXpbRRfzYRiQ1p6qP4xUC15/KrkIT5vJpIxpLR6wn66GbVgGAHL9lhyp05xfQ9jpG2rXShykI3bl7yon+ROVcLwpc1PTBpW3+Gq2XAvp+jgtkJ1OEsoWlKIc8BR2BBkxTgIGwm7RfmrUWFIJBUBGwBlGBrnaKF0ejfy009njFt5C9bG/tTMmJDCzWj/eeGt6L+mQqtE2ofDeRhIU+a4xKfP+jLDZKNJoJv0xTO6Kk7HmJrel2Q6huUm0fKO6KZbJuai8G5az8GQpjm/Myz7417OxUyjsUHEnTSG4w9Go9Llbdj3bsLSmLx4h3zsqk8fr8iZpE3G0BdfmTEbwdaGp6yWzDoai7B+CotmZ68ARz2PIlsJL+/vPyjR4+oCjO29bifIKFrXh3N7eoEqLSjNWVqV8AkCFemdsrGT3KQzblRcF8yhgR/m9paWdFIZ2/cj16XpDZe2sW8w5pz2161ik7YbglLVJjVH2JQPPWyVno7dA5KabA4LfUPo5aFIiCwFbkm9ODptegS5whkc8WHtjpyCKDK9M2J22Z3L6/ot3ma4HEGN3xam1WU/m/mrI94/V0JmnDQUazlqCZiFUtdutk6ooy1BAl17WFi78e4j4/BgN3DRim1j9f3RVyBlrK1/yUP7sglWnaIKch6r2J8ofIW8nt2h+GoBlFDAOoOOD+ZNjpnSIkPas4OPycb7TVeS2xaewr5gJcgOrdwh9FTnxllYWVg38BmO6BhPzVLFxdQs2qqePgBCW9UXv3hejvEwvV23L7jgYfFtHC52dLl0HcRjHoBVZ8J68iR0U7adXGCr//N2JVuOIkkQQq/vkkBzJiDzrgXyPEpAfZ0sFp37lUD1A1rmC7L6D6b/dtw8gh3lVplFX7pykZTgEWHubm5mSzSDlKsMpMg3nxFZLQ7RzUNthMoh2lu1nA2Yca8Q8/RvjeSKzEpardQRoj3M+6/jqr6tjvK+q4Xeu1V1otGkoc1n9U2DvupJsSmsMu+Nw9XuUH8i2WLUYL6oTQ718qzY1E0wO116mCpMp2aQqjpc9bNw1QZmOZ7irIiZS+Kj451iR10gvlefd9jx3Czlrop5GtEi80ERycu8qEOaDiaEdBhR7viv8vLd4RuQtrvSZry8TwlBmfkjIfE27nAZWE32MLzNevOZ5p+n5kdpf1/ykWjiZEuVyQI43dG2x7XJQqaaV7yRdLP6jM1StHoioxE46HArzgXnhBq8tapuUtasJ/nSMhHtCduRiKzR8rwrp1uJM6ilX3VG/XD4i/wTbkNYiRKhAtpe14GqhFb0466fEurM1Xnpw/84tJoi0YQe18P1u6hSfAu+b9lqxr8jlP8Qpk4zyJOX5zKKn+4o93tCy9NfGnIPHrxxV6Qbf2186oV1TquFgA0mGx30I7eAF2Xd3KfUQRDoSRE83zAfNte8/cbDysyceEmhPKOINglZtfsiDEPsIumFCb1kqsdIVHXZguK22jUwVxlzTu2DlVVhZm6bzFct4mklP3hTxvlDCdpsbCjGHIHpSi7XfaXOIYQ7PorSpn5TUK6s4c84Te+vd1V/MAZlX/cubyG21F/q1EkV3NLOxzfr9Myr9P4Nb39hPwnmhKKx5xqTYm1jfIppw5T8QSUXTeNsC/waJ1O4Z2MGLwyOhGEp7VsFl3RmRLQdxnRy7E+4xXeXxIrmxudfrs02zUFWJui3+xTBdpzXA/BBiL7hnDvea+eOQnrrUlTxkLXeqAk+pA6lARH2WVraXL3UD4e7JH0bWRs7t7nJtEM9hoFyJM9/uZ3nzb72PO4TstQYfXk9em73lOKE26FVWmMdumElpO4mKD+9TinbdG6SLt7ySBwpO71q2S5xC/kmOZpWe7spekBO4z0DM7apTCBX8MBKB+yvuFq3i6qzMNn/PNdWwXOQ6SDQVeTM4oCZ9/Hvn//88wzqL38uevprlP1UK31RbmUU+ikXDjAeFud0/MYHvN7DefvmOaL3Xjy2I7y4pHeSwB7YQWt5Dptguxdh0mD3XESrIK+4RGo+BUv8/hvOKtPPL98M1QXNy9oR/PhcrCz6rXpHt7JsPYwMuSuiMhsaMbm2KqOqecLprcCSVu+0nbmyg2nxfctatZvMsu7XrXS/rpLXrNvQukdjz3/dMaNNIG1H5UczTEzKvvdgWt0tZ2xsko2J2NVt7z8O+oWDa69ETF/3joleixQAP/753/Oh+Rh0TrusD8Cv/lAsvRj9lWJT+WyFc/GAFzd357W9/apafTUP7OEsoFhOuFmYnwulboQymo8YFHGcQog83GQ6NRQahAXTRQJi88O1/uvMeo8MkDnTCVRCTRXo90YeECT37iYeeijzWDXmZ6AGr50nZuMKA6qH7LxQ2mAP7tk4r6KLPJrz32HxsdYw0GcW7T6IlmCY/f7fDClRsuNma26XUqy4AtBCIw9rfx6eiGLHYT/jbfj485I04xUeJYMeTw1yxXt3cAIeHkmnvsNZJqVr+CpacsUqWhtfdk2qINqd6f8oC5zy+6OxzyGNvbgk0G8/+iHGrg5TE7mxWuScJp+mD7wIJ8exQWI6h6QV5ccCdhO309og/w/nKdthbcvRpUCQteG3GKXhF8Av0aatKbMqTtXYM2Cuy191pIs25pUfiUvx0QXySjjLqs7eQ+VCSr+OZqsWAstUOaR+MMqm2oyPp+F7iPxJHbKUAQXXS1tzhVJCOuUL/fS9sgjKMrQiP3EWj3zSo0mXf8crQ9t2anzhVXv8PZwh7xSU/G/6kyB8p3idckcY+RJiGVv5+QlzpzULwN3sz1meMHApGF2vuzfyjoJUuF6cvXzK3PEBJ+NkuEnjZvhxupprqx34xzqfG8wDbtBGiyW2YseZg2vMQy8V18Ptdl7e0w2YfWxRDkT2Os2XWtJfy/S0uc52WpUuQHHjE2o+k9LqWgZwbmhn8WEknndPXI9Ft43Sm9aDQlUAc04ua6xH++spLrfgQIfOJKmUBSiXNMSiTPxPfngvRPSixEr1cq5BChjd+xVRwk/cRREdsQQXR/5jTZ4Q411mF8Y/TrhbdwDivbIlzh+mCVidDvnwStmYuqX52joQQaaryoHc6WxG9oX7i7dHyPFZKzGmUeDOoHbCmx9zTetj5N3h7NTlDqchmL5O3x/V01Plu1DrUDvODH5mzICsdUhbzdfJUGRebmppy0W2itNZNrypZr7l72JBlG0tSC+DPUkOh1rmEuenNT1EgfllB+uDxemZckrn/zpIt8ZXX01EF0CxtIDZ1lzYJWwpVDpKHzFYih39wNTcn9Vh43qsKTc1M0fEV8z43h+qAOzcM4UkRLdS3b988LyN7tCQrvKHHW4h9JoJ+0/r7vFm0ye8v6tW977ETLaQQvOh3oEfWqRr2RBh5+1Mdbx16Y7KHWGqCIPvTabpZ/W0j2nB9JI5byvpq1tm9u8vNDRiVrBCYU4Gz9sxy80JxbNgBpMNqc9183QKkOpxnnOV1dyfZoSn7RykCjOe0vvNldWKDMrECIq18fWXV+134FpNDR6RSdVSLKBzPuV1uMqmRoD2uLO4PDXlI9TfDtjYKfNbLxJ9U/Os3dbkxiFDrdvHzULJRDi0g7TvuPSHGQRsIaRCRvSEO1WL3vWK4eFHyBltgCHr494aqKJXm3+7k82fs85cq/fuhK8r5GBQXFRjkkP8wV4yTvt2ZV26lofOXBzBR11RlPquNzxFq4244eZDkPJ+hF2Jzi+Mwc24yM9VEx3YA/SlqNzq+Xv7esowi1qqOvWS5ZxwaqPB8Gg8FFPjd1yVZQltkhmWkB26rP1FwOcw2+SE9lFQjoqpmWBBb72WCqPp5+UV5XILA5LHvyrIlnVAsx6ClfGtOofxx1SF73be2qMhDH0jFO0E6duN4q8rMI86ky8NQLmz2YccLIVVN3ctRxV12F13w13O1lauzw3ZHTF0jCFOEW5vaxa9LvrYJAI8WXtYR+0Ivf4ZDHky3j0nAA09Ae5FqZrfKasN0X+OYw5kdLmjMMkfGZCWGj679o5nExOYKFe1sp9nMDiVyB7Ekc2MwAf0PSIfLcaDY/yey6z66l4WF4/q3Jdoy5sEe3inTkMZULDfc/8knT9cDlwDQboc+tl/nxGvcO/4+xm2QtDuj4+XjHUn6wbhnN8gGz90Jv/Wp2RE63uLONi8aM/m2smbDvoGn/b3zg+jbwVkKSLVDi0cXeHTvUtV4J5JhY6Z0+cKTHx3oYvbLKxNMzLYDV1UU0aWoxy1VxZ2jz+m9NM2cVItXXtudRGsl5+TgRTmQEaX8jk6OMslSsjlWYEGib4XOoRObaJsUoCrEQ+GLB429WhqxWGADZpg9e678dsut0oaJmlW8smyVcQpWGty0SzK0DNJUxX2Ww+FPV2nc4TYUxxPUXz3fpyLNL8+XwlUxaBwa22kRq+Ee4UjV9LAQhBow8HEpJDdzcp6+/HlyC4muTWu8mYgPTbRwtw2bXlyA/9UbmzNeIDsQgmhwvsFpCSUfbQzAhwbPKel/oCtYcxe8DgUbU9R2Ml07/JD4w9ZlSLrYQztWqfw4iSbSgrY80lpIQZHbp8xrtTsPRtODfzdYG0o9Rkz3sThbFcQhA2dSX4wfudVlRcIWmBBiiABmqa/RdWmLbYJLy/HE6cOu1N2/Xlp3CDEnxetaSP2l+s5sTZZnq55PxZWkOmSkcUrQPdvBiB62d1sWhRKuVGB4tfmkqgJy807Fy1bR8lPEBxHVbf3IkLWcuaQW+rJbziubJaU1cTwqJ4fIPko4V/ZGt3QrvY1OUKtqlBRt0x2QHZjBzSZoUFb2vDrLSVISgvlYarBOHQLUClJQAk7lucfl7Mam5M2D5tUnB+2C5bw+VZMu7tHRDySsTwL53Z5WEX0DS9Ljd97TTS/jeItBxfUQpnNpKUldmeMGAZgMO0pA8iUX8YqQKWmvkkPPw8ESSQF8uUpLrAkfIS0nafTCRQeVjppwTyjFWdDKqzZIeWZm0hbV/laidGOHrn9oQasQDoL0tmvx+bnVLK7+6y8DYY6Y98vYCYNvaVuaVbs7Vs5rBltuSHEjmp1FaUqu07Ure3X7xe1RhvtwiD6srjGiTYsbYkAAYyc1cnZfapI58z/hy5/9n/mrmS7bSuJAo9yrzExvcVAZS0ShHsrCgS9DYOB3iYSCG1zIpHpD2jb/Qf9uV3DA/AAgoPkHEtY+FA0CWIo1LtVdetWWiNHkSJ3YrOrZKkckTqypIVdPFhgO/EcLR/W5R9+q8RcptUclt4n2EHxrVPdI1ZAC4+4t8pFHmGAuZimOnj1uMP5MKELq5NOFgsmnQJm2ezC6D5o+rlRjod0D2a9HMSk67d9HGOE7BG+Ttg83AN3prOURbG/7xp4J0OxM3nlE+8MApcTxy14aTJVkRn3aJETGQpSv9FV8kMNpL42JJhTY2xdJpM9U5GPCLbY7EdQsciXCxbttLeomo+zfyB8DOfgihV/dLWG8Gi1360lpXTpQpA1E06yWWuTqpyzJSxf1Cn6d2221McIchIQ437VEdj1CGNDeqWJz1/4bPT8DqJfl/IZrky9m6RAgpzZIKE9JA+GwNIq4AlHSXt4psNXiAsC8u7Dz9ML4XGlgORtwCmgRVPb0LJ/KwNLUpOmF+rgH+T3OqKNKAaqysScE7oXBOP1oQ+dVQcWL88YDp0L1QWLgykHWE1VUkAibqL/lrZZpEzXzZVkqo5s4GxG099R9R6seR6u/v1tv39Ow9iliYaV0sshgvmmTMPVt6aFdDwDE0YVzmgNMWRGtQeRxMlb2DMmMPjcdIj/1px9Jho3+Nndml9pHoSDM7boBaxas6Zfm5qraNwXatkJ7p0cl+Nb2E1JdfyUpS9lphS+RgOgaZQ9TS/y5k2HhbKEC8fQArojo4MECafQWu0OyYo/1pp3IDlkDYRsfSzhDsAGNnebxZ/cU8/OkeXDuzxlKA6Sf2ErVIJ6VkVGl7EZwIHzb0KrG/7dKLEjnpEwN7uElAdV2IN9onXLCeZjcZ5aDusuL93wDvgmu4GGROXJEm+u9I+OaBBxHhujzKmeeWd6Mh0o1fyw2JCFwVBNxmAMzbBjTA8mho4jgNCEDhCTMB3cI5MWQeniG2zrmhhjdHn9Hw6B4dTgeXBku4kMYGosLaQwCRJF/X68BeBDjtdE0+6n0Kzuja8bYc2DIZqmab5uRk/PpL3LZetqOd3+Jy9CJEdUS1sKrARwKE0r0+KUNsQ172DvQulYtnm8aslCLap3wBFotWbdHAll4RTg5/7X2v8Quvx4Uztz0jUUW0DZt3X+fF6lIY160AuUKaIHfpTMopn2ZpsuW3GDYvcwqy08kJV4fHWnXRUPESnkCvC5UrePSybX9w2vH+0cK/gR651/oFatDeveCepS4SVBFfjxcF7G9HBx0msvoh9Oc/KGTaPLjmgr3P4Z/c9zJu29vBrTVfzyTorYdOosct04caSY/lECPeEiE3zYURm8ZxQoWCZxw2skdXVON+IUoKmozXlbpgZWxZdE0MdFVpbO7+tSGVF+nOJLmaybMmW+npAV6xuIJqUh5VZ096YRu3TS+mpPUYOXEMEjdfUVJi/QLU+2D9IkEYNQ3p2KrAZp8wjEIdzMLoLq2cppr7/qUbFPx7JWpBeZjGCQcm2o1jMnJsmxVMx0AKz6J03JDo/khS8frSbkJ23s53sd9BVNx8Bx1bC2y9a67LDs0LIv7JwWsUtdmzQwR9hyHbaTei4kEfTqIBKwM4XzgKY9rA8iY6P+nWt20FGG0tABeOd7I3GlB48NJ8rIkVUPhWRtBJnxtvZMh8aPb7Snp5Jyigg2REJUDzDiUfWk83M5Rj7Vig4ei+IaccCDgpmGKJzjFJvfNQrodBy8VTy5fMU2DyTJg7n/rkmTXPfRCqE9e1l4JWermbIpRfmgL/w2O3zWYwvLns+RNyFM8zvp2KJv6S99vlpzFs6FndO+HW1Lqc3thVI/ANvr5aVDHNL0Z4BlFguNSrvY/oztoW0CKuOP8AJcbbNSm9yiF0Rzdkc7al/Kk4eN9FyTzI8W2ltvbMJwNACDZrKKqU3gn4gYGg6Ch2c5PXqM4GPCoNpLMn+FpwfXxEBQB1dQiGifLy33mtq7zajaZzF2vPsY91LzIA0h72RIcarhMZUCezoUYQ2btLhM7kgdrXbiwWj6Fm2r/+sXAZgWE0+VTUo2DpMEjwMkIkaLizqnBQ9yNZkqjRE3a+ImkuYrcIZUK+ds5wu4VaMC4xy6Z3ahpNxGv1P0v6a4aJdZ17+IDJk7nLz99BuByCCvJDBBe16/h0pBIBMZm13OsWGKuYsF2DI+m3Ce4vOTxty6CSlrMIFfjEuT1ijkijY34ec4KfLHL1J/PCpxUoFZZ/u51zsvyl4WGhVB3EstWhxSM6QywXB4NWQjdcpj0LC6qNezVF97SgRBQcX2JbMBhjLiKJuLCcVOSQaL33poXOCa582wSc9s6fw1i5HGkWE3ci08D77sKjeI+Aw4+QbVvNSn5h83lLBFvv8eYiw908a3AUATuhTRE+EOUdT2HLwL/yzXHToQgep7C5dFFnUAG06GtCnMSH/cGQ53qnAfMFdAgjwsJHulCff0ex8iSszV04zlz39SSSpWSDAuzbHr0aVR8HUwwzt4HxXSZUfoxT+QYO4OTxuO4DrvHwSCQlq0bnShzfCg71q7azq12azPW7R/MCS0OS6K4QgpnLdnknwf0hDX51JuHpvuKdOEqv1YGQY/dFVahIQBaRiAHruOJkFq9I2rjR5JBXx1I7JGzX+8faZk12rf+GczeSf23KoqRiUX64hS5eTGJAuxrgku+19fF2TRtQQus47gkuT8TTNBPT68k7CPhRZyu+uy2O6fET3nxW5hdTAhS3900XR/SBzdDnu4ZOzXPbAer9/sF4/D0kZf3+2boNUaNTaCD/Dd+EA7h+s2OTplh1T3UYnZ7M/d0yXEYaDkdlLb+pnGb2EPOwSqrrAad5S3I1YEOKY15rAmpUXhUYBrcdTjRorfqGymjdlmwUY+1Eurt9pVU41dN78zyuf5THs/m1S+HZPUgqthLAsnfRfkUwQg8BD/tL/nz3gcIOoUPICtJw8zmZSrvuFI5gqnHK744uoxZqlJivhxW3b5uziVdHqAFcO4nkwh3CZddZY5emSo1ACwHQwK1dlYg4CAqhPeiRwd80HjISXvky2F3mXEVu+0PTcShofmHEos5+Rx0mmLE5/2C6TVJXfku2fkr7tf/nBLNFKZfoW7L6pUJmKrZ4sW7Kjm/+t58ib17uOb1MeOUup9vVrL+BYgBgaNEBqOwdeu26iX+hnW8FinToF9EBBCpqSY5eH4zr92OU5jjgyp1wjO6xmFuTscMDs/EIUUoq5u221Cz+9pCqkKRTxe9iV857qGOJB7OBrvUS+W3osqmyGykt18NMcnTONohvCiNId3Kr2h20dnLtXeGcFyv8n+KsPhInfR2mOd70m+6PdVfkRY7VRc6AZ71jd/aDwAKnnQ9F/QP29l8wdy7bT3tbkygRilI4jqUv4LLoSZ3yHbdZLfBJs915FEJGcRBpgHiTJU2eh6WzHfY3NEQiHjFVOvxr6HGXzVTYt5MhQNIikzydGvLxsjnoehKkjEJm6H5utKggpzo22dsvrAXLFvHf4wG/Q+UE8/XUkcXmIu7QY/Yc8QY8Rd4WHRgCBvXrdM4Drai1lwnORom212THPXI5Sy6D54YovEs21JgGWVwldKOckQW0I+gO/Om2amVTnT3tsmZAkeoJKNlcw7WSOaJguMBEf5nYiq/3EE4GxnjZO1sH5ycDevw6QEWE050AlZNKpA4CDoXNXx5WmGh2RgaqrxaTRIfX/8Hm+fB0RPzdeKHfmmVClQ3TINaeTJRX5HIlp4U0OGtK+5toPTUs2Tx2ZLropnH828e3asQA3uB2f9jRiuTqwoN/fDNVw2g9wQOV1de7XfZyRAraKSn54N8Fhkz1hrGOfhGme7+nw/x2ARy62sonx6NrT3t+nS7wL4EE5Ra4uM4Ole6yQMvIZY4L9fKAM0qhcwFA8ekmYXsT/epxxNy5Qf/YOiHctcITaaEArG0+71sJveT6Q3qesptjd1ur3FoYNsp3GeSZqJgPmoMkPSfK0FtkohXP+uW6ZbAxWiY8Zvh1NbLgM4ySwOh9paCJuZ7fMWLqlwhRcL/gsHyDcc5iTsh2s4wHoC6Hd8y5T4/ZoprB7R2mVU9dWNynlOxbbyBqVzP/EAhjHd7iV4uYphqtj8sPbBl20SGxCc1qPHr2uGylGWpEzkSF0x2T9+3eHowaqUos9elA/124yWsQ9xb8AjDPiZ5tMHp28rikgCq3Jh3Jk52/GZtR/2TyMIpUdEWqWSr3O1IxUa4Q9Rov3GkBuT/s6KoWf1f9w4gta7nYYQkOIATZP5z03Gxu7IpMFKlrUJIoHO2ffthNGdAFjX+y1YbblrKqV0VaLqIkmT1lfFfZ4FaM9OkZpJGUcFiYmCPePeRFka//yTn47Nk/ZON07MaS4tUKPqr91Uwo4k85HIgedynY4BCP+fumvZTlvJoqoSmUsIefVQEtBjQBKZGoPINBhJ7mnaFqSHvW4b+IGY3E+4f9t1Tj1UevCI072W0VpxHoCCpF2nznNvtj9tDxtexAYJ5TYyKQ/ZWjlRh8s+3bmXz4idHxglpF1mZng+X4S2yKaGLdZMZnfP+Bcw/d1oC2X/6JdebgkUWhkD91oUtHXWUAD+7+6pfqXibZ/yqmvhncZ6GtgtPLuyKtUtrytUbogDKqrO0343qj1miPUAqkMwvOOae42QdvJsW8yYIWd7dQbs90m2Xlo8qoIW/mT/h/fplQdSeeF9VEDLVAcXlmM+v1C9GkBOBtHMfk3vxSoebPcyLcnixXW7bloMMsnsXYPUKrsaA0wA2iAG1lXdkKjgBJg9k3TznRqj7vWpjToDWPfSUyhnplCE2ypjLhU1qnL2pa8jWM459Sl6EVonh9okHJnA0UpCNXw3auO2EtAVzKyVXEsQ59vdzF/o14qqkVhMMdc9qHzXq9WURt8Pu8N/RiSb9LICpqMZnC2cpyW85RIomc39SCR6LePjHoJpFanNjM46znhykvn/mdVjThfDJSxbWLcs3os3uZxUuzsWWRuvogd9TjFMtWSWW95X7lUzJzZJFwteohXGJZBuhqy41dGL43ThtRNTv2dUJTgYuC2eF/eb9fSLwy6+cGbKZLfX7FKCVn3o8tBD30vrlvnKaahNAVTkWaB5mpmcbQZivumcR5igazgWiVdgGurGLdUQ5iYCOZ0JAuDQs5dgR0Tiic7ibB0xl8XM/82TYsm994EBTZMH7Xf30U2x8wib50YddvEM0SZuMU62Scfsx0Yg2i3mivq9ckYYE4AbwRbFfXMvQPEcZJRASEj6Z12MSvjQNYsL8iT/ywHDi3licq68E9inYzztJLRmX/W/n0l61LPo4iZB073TInQPgtYIxYMAACAASURBVPQwl80eUHfwjS2RIF5xJRZmPWyPF3th8nvt6MUUwqUmoa+dhTn28vA6B9bjiJO6QfEY+NHZS1AlNzPwQGiyclfGhz7IkgM0QEQnVi+LMIHHnK1sAo0qgxdvyHN3QEYDckoidTNMPWj1ypAoXXv4tC9mAEiiO1vVvlla9ie1tKIFvNOmapOFCMT/dxZcb1QKJhfAfwLo130//5qo00fBbwwkiFNOR/j2WFI+QPJti3Kc/P/luyLVpvxoxLZYZqhZEFOpHQLD/XrsJ5s0fNoVxXb34Mf5XBKrdJ7hGVosjLLBvJuZzQldBmvjgx9EOBFoo0nK/Ocwx9665Tp7IPnKGDyXqrtsW8sPf/1YoP2EPBAzuZ6PpW7OGyi2MI9Pdn3W1bManD1+dFaE00fOmBasn6pqvIfP8WycZl96p1fPrF2/3K7Bs3Y6KrLMMJUC2xsfA7e7KIWuJUHJSj7VicoxwRjgYgJCqEXJrotNxGR5OB432+MmteOsC0qGsvuOMI8T7HrMjPoMNuyRC4WVBzPzPjqgeT8K4CF/MOjw0fBZfLvi5aZsxWAN/u9U6e6y2+z+3P78uctA5dzSPIKFokSngxRhPaOpRtFBmvfCj+a2H8HRSt1Pm1Vr5X5UCnjv4HI0LrjAAXRDVdeK1zTSVhXN1zM2XVEzDLQqjxPBncXe53BcRhMkWgAVsfbFhvIbEVDjtu04BzL60I++/3xN5zgFjuVY5+kljIEmtwtJZw+qKDk42HJ2azlHSx0/s3AIWS3IGn9+6ICwRLQlEPeAoQBNUqRzZ2BmyGbxcbwylrrDYL74i3x/OG72x4pDVQpPoEmnURpP4nKXMxu7ld9jjrkU3ztB3X+iD8nTo6l6TSVQPdLv1In3UYFHK+S0yxNStaj01+hFt+Nks0erOw867h4XVa2sA785+0Mjbc0shESxvUg2h7eRvDJQ0MmhJ3IN34J3kMYgF9RXjMhArQxXH79gDc3MR4Y7Ynimy9EN4JnPc/NV/WD0v3FpoQeO6Ckz0C/B8p7mOqLdb2Cq2S1++vNN79Vg+NxzNl7uMfeZF90vSarcyu0APTdmbSLFdn5ae/Ryk/25z12bIKlQIAgWAyG8KRLtQaM/z2+w1iBrWC1krJn3K1QByrYPAWcnqnUkQSNSICiX1Avm1/J1BlwWeUMTGdjlygoC6lADLXtcPPCeo5nG7mx+5xykDOYrsYWb3+Bn/GjcxjEQJUPI3iHFsJNvMUMRr+K10SvszCKZjuipuDI6PLxlheJUTyeBzxtmKb+DZPo6po6ENF2U5sdJhOyF4ciP03NyYBS7gt7Rx0G5dOZpUNN2l+XE+y/QTksPXFlpv3lK/2J3rJ4/BDg3OpJQUTUCItsFKOMxpyKoeBzsnqeY30iymR1ls+HXatg0UX6JBRJvu7VF1CgWjQ889Ik3+L4BuKTTEPC8Mm7lGIriPE1WPKwgy+OII9p98QZFmHlVROfS2Pa3RSrYokWLtb/cWKV/AcIBNlDnYhgJBHaoyw4qyHLewpc4pv4FxZnAb9YAr6yztI2pUv98rfy0N9A9CfZAf5evjaZ4uCKDy6RKek3Tl3CufYQkRToPxbV4HvUj5O+i4qb3ExQzY4HfJMBxubSWBuCnczH6d0Hira+aTeP9Kx+5mu4Q11j57jwDntfG7RzSRgfJWrDA3/H0HEN06plZ8swi3Uf9pkjo9QuY9ClsR4kkey7UlIZiOUdzKKZALDK2g2QObCmi9TlAVm9PHzc6NXgkdFe5y9q1rz2qWQ+v9skxn355R9je2tdcd52hwN+Y7nLCsHvJe1dnEXBu9PLTeFPjPqcGgfS/oFDqCUaweCY0rTu6gaYykYGC9+QJ4iBXPk73cBSPcbrnbgfOa+X5jeHZoO6zvFmyNDo88itauYVn5sybIrnG0NNRDVfDVR9LVGUKLrgDHTxxA2g0n0AkkuTb7W6zw12yW4IAZRc0RLfIWvBBJ94RAQlYjBFpcPnoNvCtihuI8muhLHySrhj9QulmqNo72jRMPQGN8K4NptMLcwWV2jeLUNif2+Dcy9O2RUEWguSuI4ztcNYXavNxi7/Rw6c5QHpOV6RXe9ujfKzTo6h8g7W+2zE8P1Pjpg6hoMKgvRfuxB3nc49XwGyw3N1DkKi9XzG2x/fQJVopqd5BrBGnagY54qpkSZqs6yaRQkNyGElEm7Mys+Vxo1ZLRgupwV+0rGVS5Nf8CyPQpgB4yzIw0gARcGg7JQ1dzRYrLzioDBEEJayr4qC0lszxcfLbb9pzkNs+MZra4Q3u0u8gKc8wMX/kWat/8tIw957pEkN4l3O/xYdSzu3zEd5mchPW3z9UHv2NIdoYihSPMU3RjYhXg8Ji1z7C1qPm+wNMZBMd0UECWRHmhfDHqogI/Ch/bkGT70TM0+Y4k8yD5hh6d8LWuWZpzH7dW/DUdMopb6NGlqEpHNNqoxPlYhMM2tCfooth1tjtlIH3GtGA4jLQM4wBtpQCnJuNW84iPEnXYfKmXikcdId8SDD6/VQoXQVRdOjh/FX/CQcEXbDCTrLdlw/3M0KgJ/Ie3/9J8tvDM8Ov/NKfBbcwzXjliCN6+mYBNYe6nVRVW3gim2RaVm6wgr/RXpLOarPeJ4Z3/EiquYb8ttpots7JN7wP0149sVHlPxhrL1wMBeE0sDK4MOY8HJ8bvW1bXV61uCm+BEhpQXrDailEBb1TeCZzLHsPROzugi9BMJcUQb2Q51GzCewqGVJ9xchBawxeME+712ZevwCekegAjr/90c9mxi0e02e51Jd87+k8c247hmiG2c8/PEEEJg7J42d08NJNPdkZE74BgtzhvGJl46L17gSOiPycGaCUjNrwWxdAC36rtwOnYdoHA9hXiXQAt2c2aC2TIgYTrvhCwu9wbNGQalfJRNipmouChvPuaTolsrBMUISai1AI8lA9LNSSR+FqMNzixBYWTUwulG2YRdDLs1w3M1/eLJwq5Nfx6S0uRsZtHjLR6I5Elt19hEU+MaYrQOvdzgIiMLWUedMprnL0NzravtS5VxYbOphAO0uVX/I2FRaDhNx42jGKkGmwQMGeUKMP0Pmlg3fXAxuQlFGirGLbRrsPcfogrTwfrX65zr1emzJjDnTLfwely9P0Myi/G41FUp8mi7XifPvEXWvO3ChPLMwzSAVn6aLyRL5wwyXMDvmzWHuGcduIJi+CGhprnRAPLxHRn2HpBq4ysUQi2sO+ROrel6da6xYbiF5TRR5Ili9WazJMxFFjCtOgsmkBuIRqiQEfKGa8iu2uZQ7KevQvt3QoSRU6ac/HXQTrhXefbWECNLf2tQCLthNa1A7r8hScswfjuigUeB4nlqROljkOEKdQD+7pVVibv7/CgIq++/zjjfkjyij7//oxMW74EIgefgUXaiw6igjQNJaIZruVqiolaxU9Z4uunwmraaB8kqkN01KDwCSc8D56m3nLU5cl4b4FxhF7SJmLOm6P3aqeant/UqlOdbVfoqHX90Qk2P01CxWc9aH/y9319LeJJFFo7LsQyHulGzlnYcB7tS3h7NFyBJrjZiPZuc5vxiPvBxh7PvZ2Vf+hGwFCyezB4pLEjhUFnqpfVb161eNBTZhv7KK1rjiFtQkJ/zUVh9RCKvjFH+xiCMdzPtONMD04NNFHa75TqXm4uw0qswFIgG+4agw6Lv77J3E+9CWqxwRwDDZ9zjnwah6UxwLRn8W8WqaPoet6hwFny+sXYeJfziNgbtPVHlEG03N87cU86ZqMZrW8mif8856k0LLxZ6RDQBqxoag0g7EY3KZHolm9DOv8TtSZ4XbK9UiQRmCw68RGP8WYW2m8ZJ7kd54uOp3JYzNX4cVdvz+qKPT80FjQDXxD0Y243K7fRs4Hv0SMPv+PI8Ynx0K2MS1viyXkflCPxluheEduhGHXr1KUpAd5eQXCrxY5OPEX0Ch05xhZmuoMwRHymVnh+tFY2Av/jug5jjro9ZFXu5aUtcwMCh8mmD7sPEVomnDOxt9aMMgwOp8XV9O6ZiEl/7nuM3yXphokL7/c2/kMAQBPBcSDcns7eX746HhW/3Mx8svyqhQzVxQQDZL+z+/iEx9LRwcyMQmxlnvFZXoD31y2BpxsgekLVLvmcnmbCh9IEJIjgMOG/93+aMuO5RYHEz+/2ToRBWz4HW2zQVe1D92swStbpOhIynE95EM2XS2ujI3qzlw8Vfkg4vudaPnRApZMvt3aNVWOZw+rH3HFI9Z0u3E+/kWweuepVnhWvcslFl+K5SV0WCSice2miN5GVaesiRyG7o6NBTRYqGl6OUZYT3eTNp+WPuBEwyHNfoAm/OgVscZqKzk5jksHfHtmAAM1iEt08YOqnyvmcFugJjjopky389HUPDUf8GHIbL/YPuGAfw6LNp3p+t9Wjab6YyZUOuIAnm4+hv55WD36QsValr9iCgGGaY8Qo6/fH1Qw38oZ8Rq15zf17XnEv3PX8bSDwpB/gCaf+tpOhcTDqRujwyNrp9SN/e1wdqQVe1Cvo6OsdyNd1E43xnID+CA40/wJB5vrr4CilEg/cKhD3yGc0ZlwsrUU6h6o4LGuJUpc4QbE8SdxAesgemKKTF/R/9qBCRZA9IWK0VDbwLVI9UALqVmzh2SFdG+xC4xN96zOAlGBF7Q+PxJ1kYnBQbqtld4kLmLgJYh+HMnUGqY5wO276+gsmGMJfjyoSsNge97MxjPsMxUj/bB3IYBUMZSTKZNNdG48GxSgodJ9IvzcttH1yDkVRG8iGI5VN917/gvXAV1/q3hmyG/Z81dNh5F3SMlLnYOI4PAiQN+JaLjHImSGhgQP2mSRYzMJ08GL/RRfEGNT1CQD89Tfs//3GcWaLm2r+JGWdohK8tiglW01mjuxCtEdVmeyQWBG58Z0PLlzppbzIE9qBJ4hepwBnZAlZk4dy9KgFHGVc8IMRa2JcPjfRN7ScU4J0dd1hkuy77BslsfoagkEY/paZ4I4HUw0os9uDO7yVSB61JOCluganjo0S4ynww9aqtrAhhejQ0jHaLU7GNLEz7J5ovcKBjDCZKRoWrQkd8hS/8hrsJqP9Ig+GFj2BQfXUoijIEB91K3P4bts4NmZjPDRBOBggJ2uXJp9r18SP/j8W029fXTfiBxczueBGqkYnQ6g4cAhlfkfmqBytuCsA3TRZzvdLiS02IyMOGx8rJmYCfD6vN6DBQTJMk3BbFCHI2gi1Jt1GhBhra2SYR4CRETPoV5Fon4HG+Lwal1bpfV5R1GUnlEu2Xr3GyJ+3/KBz1CWUVXVE2wFKouSY5pnJaGNZ3cJeIYVOZHEs8wO1y8odM71YNEINpzxiH0JL5BBJdr76jgnhejRmVW08b6/XfGD6rZaohv2U6lL9wSCtJZumGpyb3t3ENExfDJCgFgoJsBFAVdsZYhgZqnt0G/Lo9iAcesjrAb+n5WkPkWeSHIb++WobgwiT1oUYKYLBoH817QcC0VTMa+eVuZEAMn94o4WmAKaeCYVuG2ScCPmXoFfQIH18tE520QkrMTw1eikAO1cbmd2FZl8fudZcMURDbKX6SbUq9AdWnyJlHTjzKTMoahkxKseoMX8g+Hhz4L2BqxUMKNXVlw+a336ykjJXEyPMs6ke9XlEfWQDtIc/V1w7vtmtFdhdI3BFZyIAD2AGyhDNTnnE87iOUOb17HO7sskF7snMOCoB3r9ByzCqcBYlPMK4BeQMXkbmj3N81Icvt4358Su6XZ2f2PX83Z3jltdlUsO1NnkG8m0A3wEG/BEo9u1Zt1znN504r7x1/AqkmpRIkQJNMAZT3yy7qhn1JozalspD2L5RBl6jscWrjsbJ8rFo41/uF3DipGdv+3/jT4+EfUwEXEHrJSY1loNKucwYQ6ozqPxlItvp4If+xm4zIBjdFkspFMKATxfAsFg2WL9F6wqS/HZxRuoOZ9x8kzWT+XrVm/Ourg5NUBzwnBbWRUKcrG74UcXbAaLK3A4YFmpvJGm5WwqPv+W+IIUKYxsknjVXVkD237577hyOzJqzuCpquUOrM/Flji2/DIw5XdCzQ8C/MReaGjtNBzL1NM4rsUb2gvM/DNkDysG+2JQStvyQ8LYAaGUDM8Nt/9A75oAM22xKbaxqyae+8E81AOZ4EpT4miyJHuYGfKI4+Y8Li+evxnvATRLcLrSX16S/JGoe+yeXIBG2rVqmFtf70bOdAONJ7dYQfuJhMVWYNUrZ6KJcmkFY7fwM8jW42KRdEp2GK3BfVUjGFxURmYa1ZvFKXwmonm8SC3a6ePUbDOUNnaEmyzc7aWQhBxy0mv1++ivSUtqZdONmkzrZmGcNcWKJE6TzIwkUMovRJcAD0rop8AAEvgbfGra1btgjbR+UUNc4knPThDQDq3KRjf/n39yxH5DaX++FaosztrwmHLLKyx1ePZZ5S1GAT8dI3BKgpHvekqQyKKZfXu1AodjhkpEqihZb7+07flNtzuLY+s+3VD2S+ohwuEt9b45AyNu978ew2YiJHxiyYp6ZUU3qLpxlMN5f2KdZPYgkJut6r4V5IKkWpXogELWN3t45mlhNTLLWu7GOcmL3D81jp5//Qq5BSI6ruRWJBrgWI9bJJj8NQSf7mIkt8YirU2B/DHYRTjHEeq0OQgbN8pVNTOQdWnbXUOMMPX042SVLmiMEHaZlWqSS4a0H/HHpSPq3hLZwYmk/Dzg5xv+cdjJId6EXhUdS2C7WZuUnN/kWxvOZVpvwsLVI9cvUlj36bcmnsFldvLoXBjZTz5zThTR+bNdjiTrB4fxZBH3g1c79WHHbeBuka72OIdDXMgIXT/LhAtsmhVVCeN3kUqpAlup0LrvmzUn/QVxPqbsYLcCe7I4JovVBz4ivtbXy/2JjBqLWvb7LS1vVr+jsRDjGXppaJj6mj7Lc4sfc62Su3hhqprBSIkWd8TE88WbGsB5vtnH8x1nGybhOLEatI3onR2jz95nWAMCaT+51rIOkAhEbpkBzpsqaCpvt6w78KcYNtaY+laUJkEXlhg9eoDEIr7ErGMnRsCmdlcdQ+bI6WkUUvlxEjoQJodjgiypybl6n7DeqMfuiUL+Kl6mIUqpJ3NdcQODRfvOZNMVkAaLVRK5i1kdnyNcQij/+On3Rp5051VXIBe+N8LI/cg53St8tfnUP15ANBs5OQB9stPnFM+gr7wVIHrSPK/crDnpHTYskoi93I12i8uY/7PKOKLwyGx7D3sWVlTOWh2azDczbtQxgqQ7Udx7sajOd1lvmTyR5LkVZ/zuqsMuTgus5rl1mRRreZc7NTNBdtbD8aob8OrghOPSIBxnS+eUr+nr79aNft6gm4MYVrmsEQ2yw/gL7PFc7D2YsPks4uYXQMBhFM38hPUUa/eMSNEiYxhfbcR4Zvlvye8hZUgPnQWtmij/6ODGJJy7P6fQd3LTdgdtzkLEpIVfr64x8Ix840xTQ+fiV+vRljNvOwO24ZbGl6vopAHteN+tVbiXYH8HTSfhTLkzLO/yVb7kR5y3P/keN/dPuHsLKUhgDnv2yo2ifSog6MxBPtISBs3xLCLpLITw2PcPvVTbl/3j0EAPwhkMFUgwTzrgLN3Qwb1JReFCz7DhSejVQSf8w/zpyXaEXkr3sL2v/vL5o3Pil/vLm3lQldBBBOXsJbS7veeaZEdhWc3C1Wivj8KCrHqCxYSGd2G2F3LcwIzLh5Y8tFCAgw4atHMDpj7+U+W3QCOvN6x2IJcYX3f7P2LSnvHQwKM7DtJW8kx5ms3A+AT342nqpEsUopYXPj/q71QPxo/nK4FnzjbMRjf5AItUfjo1XL8ZkyfnSw5knG3A8StvbVTq3eoliotbkPLWaIHdIPNxUMyhZmfkL/tbZG2nFuYfrybqg3Tnwm39ScAILXI1f0z8Hhz2/SvG74hqWrLWJiXr1d0pWLY5/BGe/YFxNCxCGBHrr6uKB9olBcVa4TkuvuTGk4JNZdAKhpqzmQWeYNO75bp/N2hECePcOH2G41f0f+xdy3ajSBKFUNWehzRrEuy9EchrVyO8blngXvcp2/UBc3r69ycjn5HJUx7PYkZi0V3lkiWR3IyM571//LXPbOr6rwzqTvCNNpJ1lJu84oiJUizdptTVSIdWmrnaV3l8KXP/tBjVrLYJOsSZ8aFlVTHXWY7EEZRd2GVgJA6xdp8zMUNQxiNFStHFv1T0YQd/jcR7yg6ldKBNY/AM22OCRa/qbIL2MjyRgEe3SHLLRJ2Mzc/gKq7D3+82cn5BF1oMQITY35+/vhMK7kfucbO6a2JkdubOKIpFH5N8+yBdvrymGQ7EeDY8zRP6lHEuq0pt1dB1OUZIzkedFVgap6VeRMa9hcSkOZiD6xUuWpyByD7Kr5SwkUw0rFKOQaak0v0BlqQaeX/hMO8BOiNdtMhk1+wzSUcKNbYp2ZkrlN2Tyjnc4YCemPj/k8nYZcO3+2VpFp8z4XAIORUUZoS2Q53TfW4Qjao2OuaupFFudBSTOr13bIQzd9gGkWo6Zm72a8fgJWMk56liRyD5ixWDh+axhvP8V1i9nHfvUyS9JvQMAJd2dshlqEqiOMv/WuNi5Sb9nDjhYXtsdMoj7T/euUnJkAhWWGtZ9u6Mu8HjeWgFjeOb62R8/zO4lmv3bmhJNmdBEib6EUX6Lm+fWKqlCuFRzK1hIqk78mVWlb+7SK18UzuFLWyBrgb4AFEpT/zqcSZr4dVivIgD17inKqOLnY9JVkya2EksK2s9H8il8RhtIyV3Wg68sIKamRBT2Gpq0GFLZcOKI/YW7D66oyjFfrxLY1IcJAnWGQl0jTaFGJtT3f7cMtHGjWuICEnWstVux+OT4BqVrOdb7nugxr2RKrQs0Dk5VMPfjDGpe7ewItRHLqqXAFtFyGFq0GykyZMy2HqAzqOpYNCmu2coQdi0sw62XrlgnNHn0TsL1d3cPQA1dUVkWn97jPg+rtv+nIh753/ioA+NJPI/ImOeNZ6xnkI76x6fgiu6tm9bJVgIffT4m14VwMl5rSPEDuidtWMs0BXBGV9qjxaLCQv0RfmMJTTpP4Ad03bzFGxwXoz07U/xJ1xAlDOxDeX2BpVl5HD2V8Zlii6EfZDl16JFcPPjse+FlU4N6ajgmABJ369sETZwfCNOxrefwVVdd12s1K42b/mr2edSsF7T5+JAFhw+hoj+Tu1WwX1u/ylJO51dAukvuS2FajMiwGEURjpBPefxjvMnhPF/BmfFqGvFDkdqlpWLZ5N0BpS2gcIMYoUHO9CJLECaDEURaWIoRFJ28D+hffy1Nhqe5YDgfVeINZEc0Tg1aOlzt10E9cegISB8cm3MUcpb+Uet6youPPuLjfQSqnWTkhGDg1mPd+SY+BSesTlcaK1USLKQx6TsmY4UVRxlCjFTKF2QsP0hlEDKHExyzlytpDMQlli6yruXwGniMHxZ13PtfgZKOmjXt1IS3CDako2ixd4OBYI8o42yOHE1DAgFfdLK1DOLsy+8O4CLR2EHxUn6jSCP19GuK0IbEHceM9KXAmMkUqmD50oklfBHm3aP+blE52u2VMrp21vfq+ZTNdGMY6Dh+/U6HBLRZxEEit3/64TkL5IJELsUzZg4IL7Z6/vexcbdg5/d4qGODAh9Q82kYsma6OlriQkup9F1yBHANIDkskGV2cGvya0CIjcHY+lzSEecAJdXFzXxZLvo5phs+8a+xU6emaJZtj7+6vTjUN4hOhiUqu2qMhz2rh9fgnsxagiYmka6k19vIuHZBUQOWljr3UdXUvMFg9Z9Eb0LpqCBowErBQlhDe4hHx3Nzr/mCUooyiqPnpgSTnc2CCtHPhREKDDRFuvhWYSJRel7H6EQegz7qiWVFjhojkZ+tY2VntccKqgwSQXpn5+Ca7xA8+ugkX4XJYw//oXcPBg3H+zcD86xFX1zFJ0z6hmyuhzJT1WxgkBVDsRS5pXnDZymz3RbS8zH2yniBTrFhWFY+kWJQP34JgP6obbQOT0NHkfugcbXqnTxjLQmkiUi7J06OHenQXgdokGaG2itsBe+yma8+5Nl6hD2/M/gOq/wPVIlFRyYlWvRI0fH7myZtfnPfhOruuePQXR1CFhC1QxFU1iqaoXKKLuZYcjjxR6lIWZZTOiYZycOZ6t2bDBHlbu7ZOy9l4rsZDOl5ZwWhbXPUglMdLncuXj+oZN20Hb0X/jKy6RHJHzm5vlnq4eZZeZ10wWOgPfmLbjWCzkqjQTcSUUfSdqfDw362PohiC5GyU2cYb4f+8/jRChc+WYRgyHtm8CI3cyW+x580cG1fReBECxkPqoYhwOmc+1nem0jiU9XSrbScjKRaZ3COXpRwNUylU59TgF9+abSeA6e36KMZkX3KumBVx9tcGIubfsfqcIz96OB4jm8uowdDQxfrMOlkI0LuO2x9T/VbBBybgIOpk0vF9VoPeutC9L6lE5ptpX6CZn1LOZpWjyEX8aeGFANbpEy2zxMbRz/NyGnjB/LXj9qUrDFDQdxVJhOlYnDEsXeJGapbLVInMqkh7RAT6CoRItW5z3ap7Al/sYMj/c1uNEYHusd/azlDk5KyiBstWy9zuEn7tPkoEYkizEnJbISyQDRJYXOHMl5xEm+ljL0s1m7RI/A8tsog09siBUR6soKJ4Z/C6aecTxvS51OJfchGxo3nQJpK+I/5zq8hI7g8fNLcM3X5qf1ufTBhf9XBcJU9nbpUsum/ZF5Joqbal0nxPAfQZ0IhesxXkbTv1kawZIB28zXRwrp+iNYHh7ItysGwbKFJN+67YGon7eaRZWBai69pxRXytEwhILh7wPxpt3pjqaoSXrqWp2OJ+l4yNVQrphIRf+i7YqKdhTqAbUdQGwxHcg+X3yErJqejs3wvGeqO7RpKtMh/RlYT6kaWid37Tsxz83I5xDNVqXNVUkd5vYUcmiHqgJ+9x5Rd0MstpXCuq99Yom789ZxmR/PE+uH4QAAFnFJREFUV45nOSSsKd5BJfCF57b7W2U/W8zwaytRHEdG8MHt3UCXI5AjK6sAqYZH9Em/FtX5BPF+5noFEkz5CugNnOb8YfrVa7wNk82eAzRSkmpKng0h1WRHGSPasXp49uH6rXOJ0Q9Xj2c5GWzV6ncq8EOrcK/akkDMD4aq9RmGw0Li2QkmbxP3SeqAMF3nZZqMSMxWgFpWNlIdj2VOoOeMCohe5lBu3GTp88e+KZvG8yqDbyhAo8k3wlbptFJ5j1cr2lSrZo07S0V6+KfvMPYHOpYP7RlugBY9WlatfqsRzU+y3ftJu6FtE4GmQUFIjwp3iwkr7VBLSF8kGG8yIukELSOwZIX+iZ0poS+aheBUeBdmk2HeCmc8994HBkVOsVxMz2bBo+k4MNRKVmolbF8jH881tc/F6+mGZjy2Xpzivz7DNtzHOHSNdpQ5pO1YLBQ4QDUGEcDWDYV76XHAhQRJyv5WirzToXO8RMpncE3vrOn6ySjP46K7kTP/nkN0P0oVCyf2yqSJ9h2G4qjNcmHsc9qXZ99bLIn/jHxXNzDLdcyo06EbYVA+CNqjPfCQ0MDOdnO3uT6Oq5Wxkpzjwdz09tyVQa4GCrUH4cWBzC+OZItGM7vYf4gvdDc0t573SbGj+0YKO3S856ASdsyusiFaC+su+u5m7PjzOTwgdyaWueq+P2c3KKuTC5McpLdFI5r1D+GZBB0I6cohgcU0nWjx8EzHAzn8Ex2/fS7prLWGp2gWvYHxSe8bxBYYM60w6T/gr5T+ZpraFoYncizZUlGSMkrfbr+ujviQESzz8CzUnILex/PmlLZ93zXHlv8nvwHZMdHQ2v2v/bawf/h2clRVOKRTl9cYE3Rp7TXfxW7eKgsmWirXw3qOCNp8lKrfjP67ShI25VCAKBvzf/VVl97MeplMtEbNNEcVextlTKxC0Z6VebZTAFsVlKei9U4Pxmr/+SF47vsf0Q2+EyY6bPdjiN49FN2e5kzxfBtwoqS1qxTi5q5KuQOAxZ/xPfTOUdeSCw5+Xx/NMIi59Ko0E7VOU7/tTCXlbMWelEOWibpRPGxela+eCzlTs1EmvG/uMsgcKSE00FT+aSsnZTsPz/BIWIFul2uio8CRRQ6UDBPGHZ3HxgjVsWQjkG4IpL3kgI0LgV2Uaf7slTECas+lQMCnskopEo2OzzIScloiBIg/N/nIktngGBiyNOyVeSZB3l5ZZ/mhDhV/0Udh/3GzzpOJDiV9TPiltOpSX50COFCuAoCqSfjSe08nJJAepF2JwwH5ZLfml172c2A/Ebp5fF4T2yyUIacyr86vrrkH7LTLvPQlWG+lwtFDydYKlO5cUPnDlsNZppbvaEpui+SM1S1Jt2Cidc+t8jrkH8Mjdm95rNCsrnLHJMuXVprXcawwBsQ2A7jdmtl/A88YGMTCqV5hV8OZdiQw0d54q/bs94c4gsTxNViKxX4h6YFp+xjrKpEg7C9J/M0XnJ+FZtmLs4/n6P5moGee51knO3X3ERhEt13ga38ITQVIhyy6GtL7uZyWMWxuSJV8IbCly6Hyy7kB+MzrtQqA942XOb/yubECTBVC5cBZUYBltt2Wx5kp2umchiQ4mmJ/QhV8sY2X4zm8Gei5S4tPhHZawiBaUBFbuQTtSjdRWA1GC5kkQGbTMZuRu3QHA9gM/dEn4Cw0rcrMFkbYnC1liX0VMdNAzfFyIDp4dyEtlxJcer3i0jJgAUk3wuDyIUt0hHDOwPofxBcRZKPRUC7kdjl2prP5Iz1TrBG9kdGHb5AxgmED/m4IcQwrjBZzEWyYNgYgNvyz1tpSi8Xlv9m7tuy2cSQqQlkAQar/ASj5D03mvxPSC5hpOzvw/rcwxLsAFEBSshKnB+iT47Zl60FeFG69bkmtc0d/8iqhkJOQQPn04OvCD0RsNWELPOcxvoTPr6tltkSsl0oeUluJBEOFyARyJpeXJ1XDXw30xvrytzcaz0ZS92wQ/UnX6DZRbEMSveQe6fs27KqpF3jnLBSr222uiY9VmL/hbbM6Y10a44ipcoRb4ga0HfU+5Skz2jmKdOxNcbh7ndA6yz4qFdInFt02wB/OyGr8nML1/6V7Lps8v1UGvbGewTWUl7r1iCamvZBdl3BYpCyrabAhCxSfKonCIZMLYaJorolAphWCHSA10aVxnhhmSoWJOqtdcJcKmbCJd5d6GUatDj+DEY6KTcDrJKjU+IKxI2ct5Iws8ADwXshF8UEZ8PhUDfRm6O4/4WGorrcR5mmsxqg6FVlgjFtUse20JW4HmSkpzIIvjNgM0t9xxIXKN05XAtFiIJxmWffUqWKKJwF3CfQAd8E5eduOTIXmeAhaIMbotPN8LmR2BIjK98o8Kwc+zLLUhYfuvkbE4fllbM/aHfk0uwCSnMXTBkaakT5tTlkNH0WFdWOEakBovyq7A9aHV1OuK9R2dGzZ8jkJ6w5hE7Qz3p90+xCBAwECz8VXST4fnjhaL1DnjgeZqIx8Q++KNGHKtVncYFP+vHQuxPqvHXj8rqG7ZNevZno2Iv0T9Y426eGMIMWiESNN1NTsHsoopQ3gmkYLQEb3MlfIs1NUuZpA6Rb6KIcx6RrauuhasxuzUVLEZiGNkHEpuYGlQQnI/a8EO55NCn3Fa2S3FzeBdrLRpy8/jFJKXVvrc8rLpOOiRPyb72AGpNQsBpBWLDpgiFwe9Do7qIvLBJivg0bZQkq6ywnTK87PKCMcwIWhplXR3X6LVmTy1SQNWQsqmyO9nYfcuTMhOc3dadgSLy8fcXSDMYxukMnxbUk4/qoE+ibSYfy7Z9WJ9fnvJh6o0oJvOsYdxOVENwpMcj/OyzyUYCqgKSxnKuBjsOYNkobN8Jozo5zugTR8M5q1dKHlJnLwvT8sTMWKHqehP5ntWBQxnE+9v46XQNSVu3aK/tUD/VtLpto4uDf09YIesP1POZdiaptAa56BVgt1agqqvtcYOcehOKWVlY/CWW1wQEXjsJ2NIxu+0ff51tjy1hE4PdlkN5l0oex6HzrcNbQegtmwPOmxhDGiS1AD5qoNgrbkTz9gFK+ujXXG937z/Da3jewqHCLjAorDVkiv96s3uGzaLDAyHl1yjKezgTSU0gHhNjixhWqBjdkMG1lsCWk0us1rJbD4r/tla5S4OX8EolXCAXML7LMri+ZhS/LSL7XR6sD6grMzMb0s3/nSiWnuOBymCdMq6zfeemGAhijFCjcIQQhDpLohO/MysLU1o3mmkXnQDiP3co/e4yyHObjsGNhm/B2k0mHww/8okIq2sbsmHDN2+uttbitKj6yc/zzN0yy7117fXhaYEAjKOZRsvQZBUVnl5CxqAhhRglEpsheI2qKeZ4Hv4ELmpHCkaM+0Lw/8Mu/G8LDkSaB5DqSibd0MuSxhOOTbWzXPR2n0twyiL3IU5HpTmmmgI7zOoUKSUHd5xeTTVviNeLxkmAmAgCv9kCjBcD74bIir8mTlwyLeDyzzAE9Eqe0PYvGk1EXVexN1PQPzDPFsqxjDgg5Fpn9+rQg9jOjnjBG4LoOeziTNEixFP9FI9EsavH7eKcZoPL0E1Bzhz4KnLqDV3Pe0A7BqTbXp/RdFxHX9LFIzEGm/gH1PeCSlCWpgzkPCnhOJqsvS/7fi8xYbnfGim2n+9o8yP7IobHpSDXrzOHQqU5CMrj8JvrfEx/lhpxx/NsDQHEW46iHsBfwEYpcXfMh1Ar4kKRRS4fPieB8U3jYj8xe5g1/986zWZGEVnrcgepozF65ffr4tar3+XP+TYFaJk06FpUOfR7cVKkcNDQKISN6oHAKxFUWAsCgbzpFfD0W/Vrt+DwwIx2u0gXkuikMhUUEZ5lOTnp2XSCyeiZHykV9DUS8pxHaphOPGdVmy1Z+XH+Y2S3CPJo2goneiH2HyxDXyIQltHpBSEK2D+WwW+Wz7YXllxmpCoPFb+gaE1tZNCjQE2F0lkWhEY4lLF2NQ1X7UDPBojLV2vfN8SarMVyJ4rvnBm1ezvOTOaTAo8vq66ClBNtslC2/cjb+y4Ny1t1YlzyLOHPSJSNsbEujhoM6ujLCYylCo8ntU6gYeCsyxHJ/dyUEWxgPT2W5Dx6FxV72F+uLZJk2kte0kCV4lHPcsuh6KKP1lkyN/pBnpaCifTbFIvJpxI2FFhTDlmnhQTiD1/D5mcPRO0pV2MIMY4crtCD0idYNoPRmpyA4WapQ2SSphw1dXI/oT42Cu3oj5bWS+mLIilXDc6/TIKvV5SDgwAQx7PSz5pESoQBBK+WKDDtKCaIRR99/wDKPV+3hctx/XjfDnCxVttKt2PI/YqYjDC+Y5lTuVkv84QWlcnCiQMnBH4Xf9r647vcOG9qr3YgnSYefvEPWyvl+LpIS9WLLhZFxGoOMmBNnUTmICEf0iKtxB6W5lXgIb8kaGnQWbbuCuPV8oA0klHRsVlsE+QeNCHg1ink/NrP/V9R6gViDoJ+imwMNPjpQ140FIOptdRaRHM0qFebzcFnggfCekCbRm6YQVGKPGHtn77sp4Tou0RYagXN11u2KJbUmew0rHuu5fYgIF/uMpRLSs40WMNDC8BM4PJOIeTO+AdMOBhW7NIK+Qagh8noU3zT7flxNWKOEZo8+53cgdnns0Xro6LWSqeH5/Tu3LZM5PMaL5bBz0oVz17OopOazlIBh/zszb3BOtoKCSpGHC/V1cPCJU5kb3dfEurax207AwClLGc/yT1aHI7ESvpj2hwdL1PCRTdQgfwT78ZQ1aqRUDtLmuphgwJoA1kEC1tgtFakErCujzA+G0kpnmLch20xMLfMJwYKyMEPI4TJjsJGSmc7GMOn6MUKRgOsZzgx9v0hm81JKkB9EOa/jOP045RJ/oRl9TGA8jG2E5jbo49jFOs3Y2BdpRCAqSkqo/1W0LMdyB5vGSu8rB1iqeEpE7KAOZYxb9rijpOqKs4jyvhqTi+UGrcRwvVLtQrMPX12z1NRF+o5y/iYEQRYFHOIHFcQliTKc10Zy94+cnYkeXF6zx4KbDnG3iuR9Z5opXPD9wuYjdOSR1RIYSQAXkptcnbp1QkcKrizoKDfXR9o50siXAHQV0z4oV+hOh/pL+nvQihMtwSstfGpnVW3GDEa81WM++puL5keuzBXIfAVTemutTcNCWg7niyLy3UuhspTi9UZHTUW/hakaJkFlLjRpewGqAW843cZ4x0urYGNyvMktAcuy5VzKNq7eYiw6Rqb3WeN1jlz0Zm6+xZerikO8WsxD3DF0JXkiZX4Mfa0lVQXYvxyk+RFddBOVSxM55pnmJkIh1jaOUy5U7aHx+wWNDZOr6mVXMPTZ4Z0nHhaXHZ5yVO21kQo5VVxyBm5pf9ahKaIvJXs0PcqERpCIwkxmUapbrsWKc6LETPTYXvZnGaaiIe/SyvKIZYhvEB//D3cxC0IfNXLlThRHZJDysAVwJxjyaSEuqhYeI0Tg4d86H4Fqmg9AE0nwlJJVuPH6Ri3G3pA9I2tN1pOOTRTS7tpgZ7jbjePdJQj/6IwtOk75C/W4Jz5ROgSJwMJGIaeha3xXCWDUYM2CeX/fqt9Z15+21dmN1uMYnZbAtd26o6Bl2OG/FNAjMeaC+2m+jWPunA4VUSgOc0DB6LdX5B410kVBurkTTdJPb68tQ4fyLlmuw4EOrxSQImIWMB5maXTENTPK5GHDAH84O3jx2BuRrmDbR3HlFsFARpx/cGx9oy5B3KWcJPb/8U8nzL0W0I6eN+eKYBjfZRCIiFfLjHSPhqa8OeVN5ARLmTl8XxN0iBuCE8PbPBRC0pK+3C82nOG4ppVgXOXFipMOQ3yYq9FfHHP/aJRLRftCFrxRgeWpGO3HXINljbxBMUwmS34SJLj/v3pZd9xmZ1B2vanaSrzcxn39QPqQuCmf5J1Bh6co1fv3qI0ifv3r7PVPWxDdF2ClX49GD/3ZQdwbTSKiA5bOGNw6XC9oCXJErByfChiqkrPgYB1pt8+9yDWUoFdx64AxeKcUZoOo07X0Py8NdPd1y9Q6p44CwR3EO4XTNTgGcoynQ+QS4fJfyonQfNcrz/wJp3qvyIHNfgZRV0aGRVWsS0ryjj0qrBIyW0vY+KMcVrh3mhTJoahWcQ5eBZM2zvorVMH8QUKupO0oxpfGGsNmEkEPF1mihbbsJkt5WVcz+wEwzZgY4oaB0NkAY1CINRR+SpLFzB+eAdOWaw6XCblfB/OF8RCmeIq7eBlGLN1bGI1f7QaoIHSQgJNBnHIfV5A+hEC51I755m24BgZZZZ9XpjmxwA+fwp7ifhyns1vVB1oqq3gfzOp+R2HHHbJHaXmPFg6kUGtFjIFVTqtYnZm2+DDsMNu33xW2PHCc9vK9E40Ov1Uw71iEJMjuVBxAmES85ZWKM2q1wlmO8MQ6TzoLT30tFjS8Yw5nk6pMqnD8+pP2MPXDmip0zLLUC7spAZhAGEQhqBMByIuMrfhuaNZBj+GaCdfx9C6fqetBt7fGCmiNaHIwIP0Iq6v8mQNccf7q0uK95d+TE7qPKxOiXjXFK8ALWXVoMdX0IIz1m/Bx2JE1oB0swiW9uIyLjNK22m/Oir0niAAM1TiHcHbeiiWcrS3B2gQc3yBEl1bp+u5Eec87doUGxvhjEGsHdOeEA0k0LMoVyuHKCQnUSbIPczx4scOg95plUtvGHGWkfvkUGZB5KpjhlXVmBdMCq+awGoRm6zk28b1Rvtdvi+ZseZ6p6TnLsuZrnP81Ir3dyq8H69mN/v5NGSzLpQpUj96CLO+tR7vAAkFYzHLiksuc/E9HM20IRzBUWx4e/3n5UcBQ9IppT5KZmYaEHsh0NxGRnMsDlNVb3p9IOsUmPu3IriI5ydLd2rBDBQ++PwAI7ZDSc0BxEJCx+fRIvWhYFCnMiv/9r79qSFQZhqGYFghsguAKG7uC6/zV5oaW8+gitzlibjB++qnVM0sMhOZmGG/DRpl22T9pag2rg5rBqQ+kLPLrns+tc80ZSm0fO55loXjgM5/UfkwPvTyvygwGLeTC54fSQT8WrwXMl6eB33t1UWllxt3bopHbl+OMGIJDlziElLcApW7exNCaE1hAFZST1dSBLsTFHPjN6PrRdCQ5YDjKGqUwMQzMTUPYBc7bBQdmrbWs3DUMHcWN56xzc4PR8eBOGkFP1iKUXZk4Mm9qrHEGxUdhfJeSjUX4ogOfldUDTlYlXgz9CdxDL7TSush46EBFqAeVk3xbeKy8PS8ffM+XR9YVFrhA8l/pM2I7v0pjLHO75X8Hncmunk11RmaTjQ+lVw3GmuB/FBnP+KW5EYMFb3T9GeOi69mGzT/v9kM4tG3GMExVwr0qJ7oh+vaqL3x1EKcZbPB3/BC3iXAfWmK4Fad2nBaPn3/ZvubtB1nczugHDwhivoev0/I1/6Dg+lJOd24SS/sZV720dWGhuFzyDKY37MnU2plPKNjADNZ28DQzlo3IntUfZnU+UqnF317e6wLY4SEIgwdHtol/pJPEsPcMbfh3bQeH1rpViszPP5WKIbp0XBy6I5rk+Kh2F+wkKe2xn4UE+9/mDBM6V8jWjwFOcVFh2iafxoPXd/jmRaCO/RCyV7Xsg9aZEPUO8xer9//tyuPu+LJ9RNqjcJETFfyPbFB4gLepwRS8Gq6FYbz1V4DzMRvKUWgG6yIemH3Qle2pu0aWUBpW8/AK/EJxEp/VKRgAAAABJRU5ErkJggg==", Pt = { class: "feed-skill-content flex flex-col gap-md" }, me = /* @__PURE__ */ p({
|
|
310
|
+
name: "FeedSkillContent",
|
|
311
|
+
__name: "FeedSkillContent",
|
|
312
|
+
props: {
|
|
313
|
+
text: {},
|
|
314
|
+
skill: { default: void 0 },
|
|
315
|
+
skillBackgroundUrl: { default: void 0 },
|
|
316
|
+
skillCardSize: { default: N.S },
|
|
317
|
+
showStartSkill: { type: Boolean, default: void 0 },
|
|
318
|
+
startSkillLabel: { default: void 0 },
|
|
319
|
+
contentClass: { default: void 0 },
|
|
320
|
+
internalLinkPattern: { default: void 0 }
|
|
321
|
+
},
|
|
322
|
+
emits: ["start-skill", "skill-click"],
|
|
323
|
+
setup(e, { emit: r }) {
|
|
324
|
+
const l = e, n = r, a = G(), s = u(() => !!a.skill), m = u(
|
|
325
|
+
() => s.value || !!l.skill
|
|
326
|
+
), b = u(
|
|
327
|
+
() => l.showStartSkill !== !1 && !!l.startSkillLabel
|
|
328
|
+
), g = u(() => m.value ? {
|
|
329
|
+
backgroundImage: `url(${l.skillBackgroundUrl ?? Lt})`
|
|
330
|
+
} : void 0);
|
|
331
|
+
function S() {
|
|
332
|
+
n("start-skill");
|
|
333
|
+
}
|
|
334
|
+
function v() {
|
|
335
|
+
n("skill-click");
|
|
336
|
+
}
|
|
337
|
+
return (x, w) => (t(), i("div", Pt, [
|
|
338
|
+
m.value ? (t(), i("div", {
|
|
339
|
+
key: 0,
|
|
340
|
+
class: "w-full overflow-hidden rounded-lg bg-surface-1 dark:bg-surface-1-dark",
|
|
341
|
+
style: oe(g.value)
|
|
342
|
+
}, [
|
|
343
|
+
T(x.$slots, "skill", {}, () => [
|
|
344
|
+
e.skill ? (t(), c(f(tt), {
|
|
345
|
+
key: 0,
|
|
346
|
+
skill: e.skill,
|
|
347
|
+
size: e.skillCardSize,
|
|
348
|
+
onClick: v
|
|
349
|
+
}, null, 8, ["skill", "size"])) : y("", !0)
|
|
350
|
+
])
|
|
351
|
+
], 4)) : y("", !0),
|
|
352
|
+
O(f(K), {
|
|
353
|
+
text: e.text,
|
|
354
|
+
"content-class": e.contentClass,
|
|
355
|
+
"internal-link-pattern": e.internalLinkPattern
|
|
356
|
+
}, null, 8, ["text", "content-class", "internal-link-pattern"]),
|
|
357
|
+
b.value ? (t(), c(f(J), {
|
|
358
|
+
key: 1,
|
|
359
|
+
class: "w-full md:w-auto",
|
|
360
|
+
variant: "outlined",
|
|
361
|
+
color: "primary",
|
|
362
|
+
onClick: S
|
|
363
|
+
}, {
|
|
364
|
+
default: M(() => [
|
|
365
|
+
q(C(e.startSkillLabel), 1)
|
|
366
|
+
]),
|
|
367
|
+
_: 1
|
|
368
|
+
})) : y("", !0)
|
|
369
|
+
]));
|
|
370
|
+
}
|
|
371
|
+
}), Tt = ["title", "sandbox", "src", "srcdoc"], ke = /* @__PURE__ */ p({
|
|
372
|
+
name: "FeedEmbed",
|
|
373
|
+
__name: "FeedEmbed",
|
|
374
|
+
props: {
|
|
375
|
+
title: {},
|
|
376
|
+
size: { default: "list" },
|
|
377
|
+
src: { default: void 0 },
|
|
378
|
+
srcdoc: { default: void 0 }
|
|
379
|
+
},
|
|
380
|
+
setup(e) {
|
|
381
|
+
const r = e, l = u(() => nt[r.size]), n = u(() => !!(r.src || r.srcdoc));
|
|
382
|
+
return (a, s) => n.value ? (t(), i("div", {
|
|
383
|
+
key: 0,
|
|
384
|
+
class: E(["feed-embed w-full overflow-hidden rounded-lg bg-surface-1 dark:bg-surface-1-dark", e.size === "fill" ? "flex h-full min-h-0 flex-1 flex-col" : void 0])
|
|
385
|
+
}, [
|
|
386
|
+
B("iframe", {
|
|
387
|
+
class: E(l.value),
|
|
388
|
+
title: e.title,
|
|
389
|
+
sandbox: f(lt),
|
|
390
|
+
src: e.src || void 0,
|
|
391
|
+
srcdoc: e.srcdoc || void 0
|
|
392
|
+
}, null, 10, Tt)
|
|
393
|
+
], 2)) : y("", !0);
|
|
394
|
+
}
|
|
395
|
+
}), fe = /* @__PURE__ */ p({
|
|
396
|
+
name: "FeedHtmlContent",
|
|
397
|
+
__name: "FeedHtmlContent",
|
|
398
|
+
props: {
|
|
399
|
+
title: {},
|
|
400
|
+
content: {},
|
|
401
|
+
size: { default: "list" }
|
|
402
|
+
},
|
|
403
|
+
setup(e) {
|
|
404
|
+
return (r, l) => (t(), c(ke, {
|
|
405
|
+
class: "feed-html-content",
|
|
406
|
+
title: e.title,
|
|
407
|
+
size: e.size,
|
|
408
|
+
srcdoc: e.content
|
|
409
|
+
}, null, 8, ["title", "size", "srcdoc"]));
|
|
410
|
+
}
|
|
411
|
+
}), ye = /* @__PURE__ */ p({
|
|
412
|
+
name: "FeedFileContent",
|
|
413
|
+
__name: "FeedFileContent",
|
|
414
|
+
props: {
|
|
415
|
+
title: {},
|
|
416
|
+
src: {},
|
|
417
|
+
size: { default: "list" }
|
|
418
|
+
},
|
|
419
|
+
setup(e) {
|
|
420
|
+
return (r, l) => (t(), c(ke, {
|
|
421
|
+
class: "feed-file-content",
|
|
422
|
+
title: e.title,
|
|
423
|
+
size: e.size,
|
|
424
|
+
src: e.src
|
|
425
|
+
}, null, 8, ["title", "size", "src"]));
|
|
426
|
+
}
|
|
427
|
+
}), Et = /^\$\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z0-9_]+)*)\}$/, jt = /\$\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z0-9_]+)*)\}/g;
|
|
428
|
+
function re(e, r) {
|
|
429
|
+
if (!(e == null || typeof e != "object"))
|
|
430
|
+
return r.split(".").reduce((l, n) => {
|
|
431
|
+
if (!(l == null || typeof l != "object"))
|
|
432
|
+
return l[n];
|
|
433
|
+
}, e);
|
|
434
|
+
}
|
|
435
|
+
function ie(e, r) {
|
|
436
|
+
const l = e.trim().match(Et);
|
|
437
|
+
return l ? re(r, l[1]) : e.replace(jt, (n, a) => {
|
|
438
|
+
const s = re(r, a);
|
|
439
|
+
return s == null ? "" : String(s);
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
function Ot(e) {
|
|
443
|
+
return !!e && typeof e == "object" && !Array.isArray(e);
|
|
444
|
+
}
|
|
445
|
+
function Y(e, r) {
|
|
446
|
+
if (typeof e == "string")
|
|
447
|
+
return ie(e, r);
|
|
448
|
+
if (Array.isArray(e))
|
|
449
|
+
return e.map((n) => Y(n, r)).filter((n) => n !== void 0);
|
|
450
|
+
if (!Ot(e))
|
|
451
|
+
return e;
|
|
452
|
+
if (typeof e.$when == "string" && !ie(e.$when, r))
|
|
453
|
+
return;
|
|
454
|
+
const l = {};
|
|
455
|
+
for (const [n, a] of Object.entries(e)) {
|
|
456
|
+
if (n === "$when")
|
|
457
|
+
continue;
|
|
458
|
+
const s = Y(a, r);
|
|
459
|
+
s !== void 0 && (l[n] = s);
|
|
460
|
+
}
|
|
461
|
+
return l;
|
|
462
|
+
}
|
|
463
|
+
function Vt(e, r) {
|
|
464
|
+
return Y(e, r);
|
|
465
|
+
}
|
|
466
|
+
const Rt = {
|
|
467
|
+
theme: "dark",
|
|
468
|
+
embedSize: "list"
|
|
469
|
+
}, Nt = {
|
|
470
|
+
none: "",
|
|
471
|
+
xs: "mt-xs",
|
|
472
|
+
sm: "mt-sm",
|
|
473
|
+
md: "mt-md",
|
|
474
|
+
lg: "mt-lg",
|
|
475
|
+
xl: "mt-xl"
|
|
476
|
+
}, Mt = {
|
|
477
|
+
caption: "typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark",
|
|
478
|
+
body: "typography-body-2-regular text-on-background dark:text-on-background-dark",
|
|
479
|
+
headline: "typography-headline-3 text-on-background dark:text-on-background-dark"
|
|
480
|
+
}, be = {
|
|
481
|
+
default: "",
|
|
482
|
+
emphasis: "bg-surface-2 dark:bg-surface-2-dark rounded-lg p-md",
|
|
483
|
+
success: "bg-success-container dark:bg-success-container-dark text-on-success-container dark:text-on-success-container-dark rounded-lg p-md",
|
|
484
|
+
warning: "bg-warning-container dark:bg-warning-container-dark text-on-warning-container dark:text-on-warning-container-dark rounded-lg p-md",
|
|
485
|
+
attention: "bg-primary-container dark:bg-primary-container-dark text-on-primary-container dark:text-on-primary-container-dark rounded-lg p-md"
|
|
486
|
+
};
|
|
487
|
+
function Ft(e) {
|
|
488
|
+
return {
|
|
489
|
+
...Rt,
|
|
490
|
+
...e
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
const ve = Symbol("idwCardForm");
|
|
494
|
+
function ge() {
|
|
495
|
+
const e = Be(ve);
|
|
496
|
+
if (!e)
|
|
497
|
+
throw new Error("IdwCard form controls must be rendered inside CardRenderer");
|
|
498
|
+
return e;
|
|
499
|
+
}
|
|
500
|
+
const xe = "approval", At = V.object({
|
|
501
|
+
title: V.string(),
|
|
502
|
+
summary: V.string(),
|
|
503
|
+
requester: V.string(),
|
|
504
|
+
dueAt: V.string().optional(),
|
|
505
|
+
facts: V.array(V.object({
|
|
506
|
+
title: V.string(),
|
|
507
|
+
value: V.string()
|
|
508
|
+
})).optional(),
|
|
509
|
+
approveLabel: V.string().default("Approve"),
|
|
510
|
+
rejectLabel: V.string().default("Reject")
|
|
511
|
+
}), Ut = {
|
|
512
|
+
type: "IdwCard",
|
|
513
|
+
schema: ce,
|
|
514
|
+
version: de,
|
|
515
|
+
body: [
|
|
516
|
+
{
|
|
517
|
+
type: "Text",
|
|
518
|
+
text: "${title}",
|
|
519
|
+
textStyle: "headline"
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
type: "Text",
|
|
523
|
+
text: "${summary}",
|
|
524
|
+
textStyle: "body",
|
|
525
|
+
spacing: "sm"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
type: "FactSet",
|
|
529
|
+
spacing: "md",
|
|
530
|
+
facts: [
|
|
531
|
+
{
|
|
532
|
+
title: "Requester",
|
|
533
|
+
value: "${requester}"
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
title: "Due",
|
|
537
|
+
value: "${dueAt}",
|
|
538
|
+
$when: "${dueAt}"
|
|
539
|
+
}
|
|
540
|
+
]
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
type: "FactSet",
|
|
544
|
+
spacing: "sm",
|
|
545
|
+
$when: "${facts}",
|
|
546
|
+
facts: "${facts}"
|
|
547
|
+
}
|
|
548
|
+
],
|
|
549
|
+
actions: [
|
|
550
|
+
{
|
|
551
|
+
type: "Action",
|
|
552
|
+
verb: "approve",
|
|
553
|
+
title: "${approveLabel}",
|
|
554
|
+
style: "primary"
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
type: "Action",
|
|
558
|
+
verb: "reject",
|
|
559
|
+
title: "${rejectLabel}",
|
|
560
|
+
style: "destructive"
|
|
561
|
+
}
|
|
562
|
+
]
|
|
563
|
+
}, Dt = {
|
|
564
|
+
id: xe,
|
|
565
|
+
version: "1.0",
|
|
566
|
+
card: Ut,
|
|
567
|
+
dataSchema: At
|
|
568
|
+
};
|
|
569
|
+
function Q(e, r) {
|
|
570
|
+
return {
|
|
571
|
+
type: "IdwCard",
|
|
572
|
+
schema: ce,
|
|
573
|
+
version: de,
|
|
574
|
+
body: e
|
|
575
|
+
};
|
|
576
|
+
}
|
|
577
|
+
function en(e) {
|
|
578
|
+
return Q([{
|
|
579
|
+
type: "Text",
|
|
580
|
+
text: e
|
|
581
|
+
}]);
|
|
582
|
+
}
|
|
583
|
+
function tn(e, r) {
|
|
584
|
+
return Q([{
|
|
585
|
+
type: "Html",
|
|
586
|
+
title: e,
|
|
587
|
+
content: r
|
|
588
|
+
}]);
|
|
589
|
+
}
|
|
590
|
+
function ln(e, r) {
|
|
591
|
+
return Q([{
|
|
592
|
+
type: "File",
|
|
593
|
+
title: e,
|
|
594
|
+
src: r
|
|
595
|
+
}]);
|
|
596
|
+
}
|
|
597
|
+
function nn(e) {
|
|
598
|
+
return Q([{
|
|
599
|
+
type: "Skill",
|
|
600
|
+
text: e.text,
|
|
601
|
+
skill: e.skill,
|
|
602
|
+
startSkillLabel: e.startSkillLabel
|
|
603
|
+
}]);
|
|
604
|
+
}
|
|
605
|
+
const Wt = {
|
|
606
|
+
[xe]: Dt
|
|
607
|
+
};
|
|
608
|
+
function qt(e) {
|
|
609
|
+
return Wt[e];
|
|
610
|
+
}
|
|
611
|
+
function Ht(e) {
|
|
612
|
+
if ("card" in e) {
|
|
613
|
+
const a = ae(e.card);
|
|
614
|
+
return a.success ? a : {
|
|
615
|
+
...a,
|
|
616
|
+
fallbackText: qe(e.card)
|
|
617
|
+
};
|
|
618
|
+
}
|
|
619
|
+
const r = qt(e.templateId);
|
|
620
|
+
if (!r)
|
|
621
|
+
return {
|
|
622
|
+
success: !1,
|
|
623
|
+
issues: [{
|
|
624
|
+
path: "templateId",
|
|
625
|
+
message: `Unknown template: ${e.templateId}`
|
|
626
|
+
}]
|
|
627
|
+
};
|
|
628
|
+
const l = r.dataSchema.safeParse(e.data);
|
|
629
|
+
if (!l.success)
|
|
630
|
+
return {
|
|
631
|
+
success: !1,
|
|
632
|
+
issues: l.error.issues.map((a) => ({
|
|
633
|
+
path: a.path.join("."),
|
|
634
|
+
message: a.message
|
|
635
|
+
}))
|
|
636
|
+
};
|
|
637
|
+
const n = Vt(r.card, l.data);
|
|
638
|
+
return ae(n);
|
|
639
|
+
}
|
|
640
|
+
function Qt(e = "default") {
|
|
641
|
+
return e === "primary" ? {
|
|
642
|
+
variant: "contained",
|
|
643
|
+
color: "primary"
|
|
644
|
+
} : e === "destructive" ? {
|
|
645
|
+
variant: "outlined",
|
|
646
|
+
color: "danger"
|
|
647
|
+
} : {
|
|
648
|
+
variant: "outlined",
|
|
649
|
+
color: "primary"
|
|
650
|
+
};
|
|
651
|
+
}
|
|
652
|
+
const Xt = { class: "idw-card-action-bar mt-lg flex min-w-0 flex-wrap items-center gap-sm" }, he = /* @__PURE__ */ p({
|
|
653
|
+
name: "IdwCardActionBar",
|
|
654
|
+
__name: "IdwCardActionBar",
|
|
655
|
+
props: {
|
|
656
|
+
actions: {}
|
|
657
|
+
},
|
|
658
|
+
emits: ["action"],
|
|
659
|
+
setup(e, { emit: r }) {
|
|
660
|
+
const l = r;
|
|
661
|
+
function n(a) {
|
|
662
|
+
l("action", {
|
|
663
|
+
verb: a.verb,
|
|
664
|
+
title: a.title,
|
|
665
|
+
data: a.data,
|
|
666
|
+
url: a.url,
|
|
667
|
+
skillId: a.skillId,
|
|
668
|
+
targetIds: a.targetIds,
|
|
669
|
+
card: a.card
|
|
670
|
+
});
|
|
671
|
+
}
|
|
672
|
+
return (a, s) => (t(), i("div", Xt, [
|
|
673
|
+
(t(!0), i(z, null, L(e.actions, (m, b) => (t(), c(f(J), ze({
|
|
674
|
+
key: m.title + b
|
|
675
|
+
}, { ref_for: !0 }, f(Qt)(m.style), {
|
|
676
|
+
type: "button",
|
|
677
|
+
onClick: (g) => n(m)
|
|
678
|
+
}), {
|
|
679
|
+
default: M(() => [
|
|
680
|
+
q(C(m.title), 1)
|
|
681
|
+
]),
|
|
682
|
+
_: 2
|
|
683
|
+
}, 1040, ["onClick"]))), 128))
|
|
684
|
+
]));
|
|
685
|
+
}
|
|
686
|
+
}), Zt = /* @__PURE__ */ p({
|
|
687
|
+
name: "IdwCardActionSetElement",
|
|
688
|
+
__name: "ActionSetElement",
|
|
689
|
+
props: {
|
|
690
|
+
element: {}
|
|
691
|
+
},
|
|
692
|
+
emits: ["action"],
|
|
693
|
+
setup(e, { emit: r }) {
|
|
694
|
+
const l = r;
|
|
695
|
+
return (n, a) => (t(), c(he, {
|
|
696
|
+
actions: e.element.actions,
|
|
697
|
+
onAction: a[0] || (a[0] = (s) => l("action", s))
|
|
698
|
+
}, null, 8, ["actions"]));
|
|
699
|
+
}
|
|
700
|
+
}), Yt = /* @__PURE__ */ p({
|
|
701
|
+
name: "IdwCardBadgeElement",
|
|
702
|
+
__name: "BadgeElement",
|
|
703
|
+
props: {
|
|
704
|
+
element: {}
|
|
705
|
+
},
|
|
706
|
+
setup(e) {
|
|
707
|
+
const r = e, l = {
|
|
708
|
+
default: "bg-surface-2 dark:bg-surface-2-dark text-on-surface dark:text-on-surface-dark",
|
|
709
|
+
emphasis: "bg-surface-2 dark:bg-surface-2-dark text-on-surface dark:text-on-surface-dark",
|
|
710
|
+
success: "bg-success-container dark:bg-success-container-dark text-on-success-container dark:text-on-success-container-dark",
|
|
711
|
+
warning: "bg-warning-container dark:bg-warning-container-dark text-on-warning-container dark:text-on-warning-container-dark",
|
|
712
|
+
attention: "bg-primary-container dark:bg-primary-container-dark text-on-primary-container dark:text-on-primary-container-dark"
|
|
713
|
+
}, n = u(() => [
|
|
714
|
+
"inline-flex w-fit items-center rounded-md px-sm py-xs typography-caption-semibold",
|
|
715
|
+
l[r.element.tone ?? "emphasis"]
|
|
716
|
+
]);
|
|
717
|
+
return (a, s) => (t(), i("span", {
|
|
718
|
+
class: E(n.value)
|
|
719
|
+
}, C(e.element.text), 3));
|
|
720
|
+
}
|
|
721
|
+
}), Gt = { class: "idw-card-column-set flex min-w-0 flex-wrap items-center gap-sm" }, Jt = /* @__PURE__ */ p({
|
|
722
|
+
name: "IdwCardColumnSetElement",
|
|
723
|
+
__name: "ColumnSetElement",
|
|
724
|
+
props: {
|
|
725
|
+
element: {},
|
|
726
|
+
hostConfig: {}
|
|
727
|
+
},
|
|
728
|
+
emits: ["action", "skill-click"],
|
|
729
|
+
setup(e, { emit: r }) {
|
|
730
|
+
const l = r;
|
|
731
|
+
function n(a) {
|
|
732
|
+
return a === "auto" ? "min-w-0 shrink" : "min-w-0 flex-1";
|
|
733
|
+
}
|
|
734
|
+
return (a, s) => (t(), i("div", Gt, [
|
|
735
|
+
(t(!0), i(z, null, L(e.element.columns, (m, b) => (t(), i("div", {
|
|
736
|
+
key: b,
|
|
737
|
+
class: E(n(m.width))
|
|
738
|
+
}, [
|
|
739
|
+
(t(!0), i(z, null, L(m.items, (g, S) => (t(), c($, {
|
|
740
|
+
key: g.id || S,
|
|
741
|
+
element: g,
|
|
742
|
+
"host-config": e.hostConfig,
|
|
743
|
+
onAction: s[0] || (s[0] = (v) => l("action", v)),
|
|
744
|
+
onSkillClick: s[1] || (s[1] = (v) => l("skill-click"))
|
|
745
|
+
}, null, 8, ["element", "host-config"]))), 128))
|
|
746
|
+
], 2))), 128))
|
|
747
|
+
]));
|
|
748
|
+
}
|
|
749
|
+
}), Kt = { class: "idw-card-container flex min-w-0 flex-col" }, $t = /* @__PURE__ */ p({
|
|
750
|
+
name: "IdwCardContainerElement",
|
|
751
|
+
__name: "ContainerElement",
|
|
752
|
+
props: {
|
|
753
|
+
element: {},
|
|
754
|
+
hostConfig: {}
|
|
755
|
+
},
|
|
756
|
+
emits: ["action", "skill-click"],
|
|
757
|
+
setup(e, { emit: r }) {
|
|
758
|
+
const l = r;
|
|
759
|
+
return (n, a) => (t(), i("div", Kt, [
|
|
760
|
+
(t(!0), i(z, null, L(e.element.items, (s, m) => (t(), c($, {
|
|
761
|
+
key: s.id || m,
|
|
762
|
+
element: s,
|
|
763
|
+
"host-config": e.hostConfig,
|
|
764
|
+
onAction: a[0] || (a[0] = (b) => l("action", b)),
|
|
765
|
+
onSkillClick: a[1] || (a[1] = (b) => l("skill-click"))
|
|
766
|
+
}, null, 8, ["element", "host-config"]))), 128))
|
|
767
|
+
]));
|
|
768
|
+
}
|
|
769
|
+
}), _t = {
|
|
770
|
+
key: 0,
|
|
771
|
+
class: "idw-card-fact-set m-0 grid grid-cols-[max-content_minmax(0,1fr)] gap-x-md gap-y-sm"
|
|
772
|
+
}, el = { class: "m-0 typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark" }, tl = { class: "m-0 min-w-0 typography-body-2-regular text-on-background dark:text-on-background-dark" }, ll = /* @__PURE__ */ p({
|
|
773
|
+
name: "IdwCardFactSetElement",
|
|
774
|
+
__name: "FactSetElement",
|
|
775
|
+
props: {
|
|
776
|
+
element: {}
|
|
777
|
+
},
|
|
778
|
+
setup(e) {
|
|
779
|
+
return (r, l) => e.element.facts.length ? (t(), i("dl", _t, [
|
|
780
|
+
(t(!0), i(z, null, L(e.element.facts, (n, a) => (t(), i(z, {
|
|
781
|
+
key: `${n.title}-${a}`
|
|
782
|
+
}, [
|
|
783
|
+
B("dt", el, C(n.title), 1),
|
|
784
|
+
B("dd", tl, C(n.value), 1)
|
|
785
|
+
], 64))), 128))
|
|
786
|
+
])) : y("", !0);
|
|
787
|
+
}
|
|
788
|
+
}), nl = /* @__PURE__ */ p({
|
|
789
|
+
name: "IdwCardFileElement",
|
|
790
|
+
__name: "FileElement",
|
|
791
|
+
props: {
|
|
792
|
+
element: {},
|
|
793
|
+
hostConfig: {}
|
|
794
|
+
},
|
|
795
|
+
setup(e) {
|
|
796
|
+
return (r, l) => (t(), c(f(ye), {
|
|
797
|
+
title: e.element.title,
|
|
798
|
+
src: e.element.src,
|
|
799
|
+
size: e.hostConfig.embedSize
|
|
800
|
+
}, null, 8, ["title", "src", "size"]));
|
|
801
|
+
}
|
|
802
|
+
}), al = /* @__PURE__ */ p({
|
|
803
|
+
name: "IdwCardHtmlElement",
|
|
804
|
+
__name: "HtmlElement",
|
|
805
|
+
props: {
|
|
806
|
+
element: {},
|
|
807
|
+
hostConfig: {}
|
|
808
|
+
},
|
|
809
|
+
setup(e) {
|
|
810
|
+
return (r, l) => (t(), c(f(fe), {
|
|
811
|
+
title: e.element.title,
|
|
812
|
+
content: e.element.content,
|
|
813
|
+
size: e.hostConfig.embedSize
|
|
814
|
+
}, null, 8, ["title", "content", "size"]));
|
|
815
|
+
}
|
|
816
|
+
}), rl = /* @__PURE__ */ p({
|
|
817
|
+
name: "IdwCardIconElement",
|
|
818
|
+
__name: "IconElement",
|
|
819
|
+
props: {
|
|
820
|
+
element: {}
|
|
821
|
+
},
|
|
822
|
+
setup(e) {
|
|
823
|
+
return (r, l) => (t(), c(f(Te), {
|
|
824
|
+
icon: e.element.icon,
|
|
825
|
+
class: "text-on-background dark:text-on-background-dark"
|
|
826
|
+
}, null, 8, ["icon"]));
|
|
827
|
+
}
|
|
828
|
+
}), il = ["src", "alt"], ol = /* @__PURE__ */ p({
|
|
829
|
+
name: "IdwCardImageElement",
|
|
830
|
+
__name: "ImageElement",
|
|
831
|
+
props: {
|
|
832
|
+
element: {}
|
|
833
|
+
},
|
|
834
|
+
setup(e) {
|
|
835
|
+
return (r, l) => (t(), i("img", {
|
|
836
|
+
class: "idw-card-image max-w-full rounded-lg bg-surface-1 dark:bg-surface-1-dark",
|
|
837
|
+
src: e.element.url,
|
|
838
|
+
alt: e.element.alt
|
|
839
|
+
}, null, 8, il));
|
|
840
|
+
}
|
|
841
|
+
}), sl = { class: "idw-card-image-set flex min-w-0 flex-wrap gap-sm" }, dl = ["src", "alt"], cl = /* @__PURE__ */ p({
|
|
842
|
+
name: "IdwCardImageSetElement",
|
|
843
|
+
__name: "ImageSetElement",
|
|
844
|
+
props: {
|
|
845
|
+
element: {}
|
|
846
|
+
},
|
|
847
|
+
setup(e) {
|
|
848
|
+
return (r, l) => (t(), i("div", sl, [
|
|
849
|
+
(t(!0), i(z, null, L(e.element.images, (n, a) => (t(), i("img", {
|
|
850
|
+
key: `${n.url}-${a}`,
|
|
851
|
+
class: "size-16 rounded-md object-cover bg-surface-1 dark:bg-surface-1-dark",
|
|
852
|
+
src: n.url,
|
|
853
|
+
alt: n.alt
|
|
854
|
+
}, null, 8, dl))), 128))
|
|
855
|
+
]));
|
|
856
|
+
}
|
|
857
|
+
});
|
|
858
|
+
function X(e) {
|
|
859
|
+
if (e instanceof Date && !Number.isNaN(e.getTime()))
|
|
860
|
+
return e;
|
|
861
|
+
if (typeof e != "string" || !e.trim())
|
|
862
|
+
return;
|
|
863
|
+
if (/^\d{2}:\d{2}$/.test(e)) {
|
|
864
|
+
const [l, n] = e.split(":").map(Number), a = /* @__PURE__ */ new Date();
|
|
865
|
+
return a.setHours(l, n, 0, 0), a;
|
|
866
|
+
}
|
|
867
|
+
const r = new Date(e);
|
|
868
|
+
return Number.isNaN(r.getTime()) ? void 0 : r;
|
|
869
|
+
}
|
|
870
|
+
function H(e) {
|
|
871
|
+
return String(e).padStart(2, "0");
|
|
872
|
+
}
|
|
873
|
+
function ul(e) {
|
|
874
|
+
return !e || Number.isNaN(e.getTime()) ? "" : `${e.getFullYear()}-${H(e.getMonth() + 1)}-${H(e.getDate())}`;
|
|
875
|
+
}
|
|
876
|
+
function ml(e) {
|
|
877
|
+
return !e || Number.isNaN(e.getTime()) ? "" : `${H(e.getHours())}:${H(e.getMinutes())}`;
|
|
878
|
+
}
|
|
879
|
+
function kl(e) {
|
|
880
|
+
return !e || Number.isNaN(e.getTime()) ? "" : e.toISOString();
|
|
881
|
+
}
|
|
882
|
+
const fl = { class: "idw-card-input flex min-w-0 flex-col gap-xs" }, yl = {
|
|
883
|
+
key: 6,
|
|
884
|
+
class: "flex flex-col gap-xs"
|
|
885
|
+
}, bl = {
|
|
886
|
+
key: 0,
|
|
887
|
+
class: "typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark"
|
|
888
|
+
}, vl = {
|
|
889
|
+
key: 10,
|
|
890
|
+
class: "flex flex-col gap-xs"
|
|
891
|
+
}, gl = {
|
|
892
|
+
key: 0,
|
|
893
|
+
class: "typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark"
|
|
894
|
+
}, xl = {
|
|
895
|
+
key: 11,
|
|
896
|
+
class: "flex flex-col gap-xs"
|
|
897
|
+
}, hl = {
|
|
898
|
+
key: 0,
|
|
899
|
+
class: "typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark"
|
|
900
|
+
}, pl = {
|
|
901
|
+
key: 12,
|
|
902
|
+
class: "flex flex-col gap-xs"
|
|
903
|
+
}, wl = {
|
|
904
|
+
key: 0,
|
|
905
|
+
class: "typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark"
|
|
906
|
+
}, Cl = {
|
|
907
|
+
key: 13,
|
|
908
|
+
class: "flex flex-col gap-sm"
|
|
909
|
+
}, Sl = {
|
|
910
|
+
key: 0,
|
|
911
|
+
class: "grid grid-cols-2 gap-sm"
|
|
912
|
+
}, Bl = /* @__PURE__ */ p({
|
|
913
|
+
name: "IdwCardInputElement",
|
|
914
|
+
__name: "InputElement",
|
|
915
|
+
props: {
|
|
916
|
+
element: {}
|
|
917
|
+
},
|
|
918
|
+
setup(e) {
|
|
919
|
+
const r = e, l = ge(), n = u(() => l.getError(r.element.name)), a = u(() => l.getValue(r.element.name)), s = u(() => r.element.type === "Input.Text" && r.element.style === "password" ? "password" : "text"), m = u(() => {
|
|
920
|
+
if (r.element.type === "Input.Text") {
|
|
921
|
+
if (r.element.style === "email")
|
|
922
|
+
return "email";
|
|
923
|
+
if (r.element.style === "url")
|
|
924
|
+
return "url";
|
|
925
|
+
if (r.element.style === "tel")
|
|
926
|
+
return "tel";
|
|
927
|
+
}
|
|
928
|
+
}), b = u(() => typeof a.value == "string" ? a.value : ""), g = u(() => a.value), S = u(() => typeof a.value == "string" || typeof a.value == "number" ? a.value : void 0), v = u(() => r.element.type !== "Input.ChoiceSet" ? [] : r.element.choices.map((o) => ({
|
|
929
|
+
label: o.title,
|
|
930
|
+
value: o.value,
|
|
931
|
+
disabled: o.disabled
|
|
932
|
+
}))), x = u(() => {
|
|
933
|
+
const o = a.value;
|
|
934
|
+
return o && typeof o == "object" ? o : { address: "" };
|
|
935
|
+
});
|
|
936
|
+
function w(o) {
|
|
937
|
+
l.setValue(r.element.name, o);
|
|
938
|
+
}
|
|
939
|
+
function h(o, d) {
|
|
940
|
+
const k = Array.isArray(a.value) ? [...a.value] : [], j = d ? Array.from(/* @__PURE__ */ new Set([...k, o])) : k.filter((R) => R !== o);
|
|
941
|
+
w(j);
|
|
942
|
+
}
|
|
943
|
+
function I(o) {
|
|
944
|
+
w({ ...x.value, ...o });
|
|
945
|
+
}
|
|
946
|
+
return (o, d) => (t(), i("div", fl, [
|
|
947
|
+
e.element.type === "Input.Text" && e.element.multiline ? (t(), c(f(Ee), {
|
|
948
|
+
key: 0,
|
|
949
|
+
"model-value": b.value,
|
|
950
|
+
label: e.element.label,
|
|
951
|
+
placeholder: e.element.placeholder,
|
|
952
|
+
hint: e.element.hint,
|
|
953
|
+
error: n.value,
|
|
954
|
+
required: e.element.required,
|
|
955
|
+
disabled: e.element.disabled,
|
|
956
|
+
rows: e.element.rows || 3,
|
|
957
|
+
"onUpdate:modelValue": w
|
|
958
|
+
}, null, 8, ["model-value", "label", "placeholder", "hint", "error", "required", "disabled", "rows"])) : e.element.type === "Input.Text" ? (t(), c(f(U), {
|
|
959
|
+
key: 1,
|
|
960
|
+
"model-value": b.value,
|
|
961
|
+
type: s.value,
|
|
962
|
+
inputmode: m.value,
|
|
963
|
+
label: e.element.label,
|
|
964
|
+
placeholder: e.element.placeholder,
|
|
965
|
+
hint: e.element.hint,
|
|
966
|
+
error: n.value,
|
|
967
|
+
required: e.element.required,
|
|
968
|
+
disabled: e.element.disabled,
|
|
969
|
+
"onUpdate:modelValue": w
|
|
970
|
+
}, null, 8, ["model-value", "type", "inputmode", "label", "placeholder", "hint", "error", "required", "disabled"])) : e.element.type === "Input.Number" ? (t(), c(f(U), {
|
|
971
|
+
key: 2,
|
|
972
|
+
"model-value": a.value,
|
|
973
|
+
type: "number",
|
|
974
|
+
label: e.element.label,
|
|
975
|
+
placeholder: e.element.placeholder,
|
|
976
|
+
hint: e.element.hint,
|
|
977
|
+
error: n.value,
|
|
978
|
+
required: e.element.required,
|
|
979
|
+
disabled: e.element.disabled,
|
|
980
|
+
"onUpdate:modelValue": d[0] || (d[0] = (k) => w(k === "" || k == null ? void 0 : Number(k)))
|
|
981
|
+
}, null, 8, ["model-value", "label", "placeholder", "hint", "error", "required", "disabled"])) : e.element.type === "Input.Toggle" ? (t(), c(f(je), {
|
|
982
|
+
key: 3,
|
|
983
|
+
"model-value": !!a.value,
|
|
984
|
+
label: e.element.label,
|
|
985
|
+
required: e.element.required,
|
|
986
|
+
disabled: e.element.disabled,
|
|
987
|
+
"onUpdate:modelValue": w
|
|
988
|
+
}, null, 8, ["model-value", "label", "required", "disabled"])) : e.element.type === "Input.Checkbox" ? (t(), c(f(le), {
|
|
989
|
+
key: 4,
|
|
990
|
+
"model-value": !!a.value,
|
|
991
|
+
label: e.element.label,
|
|
992
|
+
required: e.element.required,
|
|
993
|
+
disabled: e.element.disabled,
|
|
994
|
+
"onUpdate:modelValue": w
|
|
995
|
+
}, null, 8, ["model-value", "label", "required", "disabled"])) : e.element.type === "Input.ChoiceSet" && e.element.style !== "expanded" ? (t(), c(f(Oe), {
|
|
996
|
+
key: 5,
|
|
997
|
+
"model-value": g.value,
|
|
998
|
+
options: v.value,
|
|
999
|
+
multiple: e.element.multi,
|
|
1000
|
+
"enable-search": e.element.style === "filtered",
|
|
1001
|
+
label: e.element.label,
|
|
1002
|
+
placeholder: e.element.placeholder,
|
|
1003
|
+
hint: e.element.hint,
|
|
1004
|
+
error: n.value,
|
|
1005
|
+
required: e.element.required,
|
|
1006
|
+
disabled: e.element.disabled,
|
|
1007
|
+
"onUpdate:modelValue": w
|
|
1008
|
+
}, null, 8, ["model-value", "options", "multiple", "enable-search", "label", "placeholder", "hint", "error", "required", "disabled"])) : e.element.type === "Input.ChoiceSet" ? (t(), i("div", yl, [
|
|
1009
|
+
e.element.label ? (t(), i("span", bl, C(e.element.label), 1)) : y("", !0),
|
|
1010
|
+
e.element.multi ? (t(!0), i(z, { key: 1 }, L(e.element.choices, (k) => (t(), c(f(le), {
|
|
1011
|
+
key: k.value,
|
|
1012
|
+
"model-value": Array.isArray(a.value) && a.value.includes(k.value),
|
|
1013
|
+
label: k.title,
|
|
1014
|
+
disabled: e.element.disabled || k.disabled,
|
|
1015
|
+
"onUpdate:modelValue": (j) => h(k.value, j)
|
|
1016
|
+
}, null, 8, ["model-value", "label", "disabled", "onUpdate:modelValue"]))), 128)) : (t(!0), i(z, { key: 2 }, L(e.element.choices, (k) => (t(), c(f(Ve), {
|
|
1017
|
+
key: k.value,
|
|
1018
|
+
"model-value": S.value,
|
|
1019
|
+
value: k.value,
|
|
1020
|
+
label: k.title,
|
|
1021
|
+
disabled: e.element.disabled || k.disabled,
|
|
1022
|
+
"onUpdate:modelValue": w
|
|
1023
|
+
}, null, 8, ["model-value", "value", "label", "disabled"]))), 128)),
|
|
1024
|
+
n.value || e.element.hint ? (t(), i("span", {
|
|
1025
|
+
key: 3,
|
|
1026
|
+
class: E(["typography-caption-regular", n.value ? "text-error dark:text-error-dark" : "text-on-surface-variant dark:text-on-surface-variant-dark"])
|
|
1027
|
+
}, C(n.value || e.element.hint), 3)) : y("", !0)
|
|
1028
|
+
])) : e.element.type === "Input.Date" ? (t(), c(f(Re), {
|
|
1029
|
+
key: 7,
|
|
1030
|
+
"model-value": f(X)(a.value),
|
|
1031
|
+
label: e.element.label,
|
|
1032
|
+
hint: e.element.hint,
|
|
1033
|
+
error: n.value,
|
|
1034
|
+
required: e.element.required,
|
|
1035
|
+
disabled: e.element.disabled,
|
|
1036
|
+
"onUpdate:modelValue": d[1] || (d[1] = (k) => w(f(ul)(k)))
|
|
1037
|
+
}, null, 8, ["model-value", "label", "hint", "error", "required", "disabled"])) : e.element.type === "Input.Time" ? (t(), c(f(Ne), {
|
|
1038
|
+
key: 8,
|
|
1039
|
+
"model-value": f(X)(a.value),
|
|
1040
|
+
label: e.element.label,
|
|
1041
|
+
hint: e.element.hint,
|
|
1042
|
+
error: n.value,
|
|
1043
|
+
required: e.element.required,
|
|
1044
|
+
disabled: e.element.disabled,
|
|
1045
|
+
"onUpdate:modelValue": d[2] || (d[2] = (k) => w(f(ml)(k)))
|
|
1046
|
+
}, null, 8, ["model-value", "label", "hint", "error", "required", "disabled"])) : e.element.type === "Input.DateTime" ? (t(), c(f(Me), {
|
|
1047
|
+
key: 9,
|
|
1048
|
+
"model-value": f(X)(a.value),
|
|
1049
|
+
label: e.element.label,
|
|
1050
|
+
hint: e.element.hint,
|
|
1051
|
+
error: n.value,
|
|
1052
|
+
required: e.element.required,
|
|
1053
|
+
disabled: e.element.disabled,
|
|
1054
|
+
"onUpdate:modelValue": d[3] || (d[3] = (k) => w(f(kl)(k)))
|
|
1055
|
+
}, null, 8, ["model-value", "label", "hint", "error", "required", "disabled"])) : e.element.type === "Input.Slider" ? (t(), i("div", vl, [
|
|
1056
|
+
e.element.label ? (t(), i("span", gl, C(e.element.label), 1)) : y("", !0),
|
|
1057
|
+
O(f(Fe), {
|
|
1058
|
+
"model-value": Number(a.value ?? e.element.min ?? 0),
|
|
1059
|
+
"min-value": e.element.min,
|
|
1060
|
+
"max-value": e.element.max,
|
|
1061
|
+
step: e.element.step,
|
|
1062
|
+
disabled: e.element.disabled,
|
|
1063
|
+
"onUpdate:modelValue": w
|
|
1064
|
+
}, null, 8, ["model-value", "min-value", "max-value", "step", "disabled"])
|
|
1065
|
+
])) : e.element.type === "Input.Range" ? (t(), i("div", xl, [
|
|
1066
|
+
e.element.label ? (t(), i("span", hl, C(e.element.label), 1)) : y("", !0),
|
|
1067
|
+
O(f(Ae), {
|
|
1068
|
+
"model-value": Array.isArray(a.value) ? a.value : [e.element.min ?? 0, e.element.max ?? 100],
|
|
1069
|
+
"min-value": e.element.min,
|
|
1070
|
+
"max-value": e.element.max,
|
|
1071
|
+
step: e.element.step,
|
|
1072
|
+
disabled: e.element.disabled,
|
|
1073
|
+
"onUpdate:modelValue": w
|
|
1074
|
+
}, null, 8, ["model-value", "min-value", "max-value", "step", "disabled"])
|
|
1075
|
+
])) : e.element.type === "Input.Rating" ? (t(), i("div", pl, [
|
|
1076
|
+
e.element.label ? (t(), i("span", wl, C(e.element.label), 1)) : y("", !0),
|
|
1077
|
+
O(f(Ue), {
|
|
1078
|
+
"model-value": Number(a.value ?? 0),
|
|
1079
|
+
disabled: e.element.disabled,
|
|
1080
|
+
"onUpdate:modelValue": w
|
|
1081
|
+
}, null, 8, ["model-value", "disabled"])
|
|
1082
|
+
])) : e.element.type === "Input.Location" ? (t(), i("div", Cl, [
|
|
1083
|
+
O(f(U), {
|
|
1084
|
+
"model-value": x.value.address || "",
|
|
1085
|
+
label: e.element.label || "Location",
|
|
1086
|
+
placeholder: e.element.placeholder,
|
|
1087
|
+
hint: e.element.hint,
|
|
1088
|
+
error: n.value,
|
|
1089
|
+
required: e.element.required,
|
|
1090
|
+
disabled: e.element.disabled,
|
|
1091
|
+
"onUpdate:modelValue": d[4] || (d[4] = (k) => I({ address: String(k || "") }))
|
|
1092
|
+
}, null, 8, ["model-value", "label", "placeholder", "hint", "error", "required", "disabled"]),
|
|
1093
|
+
e.element.includeCoordinates ? (t(), i("div", Sl, [
|
|
1094
|
+
O(f(U), {
|
|
1095
|
+
"model-value": x.value.lat,
|
|
1096
|
+
type: "number",
|
|
1097
|
+
label: "Latitude",
|
|
1098
|
+
disabled: e.element.disabled,
|
|
1099
|
+
"onUpdate:modelValue": d[5] || (d[5] = (k) => I({ lat: k === "" || k == null ? void 0 : Number(k) }))
|
|
1100
|
+
}, null, 8, ["model-value", "disabled"]),
|
|
1101
|
+
O(f(U), {
|
|
1102
|
+
"model-value": x.value.lng,
|
|
1103
|
+
type: "number",
|
|
1104
|
+
label: "Longitude",
|
|
1105
|
+
disabled: e.element.disabled,
|
|
1106
|
+
"onUpdate:modelValue": d[6] || (d[6] = (k) => I({ lng: k === "" || k == null ? void 0 : Number(k) }))
|
|
1107
|
+
}, null, 8, ["model-value", "disabled"])
|
|
1108
|
+
])) : y("", !0)
|
|
1109
|
+
])) : y("", !0)
|
|
1110
|
+
]));
|
|
1111
|
+
}
|
|
1112
|
+
}), zl = ["src", "poster", "title"], Il = ["src", "title"], Ll = /* @__PURE__ */ p({
|
|
1113
|
+
name: "IdwCardMediaElement",
|
|
1114
|
+
__name: "MediaElement",
|
|
1115
|
+
props: {
|
|
1116
|
+
element: {}
|
|
1117
|
+
},
|
|
1118
|
+
setup(e) {
|
|
1119
|
+
return (r, l) => (e.element.mediaType || "video") === "video" ? (t(), i("video", {
|
|
1120
|
+
key: 0,
|
|
1121
|
+
class: "idw-card-media w-full rounded-lg bg-surface-1 dark:bg-surface-1-dark",
|
|
1122
|
+
src: e.element.url,
|
|
1123
|
+
poster: e.element.poster,
|
|
1124
|
+
title: e.element.title,
|
|
1125
|
+
controls: ""
|
|
1126
|
+
}, null, 8, zl)) : (t(), i("audio", {
|
|
1127
|
+
key: 1,
|
|
1128
|
+
class: "idw-card-media w-full",
|
|
1129
|
+
src: e.element.url,
|
|
1130
|
+
title: e.element.title,
|
|
1131
|
+
controls: ""
|
|
1132
|
+
}, null, 8, Il));
|
|
1133
|
+
}
|
|
1134
|
+
}), Pl = { class: "idw-card-progress flex min-w-0 flex-col gap-sm" }, Tl = {
|
|
1135
|
+
key: 0,
|
|
1136
|
+
class: "typography-caption-semibold text-on-surface-variant dark:text-on-surface-variant-dark"
|
|
1137
|
+
}, El = /* @__PURE__ */ p({
|
|
1138
|
+
name: "IdwCardProgressElement",
|
|
1139
|
+
__name: "ProgressElement",
|
|
1140
|
+
props: {
|
|
1141
|
+
element: {}
|
|
1142
|
+
},
|
|
1143
|
+
setup(e) {
|
|
1144
|
+
const r = e, l = {
|
|
1145
|
+
default: D.Primary,
|
|
1146
|
+
emphasis: D.Primary,
|
|
1147
|
+
success: D.Success,
|
|
1148
|
+
warning: D.Warning,
|
|
1149
|
+
attention: D.Error
|
|
1150
|
+
}, n = u(() => l[r.element.tone ?? "default"]), a = u(() => r.element.variant === "circle" ? ne.Circle : ne.Linear);
|
|
1151
|
+
return (s, m) => (t(), i("div", Pl, [
|
|
1152
|
+
e.element.label ? (t(), i("span", Tl, C(e.element.label), 1)) : y("", !0),
|
|
1153
|
+
O(f(De), {
|
|
1154
|
+
class: "w-full",
|
|
1155
|
+
value: e.element.value,
|
|
1156
|
+
"max-value": e.element.max ?? 100,
|
|
1157
|
+
type: a.value,
|
|
1158
|
+
color: n.value
|
|
1159
|
+
}, null, 8, ["value", "max-value", "type", "color"])
|
|
1160
|
+
]));
|
|
1161
|
+
}
|
|
1162
|
+
}), jl = /* @__PURE__ */ p({
|
|
1163
|
+
name: "IdwCardSkillElement",
|
|
1164
|
+
__name: "SkillElement",
|
|
1165
|
+
props: {
|
|
1166
|
+
element: {}
|
|
1167
|
+
},
|
|
1168
|
+
emits: ["action", "skill-click"],
|
|
1169
|
+
setup(e, { emit: r }) {
|
|
1170
|
+
const l = e, n = r;
|
|
1171
|
+
function a() {
|
|
1172
|
+
var s;
|
|
1173
|
+
n("action", {
|
|
1174
|
+
verb: "start-skill",
|
|
1175
|
+
title: l.element.startSkillLabel || "Start skill",
|
|
1176
|
+
skillId: (s = l.element.skill) == null ? void 0 : s.id
|
|
1177
|
+
});
|
|
1178
|
+
}
|
|
1179
|
+
return (s, m) => (t(), c(f(me), {
|
|
1180
|
+
text: e.element.text,
|
|
1181
|
+
skill: e.element.skill,
|
|
1182
|
+
"start-skill-label": e.element.startSkillLabel,
|
|
1183
|
+
onStartSkill: a,
|
|
1184
|
+
onSkillClick: m[0] || (m[0] = (b) => n("skill-click"))
|
|
1185
|
+
}, null, 8, ["text", "skill", "start-skill-label"]));
|
|
1186
|
+
}
|
|
1187
|
+
}), Ol = { class: "idw-card-table w-full min-w-0 overflow-x-auto rounded-lg bg-surface-2 dark:bg-surface-2-dark" }, Vl = { class: "w-full border-collapse" }, Rl = /* @__PURE__ */ p({
|
|
1188
|
+
name: "IdwCardTableElement",
|
|
1189
|
+
__name: "TableElement",
|
|
1190
|
+
props: {
|
|
1191
|
+
element: {}
|
|
1192
|
+
},
|
|
1193
|
+
setup(e) {
|
|
1194
|
+
return (r, l) => (t(), i("div", Ol, [
|
|
1195
|
+
B("table", Vl, [
|
|
1196
|
+
B("thead", null, [
|
|
1197
|
+
B("tr", null, [
|
|
1198
|
+
(t(!0), i(z, null, L(e.element.columns, (n) => (t(), i("th", {
|
|
1199
|
+
key: n.title,
|
|
1200
|
+
class: "px-md py-sm text-left typography-caption-semibold text-on-surface-variant dark:text-on-surface-variant-dark"
|
|
1201
|
+
}, C(n.title), 1))), 128))
|
|
1202
|
+
])
|
|
1203
|
+
]),
|
|
1204
|
+
B("tbody", null, [
|
|
1205
|
+
(t(!0), i(z, null, L(e.element.rows, (n, a) => (t(), i("tr", {
|
|
1206
|
+
key: a,
|
|
1207
|
+
class: "border-t border-outline-opacity-0-12 dark:border-outline-opacity-0-12-dark"
|
|
1208
|
+
}, [
|
|
1209
|
+
(t(!0), i(z, null, L(n, (s, m) => (t(), i("td", {
|
|
1210
|
+
key: m,
|
|
1211
|
+
class: "px-md py-sm typography-body-2-regular text-on-background dark:text-on-background-dark"
|
|
1212
|
+
}, C(s), 1))), 128))
|
|
1213
|
+
]))), 128))
|
|
1214
|
+
])
|
|
1215
|
+
])
|
|
1216
|
+
]));
|
|
1217
|
+
}
|
|
1218
|
+
}), Nl = /* @__PURE__ */ p({
|
|
1219
|
+
name: "IdwCardTextElement",
|
|
1220
|
+
__name: "TextElement",
|
|
1221
|
+
props: {
|
|
1222
|
+
element: {}
|
|
1223
|
+
},
|
|
1224
|
+
setup(e) {
|
|
1225
|
+
const r = e, l = u(() => {
|
|
1226
|
+
const n = r.element.textStyle ?? "body", a = r.element.tone ?? "default";
|
|
1227
|
+
return [
|
|
1228
|
+
Mt[n],
|
|
1229
|
+
be[a],
|
|
1230
|
+
"[&_:where(p,ul,ol,h1,h2,h3,h4)]:m-0 [&_p+_p]:mt-sm"
|
|
1231
|
+
].filter(Boolean).join(" ");
|
|
1232
|
+
});
|
|
1233
|
+
return (n, a) => (t(), c(f(K), {
|
|
1234
|
+
text: e.element.text,
|
|
1235
|
+
"content-class": l.value
|
|
1236
|
+
}, null, 8, ["text", "content-class"]));
|
|
1237
|
+
}
|
|
1238
|
+
}), Ml = ["data-element-type"], $ = /* @__PURE__ */ p({
|
|
1239
|
+
name: "IdwCardElementView",
|
|
1240
|
+
__name: "IdwCardElementView",
|
|
1241
|
+
props: {
|
|
1242
|
+
element: {},
|
|
1243
|
+
hostConfig: {}
|
|
1244
|
+
},
|
|
1245
|
+
emits: ["action", "skill-click"],
|
|
1246
|
+
setup(e, { emit: r }) {
|
|
1247
|
+
const l = e, n = r, a = ge(), s = u(() => a.isHidden(l.element.id, l.element.isVisible)), m = u(() => {
|
|
1248
|
+
const S = l.element.spacing ?? "none";
|
|
1249
|
+
return Nt[S];
|
|
1250
|
+
}), b = u(() => l.element.type !== "Container" ? "" : be[l.element.tone ?? "default"]), g = u(() => He(l.element) ? l.element : void 0);
|
|
1251
|
+
return (S, v) => s.value ? y("", !0) : (t(), i("div", {
|
|
1252
|
+
key: 0,
|
|
1253
|
+
class: E(["idw-card-element min-w-0", [
|
|
1254
|
+
m.value,
|
|
1255
|
+
b.value,
|
|
1256
|
+
e.element.separator ? "border-t border-outline-opacity-0-12 dark:border-outline-opacity-0-12-dark pt-md" : "",
|
|
1257
|
+
(e.element.type === "Html" || e.element.type === "File") && e.hostConfig.embedSize === "fill" ? "flex-1 min-h-0 flex flex-col" : ""
|
|
1258
|
+
]]),
|
|
1259
|
+
"data-element-type": e.element.type
|
|
1260
|
+
}, [
|
|
1261
|
+
g.value ? (t(), c(Bl, {
|
|
1262
|
+
key: 0,
|
|
1263
|
+
element: g.value
|
|
1264
|
+
}, null, 8, ["element"])) : e.element.type === "Text" ? (t(), c(Nl, {
|
|
1265
|
+
key: 1,
|
|
1266
|
+
element: e.element
|
|
1267
|
+
}, null, 8, ["element"])) : e.element.type === "Image" ? (t(), c(ol, {
|
|
1268
|
+
key: 2,
|
|
1269
|
+
element: e.element
|
|
1270
|
+
}, null, 8, ["element"])) : e.element.type === "FactSet" ? (t(), c(ll, {
|
|
1271
|
+
key: 3,
|
|
1272
|
+
element: e.element
|
|
1273
|
+
}, null, 8, ["element"])) : e.element.type === "Container" ? (t(), c($t, {
|
|
1274
|
+
key: 4,
|
|
1275
|
+
element: e.element,
|
|
1276
|
+
"host-config": e.hostConfig,
|
|
1277
|
+
onAction: v[0] || (v[0] = (x) => n("action", x)),
|
|
1278
|
+
onSkillClick: v[1] || (v[1] = (x) => n("skill-click"))
|
|
1279
|
+
}, null, 8, ["element", "host-config"])) : e.element.type === "ColumnSet" ? (t(), c(Jt, {
|
|
1280
|
+
key: 5,
|
|
1281
|
+
element: e.element,
|
|
1282
|
+
"host-config": e.hostConfig,
|
|
1283
|
+
onAction: v[2] || (v[2] = (x) => n("action", x)),
|
|
1284
|
+
onSkillClick: v[3] || (v[3] = (x) => n("skill-click"))
|
|
1285
|
+
}, null, 8, ["element", "host-config"])) : e.element.type === "Html" ? (t(), c(al, {
|
|
1286
|
+
key: 6,
|
|
1287
|
+
element: e.element,
|
|
1288
|
+
"host-config": e.hostConfig
|
|
1289
|
+
}, null, 8, ["element", "host-config"])) : e.element.type === "File" ? (t(), c(nl, {
|
|
1290
|
+
key: 7,
|
|
1291
|
+
element: e.element,
|
|
1292
|
+
"host-config": e.hostConfig
|
|
1293
|
+
}, null, 8, ["element", "host-config"])) : e.element.type === "Skill" ? (t(), c(jl, {
|
|
1294
|
+
key: 8,
|
|
1295
|
+
element: e.element,
|
|
1296
|
+
onAction: v[4] || (v[4] = (x) => n("action", x)),
|
|
1297
|
+
onSkillClick: v[5] || (v[5] = (x) => n("skill-click"))
|
|
1298
|
+
}, null, 8, ["element"])) : e.element.type === "ActionSet" ? (t(), c(Zt, {
|
|
1299
|
+
key: 9,
|
|
1300
|
+
element: e.element,
|
|
1301
|
+
onAction: v[6] || (v[6] = (x) => n("action", x))
|
|
1302
|
+
}, null, 8, ["element"])) : e.element.type === "Progress" ? (t(), c(El, {
|
|
1303
|
+
key: 10,
|
|
1304
|
+
element: e.element
|
|
1305
|
+
}, null, 8, ["element"])) : e.element.type === "Badge" ? (t(), c(Yt, {
|
|
1306
|
+
key: 11,
|
|
1307
|
+
element: e.element
|
|
1308
|
+
}, null, 8, ["element"])) : e.element.type === "Icon" ? (t(), c(rl, {
|
|
1309
|
+
key: 12,
|
|
1310
|
+
element: e.element
|
|
1311
|
+
}, null, 8, ["element"])) : e.element.type === "ImageSet" ? (t(), c(cl, {
|
|
1312
|
+
key: 13,
|
|
1313
|
+
element: e.element
|
|
1314
|
+
}, null, 8, ["element"])) : e.element.type === "Media" ? (t(), c(Ll, {
|
|
1315
|
+
key: 14,
|
|
1316
|
+
element: e.element
|
|
1317
|
+
}, null, 8, ["element"])) : e.element.type === "Table" ? (t(), c(Rl, {
|
|
1318
|
+
key: 15,
|
|
1319
|
+
element: e.element
|
|
1320
|
+
}, null, 8, ["element"])) : y("", !0)
|
|
1321
|
+
], 10, Ml));
|
|
1322
|
+
}
|
|
1323
|
+
}), Fl = {
|
|
1324
|
+
key: 1,
|
|
1325
|
+
class: "m-0 typography-body-2-regular text-on-surface-variant dark:text-on-surface-variant-dark",
|
|
1326
|
+
"data-testid": "idw-card-fallback"
|
|
1327
|
+
}, Al = /* @__PURE__ */ p({
|
|
1328
|
+
name: "CardRenderer",
|
|
1329
|
+
__name: "CardRenderer",
|
|
1330
|
+
props: {
|
|
1331
|
+
source: {},
|
|
1332
|
+
hostConfig: { default: void 0 }
|
|
1333
|
+
},
|
|
1334
|
+
emits: ["action", "skill-click"],
|
|
1335
|
+
setup(e, { emit: r }) {
|
|
1336
|
+
const l = e, n = r, a = u(() => Ft(l.hostConfig)), s = u(() => Ht(l.source)), m = u(() => s.value.success ? s.value.card : void 0), b = ee({}), g = ee({}), S = W(/* @__PURE__ */ new Set()), v = W({});
|
|
1337
|
+
function x() {
|
|
1338
|
+
Object.keys(b).forEach((o) => {
|
|
1339
|
+
delete b[o];
|
|
1340
|
+
}), Object.keys(g).forEach((o) => {
|
|
1341
|
+
delete g[o];
|
|
1342
|
+
}), S.value = /* @__PURE__ */ new Set(), v.value = {}, m.value && Object.assign(b, Xe(m.value.body));
|
|
1343
|
+
}
|
|
1344
|
+
se(m, x, { immediate: !0 }), Ie(ve, {
|
|
1345
|
+
getValue: (o) => b[o],
|
|
1346
|
+
setValue: (o, d) => {
|
|
1347
|
+
b[o] = d, delete g[o];
|
|
1348
|
+
},
|
|
1349
|
+
getError: (o) => g[o],
|
|
1350
|
+
isHidden: (o, d) => !Qe({ id: o, isVisible: d }, S.value)
|
|
1351
|
+
});
|
|
1352
|
+
const w = u(() => {
|
|
1353
|
+
if (!s.value.success)
|
|
1354
|
+
return s.value.fallbackText || "This card could not be displayed.";
|
|
1355
|
+
});
|
|
1356
|
+
function h() {
|
|
1357
|
+
if (!m.value)
|
|
1358
|
+
return !0;
|
|
1359
|
+
let o = !0;
|
|
1360
|
+
for (const d of Ze(m.value.body, S.value))
|
|
1361
|
+
!d.visible || !d.required || Ye(b[d.name]) && (g[d.name] = d.errorMessage || "This field is required.", o = !1);
|
|
1362
|
+
return o;
|
|
1363
|
+
}
|
|
1364
|
+
function I(o) {
|
|
1365
|
+
var d;
|
|
1366
|
+
if (o.verb === "toggle-visibility" && ((d = o.targetIds) != null && d.length)) {
|
|
1367
|
+
const k = new Set(S.value);
|
|
1368
|
+
for (const j of o.targetIds)
|
|
1369
|
+
k.has(j) ? k.delete(j) : k.add(j);
|
|
1370
|
+
S.value = k;
|
|
1371
|
+
}
|
|
1372
|
+
if (o.verb === "show-card" && o.card) {
|
|
1373
|
+
const k = { ...v.value };
|
|
1374
|
+
k[o.title] ? delete k[o.title] : k[o.title] = o.card, v.value = k;
|
|
1375
|
+
}
|
|
1376
|
+
(o.verb === "submit" || o.verb === "approve" || o.verb === "reject") && !h() || n("action", {
|
|
1377
|
+
...o,
|
|
1378
|
+
inputs: { ...b }
|
|
1379
|
+
});
|
|
1380
|
+
}
|
|
1381
|
+
return (o, d) => {
|
|
1382
|
+
var j;
|
|
1383
|
+
const k = Le("CardRenderer", !0);
|
|
1384
|
+
return t(), i("section", {
|
|
1385
|
+
class: E(["idw-card flex min-w-0 flex-col bg-surface dark:bg-surface-dark text-on-surface dark:text-on-surface-dark", [
|
|
1386
|
+
a.value.theme === "dark" ? "dark" : void 0,
|
|
1387
|
+
a.value.embedSize === "fill" ? "flex-1 min-h-0" : void 0
|
|
1388
|
+
]]),
|
|
1389
|
+
"data-testid": "idw-card"
|
|
1390
|
+
}, [
|
|
1391
|
+
m.value ? (t(), i(z, { key: 0 }, [
|
|
1392
|
+
(t(!0), i(z, null, L(m.value.body, (R, F) => (t(), c($, {
|
|
1393
|
+
key: R.id || F,
|
|
1394
|
+
element: R,
|
|
1395
|
+
"host-config": a.value,
|
|
1396
|
+
onAction: I,
|
|
1397
|
+
onSkillClick: d[0] || (d[0] = (A) => n("skill-click"))
|
|
1398
|
+
}, null, 8, ["element", "host-config"]))), 128)),
|
|
1399
|
+
(j = m.value.actions) != null && j.length ? (t(), c(he, {
|
|
1400
|
+
key: 0,
|
|
1401
|
+
actions: m.value.actions,
|
|
1402
|
+
onAction: I
|
|
1403
|
+
}, null, 8, ["actions"])) : y("", !0),
|
|
1404
|
+
(t(!0), i(z, null, L(v.value, (R, F) => (t(), c(k, {
|
|
1405
|
+
key: `show-${F}`,
|
|
1406
|
+
source: { card: R },
|
|
1407
|
+
"host-config": e.hostConfig,
|
|
1408
|
+
onAction: d[1] || (d[1] = (A) => n("action", A)),
|
|
1409
|
+
onSkillClick: d[2] || (d[2] = (A) => n("skill-click"))
|
|
1410
|
+
}, null, 8, ["source", "host-config"]))), 128))
|
|
1411
|
+
], 64)) : (t(), i("p", Fl, C(w.value), 1))
|
|
1412
|
+
], 2);
|
|
1413
|
+
};
|
|
1414
|
+
}
|
|
1415
|
+
}), Ul = /* @__PURE__ */ p({
|
|
1416
|
+
name: "FeedListItemBody",
|
|
1417
|
+
__name: "FeedListItemBody",
|
|
1418
|
+
props: {
|
|
1419
|
+
item: {},
|
|
1420
|
+
cardHostConfig: {}
|
|
1421
|
+
},
|
|
1422
|
+
emits: ["start-skill", "skill-click", "action"],
|
|
1423
|
+
setup(e, { emit: r }) {
|
|
1424
|
+
const l = r;
|
|
1425
|
+
return (n, a) => e.item.type === "card" ? (t(), c(f(Al), {
|
|
1426
|
+
key: 0,
|
|
1427
|
+
source: e.item.source,
|
|
1428
|
+
"host-config": e.cardHostConfig,
|
|
1429
|
+
onAction: a[0] || (a[0] = (s) => l("action", s)),
|
|
1430
|
+
onSkillClick: a[1] || (a[1] = (s) => l("skill-click"))
|
|
1431
|
+
}, null, 8, ["source", "host-config"])) : e.item.type === "file" ? (t(), c(f(ye), {
|
|
1432
|
+
key: 1,
|
|
1433
|
+
title: e.item.title,
|
|
1434
|
+
src: e.item.fileUrl
|
|
1435
|
+
}, null, 8, ["title", "src"])) : e.item.type === "html" ? (t(), c(f(fe), {
|
|
1436
|
+
key: 2,
|
|
1437
|
+
title: e.item.title,
|
|
1438
|
+
content: e.item.content
|
|
1439
|
+
}, null, 8, ["title", "content"])) : e.item.type === "skill" ? (t(), c(f(me), {
|
|
1440
|
+
key: 3,
|
|
1441
|
+
text: e.item.content,
|
|
1442
|
+
skill: e.item.skill,
|
|
1443
|
+
"skill-background-url": e.item.skillBackgroundUrl,
|
|
1444
|
+
"skill-card-size": e.item.skillCardSize,
|
|
1445
|
+
"start-skill-label": e.item.startSkillLabel,
|
|
1446
|
+
onStartSkill: a[2] || (a[2] = (s) => l("start-skill")),
|
|
1447
|
+
onSkillClick: a[3] || (a[3] = (s) => l("skill-click"))
|
|
1448
|
+
}, null, 8, ["text", "skill", "skill-background-url", "skill-card-size", "start-skill-label"])) : (t(), c(f(K), {
|
|
1449
|
+
key: 4,
|
|
1450
|
+
text: e.item.content
|
|
1451
|
+
}, null, 8, ["text"]));
|
|
1452
|
+
}
|
|
1453
|
+
}), Dl = { class: "feed-list flex h-full min-h-0 flex-col overflow-hidden" }, Wl = {
|
|
1454
|
+
key: 0,
|
|
1455
|
+
class: "feed-list__header shrink-0"
|
|
1456
|
+
}, ql = {
|
|
1457
|
+
key: 0,
|
|
1458
|
+
class: "flex flex-1 items-center justify-center py-xl"
|
|
1459
|
+
}, Hl = {
|
|
1460
|
+
key: 0,
|
|
1461
|
+
class: "py-xl text-center typography-headline-4 text-on-background dark:text-on-background-dark"
|
|
1462
|
+
}, Ql = {
|
|
1463
|
+
key: 1,
|
|
1464
|
+
class: "flex justify-center py-md"
|
|
1465
|
+
}, an = /* @__PURE__ */ p({
|
|
1466
|
+
name: "FeedList",
|
|
1467
|
+
__name: "FeedList",
|
|
1468
|
+
props: {
|
|
1469
|
+
items: {},
|
|
1470
|
+
loading: { type: Boolean, default: !1 },
|
|
1471
|
+
loadingMore: { type: Boolean, default: !1 },
|
|
1472
|
+
emptyLabel: { default: "No posts yet" },
|
|
1473
|
+
controlLabels: { default: void 0 },
|
|
1474
|
+
reachBottomOffset: { default: 500 },
|
|
1475
|
+
itemClass: { default: void 0 },
|
|
1476
|
+
cardHostConfig: {}
|
|
1477
|
+
},
|
|
1478
|
+
emits: ["reach-bottom", "fullscreen", "start-skill", "skill-click", "action", "control-click", "expand", "collapse", "update:item-expanded"],
|
|
1479
|
+
setup(e, { emit: r }) {
|
|
1480
|
+
const l = e, n = r, a = G(), s = u(() => !!a.header), m = u(() => !!a.empty), b = u(() => !l.loading && l.items.length === 0), g = W(!1);
|
|
1481
|
+
function S(h) {
|
|
1482
|
+
return h.type === "html" || h.type === "file";
|
|
1483
|
+
}
|
|
1484
|
+
function v(h) {
|
|
1485
|
+
return typeof h.fullscreenControl == "boolean" ? h.fullscreenControl : S(h);
|
|
1486
|
+
}
|
|
1487
|
+
function x(h) {
|
|
1488
|
+
const I = S(h) ? "[&_.feed-item-base__body]:!max-h-none" : void 0;
|
|
1489
|
+
return l.itemClass && I ? `${l.itemClass} ${I}` : l.itemClass ?? I;
|
|
1490
|
+
}
|
|
1491
|
+
function w(h) {
|
|
1492
|
+
const I = h.target;
|
|
1493
|
+
if (!I || l.loading || l.loadingMore)
|
|
1494
|
+
return;
|
|
1495
|
+
const d = I.scrollHeight - I.scrollTop - I.clientHeight <= l.reachBottomOffset;
|
|
1496
|
+
d && !g.value && n("reach-bottom"), g.value = d;
|
|
1497
|
+
}
|
|
1498
|
+
return (h, I) => (t(), i("section", Dl, [
|
|
1499
|
+
s.value ? (t(), i("div", Wl, [
|
|
1500
|
+
T(h.$slots, "header")
|
|
1501
|
+
])) : y("", !0),
|
|
1502
|
+
B("div", {
|
|
1503
|
+
class: "feed-list__scroll flex min-h-0 flex-1 flex-col gap-y-md overflow-y-auto",
|
|
1504
|
+
onScrollPassive: w
|
|
1505
|
+
}, [
|
|
1506
|
+
e.loading ? (t(), i("div", ql, [
|
|
1507
|
+
T(h.$slots, "loading", {}, () => [
|
|
1508
|
+
O(f(Z), {
|
|
1509
|
+
variant: "circular",
|
|
1510
|
+
color: "primary",
|
|
1511
|
+
size: "s"
|
|
1512
|
+
})
|
|
1513
|
+
])
|
|
1514
|
+
])) : (t(), i(z, { key: 1 }, [
|
|
1515
|
+
b.value ? (t(), i("div", Hl, [
|
|
1516
|
+
m.value ? T(h.$slots, "empty", {}, void 0, void 0, 0) : (t(), i(z, { key: 1 }, [
|
|
1517
|
+
q(C(e.emptyLabel), 1)
|
|
1518
|
+
], 64))
|
|
1519
|
+
])) : y("", !0),
|
|
1520
|
+
(t(!0), i(z, null, L(e.items, (o) => (t(), c(f(wt), {
|
|
1521
|
+
id: o.id,
|
|
1522
|
+
key: o.id,
|
|
1523
|
+
class: E(x(o)),
|
|
1524
|
+
title: o.title,
|
|
1525
|
+
"short-content": o.shortContent,
|
|
1526
|
+
timestamp: o.timestamp,
|
|
1527
|
+
"timestamp-datetime": o.timestampDatetime,
|
|
1528
|
+
source: o.source,
|
|
1529
|
+
"is-new": o.isNew,
|
|
1530
|
+
expandable: o.expandable !== !1,
|
|
1531
|
+
"fullscreen-control": v(o),
|
|
1532
|
+
"mention-control": o.mentionControl !== !1,
|
|
1533
|
+
"control-labels": e.controlLabels,
|
|
1534
|
+
onFullscreen: (d) => n("fullscreen", o),
|
|
1535
|
+
onControlClick: (d) => n("control-click", o, d),
|
|
1536
|
+
onExpand: (d) => n("expand", o),
|
|
1537
|
+
onCollapse: (d) => n("collapse", o),
|
|
1538
|
+
"onUpdate:expanded": (d) => n("update:item-expanded", o, d)
|
|
1539
|
+
}, Pe({
|
|
1540
|
+
body: M(() => [
|
|
1541
|
+
O(Ul, {
|
|
1542
|
+
item: o,
|
|
1543
|
+
"card-host-config": e.cardHostConfig,
|
|
1544
|
+
onStartSkill: (d) => n("start-skill", o),
|
|
1545
|
+
onSkillClick: (d) => n("skill-click", o),
|
|
1546
|
+
onAction: (d) => n("action", o, d)
|
|
1547
|
+
}, null, 8, ["item", "card-host-config", "onStartSkill", "onSkillClick", "onAction"])
|
|
1548
|
+
]),
|
|
1549
|
+
_: 2
|
|
1550
|
+
}, [
|
|
1551
|
+
h.$slots.actions ? {
|
|
1552
|
+
name: "actions",
|
|
1553
|
+
fn: M(() => [
|
|
1554
|
+
T(h.$slots, "actions", { item: o })
|
|
1555
|
+
]),
|
|
1556
|
+
key: "0"
|
|
1557
|
+
} : void 0,
|
|
1558
|
+
h.$slots.controls ? {
|
|
1559
|
+
name: "controls",
|
|
1560
|
+
fn: M(() => [
|
|
1561
|
+
T(h.$slots, "controls", { item: o })
|
|
1562
|
+
]),
|
|
1563
|
+
key: "1"
|
|
1564
|
+
} : void 0,
|
|
1565
|
+
h.$slots.footer ? {
|
|
1566
|
+
name: "footer",
|
|
1567
|
+
fn: M(() => [
|
|
1568
|
+
T(h.$slots, "footer", { item: o })
|
|
1569
|
+
]),
|
|
1570
|
+
key: "2"
|
|
1571
|
+
} : void 0
|
|
1572
|
+
]), 1032, ["id", "class", "title", "short-content", "timestamp", "timestamp-datetime", "source", "is-new", "expandable", "fullscreen-control", "mention-control", "control-labels", "onFullscreen", "onControlClick", "onExpand", "onCollapse", "onUpdate:expanded"]))), 128)),
|
|
1573
|
+
e.loadingMore ? (t(), i("div", Ql, [
|
|
1574
|
+
T(h.$slots, "loading-more", {}, () => [
|
|
1575
|
+
O(f(Z), {
|
|
1576
|
+
variant: "circular",
|
|
1577
|
+
color: "primary",
|
|
1578
|
+
size: "s"
|
|
1579
|
+
})
|
|
1580
|
+
])
|
|
1581
|
+
])) : y("", !0)
|
|
1582
|
+
], 64))
|
|
1583
|
+
], 32)
|
|
1584
|
+
]));
|
|
1585
|
+
}
|
|
1586
|
+
});
|
|
1587
|
+
export {
|
|
1588
|
+
xe as APPROVAL_TEMPLATE_ID,
|
|
1589
|
+
Al as CardRenderer,
|
|
1590
|
+
N as CardSize,
|
|
1591
|
+
Rt as DEFAULT_IDW_CARD_HOST_CONFIG,
|
|
1592
|
+
lt as FEED_EMBED_SANDBOX,
|
|
1593
|
+
nt as FEED_EMBED_SIZE_CLASS,
|
|
1594
|
+
ye as FeedFileContent,
|
|
1595
|
+
fe as FeedHtmlContent,
|
|
1596
|
+
wt as FeedItemBase,
|
|
1597
|
+
_l as FeedItemMetaFooter,
|
|
1598
|
+
an as FeedList,
|
|
1599
|
+
K as FeedMarkdownContent,
|
|
1600
|
+
me as FeedSkillContent,
|
|
1601
|
+
sn as IDW_CARD_MAX_ACTIONS,
|
|
1602
|
+
dn as IDW_CARD_MAX_BODY_ELEMENTS,
|
|
1603
|
+
cn as IDW_CARD_MAX_COLUMNS,
|
|
1604
|
+
un as IDW_CARD_MAX_NESTING,
|
|
1605
|
+
mn as IDW_CARD_MIN_COLUMNS,
|
|
1606
|
+
kn as IDW_CARD_SCHEMA,
|
|
1607
|
+
Wt as IDW_CARD_TEMPLATES,
|
|
1608
|
+
fn as IDW_CARD_VERSION,
|
|
1609
|
+
Nt as IDW_SPACING_CLASS,
|
|
1610
|
+
Mt as IDW_TEXT_STYLE_CLASS,
|
|
1611
|
+
be as IDW_TONE_SURFACE_CLASS,
|
|
1612
|
+
tt as SkillCard,
|
|
1613
|
+
At as approvalDataSchema,
|
|
1614
|
+
Dt as approvalTemplate,
|
|
1615
|
+
Ut as approvalTemplateCard,
|
|
1616
|
+
Vt as bindIdwCard,
|
|
1617
|
+
ln as cardFromFile,
|
|
1618
|
+
tn as cardFromHtml,
|
|
1619
|
+
en as cardFromMarkdown,
|
|
1620
|
+
nn as cardFromSkill,
|
|
1621
|
+
yn as collectInitialInputValues,
|
|
1622
|
+
at as formatFeedReadingTime,
|
|
1623
|
+
$l as formatIdwSummary,
|
|
1624
|
+
bn as getIdwCardFallbackText,
|
|
1625
|
+
qt as getIdwCardTemplate,
|
|
1626
|
+
vn as idwCardActionSchema,
|
|
1627
|
+
gn as idwCardElementSchema,
|
|
1628
|
+
xn as idwCardSchema,
|
|
1629
|
+
hn as idwCardVerbSchema,
|
|
1630
|
+
pn as isAllowedResourceUrl,
|
|
1631
|
+
wn as isIdwCardInputElement,
|
|
1632
|
+
Cn as isInputEmpty,
|
|
1633
|
+
Sn as listIdwCardInputs,
|
|
1634
|
+
Bn as parseIdwCard,
|
|
1635
|
+
Ht as resolveCardRendererSource,
|
|
1636
|
+
Ft as resolveIdwCardHostConfig,
|
|
1637
|
+
zn as validateIdwCard
|
|
1638
|
+
};
|
|
1639
|
+
//# sourceMappingURL=index.js.map
|