@quitting/ui 1.0.1 → 1.2.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/dist/client-access.d.ts +9 -0
- package/dist/client-access.d.ts.map +1 -0
- package/dist/components/CallDialog.vue.d.ts.map +1 -1
- package/dist/components/CallOutgoing.vue.d.ts.map +1 -1
- package/dist/components/ChatPanel.vue.d.ts +38 -1
- package/dist/components/ChatPanel.vue.d.ts.map +1 -1
- package/dist/components/ImToast.vue.d.ts +11 -0
- package/dist/components/ImToast.vue.d.ts.map +1 -0
- package/dist/components/IncomingRing.vue.d.ts.map +1 -1
- package/dist/components/MeetWindow.vue.d.ts +111 -1
- package/dist/components/MeetWindow.vue.d.ts.map +1 -1
- package/dist/components/MeetingCreateDialog.vue.d.ts +43 -0
- package/dist/components/MeetingCreateDialog.vue.d.ts.map +1 -0
- package/dist/components/MeetingInvite.vue.d.ts.map +1 -1
- package/dist/components/UserPickerDialog.vue.d.ts +46 -0
- package/dist/components/UserPickerDialog.vue.d.ts.map +1 -0
- package/dist/components/UserPickerList.vue.d.ts +39 -0
- package/dist/components/UserPickerList.vue.d.ts.map +1 -0
- package/dist/components/meeting/MainVideoTile.vue.d.ts +2 -0
- package/dist/components/meeting/MainVideoTile.vue.d.ts.map +1 -1
- package/dist/components/meeting/MeetingControlBar.vue.d.ts +20 -0
- package/dist/components/meeting/MeetingControlBar.vue.d.ts.map +1 -0
- package/dist/components/meeting/MeetingHeader.vue.d.ts +19 -1
- package/dist/components/meeting/MeetingHeader.vue.d.ts.map +1 -1
- package/dist/components/meeting/MemberItem.vue.d.ts +3 -0
- package/dist/components/meeting/MemberItem.vue.d.ts.map +1 -1
- package/dist/components/meeting/MemberListPanel.vue.d.ts +3 -0
- package/dist/components/meeting/MemberListPanel.vue.d.ts.map +1 -1
- package/dist/components/meeting/SidebarTabs.vue.d.ts +1 -0
- package/dist/components/meeting/SidebarTabs.vue.d.ts.map +1 -1
- package/dist/components/meeting/SmallVideoTile.vue.d.ts +3 -0
- package/dist/components/meeting/SmallVideoTile.vue.d.ts.map +1 -1
- package/dist/components/meeting/VideoListPanel.vue.d.ts +2 -0
- package/dist/components/meeting/VideoListPanel.vue.d.ts.map +1 -1
- package/dist/components/meeting/icons.d.ts +4 -0
- package/dist/components/meeting/icons.d.ts.map +1 -1
- package/dist/error-text.d.ts +2 -0
- package/dist/error-text.d.ts.map +1 -0
- package/dist/global-methods.d.ts +12 -5
- package/dist/global-methods.d.ts.map +1 -1
- package/dist/im-ui.css +1 -1
- package/dist/im-ui.es.js +1617 -778
- package/dist/im-ui.es.js.map +1 -1
- package/dist/im-ui.umd.js +1 -1
- package/dist/im-ui.umd.js.map +1 -1
- package/dist/index.d.ts +20 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/mount.d.ts +9 -0
- package/dist/mount.d.ts.map +1 -0
- package/dist/toast.d.ts +10 -0
- package/dist/toast.d.ts.map +1 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +5 -7
package/dist/im-ui.es.js
CHANGED
|
@@ -1,10 +1,104 @@
|
|
|
1
|
-
import { Fragment as e, computed as t, createApp as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o,
|
|
1
|
+
import { Fragment as e, computed as t, createApp as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createSlots as s, createTextVNode as c, createVNode as l, defineComponent as u, getCurrentInstance as d, guardReactiveProps as f, h as p, nextTick as m, normalizeClass as h, normalizeProps as g, normalizeStyle as _, onBeforeUnmount as v, onMounted as y, onUnmounted as b, openBlock as x, reactive as S, ref as C, renderList as w, renderSlot as T, toDisplayString as E, unref as D, useSlots as O, vModelText as k, vShow as A, watch as ee, withCtx as j, withDirectives as M, withModifiers as N } from "vue";
|
|
2
|
+
import { ApiError as te, ApiErrorCode as P } from "@quitting/core";
|
|
3
|
+
//#region src/mount.ts
|
|
4
|
+
var F = null;
|
|
5
|
+
function I(e) {
|
|
6
|
+
F = e;
|
|
7
|
+
}
|
|
8
|
+
function L(e, t, r) {
|
|
9
|
+
let { onClose: i, ...a } = t, o = i, s = document.createElement("div");
|
|
10
|
+
s.classList.add("im-ui-root"), s.style.pointerEvents = "auto", (r || document.body).appendChild(s);
|
|
11
|
+
let c = n({ render: () => p(e, {
|
|
12
|
+
...a,
|
|
13
|
+
onClose: () => {
|
|
14
|
+
o?.(), c.unmount(), s.remove();
|
|
15
|
+
}
|
|
16
|
+
}) });
|
|
17
|
+
return F && (c.config = F.config), c.mount(s), {
|
|
18
|
+
subApp: c,
|
|
19
|
+
div: s
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function R(e) {
|
|
23
|
+
e && (e.subApp.unmount(), e.div.remove());
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/client-access.ts
|
|
27
|
+
function z() {
|
|
28
|
+
return window.__imClient;
|
|
29
|
+
}
|
|
30
|
+
function ne(e) {
|
|
31
|
+
window.__imClient = e;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/components/ImToast.vue?vue&type=script&setup=true&lang.ts
|
|
35
|
+
var B = { class: "im-toast-host" }, V = /*@__PURE__*/ u({
|
|
36
|
+
__name: "ImToast",
|
|
37
|
+
props: { items: {} },
|
|
38
|
+
setup(t) {
|
|
39
|
+
return (n, r) => (x(), a("div", B, [(x(!0), a(e, null, w(t.items, (e) => (x(), a("div", {
|
|
40
|
+
key: e.id,
|
|
41
|
+
class: h(["im-toast", `im-toast-${e.type}`]),
|
|
42
|
+
role: "status"
|
|
43
|
+
}, E(e.message), 3))), 128))]));
|
|
44
|
+
}
|
|
45
|
+
}), H = (e, t) => {
|
|
46
|
+
let n = e.__vccOpts || e;
|
|
47
|
+
for (let [e, r] of t) n[e] = r;
|
|
48
|
+
return n;
|
|
49
|
+
}, U = /*#__PURE__*/ H(V, [["__scopeId", "data-v-20f73975"]]), W = S({ items: [] }), G = !1, re = 0;
|
|
50
|
+
function ie() {
|
|
51
|
+
if (G) return;
|
|
52
|
+
let e = document.createElement("div");
|
|
53
|
+
e.className = "im-toast-root", document.body.appendChild(e), n({ render: () => p(U, { items: W.items }) }).mount(e), G = !0;
|
|
54
|
+
}
|
|
55
|
+
function ae(e, t, n) {
|
|
56
|
+
ie();
|
|
57
|
+
let r = ++re;
|
|
58
|
+
W.items.push({
|
|
59
|
+
id: r,
|
|
60
|
+
message: e,
|
|
61
|
+
type: t
|
|
62
|
+
}), setTimeout(() => {
|
|
63
|
+
let e = W.items.findIndex((e) => e.id === r);
|
|
64
|
+
e >= 0 && W.items.splice(e, 1);
|
|
65
|
+
}, n);
|
|
66
|
+
}
|
|
67
|
+
function oe(e, t = 3e3) {
|
|
68
|
+
ae(e, "info", t);
|
|
69
|
+
}
|
|
70
|
+
function se(e, t = 3e3) {
|
|
71
|
+
ae(e, "success", t);
|
|
72
|
+
}
|
|
73
|
+
function ce(e, t = 4e3) {
|
|
74
|
+
ae(e, "error", t);
|
|
75
|
+
}
|
|
76
|
+
var K = {
|
|
77
|
+
info: oe,
|
|
78
|
+
success: se,
|
|
79
|
+
error: ce
|
|
80
|
+
};
|
|
81
|
+
//#endregion
|
|
82
|
+
//#region src/error-text.ts
|
|
83
|
+
function le(e, t = "请求失败") {
|
|
84
|
+
if (e instanceof te) switch (e.code) {
|
|
85
|
+
case P.Busy: return "对方正忙,请稍后再试";
|
|
86
|
+
case P.Conflict: return "操作冲突,请重试";
|
|
87
|
+
case P.NotFound: return "用户不存在";
|
|
88
|
+
case P.Unauth:
|
|
89
|
+
case P.SessionKicked: return "登录状态已失效,请重新登录";
|
|
90
|
+
case P.Forbidden: return "无权执行该操作";
|
|
91
|
+
default: return e.message || t;
|
|
92
|
+
}
|
|
93
|
+
return "网络异常,请稍后重试";
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
2
96
|
//#region src/directives/draggable.ts
|
|
3
|
-
function
|
|
97
|
+
function ue(e, t) {
|
|
4
98
|
let n = t.value;
|
|
5
99
|
return n && e.querySelector(n) || e;
|
|
6
100
|
}
|
|
7
|
-
function
|
|
101
|
+
function de(e, t, n) {
|
|
8
102
|
let r = e.target.tagName;
|
|
9
103
|
if (r === "INPUT" || r === "TEXTAREA" || r === "SELECT") return;
|
|
10
104
|
let i = t.getBoundingClientRect();
|
|
@@ -17,30 +111,30 @@ function k(e, t, n) {
|
|
|
17
111
|
};
|
|
18
112
|
document.addEventListener("mousemove", a), document.addEventListener("mouseup", o);
|
|
19
113
|
}
|
|
20
|
-
var
|
|
114
|
+
var fe = {
|
|
21
115
|
mounted(e, t) {
|
|
22
|
-
let n =
|
|
116
|
+
let n = ue(e, t);
|
|
23
117
|
n.style.cursor = "move";
|
|
24
118
|
let r = {
|
|
25
119
|
startX: 0,
|
|
26
120
|
startY: 0,
|
|
27
121
|
origLeft: 0,
|
|
28
122
|
origTop: 0
|
|
29
|
-
}, i = (t) =>
|
|
123
|
+
}, i = (t) => de(t, e, r);
|
|
30
124
|
n.addEventListener("mousedown", i), e.__dragHandle__ = n, e.__dragHandler__ = i;
|
|
31
125
|
},
|
|
32
126
|
unmounted(e) {
|
|
33
127
|
let t = e.__dragHandle__, n = e.__dragHandler__;
|
|
34
128
|
t && n && t.removeEventListener("mousedown", n);
|
|
35
129
|
}
|
|
36
|
-
},
|
|
130
|
+
}, pe = [
|
|
37
131
|
"width",
|
|
38
132
|
"height",
|
|
39
133
|
"fill",
|
|
40
134
|
"aria-label",
|
|
41
135
|
"aria-hidden",
|
|
42
136
|
"innerHTML"
|
|
43
|
-
],
|
|
137
|
+
], q = /* @__PURE__ */ u({
|
|
44
138
|
__name: "Icon",
|
|
45
139
|
props: {
|
|
46
140
|
name: {},
|
|
@@ -65,7 +159,7 @@ var A = {
|
|
|
65
159
|
plus: "<path d=\"M480 224v256H224a32 32 0 1 0 0 64h256v256a32 32 0 1 0 64 0V544h256a32 32 0 1 0 0-64H544V224a32 32 0 1 0-64 0z\"/>",
|
|
66
160
|
minus: "<path d=\"M192 480h640a32 32 0 1 1 0 64H192a32 32 0 1 1 0-64z\"/>"
|
|
67
161
|
}, n = e;
|
|
68
|
-
return (e, r) => (
|
|
162
|
+
return (e, r) => (x(), a("svg", {
|
|
69
163
|
width: n.size,
|
|
70
164
|
height: n.size,
|
|
71
165
|
viewBox: "0 0 1024 1024",
|
|
@@ -74,18 +168,18 @@ var A = {
|
|
|
74
168
|
"aria-label": n.title,
|
|
75
169
|
"aria-hidden": n.title ? void 0 : "true",
|
|
76
170
|
innerHTML: t[n.name]
|
|
77
|
-
}, null, 8,
|
|
171
|
+
}, null, 8, pe));
|
|
78
172
|
}
|
|
79
|
-
}),
|
|
173
|
+
}), J = { class: "call-window" }, me = { class: "video-area" }, Y = ["title"], X = {
|
|
80
174
|
key: 1,
|
|
81
175
|
class: "connecting-overlay"
|
|
82
|
-
},
|
|
176
|
+
}, Z = {
|
|
83
177
|
key: 2,
|
|
84
178
|
class: "ended-overlay"
|
|
85
|
-
},
|
|
179
|
+
}, he = {
|
|
86
180
|
key: 3,
|
|
87
181
|
class: "device-warn"
|
|
88
|
-
},
|
|
182
|
+
}, ge = { class: "call-status-bar" }, _e = { key: 0 }, ve = { key: 1 }, ye = { key: 2 }, be = { class: "controls-bar" }, xe = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
89
183
|
__name: "CallWindow",
|
|
90
184
|
props: {
|
|
91
185
|
mode: {},
|
|
@@ -95,182 +189,324 @@ var A = {
|
|
|
95
189
|
},
|
|
96
190
|
emits: ["close"],
|
|
97
191
|
setup(e, { emit: t }) {
|
|
98
|
-
let n = e, r = t, s =
|
|
99
|
-
function
|
|
192
|
+
let n = e, r = t, s = C("connecting"), c = C([]), u = C(""), d = C(!0), f = C(n.callType === "video"), p = C(!0), m = C(!0), g = C(null), _ = C(null), v = C(!1), S = C(!1), w = C(0), T = null;
|
|
193
|
+
function O() {
|
|
100
194
|
return window.__imClient;
|
|
101
195
|
}
|
|
102
|
-
async function
|
|
196
|
+
async function k() {
|
|
103
197
|
try {
|
|
104
198
|
let e = await navigator.mediaDevices.enumerateDevices();
|
|
105
|
-
|
|
199
|
+
p.value = e.some((e) => e.kind === "videoinput"), m.value = e.some((e) => e.kind === "audioinput"), p.value || (f.value = !1), m.value || (d.value = !1);
|
|
106
200
|
} catch (e) {
|
|
107
201
|
console.warn("[im] enumerateDevices 失败,按默认能力继续", e);
|
|
108
202
|
}
|
|
109
203
|
}
|
|
110
|
-
function
|
|
111
|
-
let e =
|
|
112
|
-
e && (
|
|
204
|
+
function A() {
|
|
205
|
+
let e = O()?.call?.currentSession;
|
|
206
|
+
e && (g.value && e.detachAllVideoFromEl(g.value), _.value && e.detachAllVideoFromEl(_.value), v.value ? (g.value && p.value && n.callType === "video" && e.attachLocalVideo(g.value), _.value && e.attachRemoteVideo(_.value)) : (g.value && e.attachRemoteVideo(g.value), _.value && p.value && n.callType === "video" && e.attachLocalVideo(_.value)));
|
|
113
207
|
}
|
|
114
|
-
function
|
|
115
|
-
|
|
208
|
+
function j() {
|
|
209
|
+
v.value = !v.value, A();
|
|
116
210
|
}
|
|
117
|
-
|
|
118
|
-
await
|
|
119
|
-
let e =
|
|
211
|
+
y(async () => {
|
|
212
|
+
await k();
|
|
213
|
+
let e = O();
|
|
120
214
|
if (!e) {
|
|
121
215
|
console.error("[im] client 未注入,无法发起通话");
|
|
122
216
|
return;
|
|
123
217
|
}
|
|
124
218
|
let t = e.call.currentSession;
|
|
125
219
|
if (t && (t.onSession("connected", () => {
|
|
126
|
-
s.value = "connected",
|
|
220
|
+
s.value = "connected", A(), T = setInterval(() => w.value++, 1e3);
|
|
127
221
|
}), t.onSession("remoteConnected", () => {
|
|
128
|
-
|
|
222
|
+
S.value = !0, A();
|
|
129
223
|
}), t.onSession("remoteTrackSubscribed", (e) => {
|
|
130
|
-
e.kind === "video" && (
|
|
224
|
+
e.kind === "video" && (S.value = !0, A());
|
|
131
225
|
}), t.onSession("remoteDisconnected", () => {
|
|
132
|
-
|
|
226
|
+
S.value = !1;
|
|
133
227
|
}), t.onSession("devices", (e) => {
|
|
134
|
-
e.errors && e.errors.length > 0 && (
|
|
228
|
+
e.errors && e.errors.length > 0 && (c.value = e.errors, setTimeout(() => c.value = [], 3e3)), e.camera && A();
|
|
135
229
|
}), t.onSession("ended", () => {
|
|
136
|
-
s.value = "ended",
|
|
137
|
-
}), t.isConnected && (s.value = "connected",
|
|
230
|
+
s.value = "ended", T && clearInterval(T), setTimeout(() => r("close"), 1500);
|
|
231
|
+
}), t.isConnected && (s.value = "connected", A(), T = setInterval(() => w.value++, 1e3)), n.callType === "video")) {
|
|
138
232
|
let e = 0, t = setInterval(() => {
|
|
139
|
-
if (e++, e > 10 ||
|
|
233
|
+
if (e++, e > 10 || S.value) {
|
|
140
234
|
clearInterval(t);
|
|
141
235
|
return;
|
|
142
236
|
}
|
|
143
|
-
|
|
237
|
+
A();
|
|
144
238
|
}, 300);
|
|
145
239
|
}
|
|
146
|
-
}),
|
|
147
|
-
|
|
148
|
-
}),
|
|
240
|
+
}), b(() => {
|
|
241
|
+
T && clearInterval(T);
|
|
242
|
+
}), ee(s, (e) => {
|
|
149
243
|
e === "ended" && (u.value = "通话已结束");
|
|
150
244
|
});
|
|
151
|
-
async function
|
|
152
|
-
if (!
|
|
153
|
-
let e =
|
|
245
|
+
async function N() {
|
|
246
|
+
if (!m.value) return;
|
|
247
|
+
let e = O()?.call?.currentSession;
|
|
154
248
|
e && (d.value = !d.value, await e.setMicEnabled(d.value));
|
|
155
249
|
}
|
|
156
|
-
async function
|
|
157
|
-
if (!
|
|
158
|
-
let e =
|
|
159
|
-
e && (
|
|
250
|
+
async function te() {
|
|
251
|
+
if (!p.value) return;
|
|
252
|
+
let e = O()?.call?.currentSession;
|
|
253
|
+
e && (f.value = !f.value, await e.setCameraEnabled(f.value), A());
|
|
160
254
|
}
|
|
161
|
-
async function
|
|
162
|
-
u.value = "已挂断", await
|
|
255
|
+
async function P() {
|
|
256
|
+
u.value = "已挂断", await O()?.call?.end("user_left"), r("close");
|
|
163
257
|
}
|
|
164
|
-
function
|
|
258
|
+
function F(e) {
|
|
165
259
|
return `${Math.floor(e / 60).toString().padStart(2, "0")}:${(e % 60).toString().padStart(2, "0")}`;
|
|
166
260
|
}
|
|
167
|
-
return (t, n) =>
|
|
261
|
+
return (t, n) => M((x(), a("div", J, [o("div", me, [
|
|
168
262
|
o("video", {
|
|
169
263
|
ref_key: "mainVideo",
|
|
170
|
-
ref:
|
|
264
|
+
ref: g,
|
|
171
265
|
autoplay: "",
|
|
172
266
|
playsinline: "",
|
|
173
|
-
class:
|
|
267
|
+
class: h(["video-main", { "network-error": s.value === "connected" && !S.value && !v.value }])
|
|
174
268
|
}, null, 2),
|
|
175
|
-
e.callType === "video" ? (
|
|
269
|
+
e.callType === "video" ? (x(), a("video", {
|
|
176
270
|
key: 0,
|
|
177
271
|
ref_key: "pipVideo",
|
|
178
|
-
ref:
|
|
272
|
+
ref: _,
|
|
179
273
|
autoplay: "",
|
|
180
274
|
muted: "",
|
|
181
275
|
playsinline: "",
|
|
182
276
|
class: "video-pip",
|
|
183
|
-
title:
|
|
184
|
-
onClick:
|
|
185
|
-
}, null, 8,
|
|
186
|
-
s.value === "connecting" ? (
|
|
187
|
-
|
|
188
|
-
o("div",
|
|
189
|
-
]), o("div",
|
|
190
|
-
|
|
277
|
+
title: v.value ? "点击切回对方主画面" : "点击切换自己为主画面",
|
|
278
|
+
onClick: j
|
|
279
|
+
}, null, 8, Y)) : i("", !0),
|
|
280
|
+
s.value === "connecting" ? (x(), a("div", X, "连接中...")) : s.value === "ended" ? (x(), a("div", Z, E(u.value || "通话已结束"), 1)) : i("", !0),
|
|
281
|
+
c.value.length ? (x(), a("div", he, E(c.value.join("; ")), 1)) : i("", !0),
|
|
282
|
+
o("div", ge, [s.value === "connecting" ? (x(), a("span", _e, "连接中")) : s.value === "connected" ? (x(), a("span", ve, E(F(w.value)), 1)) : (x(), a("span", ye, E(u.value || "通话已结束"), 1))])
|
|
283
|
+
]), o("div", be, [
|
|
284
|
+
m.value ? (x(), a("button", {
|
|
191
285
|
key: 0,
|
|
192
|
-
class:
|
|
193
|
-
onClick:
|
|
194
|
-
}, [
|
|
286
|
+
class: h(["ctrl-btn", { off: !d.value }]),
|
|
287
|
+
onClick: N
|
|
288
|
+
}, [l(q, {
|
|
195
289
|
name: d.value ? "mic-on" : "mic-off",
|
|
196
290
|
size: 22
|
|
197
291
|
}, null, 8, ["name"])], 2)) : i("", !0),
|
|
198
|
-
e.callType === "video" &&
|
|
292
|
+
e.callType === "video" && p.value ? (x(), a("button", {
|
|
199
293
|
key: 1,
|
|
200
|
-
class:
|
|
201
|
-
onClick:
|
|
202
|
-
}, [
|
|
203
|
-
name:
|
|
294
|
+
class: h(["ctrl-btn", { off: !f.value }]),
|
|
295
|
+
onClick: te
|
|
296
|
+
}, [l(q, {
|
|
297
|
+
name: f.value ? "camera-on" : "camera-off",
|
|
204
298
|
size: 22
|
|
205
299
|
}, null, 8, ["name"])], 2)) : i("", !0),
|
|
206
300
|
o("button", {
|
|
207
301
|
class: "ctrl-btn hangup",
|
|
208
|
-
onClick:
|
|
209
|
-
}, [
|
|
302
|
+
onClick: P
|
|
303
|
+
}, [l(q, {
|
|
210
304
|
name: "hangup",
|
|
211
305
|
size: 22
|
|
212
306
|
})])
|
|
213
|
-
])])), [[
|
|
307
|
+
])])), [[D(fe), ".call-status-bar"]]);
|
|
214
308
|
}
|
|
215
|
-
}), z = (e, t) => {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
309
|
+
}), [["__scopeId", "data-v-90512c2f"]]), Se = "data:audio/mpeg;base64,//uQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAB0AAC/BAAEBggLDQ8TFhgaHB4jJScpLC4yNDc5Oz1CREZIS01PU1ZYWlxeY2VnaWxucnR3eXt9goSGiIuNj5OWmJqcnqOlp6msrrK0t7m7vcLExsjLzc/T1tja3N7j5efp7O7y9Pf5+/0AAAA8TEFNRTMuMTAwAQAAAAAAAAAAABSAJAL0ZgAAgAAAvwRQljMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//uQBAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAETEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVdLVEUVJMoAkQIREQYQgmAwGTJkyZMmEECBAgQIECBMmTsLTvwTTvxBAgQL/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARkyad//xnvf/ZAgQQ/e7IECCER3sgQIECEREE73+z0///+0ECZMmTJk073///+Lvf3u7IECBAgQIIQTTvWiIz97s8mTJkCAAAAAAAAIELsmTJk07//u7PJkyBAghGf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VVVVVVVVVVUD8aij///xVixUUFsWFWf+rrFRbFhcV4t//4szigH41FH///irFiooLYsKs/9XWKi2LC4rxb//xZnFFUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5AEXo/w6QC4mAEQDB0gFxMAIgGAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5AEQQ/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kARBD/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV", Ce = "data:audio/mpeg;base64,SUQzBAAAAAAiNlRDT04AAAAHAAADQmx1ZXMAUFJJVgAAIXQAAFhNUAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0MyA3OS4xNjEyMTAsIDIwMTcvMDgvMTEtMTA6Mjg6MzYgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICB4bWxuczp4bXBETT0iaHR0cDovL25zLmFkb2JlLmNvbS94bXAvMS4wL0R5bmFtaWNNZWRpYS8iCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgeG1wOkNyZWF0b3JUb29sPSJGaWxlIGNyZWF0ZWQgYnkgR29sZFdhdmUuICBHb2xkV2F2ZSBjb3B5cmlnaHQgKEMpIENocmlzIENyYWlnIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDE3LTExLTAxVDE5OjI1OjUyKzA4OjAwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAxNy0xMS0wMVQxOToyNTo1MiswODowMCIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDplZWRmZWNkMi0xNTYzLWJmNDUtOTQxZS03OWJjMzhjZmU0OGEiCiAgIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZWVkZmVjZDItMTU2My1iZjQ1LTk0MWUtNzliYzM4Y2ZlNDhhIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIgogICBkYzpmb3JtYXQ9ImF1ZGlvL21wZWciPgogICA8eG1wRE06VHJhY2tzPgogICAgPHJkZjpCYWc+CiAgICAgPHJkZjpsaQogICAgICB4bXBETTp0cmFja05hbWU9IkN1ZVBvaW50IE1hcmtlcnMiCiAgICAgIHhtcERNOnRyYWNrVHlwZT0iQ3VlIgogICAgICB4bXBETTpmcmFtZVJhdGU9ImY4MDAwIi8+CiAgICAgPHJkZjpsaQogICAgICB4bXBETTp0cmFja05hbWU9IkNEIFRyYWNrIE1hcmtlcnMiCiAgICAgIHhtcERNOnRyYWNrVHlwZT0iVHJhY2siCiAgICAgIHhtcERNOmZyYW1lUmF0ZT0iZjgwMDAiLz4KICAgICA8cmRmOmxpCiAgICAgIHhtcERNOnRyYWNrTmFtZT0iU3ViY2xpcCBNYXJrZXJzIgogICAgICB4bXBETTp0cmFja1R5cGU9IkluT3V0IgogICAgICB4bXBETTpmcmFtZVJhdGU9ImY4MDAwIi8+CiAgICA8L3JkZjpCYWc+CiAgIDwveG1wRE06VHJhY2tzPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YjYyYjlkYS05OGY0LTc2NGQtYTYwYi0yZmU4YWRhNmQyNjEiCiAgICAgIHN0RXZ0OndoZW49IjIwMTctMTEtMDFUMTk6MjU6NTIrMDg6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIEF1ZGl0aW9uIENDIDIwMTguMCAoV2luZG93cykiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii9tZXRhZGF0YSIvPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplZWRmZWNkMi0xNTYzLWJmNDUtOTQxZS03OWJjMzhjZmU0OGEiCiAgICAgIHN0RXZ0OndoZW49IjIwMTctMTEtMDFUMTk6MjU6NTIrMDg6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIEF1ZGl0aW9uIENDIDIwMTguMCAoV2luZG93cykiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogICA8eG1wTU06RGVyaXZlZEZyb20KICAgIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIgogICAgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2YjYyYjlkYS05OGY0LTc2NGQtYTYwYi0yZmU4YWRhNmQyNjEiCiAgICBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIi8+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4AVFNTRQAAABMAAANVUFlVTiBUcmFuc2NvZGluZwAAAAAAAAAAAAAA/+PIwAAAAAAAAAAAAEluZm8AAAAPAAAAKwAAZUAAEREWFhwcIiIiJyctLTMzMzg4Pj5ERERJSU9PVVVVW1tgYGZmZmxscXF3d3d9fYKCiIiIjo6T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AExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq", Q = { class: "call-dialog" }, we = ["src"], Te = { class: "call-dialog-header" }, Ee = { class: "call-dialog-body" }, De = { class: "peer-name" }, Oe = { class: "status-text" }, ke = { class: "call-dialog-actions" }, Ae = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
310
|
+
__name: "CallDialog",
|
|
311
|
+
props: {
|
|
312
|
+
mode: {},
|
|
313
|
+
peerUid: {},
|
|
314
|
+
peerName: {},
|
|
315
|
+
callType: {},
|
|
316
|
+
callId: {},
|
|
317
|
+
timeoutSec: {}
|
|
318
|
+
},
|
|
319
|
+
emits: [
|
|
320
|
+
"close",
|
|
321
|
+
"connected",
|
|
322
|
+
"accepted"
|
|
323
|
+
],
|
|
324
|
+
setup(n, { emit: r }) {
|
|
325
|
+
let s = n, l = r, u = C("ringing"), d = C(""), f = C(null), p = [], m = null;
|
|
326
|
+
function g() {
|
|
327
|
+
return window.__imClient;
|
|
328
|
+
}
|
|
329
|
+
function _() {
|
|
330
|
+
f.value && (f.value.currentTime = 0, f.value.play().catch(() => {}));
|
|
331
|
+
}
|
|
332
|
+
function b() {
|
|
333
|
+
f.value && (f.value.pause(), f.value.currentTime = 0);
|
|
334
|
+
}
|
|
335
|
+
let S = C("");
|
|
336
|
+
ee(() => s.peerUid, async (e) => {
|
|
337
|
+
if (S.value = "", s.peerName || !e) return;
|
|
338
|
+
let t = g()?.users;
|
|
339
|
+
if (!t?.resolve) return;
|
|
340
|
+
let n = await t.resolve(e).catch(() => void 0);
|
|
341
|
+
n?.name && (S.value = n.name);
|
|
342
|
+
}, { immediate: !0 });
|
|
343
|
+
let w = t(() => s.peerName || S.value || s.peerUid), T = t(() => w.value[0].toUpperCase()), O = t(() => u.value === "ringing" ? s.mode === "outgoing" ? "呼叫中" : "邀请你通话" : d.value);
|
|
344
|
+
function k(e, t, n = 1500) {
|
|
345
|
+
u.value = e, d.value = t, setTimeout(() => l("close"), n);
|
|
346
|
+
}
|
|
347
|
+
async function A() {
|
|
348
|
+
b(), u.value = "cancelled", d.value = "已取消";
|
|
349
|
+
let e = g(), t = s.callId || e?.call?.currentSession?.callId;
|
|
350
|
+
await e?.call?.end("cancelled", t).catch(() => {}), setTimeout(() => l("close"), 800);
|
|
351
|
+
}
|
|
352
|
+
async function j() {
|
|
353
|
+
b();
|
|
354
|
+
let e = g();
|
|
355
|
+
if (!(!e || !s.callId)) {
|
|
356
|
+
u.value = "connected", d.value = "已接听";
|
|
357
|
+
try {
|
|
358
|
+
let t = await e.call.accept(s.callId, s.callType);
|
|
359
|
+
l("accepted", t), setTimeout(() => l("close"), 200);
|
|
360
|
+
} catch (e) {
|
|
361
|
+
console.error("[im] 接听失败", e), u.value = "rejected", d.value = e?.message || "接听失败", setTimeout(() => l("close"), 1500);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
async function N() {
|
|
366
|
+
b(), u.value = "rejected", d.value = "已拒接", await g()?.call?.end("rejected", s.callId).catch(() => {}), setTimeout(() => l("close"), 600);
|
|
367
|
+
}
|
|
368
|
+
return y(() => {
|
|
369
|
+
let e = g();
|
|
370
|
+
if (!e) {
|
|
371
|
+
l("close");
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
if (_(), s.mode === "outgoing") {
|
|
375
|
+
p.push(e.on("call:accepted", () => {
|
|
376
|
+
b(), u.value = "connected", d.value = "对方已接听", setTimeout(() => l("connected"), 300);
|
|
377
|
+
})), p.push(e.on("call:rejected", () => k("rejected", "对方拒接"))), p.push(e.on("call:busy", () => k("busy", "对方繁忙"))), p.push(e.on("call:no_answer", () => k("no_answer", "无人接听")));
|
|
378
|
+
let t = s.timeoutSec ?? 30;
|
|
379
|
+
m = setTimeout(() => {
|
|
380
|
+
u.value === "ringing" && k("no_answer", "无人接听");
|
|
381
|
+
}, t * 1e3);
|
|
382
|
+
} else p.push(e.on("call:cancelled", () => {
|
|
383
|
+
b(), k("cancelled", "对方已取消", 600);
|
|
384
|
+
})), p.push(e.on("call:no_answer", () => {
|
|
385
|
+
b(), k("cancelled", "未接听,已超时", 600);
|
|
386
|
+
}));
|
|
387
|
+
}), v(() => {
|
|
388
|
+
b(), p.forEach((e) => e()), m && clearTimeout(m);
|
|
389
|
+
}), (t, r) => M((x(), a("div", Q, [
|
|
390
|
+
o("audio", {
|
|
391
|
+
ref_key: "ringAudio",
|
|
392
|
+
ref: f,
|
|
393
|
+
src: n.mode === "outgoing" ? D(Se) : D(Ce),
|
|
394
|
+
loop: "",
|
|
395
|
+
preload: "auto"
|
|
396
|
+
}, null, 8, we),
|
|
397
|
+
o("div", Te, [o("span", null, E(n.callType === "video" ? "视频通话" : "语音通话"), 1)]),
|
|
398
|
+
o("div", Ee, [
|
|
399
|
+
o("div", { class: h(["avatar", u.value === "ringing" ? "ringing" : u.value]) }, [o("span", null, E(T.value), 1)], 2),
|
|
400
|
+
o("div", De, E(w.value), 1),
|
|
401
|
+
o("div", Oe, [u.value === "ringing" ? (x(), a(e, { key: 0 }, [c(E(O.value), 1), r[0] ||= o("span", { class: "dots" }, [
|
|
402
|
+
o("i", null, "."),
|
|
403
|
+
o("i", null, "."),
|
|
404
|
+
o("i", null, ".")
|
|
405
|
+
], -1)], 64)) : (x(), a("span", {
|
|
406
|
+
key: 1,
|
|
407
|
+
class: h(u.value)
|
|
408
|
+
}, E(d.value), 3))])
|
|
409
|
+
]),
|
|
410
|
+
o("div", ke, [n.mode === "outgoing" ? (x(), a(e, { key: 0 }, [u.value === "ringing" ? (x(), a("button", {
|
|
411
|
+
key: 0,
|
|
412
|
+
class: "btn cancel",
|
|
413
|
+
onClick: A
|
|
414
|
+
}, "取消")) : i("", !0)], 64)) : (x(), a(e, { key: 1 }, [u.value === "ringing" ? (x(), a("button", {
|
|
415
|
+
key: 0,
|
|
416
|
+
class: "btn reject",
|
|
417
|
+
onClick: N
|
|
418
|
+
}, "拒接")) : i("", !0), u.value === "ringing" ? (x(), a("button", {
|
|
419
|
+
key: 1,
|
|
420
|
+
class: "btn accept",
|
|
421
|
+
onClick: j
|
|
422
|
+
}, "接听")) : i("", !0)], 64))])
|
|
423
|
+
])), [[D(fe), ".call-dialog-status"]]);
|
|
424
|
+
}
|
|
425
|
+
}), [["__scopeId", "data-v-604b8a98"]]), je = "<span class=\"speaking-indicator\"><span class=\"wave-bar\"></span><span class=\"wave-bar\"></span><span class=\"wave-bar\"></span><span>正在发言</span></span>", Me = "<span class=\"host-badge\">主持人</span>", Ne = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line></svg>", Pe = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"15 3 21 3 21 9\"></polyline><polyline points=\"9 21 3 21 3 15\"></polyline><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"></line><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"></line></svg>", Fe = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line></svg>", Ie = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"7.5\" height=\"7.5\"></rect><rect x=\"13.5\" y=\"3\" width=\"7.5\" height=\"7.5\"></rect><rect x=\"3\" y=\"13.5\" width=\"7.5\" height=\"7.5\"></rect><rect x=\"13.5\" y=\"13.5\" width=\"7.5\" height=\"7.5\"></rect></svg>", Le = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"></rect><rect x=\"12.5\" y=\"12.5\" width=\"8\" height=\"8\" fill=\"currentColor\" stroke=\"none\"></rect></svg>", Re = { class: "meeting-header" }, ze = { class: "title-area" }, Be = { class: "title" }, Ve = {
|
|
220
426
|
key: 0,
|
|
221
427
|
class: "duration"
|
|
222
|
-
},
|
|
428
|
+
}, He = { class: "header-center" }, Ue = { class: "window-controls" }, We = [
|
|
429
|
+
"aria-label",
|
|
430
|
+
"title",
|
|
431
|
+
"innerHTML"
|
|
432
|
+
], Ge = ["innerHTML"], Ke = ["innerHTML"], qe = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
223
433
|
__name: "MeetingHeader",
|
|
224
434
|
props: {
|
|
225
435
|
title: {},
|
|
226
|
-
duration: {}
|
|
436
|
+
duration: {},
|
|
437
|
+
gridMode: { type: Boolean }
|
|
227
438
|
},
|
|
228
|
-
emits: [
|
|
439
|
+
emits: [
|
|
440
|
+
"close",
|
|
441
|
+
"minimize",
|
|
442
|
+
"toggleGrid"
|
|
443
|
+
],
|
|
229
444
|
setup(e, { emit: t }) {
|
|
230
445
|
let n = t;
|
|
231
|
-
return (t, r) => (
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
"
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
446
|
+
return (t, r) => (x(), a("header", Re, [
|
|
447
|
+
o("div", ze, [o("h1", Be, E(e.title), 1), e.duration ? (x(), a("span", Ve, E(e.duration), 1)) : i("", !0)]),
|
|
448
|
+
o("div", He, [T(t.$slots, "center", {}, void 0, !0)]),
|
|
449
|
+
o("div", Ue, [
|
|
450
|
+
o("button", {
|
|
451
|
+
class: "win-btn grid-btn",
|
|
452
|
+
type: "button",
|
|
453
|
+
"aria-label": e.gridMode ? "恢复默认布局" : "全屏宫格",
|
|
454
|
+
title: e.gridMode ? "恢复默认布局" : "全屏宫格",
|
|
455
|
+
onClick: r[0] ||= (e) => n("toggleGrid"),
|
|
456
|
+
innerHTML: e.gridMode ? D(Le) : D(Ie)
|
|
457
|
+
}, null, 8, We),
|
|
458
|
+
e.gridMode ? i("", !0) : (x(), a("button", {
|
|
459
|
+
key: 0,
|
|
460
|
+
class: "win-btn minimize-btn",
|
|
461
|
+
type: "button",
|
|
462
|
+
"aria-label": "最小化",
|
|
463
|
+
title: "最小化",
|
|
464
|
+
onClick: r[1] ||= (e) => n("minimize"),
|
|
465
|
+
innerHTML: D(Ne)
|
|
466
|
+
}, null, 8, Ge)),
|
|
467
|
+
o("button", {
|
|
468
|
+
class: "win-btn close-btn",
|
|
469
|
+
type: "button",
|
|
470
|
+
"aria-label": "关闭会议",
|
|
471
|
+
title: "关闭",
|
|
472
|
+
onClick: r[2] ||= (e) => n("close"),
|
|
473
|
+
innerHTML: D(Fe)
|
|
474
|
+
}, null, 8, Ke)
|
|
475
|
+
])
|
|
476
|
+
]));
|
|
246
477
|
}
|
|
247
|
-
}), [["__scopeId", "data-v-
|
|
478
|
+
}), [["__scopeId", "data-v-ebb18ffa"]]), Je = {
|
|
248
479
|
class: "main-video",
|
|
249
480
|
"aria-label": "主视频画面"
|
|
250
|
-
},
|
|
481
|
+
}, Ye = {
|
|
251
482
|
key: 0,
|
|
483
|
+
class: "camera-off-mask"
|
|
484
|
+
}, Xe = {
|
|
485
|
+
key: 1,
|
|
252
486
|
class: "video-placeholder"
|
|
253
|
-
},
|
|
487
|
+
}, Ze = { class: "video-overlay" }, Qe = { class: "video-meta-grid" }, $e = { class: "corner-tl" }, et = { class: "participant-name" }, tt = ["innerHTML"], nt = { class: "corner-br" }, rt = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
254
488
|
__name: "MainVideoTile",
|
|
255
489
|
props: {
|
|
256
490
|
identity: {},
|
|
257
491
|
name: {},
|
|
258
492
|
muted: { type: Boolean },
|
|
493
|
+
cameraOn: { type: Boolean },
|
|
259
494
|
speaking: { type: Boolean },
|
|
260
495
|
isHost: { type: Boolean },
|
|
261
496
|
isSelf: { type: Boolean },
|
|
497
|
+
micUnavailable: { type: Boolean },
|
|
262
498
|
onVideoElReady: { type: Function }
|
|
263
499
|
},
|
|
264
500
|
setup(e) {
|
|
265
|
-
let t = e, n =
|
|
501
|
+
let t = e, n = C(null);
|
|
266
502
|
function r() {
|
|
267
503
|
t.onVideoElReady?.(t.identity, n.value);
|
|
268
504
|
}
|
|
269
|
-
return
|
|
505
|
+
return y(r), v(() => {
|
|
270
506
|
t.onVideoElReady?.(t.identity, null);
|
|
271
|
-
}),
|
|
272
|
-
|
|
273
|
-
}), (t, r) => (
|
|
507
|
+
}), ee(() => t.identity, () => {
|
|
508
|
+
m(r);
|
|
509
|
+
}), (t, r) => (x(), a("section", Je, [
|
|
274
510
|
o("video", {
|
|
275
511
|
ref_key: "videoEl",
|
|
276
512
|
ref: n,
|
|
@@ -279,19 +515,24 @@ var A = {
|
|
|
279
515
|
playsinline: "",
|
|
280
516
|
class: "tile-video"
|
|
281
517
|
}, null, 512),
|
|
282
|
-
e.
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
518
|
+
e.cameraOn === !1 ? (x(), a("div", Ye, [l(q, {
|
|
519
|
+
name: "camera-off",
|
|
520
|
+
size: 28,
|
|
521
|
+
color: "rgba(255, 255, 255, 0.45)"
|
|
522
|
+
}), r[0] ||= o("span", { class: "camera-off-text" }, "摄像头已关", -1)])) : i("", !0),
|
|
523
|
+
e.name ? i("", !0) : (x(), a("div", Xe, "主视频画面")),
|
|
524
|
+
o("div", Ze, [o("div", Qe, [
|
|
525
|
+
o("div", $e, [o("span", et, E(e.isSelf ? "我" : e.name || "等待主持人加入"), 1)]),
|
|
526
|
+
e.speaking ? (x(), a("div", {
|
|
286
527
|
key: 0,
|
|
287
528
|
class: "corner-tr",
|
|
288
|
-
innerHTML:
|
|
289
|
-
}, null, 8,
|
|
290
|
-
o("div",
|
|
291
|
-
name: e.muted ? "mic-off" : "mic-on",
|
|
529
|
+
innerHTML: D(je)
|
|
530
|
+
}, null, 8, tt)) : i("", !0),
|
|
531
|
+
o("div", nt, [l(q, {
|
|
532
|
+
name: e.muted || e.isSelf && e.micUnavailable ? "mic-off" : "mic-on",
|
|
292
533
|
size: 18,
|
|
293
|
-
color: e.muted ? "#ef4444" : "#fff",
|
|
294
|
-
title: e.muted ? "麦克风已关" : "麦克风已开"
|
|
534
|
+
color: e.isSelf && e.micUnavailable ? "rgba(255, 255, 255, 0.45)" : e.muted ? "#ef4444" : "#fff",
|
|
535
|
+
title: e.isSelf && e.micUnavailable ? "麦克风不可用" : e.muted ? "麦克风已关" : "麦克风已开"
|
|
295
536
|
}, null, 8, [
|
|
296
537
|
"name",
|
|
297
538
|
"color",
|
|
@@ -300,28 +541,37 @@ var A = {
|
|
|
300
541
|
])])
|
|
301
542
|
]));
|
|
302
543
|
}
|
|
303
|
-
}), [["__scopeId", "data-v-
|
|
544
|
+
}), [["__scopeId", "data-v-772bc573"]]), it = ["aria-label"], at = {
|
|
545
|
+
key: 0,
|
|
546
|
+
class: "camera-off-mask"
|
|
547
|
+
}, ot = { class: "video-overlay" }, st = { class: "video-meta-grid" }, ct = {
|
|
548
|
+
key: 0,
|
|
549
|
+
class: "corner-host-top"
|
|
550
|
+
}, lt = ["innerHTML"], ut = { class: "corner-tl" }, dt = { class: "participant-name" }, ft = ["innerHTML"], pt = ["innerHTML"], mt = { class: "corner-br" }, ht = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
304
551
|
__name: "SmallVideoTile",
|
|
305
552
|
props: {
|
|
306
553
|
identity: {},
|
|
307
554
|
name: {},
|
|
308
555
|
muted: { type: Boolean },
|
|
556
|
+
cameraOn: { type: Boolean },
|
|
309
557
|
speaking: { type: Boolean },
|
|
310
558
|
isHost: { type: Boolean },
|
|
311
559
|
isSelf: { type: Boolean },
|
|
560
|
+
hostBadgeTop: { type: Boolean },
|
|
561
|
+
micUnavailable: { type: Boolean },
|
|
312
562
|
onVideoElReady: { type: Function }
|
|
313
563
|
},
|
|
314
564
|
emits: ["click"],
|
|
315
565
|
setup(e, { emit: t }) {
|
|
316
|
-
let n = e, r = t, s =
|
|
317
|
-
return
|
|
566
|
+
let n = e, r = t, s = C(null);
|
|
567
|
+
return y(() => {
|
|
318
568
|
s.value && n.onVideoElReady?.(n.identity, s.value);
|
|
319
|
-
}),
|
|
569
|
+
}), v(() => {
|
|
320
570
|
n.onVideoElReady?.(n.identity, null);
|
|
321
|
-
}), (t, n) => (
|
|
571
|
+
}), (t, n) => (x(), a("div", {
|
|
322
572
|
class: "small-video",
|
|
323
573
|
role: "img",
|
|
324
|
-
"aria-label": `${e.name} 的视频画面`,
|
|
574
|
+
"aria-label": `${e.isSelf ? "我" : e.name} 的视频画面`,
|
|
325
575
|
onClick: n[0] ||= (t) => r("click", e.identity)
|
|
326
576
|
}, [
|
|
327
577
|
o("video", {
|
|
@@ -332,173 +582,203 @@ var A = {
|
|
|
332
582
|
playsinline: "",
|
|
333
583
|
class: "tile-video"
|
|
334
584
|
}, null, 512),
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
585
|
+
e.cameraOn === !1 ? (x(), a("div", at, [l(q, {
|
|
586
|
+
name: "camera-off",
|
|
587
|
+
size: 22,
|
|
588
|
+
color: "rgba(255, 255, 255, 0.45)"
|
|
589
|
+
}), n[1] ||= o("span", { class: "camera-off-text" }, "摄像头已关", -1)])) : i("", !0),
|
|
590
|
+
o("div", ot, [o("div", st, [
|
|
591
|
+
e.isHost && e.hostBadgeTop ? (x(), a("div", ct, [o("span", {
|
|
339
592
|
class: "host-badge-inline",
|
|
340
|
-
innerHTML:
|
|
341
|
-
}, null, 8,
|
|
342
|
-
e.
|
|
593
|
+
innerHTML: D(Me)
|
|
594
|
+
}, null, 8, lt)])) : i("", !0),
|
|
595
|
+
o("div", ut, [o("span", dt, E(e.isSelf ? "我" : e.name), 1), e.isHost && !e.hostBadgeTop ? (x(), a("span", {
|
|
343
596
|
key: 0,
|
|
597
|
+
class: "host-badge-inline",
|
|
598
|
+
innerHTML: D(Me)
|
|
599
|
+
}, null, 8, ft)) : i("", !0)]),
|
|
600
|
+
e.speaking ? (x(), a("div", {
|
|
601
|
+
key: 1,
|
|
344
602
|
class: "corner-tr",
|
|
345
|
-
innerHTML:
|
|
346
|
-
}, null, 8,
|
|
347
|
-
o("div",
|
|
348
|
-
name: e.muted ? "mic-off" : "mic-on",
|
|
603
|
+
innerHTML: D(je)
|
|
604
|
+
}, null, 8, pt)) : i("", !0),
|
|
605
|
+
o("div", mt, [l(q, {
|
|
606
|
+
name: e.muted || e.isSelf && e.micUnavailable ? "mic-off" : "mic-on",
|
|
349
607
|
size: 18,
|
|
350
|
-
color: e.muted ? "#ef4444" : "#fff",
|
|
351
|
-
title: e.muted ? "麦克风已关" : "麦克风已开"
|
|
608
|
+
color: e.isSelf && e.micUnavailable ? "rgba(255, 255, 255, 0.45)" : e.muted ? "#ef4444" : "#fff",
|
|
609
|
+
title: e.isSelf && e.micUnavailable ? "麦克风不可用" : e.muted ? "麦克风已关" : "麦克风已开"
|
|
352
610
|
}, null, 8, [
|
|
353
611
|
"name",
|
|
354
612
|
"color",
|
|
355
613
|
"title"
|
|
356
614
|
])])
|
|
357
615
|
])])
|
|
358
|
-
], 8,
|
|
616
|
+
], 8, it));
|
|
359
617
|
}
|
|
360
|
-
}), [["__scopeId", "data-v-
|
|
618
|
+
}), [["__scopeId", "data-v-b30a66c2"]]), gt = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
361
619
|
__name: "VideoListPanel",
|
|
362
620
|
props: {
|
|
363
621
|
members: {},
|
|
622
|
+
selfIdentity: {},
|
|
623
|
+
selfMicUnavailable: { type: Boolean },
|
|
364
624
|
onTileMount: { type: Function }
|
|
365
625
|
},
|
|
366
626
|
emits: ["tileClick"],
|
|
367
627
|
setup(t, { expose: n, emit: i }) {
|
|
368
|
-
let o = t, s = i, c =
|
|
628
|
+
let o = t, s = i, c = C(null);
|
|
369
629
|
n({ listEl: c });
|
|
370
630
|
function l(e, t) {
|
|
371
631
|
o.onTileMount?.(e, t);
|
|
372
632
|
}
|
|
373
|
-
return (n, i) => (
|
|
633
|
+
return (n, i) => (x(), a("div", {
|
|
374
634
|
ref_key: "listEl",
|
|
375
635
|
ref: c,
|
|
376
636
|
class: "sidebar-list"
|
|
377
|
-
}, [(
|
|
637
|
+
}, [(x(!0), a(e, null, w(t.members, (e) => (x(), r(ht, {
|
|
378
638
|
key: e.identity,
|
|
379
639
|
identity: e.identity,
|
|
380
640
|
name: e.name,
|
|
381
641
|
muted: e.muted,
|
|
642
|
+
"camera-on": e.joined && e.cameraOn,
|
|
382
643
|
speaking: e.speaking,
|
|
383
644
|
"is-host": e.isHost,
|
|
645
|
+
"is-self": e.identity === (t.selfIdentity || ""),
|
|
646
|
+
"mic-unavailable": e.identity === (t.selfIdentity || "") && !!t.selfMicUnavailable,
|
|
384
647
|
"on-video-el-ready": l,
|
|
385
648
|
onClick: i[0] ||= (e) => s("tileClick", e)
|
|
386
649
|
}, null, 8, [
|
|
387
650
|
"identity",
|
|
388
651
|
"name",
|
|
389
652
|
"muted",
|
|
653
|
+
"camera-on",
|
|
390
654
|
"speaking",
|
|
391
|
-
"is-host"
|
|
655
|
+
"is-host",
|
|
656
|
+
"is-self",
|
|
657
|
+
"mic-unavailable"
|
|
392
658
|
]))), 128))], 512));
|
|
393
659
|
}
|
|
394
|
-
}), [["__scopeId", "data-v-
|
|
660
|
+
}), [["__scopeId", "data-v-939f967f"]]), _t = { class: "member-row" }, vt = { class: "member-main" }, yt = { class: "member-name" }, bt = {
|
|
395
661
|
key: 0,
|
|
396
662
|
class: "host-tag"
|
|
397
|
-
},
|
|
663
|
+
}, xt = { class: "member-status" }, St = {
|
|
398
664
|
key: 0,
|
|
399
665
|
class: "status-badge"
|
|
400
|
-
},
|
|
666
|
+
}, Ct = {
|
|
401
667
|
key: 1,
|
|
402
668
|
class: "status-badge"
|
|
403
|
-
},
|
|
669
|
+
}, wt = {
|
|
404
670
|
key: 2,
|
|
405
671
|
class: "status-badge"
|
|
406
|
-
},
|
|
672
|
+
}, Tt = {
|
|
407
673
|
key: 3,
|
|
408
674
|
class: "status-badge speaking"
|
|
409
|
-
},
|
|
675
|
+
}, Et = { class: "member-row member-item-row" }, Dt = { class: "member-main" }, Ot = { class: "member-dept" }, kt = { class: "member-status" }, At = 500, jt = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
410
676
|
__name: "MemberItem",
|
|
411
677
|
props: {
|
|
412
678
|
member: {},
|
|
413
679
|
canPromote: { type: Boolean },
|
|
414
680
|
canKick: { type: Boolean },
|
|
415
|
-
canReinvite: { type: Boolean }
|
|
681
|
+
canReinvite: { type: Boolean },
|
|
682
|
+
selfIdentity: {},
|
|
683
|
+
selfMicUnavailable: { type: Boolean },
|
|
684
|
+
selfCameraUnavailable: { type: Boolean }
|
|
416
685
|
},
|
|
417
686
|
emits: [
|
|
418
687
|
"transferHost",
|
|
419
688
|
"kick",
|
|
420
689
|
"reinvite"
|
|
421
690
|
],
|
|
422
|
-
setup(e, { emit:
|
|
423
|
-
let
|
|
424
|
-
function x() {
|
|
425
|
-
u.value ? S() : u.value = !0;
|
|
426
|
-
}
|
|
427
|
-
function S() {
|
|
428
|
-
u.value = !1, d &&= (clearTimeout(d), null);
|
|
429
|
-
}
|
|
430
|
-
function C() {
|
|
431
|
-
d &&= (clearTimeout(d), null);
|
|
432
|
-
}
|
|
691
|
+
setup(e, { emit: n }) {
|
|
692
|
+
let s = e, u = t(() => s.member.identity === (s.selfIdentity || "")), d = t(() => u.value && !!s.selfMicUnavailable || !u.value && !!s.member.micUnavailable), f = t(() => u.value && !!s.selfCameraUnavailable || !u.value && !!s.member.cameraUnavailable), p = n, m = C(!1), g = null, _ = () => s.canPromote && s.member.online && s.member.joined && !s.member.isHost, b = () => s.canKick && !s.member.isHost && s.member.status !== "left", S = () => !!s.canReinvite && !s.member.isHost && (s.member.status === "invited" || s.member.status === "left");
|
|
433
693
|
function w() {
|
|
434
|
-
|
|
435
|
-
u.value = !1, d = null;
|
|
436
|
-
}, Be));
|
|
694
|
+
m.value ? T() : m.value = !0;
|
|
437
695
|
}
|
|
438
696
|
function T() {
|
|
439
|
-
|
|
697
|
+
m.value = !1, g &&= (clearTimeout(g), null);
|
|
440
698
|
}
|
|
441
|
-
function
|
|
442
|
-
|
|
699
|
+
function D() {
|
|
700
|
+
g &&= (clearTimeout(g), null);
|
|
443
701
|
}
|
|
444
702
|
function O() {
|
|
445
|
-
|
|
703
|
+
m.value && (g && clearTimeout(g), g = setTimeout(() => {
|
|
704
|
+
m.value = !1, g = null;
|
|
705
|
+
}, At));
|
|
706
|
+
}
|
|
707
|
+
function k() {
|
|
708
|
+
T(), p("transferHost", s.member.identity);
|
|
446
709
|
}
|
|
447
|
-
function
|
|
448
|
-
|
|
710
|
+
function A() {
|
|
711
|
+
T(), p("kick", s.member.identity);
|
|
449
712
|
}
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
|
|
713
|
+
function ee() {
|
|
714
|
+
T(), p("reinvite", s.member.identity);
|
|
715
|
+
}
|
|
716
|
+
function j(e) {
|
|
717
|
+
m.value && (e.target.closest(".member-item-row") || T());
|
|
718
|
+
}
|
|
719
|
+
return y(() => {
|
|
720
|
+
document.addEventListener("click", j);
|
|
721
|
+
}), v(() => {
|
|
722
|
+
document.removeEventListener("click", j), g && clearTimeout(g);
|
|
723
|
+
}), (t, n) => (x(), a("div", { class: h(["member-item", {
|
|
455
724
|
offline: !e.member.online && e.member.status !== "left",
|
|
456
725
|
waiting: e.member.online && !e.member.joined,
|
|
457
726
|
left: e.member.status === "left"
|
|
458
|
-
}]) }, [o("div",
|
|
459
|
-
|
|
727
|
+
}]) }, [o("div", _t, [o("div", vt, [o("div", yt, [c(E(u.value ? "我" : e.member.name) + " ", 1), e.member.isHost ? (x(), a("span", bt, "主持人")) : i("", !0)])]), o("div", xt, [e.member.status === "left" ? (x(), a("span", St, "已离会")) : e.member.online ? e.member.joined ? e.member.speaking ? (x(), a("span", Tt, "正在发言")) : i("", !0) : (x(), a("span", wt, "等待加入")) : (x(), a("span", Ct, "离线"))])]), o("div", Et, [o("div", Dt, [o("div", Ot, E(e.member.dept || "—"), 1)]), o("div", kt, [
|
|
728
|
+
_() || b() || S() ? (x(), a("button", {
|
|
460
729
|
key: 0,
|
|
461
730
|
class: "member-menu",
|
|
462
731
|
type: "button",
|
|
463
732
|
"aria-label": "更多操作",
|
|
464
|
-
onClick:
|
|
465
|
-
onMouseenter:
|
|
466
|
-
onMouseleave:
|
|
467
|
-
}, [
|
|
733
|
+
onClick: N(w, ["stop"]),
|
|
734
|
+
onMouseenter: D,
|
|
735
|
+
onMouseleave: O
|
|
736
|
+
}, [l(q, {
|
|
468
737
|
name: "more",
|
|
469
738
|
size: 14
|
|
470
739
|
})], 32)) : i("", !0),
|
|
471
|
-
|
|
740
|
+
m.value ? (x(), a("div", {
|
|
472
741
|
key: 1,
|
|
473
742
|
class: "member-menu-popover",
|
|
474
|
-
onMouseenter:
|
|
475
|
-
onMouseleave:
|
|
743
|
+
onMouseenter: D,
|
|
744
|
+
onMouseleave: O
|
|
476
745
|
}, [
|
|
477
|
-
|
|
746
|
+
S() ? (x(), a("button", {
|
|
478
747
|
key: 0,
|
|
479
748
|
class: "menu-item",
|
|
480
749
|
type: "button",
|
|
481
|
-
onClick:
|
|
750
|
+
onClick: N(ee, ["stop"])
|
|
482
751
|
}, " 再次邀请 ")) : i("", !0),
|
|
483
|
-
|
|
752
|
+
_() ? (x(), a("button", {
|
|
484
753
|
key: 1,
|
|
485
754
|
class: "menu-item",
|
|
486
755
|
type: "button",
|
|
487
|
-
onClick:
|
|
756
|
+
onClick: N(k, ["stop"])
|
|
488
757
|
}, " 设为主持人 ")) : i("", !0),
|
|
489
|
-
|
|
758
|
+
b() ? (x(), a("button", {
|
|
490
759
|
key: 2,
|
|
491
760
|
class: "menu-item",
|
|
492
761
|
type: "button",
|
|
493
|
-
onClick:
|
|
762
|
+
onClick: N(A, ["stop"])
|
|
494
763
|
}, " 离会 ")) : i("", !0)
|
|
495
764
|
], 32)) : i("", !0),
|
|
496
|
-
e.member.joined ? (
|
|
765
|
+
e.member.joined ? (x(), r(q, {
|
|
497
766
|
key: 2,
|
|
498
|
-
name: e.member.
|
|
767
|
+
name: f.value || !e.member.cameraOn ? "camera-off" : "camera-on",
|
|
768
|
+
size: 14,
|
|
769
|
+
color: f.value || !e.member.cameraOn ? "rgba(255, 255, 255, 0.45)" : "rgba(255, 255, 255, 0.85)",
|
|
770
|
+
title: f.value ? "摄像头不可用" : e.member.cameraOn ? "摄像头已开" : "摄像头已关"
|
|
771
|
+
}, null, 8, [
|
|
772
|
+
"name",
|
|
773
|
+
"color",
|
|
774
|
+
"title"
|
|
775
|
+
])) : i("", !0),
|
|
776
|
+
e.member.joined ? (x(), r(q, {
|
|
777
|
+
key: 3,
|
|
778
|
+
name: d.value || e.member.muted ? "mic-off" : "mic-on",
|
|
499
779
|
size: 14,
|
|
500
|
-
color: e.member.muted ? "#ef4444" : "rgba(255, 255, 255, 0.85)",
|
|
501
|
-
title: e.member.muted ? "麦克风已关" : "麦克风已开"
|
|
780
|
+
color: d.value ? "rgba(255, 255, 255, 0.45)" : e.member.muted ? "#ef4444" : "rgba(255, 255, 255, 0.85)",
|
|
781
|
+
title: d.value ? "麦克风不可用" : e.member.muted ? "麦克风已关" : "麦克风已开"
|
|
502
782
|
}, null, 8, [
|
|
503
783
|
"name",
|
|
504
784
|
"color",
|
|
@@ -506,13 +786,16 @@ var A = {
|
|
|
506
786
|
])) : i("", !0)
|
|
507
787
|
])])], 2));
|
|
508
788
|
}
|
|
509
|
-
}), [["__scopeId", "data-v-
|
|
789
|
+
}), [["__scopeId", "data-v-af2e6857"]]), Mt = { class: "member-list" }, Nt = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
510
790
|
__name: "MemberListPanel",
|
|
511
791
|
props: {
|
|
512
792
|
members: {},
|
|
513
793
|
canPromote: { type: Boolean },
|
|
514
794
|
canKick: { type: Boolean },
|
|
515
|
-
canReinvite: { type: Boolean }
|
|
795
|
+
canReinvite: { type: Boolean },
|
|
796
|
+
selfIdentity: {},
|
|
797
|
+
selfMicUnavailable: { type: Boolean },
|
|
798
|
+
selfCameraUnavailable: { type: Boolean }
|
|
516
799
|
},
|
|
517
800
|
emits: [
|
|
518
801
|
"transferHost",
|
|
@@ -521,12 +804,15 @@ var A = {
|
|
|
521
804
|
],
|
|
522
805
|
setup(t, { emit: n }) {
|
|
523
806
|
let i = n;
|
|
524
|
-
return (n, o) => (
|
|
807
|
+
return (n, o) => (x(), a("div", Mt, [(x(!0), a(e, null, w(t.members, (e) => (x(), r(jt, {
|
|
525
808
|
key: e.identity,
|
|
526
809
|
member: e,
|
|
527
810
|
"can-promote": t.canPromote,
|
|
528
811
|
"can-kick": t.canKick,
|
|
529
812
|
"can-reinvite": t.canReinvite,
|
|
813
|
+
"self-identity": t.selfIdentity,
|
|
814
|
+
"self-mic-unavailable": t.selfMicUnavailable,
|
|
815
|
+
"self-camera-unavailable": t.selfCameraUnavailable,
|
|
530
816
|
onTransferHost: o[0] ||= (e) => i("transferHost", e),
|
|
531
817
|
onKick: o[1] ||= (e) => i("kick", e),
|
|
532
818
|
onReinvite: o[2] ||= (e) => i("reinvite", e)
|
|
@@ -534,48 +820,117 @@ var A = {
|
|
|
534
820
|
"member",
|
|
535
821
|
"can-promote",
|
|
536
822
|
"can-kick",
|
|
537
|
-
"can-reinvite"
|
|
823
|
+
"can-reinvite",
|
|
824
|
+
"self-identity",
|
|
825
|
+
"self-mic-unavailable",
|
|
826
|
+
"self-camera-unavailable"
|
|
538
827
|
]))), 128))]));
|
|
539
828
|
}
|
|
540
|
-
}), [["__scopeId", "data-v-
|
|
829
|
+
}), [["__scopeId", "data-v-11e19641"]]), Pt = { class: "tab-bar" }, Ft = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
541
830
|
__name: "SidebarTabs",
|
|
542
|
-
props: {
|
|
831
|
+
props: {
|
|
832
|
+
activeTab: {},
|
|
833
|
+
isHost: { type: Boolean }
|
|
834
|
+
},
|
|
543
835
|
emits: ["update:activeTab", "addMember"],
|
|
544
|
-
setup(
|
|
545
|
-
let
|
|
546
|
-
return (
|
|
836
|
+
setup(t, { emit: n }) {
|
|
837
|
+
let r = n;
|
|
838
|
+
return (n, s) => (x(), a("div", Pt, [
|
|
547
839
|
o("button", {
|
|
548
|
-
class:
|
|
840
|
+
class: h(["tab-btn", { active: t.activeTab === "video" }]),
|
|
549
841
|
type: "button",
|
|
550
|
-
onClick:
|
|
842
|
+
onClick: s[0] ||= (e) => r("update:activeTab", "video")
|
|
551
843
|
}, " 视频列表 ", 2),
|
|
552
844
|
o("button", {
|
|
553
|
-
class:
|
|
554
|
-
active:
|
|
845
|
+
class: h(["tab-btn", {
|
|
846
|
+
active: t.activeTab === "member",
|
|
555
847
|
"before-add": !0
|
|
556
848
|
}]),
|
|
557
849
|
type: "button",
|
|
558
|
-
onClick:
|
|
850
|
+
onClick: s[1] ||= (e) => r("update:activeTab", "member")
|
|
559
851
|
}, " 成员列表 ", 2),
|
|
560
|
-
|
|
852
|
+
t.isHost ? (x(), a(e, { key: 0 }, [s[3] ||= o("span", {
|
|
561
853
|
class: "tab-divider",
|
|
562
854
|
"aria-hidden": "true"
|
|
563
|
-
}, null, -1),
|
|
564
|
-
o("button", {
|
|
855
|
+
}, null, -1), o("button", {
|
|
565
856
|
class: "add-member-btn",
|
|
566
857
|
type: "button",
|
|
567
858
|
title: "添加参会人员",
|
|
568
|
-
onClick:
|
|
569
|
-
}, [
|
|
859
|
+
onClick: s[2] ||= (e) => r("addMember")
|
|
860
|
+
}, [l(q, {
|
|
570
861
|
name: "plus",
|
|
571
862
|
size: 14
|
|
863
|
+
})])], 64)) : i("", !0)
|
|
864
|
+
]));
|
|
865
|
+
}
|
|
866
|
+
}), [["__scopeId", "data-v-315ebd68"]]), It = { class: "meeting-controls" }, Lt = ["disabled", "title"], Rt = ["disabled", "title"], zt = ["title"], Bt = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
867
|
+
__name: "MeetingControlBar",
|
|
868
|
+
props: {
|
|
869
|
+
micEnabled: { type: Boolean },
|
|
870
|
+
cameraEnabled: { type: Boolean },
|
|
871
|
+
speakerMuted: { type: Boolean },
|
|
872
|
+
micUnavailable: { type: Boolean },
|
|
873
|
+
cameraUnavailable: { type: Boolean }
|
|
874
|
+
},
|
|
875
|
+
emits: [
|
|
876
|
+
"toggleMic",
|
|
877
|
+
"toggleCamera",
|
|
878
|
+
"toggleSpeaker",
|
|
879
|
+
"hangup"
|
|
880
|
+
],
|
|
881
|
+
setup(e, { emit: t }) {
|
|
882
|
+
let n = t;
|
|
883
|
+
return (t, r) => (x(), a("div", It, [
|
|
884
|
+
o("button", {
|
|
885
|
+
class: h(["ctrl-btn", {
|
|
886
|
+
off: !e.micEnabled && !e.micUnavailable,
|
|
887
|
+
unavailable: e.micUnavailable
|
|
888
|
+
}]),
|
|
889
|
+
type: "button",
|
|
890
|
+
disabled: e.micUnavailable,
|
|
891
|
+
title: e.micUnavailable ? "麦克风不可用" : e.micEnabled ? "麦克风已开" : "麦克风已关",
|
|
892
|
+
onClick: r[0] ||= (e) => n("toggleMic")
|
|
893
|
+
}, [l(q, {
|
|
894
|
+
name: e.micEnabled && !e.micUnavailable ? "mic-on" : "mic-off",
|
|
895
|
+
size: 22
|
|
896
|
+
}, null, 8, ["name"])], 10, Lt),
|
|
897
|
+
o("button", {
|
|
898
|
+
class: h(["ctrl-btn", {
|
|
899
|
+
off: !e.cameraEnabled && !e.cameraUnavailable,
|
|
900
|
+
unavailable: e.cameraUnavailable
|
|
901
|
+
}]),
|
|
902
|
+
type: "button",
|
|
903
|
+
disabled: e.cameraUnavailable,
|
|
904
|
+
title: e.cameraUnavailable ? "摄像头不可用" : e.cameraEnabled ? "摄像头已开" : "摄像头已关",
|
|
905
|
+
onClick: r[1] ||= (e) => n("toggleCamera")
|
|
906
|
+
}, [l(q, {
|
|
907
|
+
name: e.cameraEnabled && !e.cameraUnavailable ? "camera-on" : "camera-off",
|
|
908
|
+
size: 22
|
|
909
|
+
}, null, 8, ["name"])], 10, Rt),
|
|
910
|
+
o("button", {
|
|
911
|
+
class: h(["ctrl-btn", { off: e.speakerMuted }]),
|
|
912
|
+
type: "button",
|
|
913
|
+
title: e.speakerMuted ? "扬声器已关" : "扬声器已开",
|
|
914
|
+
onClick: r[2] ||= (e) => n("toggleSpeaker")
|
|
915
|
+
}, [l(q, {
|
|
916
|
+
name: e.speakerMuted ? "sound-off" : "sound-on",
|
|
917
|
+
size: 22
|
|
918
|
+
}, null, 8, ["name"])], 10, zt),
|
|
919
|
+
o("button", {
|
|
920
|
+
class: "ctrl-btn hangup",
|
|
921
|
+
type: "button",
|
|
922
|
+
title: "离开会议",
|
|
923
|
+
onClick: r[3] ||= (e) => n("hangup")
|
|
924
|
+
}, [l(q, {
|
|
925
|
+
name: "hangup",
|
|
926
|
+
size: 22
|
|
572
927
|
})])
|
|
573
928
|
]));
|
|
574
929
|
}
|
|
575
|
-
}), [["__scopeId", "data-v-
|
|
930
|
+
}), [["__scopeId", "data-v-9ec1fbf6"]]), Vt = { class: "confirm-dialog" }, Ht = {
|
|
576
931
|
key: 0,
|
|
577
932
|
class: "confirm-title"
|
|
578
|
-
},
|
|
933
|
+
}, Ut = { class: "confirm-message" }, Wt = { class: "confirm-actions" }, Gt = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
579
934
|
__name: "ConfirmDialog",
|
|
580
935
|
props: {
|
|
581
936
|
title: {},
|
|
@@ -587,24 +942,24 @@ var A = {
|
|
|
587
942
|
emits: ["confirm", "cancel"],
|
|
588
943
|
setup(e, { emit: t }) {
|
|
589
944
|
let n = t;
|
|
590
|
-
return (t, r) => (
|
|
945
|
+
return (t, r) => (x(), a("div", {
|
|
591
946
|
class: "confirm-mask",
|
|
592
|
-
onClick: r[2] ||=
|
|
593
|
-
}, [o("div",
|
|
594
|
-
e.title ? (
|
|
595
|
-
o("div",
|
|
596
|
-
o("div",
|
|
947
|
+
onClick: r[2] ||= N((e) => n("cancel"), ["self"])
|
|
948
|
+
}, [o("div", Vt, [
|
|
949
|
+
e.title ? (x(), a("div", Ht, E(e.title), 1)) : i("", !0),
|
|
950
|
+
o("div", Ut, E(e.message), 1),
|
|
951
|
+
o("div", Wt, [o("button", {
|
|
597
952
|
class: "confirm-btn cancel",
|
|
598
953
|
type: "button",
|
|
599
954
|
onClick: r[0] ||= (e) => n("cancel")
|
|
600
|
-
},
|
|
601
|
-
class:
|
|
955
|
+
}, E(e.cancelText || "取消"), 1), o("button", {
|
|
956
|
+
class: h(["confirm-btn ok", { danger: e.danger }]),
|
|
602
957
|
type: "button",
|
|
603
958
|
onClick: r[1] ||= (e) => n("confirm")
|
|
604
|
-
},
|
|
959
|
+
}, E(e.confirmText || "确认"), 3)])
|
|
605
960
|
])]));
|
|
606
961
|
}
|
|
607
|
-
}), [["__scopeId", "data-v-39dcfdd0"]]),
|
|
962
|
+
}), [["__scopeId", "data-v-39dcfdd0"]]), Kt = { class: "ended-toast" }, qt = { class: "ended-toast-card" }, Jt = { class: "ended-toast-text" }, Yt = { class: "ended-toast-progress" }, Xt = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
608
963
|
__name: "MeetingEndedToast",
|
|
609
964
|
props: {
|
|
610
965
|
reason: { default: "会议已结束" },
|
|
@@ -612,159 +967,321 @@ var A = {
|
|
|
612
967
|
},
|
|
613
968
|
emits: ["close"],
|
|
614
969
|
setup(e, { emit: n }) {
|
|
615
|
-
let r = e, i = n, s =
|
|
616
|
-
return
|
|
617
|
-
|
|
618
|
-
s.value--, s.value <= 0 && (
|
|
970
|
+
let r = e, i = n, s = C(r.duration), c = null, u = t(() => `${r.reason}(${s.value}s)`);
|
|
971
|
+
return y(() => {
|
|
972
|
+
c = setInterval(() => {
|
|
973
|
+
s.value--, s.value <= 0 && (c && clearInterval(c), c = null, i("close"));
|
|
619
974
|
}, 1e3);
|
|
620
|
-
}),
|
|
621
|
-
|
|
622
|
-
}), (e, t) => (
|
|
975
|
+
}), v(() => {
|
|
976
|
+
c && clearInterval(c);
|
|
977
|
+
}), (e, t) => (x(), a("div", Kt, [o("div", qt, [o("span", Jt, E(u.value), 1), o("button", {
|
|
623
978
|
class: "ended-toast-close",
|
|
624
979
|
type: "button",
|
|
625
980
|
title: "立即关闭",
|
|
626
981
|
onClick: t[0] ||= (e) => i("close")
|
|
627
|
-
}, [
|
|
982
|
+
}, [l(q, {
|
|
628
983
|
name: "close",
|
|
629
984
|
size: 14
|
|
630
|
-
})])]), o("div",
|
|
985
|
+
})])]), o("div", Yt, [o("div", {
|
|
631
986
|
class: "ended-toast-progress-bar",
|
|
632
|
-
style:
|
|
987
|
+
style: _({ animationDuration: `${r.duration}s` })
|
|
633
988
|
}, null, 4)])]));
|
|
634
989
|
}
|
|
635
|
-
}), [["__scopeId", "data-v-044debab"]]),
|
|
990
|
+
}), [["__scopeId", "data-v-044debab"]]), Zt = { class: "im-picker-list" }, Qt = { class: "im-picker-toolbar" }, $t = { class: "im-picker-toolbar-right" }, en = { class: "im-picker-counter" }, tn = {
|
|
991
|
+
key: 0,
|
|
992
|
+
class: "im-picker-empty"
|
|
993
|
+
}, nn = {
|
|
994
|
+
key: 1,
|
|
995
|
+
class: "im-picker-empty"
|
|
996
|
+
}, rn = {
|
|
997
|
+
key: 2,
|
|
998
|
+
class: "im-picker-items"
|
|
999
|
+
}, an = ["onClick"], on = ["checked", "onClick"], sn = { class: "im-picker-avatar" }, cn = { class: "im-picker-info" }, ln = { class: "im-picker-name" }, un = {
|
|
1000
|
+
key: 0,
|
|
1001
|
+
class: "im-picker-dept"
|
|
1002
|
+
}, dn = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
1003
|
+
__name: "UserPickerList",
|
|
1004
|
+
props: {
|
|
1005
|
+
users: {},
|
|
1006
|
+
loading: { type: Boolean },
|
|
1007
|
+
selected: {},
|
|
1008
|
+
emptyText: {}
|
|
1009
|
+
},
|
|
1010
|
+
emits: ["update:selected"],
|
|
1011
|
+
setup(n, { emit: r }) {
|
|
1012
|
+
let s = n, c = r;
|
|
1013
|
+
O();
|
|
1014
|
+
let l = t(() => new Set(s.selected || []));
|
|
1015
|
+
function u(e) {
|
|
1016
|
+
let t = new Set(l.value);
|
|
1017
|
+
t.has(e) ? t.delete(e) : t.add(e), c("update:selected", [...t]);
|
|
1018
|
+
}
|
|
1019
|
+
let d = t(() => s.users.length > 0 && l.value.size === s.users.length);
|
|
1020
|
+
function f() {
|
|
1021
|
+
c("update:selected", d.value ? [] : s.users.map((e) => e.uid));
|
|
1022
|
+
}
|
|
1023
|
+
return (t, r) => (x(), a("div", Zt, [o("div", Qt, [r[0] ||= o("span", { class: "im-picker-label" }, "选择人员", -1), o("div", $t, [o("span", en, "已选 " + E(l.value.size) + " / " + E(n.users.length) + " 人", 1), n.users.length > 0 ? (x(), a("button", {
|
|
1024
|
+
key: 0,
|
|
1025
|
+
class: "im-picker-select-all",
|
|
1026
|
+
type: "button",
|
|
1027
|
+
onClick: f
|
|
1028
|
+
}, E(d.value ? "取消全选" : "全选"), 1)) : i("", !0)])]), n.loading ? (x(), a("div", tn, "加载中...")) : n.users.length === 0 ? (x(), a("div", nn, E(n.emptyText || "暂无可选人员"), 1)) : (x(), a("ul", rn, [(x(!0), a(e, null, w(n.users, (e) => (x(), a("li", {
|
|
1029
|
+
key: e.uid,
|
|
1030
|
+
class: h(["im-picker-item", { active: l.value.has(e.uid) }])
|
|
1031
|
+
}, [T(t.$slots, "user-item", {
|
|
1032
|
+
user: e,
|
|
1033
|
+
selected: l.value.has(e.uid),
|
|
1034
|
+
toggle: () => u(e.uid)
|
|
1035
|
+
}, () => [o("button", {
|
|
1036
|
+
class: "im-picker-item-btn",
|
|
1037
|
+
type: "button",
|
|
1038
|
+
onClick: (t) => u(e.uid)
|
|
1039
|
+
}, [
|
|
1040
|
+
o("input", {
|
|
1041
|
+
type: "checkbox",
|
|
1042
|
+
checked: l.value.has(e.uid),
|
|
1043
|
+
tabindex: "-1",
|
|
1044
|
+
onClick: N((t) => u(e.uid), ["stop"])
|
|
1045
|
+
}, null, 8, on),
|
|
1046
|
+
o("div", sn, E(e.name[0]), 1),
|
|
1047
|
+
o("div", cn, [o("div", ln, E(e.name), 1), e.dept ? (x(), a("div", un, E(e.dept), 1)) : i("", !0)])
|
|
1048
|
+
], 8, an)], !0)], 2))), 128))]))]));
|
|
1049
|
+
}
|
|
1050
|
+
}), [["__scopeId", "data-v-e42984c7"]]), fn = { class: "im-picker-dialog" }, pn = { class: "im-picker-header" }, mn = { class: "im-picker-title" }, hn = { class: "im-picker-body" }, gn = { class: "im-picker-footer" }, _n = ["disabled"], vn = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
1051
|
+
__name: "UserPickerDialog",
|
|
1052
|
+
props: {
|
|
1053
|
+
title: {},
|
|
1054
|
+
myUid: {},
|
|
1055
|
+
excludeUids: {},
|
|
1056
|
+
loader: { type: Function },
|
|
1057
|
+
confirmText: {},
|
|
1058
|
+
emptyText: {},
|
|
1059
|
+
onClose: { type: Function }
|
|
1060
|
+
},
|
|
1061
|
+
emits: [
|
|
1062
|
+
"confirm",
|
|
1063
|
+
"cancel",
|
|
1064
|
+
"close"
|
|
1065
|
+
],
|
|
1066
|
+
setup(e, { emit: t }) {
|
|
1067
|
+
let n = e, r = t, i = O(), c = C([]), u = C([]), d = C(!0);
|
|
1068
|
+
function p() {
|
|
1069
|
+
return z();
|
|
1070
|
+
}
|
|
1071
|
+
async function m() {
|
|
1072
|
+
let e = p();
|
|
1073
|
+
if (!e?.users) return [];
|
|
1074
|
+
let t = await e.users.list(), r = await e.users.resolve(e.uid).catch(() => void 0), i = new Set(n.excludeUids || []);
|
|
1075
|
+
return r && i.add(r.externalId), n.myUid && i.add(n.myUid), t.filter((e) => !i.has(e.externalId)).map((e) => ({
|
|
1076
|
+
uid: e.externalId,
|
|
1077
|
+
name: e.name,
|
|
1078
|
+
dept: e.deptName || void 0
|
|
1079
|
+
}));
|
|
1080
|
+
}
|
|
1081
|
+
y(async () => {
|
|
1082
|
+
try {
|
|
1083
|
+
c.value = n.loader ? await n.loader() : await m();
|
|
1084
|
+
} catch (e) {
|
|
1085
|
+
console.warn("[im] 选人列表加载失败", e), c.value = [];
|
|
1086
|
+
} finally {
|
|
1087
|
+
d.value = !1;
|
|
1088
|
+
}
|
|
1089
|
+
});
|
|
1090
|
+
function h() {
|
|
1091
|
+
u.value.length !== 0 && (r("confirm", [...u.value]), r("close"));
|
|
1092
|
+
}
|
|
1093
|
+
function _() {
|
|
1094
|
+
r("cancel"), r("close");
|
|
1095
|
+
}
|
|
1096
|
+
return (t, n) => (x(), a("div", {
|
|
1097
|
+
class: "im-picker-mask",
|
|
1098
|
+
onClick: N(_, ["self"])
|
|
1099
|
+
}, [o("div", fn, [
|
|
1100
|
+
o("div", pn, [o("h2", mn, E(e.title || "邀请参会"), 1), o("button", {
|
|
1101
|
+
class: "im-picker-close",
|
|
1102
|
+
type: "button",
|
|
1103
|
+
"aria-label": "关闭",
|
|
1104
|
+
onClick: _
|
|
1105
|
+
}, "✕")]),
|
|
1106
|
+
o("div", hn, [l(dn, {
|
|
1107
|
+
selected: u.value,
|
|
1108
|
+
"onUpdate:selected": n[0] ||= (e) => u.value = e,
|
|
1109
|
+
users: c.value,
|
|
1110
|
+
loading: d.value,
|
|
1111
|
+
"empty-text": e.emptyText || "所有成员都已在会议中"
|
|
1112
|
+
}, s({ _: 2 }, [i["user-item"] ? {
|
|
1113
|
+
name: "user-item",
|
|
1114
|
+
fn: j((e) => [T(t.$slots, "user-item", g(f(e)), void 0, !0)]),
|
|
1115
|
+
key: "0"
|
|
1116
|
+
} : void 0]), 1032, [
|
|
1117
|
+
"selected",
|
|
1118
|
+
"users",
|
|
1119
|
+
"loading",
|
|
1120
|
+
"empty-text"
|
|
1121
|
+
])]),
|
|
1122
|
+
o("div", gn, [o("button", {
|
|
1123
|
+
class: "im-picker-btn cancel",
|
|
1124
|
+
type: "button",
|
|
1125
|
+
onClick: _
|
|
1126
|
+
}, "取消"), o("button", {
|
|
1127
|
+
class: "im-picker-btn confirm",
|
|
1128
|
+
type: "button",
|
|
1129
|
+
disabled: u.value.length === 0,
|
|
1130
|
+
onClick: h
|
|
1131
|
+
}, E(e.confirmText || "邀请"), 9, _n)])
|
|
1132
|
+
])]));
|
|
1133
|
+
}
|
|
1134
|
+
}), [["__scopeId", "data-v-f68ef1d7"]]), yn = {
|
|
636
1135
|
key: 0,
|
|
637
1136
|
class: "device-warn"
|
|
638
|
-
},
|
|
1137
|
+
}, bn = {
|
|
639
1138
|
key: 1,
|
|
640
1139
|
class: "device-warn"
|
|
641
|
-
},
|
|
642
|
-
key:
|
|
1140
|
+
}, xn = { class: "bottom-controls" }, Sn = {
|
|
1141
|
+
key: 0,
|
|
1142
|
+
class: "fs-grid-overlay"
|
|
1143
|
+
}, Cn = { class: "fs-grid-scroll" }, wn = { class: "fs-grid" }, Tn = {
|
|
1144
|
+
key: 4,
|
|
643
1145
|
class: "mini-bar"
|
|
644
|
-
},
|
|
1146
|
+
}, En = { class: "mini-bar-body" }, Dn = {
|
|
645
1147
|
key: 0,
|
|
646
1148
|
class: "speaking-indicator"
|
|
647
|
-
},
|
|
1149
|
+
}, On = { class: "mini-duration" }, kn = { class: "mini-bar-actions" }, An = ["innerHTML"], jn = ["innerHTML"], Mn = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
648
1150
|
__name: "MeetWindow",
|
|
649
1151
|
props: {
|
|
650
1152
|
mode: {},
|
|
651
1153
|
title: {},
|
|
652
1154
|
height: {},
|
|
653
1155
|
onClose: { type: Function },
|
|
654
|
-
resolveUser: { type: Function }
|
|
1156
|
+
resolveUser: { type: Function },
|
|
1157
|
+
disableDefaultInvite: { type: Boolean }
|
|
655
1158
|
},
|
|
656
1159
|
emits: ["close", "addMember"],
|
|
657
1160
|
setup(n, { emit: s }) {
|
|
658
|
-
let
|
|
659
|
-
function
|
|
660
|
-
|
|
1161
|
+
let c = n, u = s, f = O(), p = C(!1), g = t(() => U.value.map((e) => e.identity)), v = C(!0), S = C(!0), k = C(!1), N = C(!0), te = C(!0), P = C(!1), F = C(!1), I = C([]), R = C(""), z = null;
|
|
1162
|
+
function ne(e) {
|
|
1163
|
+
R.value = e, z && clearTimeout(z), z = setTimeout(() => R.value = "", 3e3);
|
|
661
1164
|
}
|
|
662
|
-
let
|
|
663
|
-
function
|
|
1165
|
+
let B = C(0), V = C(""), H = C("video"), U = C([]), W = C(""), G = C(!1), re = C(!1), ie = C(null), ae = C(null), oe = C(null), se = C(null), ce = C(null), le = C(null), ue = null, de = null, pe = /* @__PURE__ */ new Map(), q = /* @__PURE__ */ new Map(), J = null, me = null;
|
|
1166
|
+
function Y() {
|
|
664
1167
|
return window.__imClient;
|
|
665
1168
|
}
|
|
666
|
-
function
|
|
667
|
-
return
|
|
1169
|
+
function X() {
|
|
1170
|
+
return Y()?.meeting?.currentSession;
|
|
668
1171
|
}
|
|
669
|
-
let
|
|
670
|
-
let e =
|
|
671
|
-
return !!e && e.identity ===
|
|
672
|
-
}),
|
|
673
|
-
let e =
|
|
1172
|
+
let Z = t(() => U.value.find((e) => e.identity === W.value) || null), he = t(() => {
|
|
1173
|
+
let e = X();
|
|
1174
|
+
return !!e && e.identity === W.value;
|
|
1175
|
+
}), ge = t(() => U.value.filter((e) => e.speaking && e.joined && e.online)), _e = t(() => {
|
|
1176
|
+
let e = ge.value;
|
|
674
1177
|
return e.length === 0 ? "" : e.length <= 3 ? e.map((e) => e.name).join("、") : `${e[0].name}...等${e.length}人`;
|
|
675
|
-
}),
|
|
676
|
-
|
|
677
|
-
|
|
1178
|
+
}), ve = t(() => Se(U.value.filter((e) => e.identity !== W.value && (e.online || e.joined)))), ye = t(() => Se(U.value.filter((e) => e.online || e.joined)));
|
|
1179
|
+
function be(e, t) {
|
|
1180
|
+
let n = X();
|
|
1181
|
+
n && (t ? (q.set(e, t), e === n.identity ? n.attachLocalVideo(t) : n.attachParticipantVideo(e, t)) : q.delete(e));
|
|
1182
|
+
}
|
|
1183
|
+
ee(ve, () => {
|
|
1184
|
+
m(Oe);
|
|
678
1185
|
});
|
|
679
|
-
function
|
|
680
|
-
return e.identity === t ? 0 : e.status === "left" ?
|
|
1186
|
+
function xe(e, t) {
|
|
1187
|
+
return e.identity === t ? 0 : e.status === "left" ? 3 : e.joinedAt > 0 ? 1 : 2;
|
|
681
1188
|
}
|
|
682
|
-
function
|
|
683
|
-
let t =
|
|
1189
|
+
function Se(e) {
|
|
1190
|
+
let t = W.value;
|
|
684
1191
|
return e.slice().sort((e, n) => {
|
|
685
|
-
let r =
|
|
686
|
-
return r === i ? (e.inviteOrder || 0) - (n.inviteOrder || 0) : r - i;
|
|
1192
|
+
let r = xe(e, t), i = xe(n, t);
|
|
1193
|
+
return r === i ? e.joinedAt === n.joinedAt ? (e.inviteOrder || 0) - (n.inviteOrder || 0) : e.joinedAt - n.joinedAt : r - i;
|
|
687
1194
|
});
|
|
688
1195
|
}
|
|
689
|
-
let
|
|
690
|
-
async function
|
|
691
|
-
let t =
|
|
1196
|
+
let Ce = t(() => Se(U.value));
|
|
1197
|
+
async function Q(e = !1) {
|
|
1198
|
+
let t = Y();
|
|
692
1199
|
if (t?.meeting) try {
|
|
693
1200
|
let n = await t.meeting.getMembers(e);
|
|
694
|
-
|
|
695
|
-
let t =
|
|
1201
|
+
c.resolveUser ? U.value = n.map((e) => {
|
|
1202
|
+
let t = c.resolveUser?.(e.identity);
|
|
696
1203
|
return t ? {
|
|
697
1204
|
...e,
|
|
698
1205
|
name: t.name,
|
|
699
1206
|
dept: t.dept ?? e.dept
|
|
700
1207
|
} : e;
|
|
701
|
-
}) :
|
|
1208
|
+
}) : U.value = n;
|
|
702
1209
|
} catch (e) {
|
|
703
1210
|
console.warn("[im] refreshMembers 失败", e);
|
|
704
1211
|
}
|
|
705
1212
|
}
|
|
706
|
-
async function
|
|
707
|
-
let e =
|
|
708
|
-
e &&
|
|
1213
|
+
async function we() {
|
|
1214
|
+
let e = X();
|
|
1215
|
+
e && ue && de && (ue === e.identity ? e.attachLocalVideo(de) : e.attachParticipantVideo(ue, de));
|
|
709
1216
|
}
|
|
710
|
-
async function
|
|
711
|
-
let n =
|
|
712
|
-
n && (t ? (
|
|
1217
|
+
async function Te(e, t) {
|
|
1218
|
+
let n = X();
|
|
1219
|
+
n && (t ? (ue = e, de = t, e === n.identity ? n.attachLocalVideo(t) : n.attachParticipantVideo(e, t)) : (ue = null, de = null));
|
|
713
1220
|
}
|
|
714
|
-
function
|
|
715
|
-
let n =
|
|
716
|
-
n && (t ? (
|
|
1221
|
+
function Ee(e, t) {
|
|
1222
|
+
let n = X();
|
|
1223
|
+
n && (t ? (pe.set(e, t), e === n.identity ? n.attachLocalVideo(t) : n.attachParticipantVideo(e, t)) : pe.delete(e));
|
|
717
1224
|
}
|
|
718
|
-
async function
|
|
1225
|
+
async function De() {
|
|
719
1226
|
try {
|
|
720
1227
|
let e = await navigator.mediaDevices.enumerateDevices();
|
|
721
|
-
|
|
1228
|
+
N.value = e.some((e) => e.kind === "videoinput"), te.value = e.some((e) => e.kind === "audioinput"), N.value || (S.value = !1), te.value || (v.value = !1), P.value = !te.value, F.value = !N.value;
|
|
1229
|
+
try {
|
|
1230
|
+
(await navigator.permissions.query({ name: "microphone" })).state === "denied" && (P.value = !0);
|
|
1231
|
+
} catch {}
|
|
1232
|
+
try {
|
|
1233
|
+
(await navigator.permissions.query({ name: "camera" })).state === "denied" && (F.value = !0);
|
|
1234
|
+
} catch {}
|
|
722
1235
|
} catch (e) {
|
|
723
1236
|
console.warn("[im] enumerateDevices 失败", e);
|
|
724
1237
|
}
|
|
725
1238
|
}
|
|
726
|
-
function
|
|
727
|
-
let e =
|
|
1239
|
+
function Oe() {
|
|
1240
|
+
let e = ie.value, t = ae.value, n = oe.value, r = ce.value?.listEl, i = r?.querySelectorAll(".small-video") ?? [];
|
|
728
1241
|
if (!e || !t || !n) return;
|
|
729
1242
|
let a = e.clientHeight;
|
|
730
1243
|
if (a <= 0) return;
|
|
731
|
-
let o = a, s = o * 16 / 9, c =
|
|
1244
|
+
let o = a, s = o * 16 / 9, c = se.value?.offsetHeight ?? 28, l = (o - c - 24) / 3, u = l * 16 / 9, d = u, f = 10 + s + 10 + d + 10, p = document.getElementById("meetingWindow");
|
|
732
1245
|
p && (p.style.width = f + "px"), t.style.width = s + "px", t.style.height = o + "px", n.style.width = d + "px", n.style.height = a + "px", r && (r.style.width = "100%", r.style.height = a - c - 8 + "px"), i.forEach((e) => {
|
|
733
1246
|
e.style.width = u + "px", e.style.height = l + "px";
|
|
734
1247
|
});
|
|
735
1248
|
}
|
|
736
|
-
async function
|
|
737
|
-
if (
|
|
738
|
-
let e =
|
|
1249
|
+
async function ke() {
|
|
1250
|
+
if (P.value) return;
|
|
1251
|
+
let e = X();
|
|
739
1252
|
if (!e) return;
|
|
740
|
-
let t = !
|
|
1253
|
+
let t = !v.value;
|
|
741
1254
|
try {
|
|
742
|
-
await e.setMicEnabled(t),
|
|
1255
|
+
await e.setMicEnabled(t), v.value = t;
|
|
1256
|
+
let n = U.value.find((t) => t.identity === e.identity);
|
|
1257
|
+
n && n.muted !== !t && (n.muted = !t, U.value = [...U.value]);
|
|
743
1258
|
} catch (e) {
|
|
744
1259
|
console.warn("[im] setMicEnabled 失败,UI 不切换", e);
|
|
745
1260
|
}
|
|
746
1261
|
}
|
|
747
|
-
async function
|
|
748
|
-
if (
|
|
749
|
-
let e =
|
|
1262
|
+
async function Ae() {
|
|
1263
|
+
if (F.value) return;
|
|
1264
|
+
let e = X();
|
|
750
1265
|
if (!e) return;
|
|
751
|
-
let t = !
|
|
1266
|
+
let t = !S.value;
|
|
752
1267
|
try {
|
|
753
|
-
await e.setCameraEnabled(t),
|
|
1268
|
+
await e.setCameraEnabled(t), S.value = t;
|
|
1269
|
+
let n = U.value.find((t) => t.identity === e.identity);
|
|
1270
|
+
n && n.cameraOn !== t && (n.cameraOn = t, U.value = [...U.value]), m(we);
|
|
754
1271
|
} catch (e) {
|
|
755
1272
|
console.warn("[im] setCameraEnabled 失败,UI 不切换", e);
|
|
756
1273
|
}
|
|
757
1274
|
}
|
|
758
|
-
async function
|
|
759
|
-
let e =
|
|
760
|
-
e && (
|
|
1275
|
+
async function je() {
|
|
1276
|
+
let e = X();
|
|
1277
|
+
e && (k.value = !k.value, await e.setSpeakerMuted(k.value));
|
|
761
1278
|
}
|
|
762
|
-
let
|
|
763
|
-
async function
|
|
764
|
-
let e =
|
|
1279
|
+
let Me = C(!1), Ne = C(!1);
|
|
1280
|
+
async function Ie() {
|
|
1281
|
+
let e = Y();
|
|
765
1282
|
if (!e) return;
|
|
766
|
-
if (!
|
|
767
|
-
await e.meeting?.leave(),
|
|
1283
|
+
if (!he.value) {
|
|
1284
|
+
await e.meeting?.leave(), V.value = "已离开";
|
|
768
1285
|
return;
|
|
769
1286
|
}
|
|
770
1287
|
let t = 1;
|
|
@@ -774,332 +1291,379 @@ var A = {
|
|
|
774
1291
|
console.warn("[im] 查参与者数量失败,按 1 处理(自动解散)", e);
|
|
775
1292
|
}
|
|
776
1293
|
if (t > 1) {
|
|
777
|
-
|
|
1294
|
+
Me.value = !0;
|
|
778
1295
|
return;
|
|
779
1296
|
}
|
|
780
|
-
|
|
1297
|
+
Ne.value = !0;
|
|
781
1298
|
try {
|
|
782
|
-
await e.meeting.dissolve(),
|
|
1299
|
+
await e.meeting.dissolve(), V.value = "会议已解散";
|
|
783
1300
|
} catch (t) {
|
|
784
|
-
console.error("[im] host 单独时解散失败,回退到 leave", t),
|
|
1301
|
+
console.error("[im] host 单独时解散失败,回退到 leave", t), V.value = "已离开", await e.meeting?.leave().catch(() => {});
|
|
785
1302
|
} finally {
|
|
786
|
-
|
|
1303
|
+
Ne.value = !1;
|
|
787
1304
|
}
|
|
788
1305
|
}
|
|
789
|
-
async function
|
|
790
|
-
let e =
|
|
1306
|
+
async function Le() {
|
|
1307
|
+
let e = Y();
|
|
791
1308
|
if (e) {
|
|
792
|
-
|
|
1309
|
+
Me.value = !1, Ne.value = !0;
|
|
793
1310
|
try {
|
|
794
|
-
await e.meeting.dissolve(),
|
|
1311
|
+
await e.meeting.dissolve(), V.value = "会议已解散";
|
|
795
1312
|
} catch (e) {
|
|
796
|
-
console.error("[im] 解散失败", e),
|
|
1313
|
+
console.error("[im] 解散失败", e), V.value = "解散失败";
|
|
797
1314
|
} finally {
|
|
798
|
-
|
|
1315
|
+
Ne.value = !1;
|
|
799
1316
|
}
|
|
800
1317
|
}
|
|
801
1318
|
}
|
|
802
|
-
function
|
|
803
|
-
|
|
1319
|
+
function Re() {
|
|
1320
|
+
Me.value = !1;
|
|
804
1321
|
}
|
|
805
|
-
async function
|
|
806
|
-
let t =
|
|
1322
|
+
async function ze(e) {
|
|
1323
|
+
let t = X();
|
|
807
1324
|
if (t) try {
|
|
808
|
-
await t.kick(
|
|
1325
|
+
await t.kick(Y().transport, e), await Q(!0);
|
|
809
1326
|
} catch (e) {
|
|
810
1327
|
console.warn("[im] kickParticipant 失败", e);
|
|
811
1328
|
}
|
|
812
1329
|
}
|
|
813
|
-
async function
|
|
814
|
-
let t =
|
|
1330
|
+
async function Be(e) {
|
|
1331
|
+
let t = X();
|
|
815
1332
|
if (t) try {
|
|
816
|
-
await t.transferHost(
|
|
1333
|
+
await t.transferHost(Y().transport, e), W.value = e, await Q(!0);
|
|
817
1334
|
} catch (e) {
|
|
818
1335
|
console.warn("[im] transferHost 失败", e);
|
|
819
1336
|
}
|
|
820
1337
|
}
|
|
821
|
-
async function
|
|
822
|
-
let t =
|
|
1338
|
+
async function Ve(e) {
|
|
1339
|
+
let t = X();
|
|
823
1340
|
if (t) try {
|
|
824
|
-
await
|
|
1341
|
+
await Y().meeting.reinvite(t.meetingId, e), await Q(!0);
|
|
825
1342
|
} catch (e) {
|
|
826
1343
|
let t = e instanceof Error ? e.message : "";
|
|
827
|
-
t.includes("
|
|
1344
|
+
t.includes("对方正忙") || t.includes("target_busy") ? ne("对方正忙,稍后再试") : t.includes("无权") || t.includes("not_host") ? ne("仅主持人可邀请成员") : t.includes("meeting_ended") ? ne("会议已结束") : ne("再次邀请失败,请重试"), console.warn("[im] reinvite 失败", e);
|
|
1345
|
+
}
|
|
1346
|
+
}
|
|
1347
|
+
async function He(e) {
|
|
1348
|
+
let t = Y()?.users;
|
|
1349
|
+
if (t?.resolve) {
|
|
1350
|
+
let n = await t.resolve(e).catch(() => void 0);
|
|
1351
|
+
if (n?.name) return n.name;
|
|
1352
|
+
}
|
|
1353
|
+
return e;
|
|
1354
|
+
}
|
|
1355
|
+
async function Ue(e) {
|
|
1356
|
+
let t = Y(), n = X();
|
|
1357
|
+
if (!t || !n || e.length === 0) return;
|
|
1358
|
+
let r = [], i = [];
|
|
1359
|
+
if (await Promise.all(e.map((e) => t.meeting.reinvite(n.meetingId, e).catch((t) => {
|
|
1360
|
+
let n = t instanceof Error ? t.message : "";
|
|
1361
|
+
n.includes("对方正忙") || n.includes("target_busy") ? r.push(e) : i.push(e);
|
|
1362
|
+
}))), r.length > 0) {
|
|
1363
|
+
let e = (await Promise.all(r.map(He))).join("、");
|
|
1364
|
+
K.error(`${e} 正忙,未能邀请加入会议`);
|
|
1365
|
+
}
|
|
1366
|
+
if (i.length > 0) {
|
|
1367
|
+
let e = (await Promise.all(i.map(He))).join("、");
|
|
1368
|
+
K.error(`${e} 邀请失败,请重试`);
|
|
1369
|
+
}
|
|
1370
|
+
Q(!0);
|
|
1371
|
+
}
|
|
1372
|
+
async function We() {
|
|
1373
|
+
let e = Y(), t = X();
|
|
1374
|
+
if (!e || !t) return;
|
|
1375
|
+
let n = [];
|
|
1376
|
+
try {
|
|
1377
|
+
n = (await e.meeting.getMembers(!0)).map((e) => e.identity);
|
|
1378
|
+
} catch (e) {
|
|
1379
|
+
console.warn("[im] 拉取会议成员失败,邀请弹窗不排除已入会成员", e);
|
|
1380
|
+
}
|
|
1381
|
+
L(vn, {
|
|
1382
|
+
title: "邀请参会",
|
|
1383
|
+
excludeUids: n,
|
|
1384
|
+
emptyText: "所有成员都已在会议中",
|
|
1385
|
+
onConfirm: (e) => {
|
|
1386
|
+
Ue(e);
|
|
1387
|
+
}
|
|
1388
|
+
});
|
|
1389
|
+
}
|
|
1390
|
+
function Ge() {
|
|
1391
|
+
if (u("addMember"), f["invite-panel"]) {
|
|
1392
|
+
p.value = !p.value;
|
|
1393
|
+
return;
|
|
828
1394
|
}
|
|
1395
|
+
d()?.vnode.props?.onAddMember || c.disableDefaultInvite || We();
|
|
829
1396
|
}
|
|
830
|
-
function
|
|
831
|
-
let t =
|
|
832
|
-
!t || e.meetingId !== t.meetingId || (
|
|
833
|
-
|
|
1397
|
+
function Ke(e) {
|
|
1398
|
+
let t = X();
|
|
1399
|
+
!t || e.meetingId !== t.meetingId || (W.value = e.hostUid, m(() => {
|
|
1400
|
+
Q(!0);
|
|
834
1401
|
}));
|
|
835
1402
|
}
|
|
836
|
-
function
|
|
837
|
-
let t =
|
|
838
|
-
!t || e.meetingId !== t.meetingId || (
|
|
1403
|
+
function Je(e) {
|
|
1404
|
+
let t = X();
|
|
1405
|
+
!t || e.meetingId !== t.meetingId || (V.value ||= "会议已解散", J && clearInterval(J));
|
|
839
1406
|
}
|
|
840
|
-
function
|
|
841
|
-
let t =
|
|
842
|
-
!t || e.meetingId !== t.meetingId || (
|
|
1407
|
+
function Ye(e) {
|
|
1408
|
+
let t = X();
|
|
1409
|
+
!t || e.meetingId !== t.meetingId || (V.value ||= "已被移出会议", J && clearInterval(J));
|
|
843
1410
|
}
|
|
844
|
-
function
|
|
1411
|
+
function Xe(e) {
|
|
845
1412
|
let t = Math.floor(e / 3600), n = Math.floor(e % 3600 / 60).toString().padStart(2, "0"), r = (e % 60).toString().padStart(2, "0");
|
|
846
1413
|
return t > 0 ? `${t}:${n}:${r}` : `${n}:${r}`;
|
|
847
1414
|
}
|
|
848
|
-
return
|
|
849
|
-
await
|
|
850
|
-
let e =
|
|
1415
|
+
return y(async () => {
|
|
1416
|
+
await De();
|
|
1417
|
+
let e = Y();
|
|
851
1418
|
if (!e) return;
|
|
852
1419
|
let t = e.meeting?.currentSession;
|
|
853
|
-
t && (
|
|
854
|
-
|
|
855
|
-
|
|
1420
|
+
t && (W.value = t.hostIdentity || t.identity, t.onSession("connected", () => {
|
|
1421
|
+
Q(), m(Oe), J = setInterval(() => {
|
|
1422
|
+
B.value++, B.value % 10 == 0 && Q();
|
|
856
1423
|
}, 1e3);
|
|
857
1424
|
}), t.onSession("participantJoined", () => {
|
|
858
|
-
|
|
1425
|
+
Q(!0);
|
|
859
1426
|
}), t.onSession("participantLeft", () => {
|
|
860
|
-
|
|
1427
|
+
Q(!0);
|
|
861
1428
|
}), t.onSession("participantTrackSubscribed", (e) => {
|
|
862
1429
|
if (e.kind !== "video") return;
|
|
863
|
-
let n =
|
|
864
|
-
n && t.attachParticipantVideo(e.identity, n)
|
|
1430
|
+
let n = pe.get(e.identity);
|
|
1431
|
+
n && t.attachParticipantVideo(e.identity, n);
|
|
1432
|
+
let r = q.get(e.identity);
|
|
1433
|
+
r && t.attachParticipantVideo(e.identity, r), ue === e.identity && m(we);
|
|
865
1434
|
}), t.onSession("activeSpeakersChanged", (e) => {
|
|
866
1435
|
let t = new Set(e.identities), n = !1;
|
|
867
|
-
for (let e of
|
|
1436
|
+
for (let e of U.value) {
|
|
868
1437
|
let r = t.has(e.identity);
|
|
869
1438
|
e.speaking !== r && (e.speaking = r, n = !0);
|
|
870
1439
|
}
|
|
871
|
-
n && (
|
|
1440
|
+
n && (U.value = [...U.value]);
|
|
1441
|
+
}), t.onSession("participantMuteChanged", (e) => {
|
|
1442
|
+
let t = U.value.find((t) => t.identity === e.identity);
|
|
1443
|
+
if (!t) return;
|
|
1444
|
+
let n = !1;
|
|
1445
|
+
e.kind === "audio" ? t.muted !== e.muted && (t.muted = e.muted, n = !0) : t.cameraOn !== !e.muted && (t.cameraOn = !e.muted, n = !0), n && (U.value = [...U.value]);
|
|
872
1446
|
}), t.onSession("devices", (e) => {
|
|
873
|
-
e.errors && e.errors.length > 0 && (
|
|
1447
|
+
e.errors && e.errors.length > 0 && (I.value = e.errors, setTimeout(() => I.value = [], 3e3)), e.mic || (v.value = !1), e.camera || (S.value = !1), e.camera && m(we), e.errors.some((e) => e.startsWith("mic:")) ? P.value = !0 : e.mic && (P.value = !1), e.errors.some((e) => e.startsWith("camera:")) ? F.value = !0 : e.camera && (F.value = !1);
|
|
874
1448
|
}), t.onSession("ended", () => {
|
|
875
|
-
|
|
876
|
-
}), t.isConnected && (
|
|
877
|
-
|
|
878
|
-
}, 1e3)), e.on("meeting:hostChanged",
|
|
879
|
-
}),
|
|
880
|
-
|
|
881
|
-
let e =
|
|
882
|
-
e?.off?.("meeting:hostChanged",
|
|
883
|
-
}), (t, s) => (
|
|
884
|
-
|
|
1449
|
+
V.value ||= "会议已结束", J && clearInterval(J);
|
|
1450
|
+
}), t.isConnected && (Q(), m(Oe), J = setInterval(() => {
|
|
1451
|
+
B.value++, B.value % 10 == 0 && Q();
|
|
1452
|
+
}, 1e3)), e.on("meeting:hostChanged", Ke), e.on("meeting:dissolved", Je), e.on("meeting:kicked", Ye), ie.value && (me = new ResizeObserver(() => Oe()), me.observe(ie.value)), window.addEventListener("resize", Oe), m(Oe));
|
|
1453
|
+
}), b(() => {
|
|
1454
|
+
J && clearInterval(J), z && clearTimeout(z), me &&= (me.disconnect(), null), window.removeEventListener("resize", Oe);
|
|
1455
|
+
let e = Y();
|
|
1456
|
+
e?.off?.("meeting:hostChanged", Ke), e?.off?.("meeting:dissolved", Je), e?.off?.("meeting:kicked", Ye);
|
|
1457
|
+
}), (t, s) => (x(), a(e, null, [
|
|
1458
|
+
M((x(), a("div", {
|
|
885
1459
|
id: "meetingWindow",
|
|
886
1460
|
class: "meeting-window",
|
|
887
|
-
style:
|
|
1461
|
+
style: _({ height: n.height || "80vh" })
|
|
888
1462
|
}, [
|
|
889
|
-
|
|
1463
|
+
l(qe, {
|
|
890
1464
|
title: n.title,
|
|
891
|
-
duration:
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
1465
|
+
duration: Xe(B.value),
|
|
1466
|
+
"grid-mode": re.value,
|
|
1467
|
+
onToggleGrid: s[0] ||= (e) => re.value = !re.value,
|
|
1468
|
+
onClose: Ie,
|
|
1469
|
+
onMinimize: s[1] ||= (e) => G.value = !0
|
|
1470
|
+
}, null, 8, [
|
|
1471
|
+
"title",
|
|
1472
|
+
"duration",
|
|
1473
|
+
"grid-mode"
|
|
1474
|
+
]),
|
|
1475
|
+
I.value.length ? (x(), a("div", yn, E(I.value.join("; ")), 1)) : i("", !0),
|
|
1476
|
+
R.value ? (x(), a("div", bn, E(R.value), 1)) : i("", !0),
|
|
897
1477
|
o("div", {
|
|
898
1478
|
ref_key: "contentEl",
|
|
899
|
-
ref:
|
|
1479
|
+
ref: ie,
|
|
900
1480
|
class: "content"
|
|
901
1481
|
}, [o("div", {
|
|
902
1482
|
ref_key: "mainVideoWrap",
|
|
903
|
-
ref:
|
|
904
|
-
}, [
|
|
1483
|
+
ref: ae
|
|
1484
|
+
}, [Z.value ? (x(), r(rt, {
|
|
905
1485
|
key: 0,
|
|
906
1486
|
ref_key: "mainVideoRef",
|
|
907
|
-
ref:
|
|
908
|
-
identity:
|
|
909
|
-
name:
|
|
910
|
-
muted:
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
"is-
|
|
914
|
-
"
|
|
1487
|
+
ref: le,
|
|
1488
|
+
identity: Z.value.identity,
|
|
1489
|
+
name: Z.value.name,
|
|
1490
|
+
muted: Z.value.muted,
|
|
1491
|
+
"camera-on": Z.value.cameraOn,
|
|
1492
|
+
speaking: Z.value.speaking,
|
|
1493
|
+
"is-host": Z.value.isHost,
|
|
1494
|
+
"is-self": Z.value.identity === (X()?.identity || ""),
|
|
1495
|
+
"mic-unavailable": P.value,
|
|
1496
|
+
"on-video-el-ready": Te
|
|
915
1497
|
}, null, 8, [
|
|
916
1498
|
"identity",
|
|
917
1499
|
"name",
|
|
918
1500
|
"muted",
|
|
1501
|
+
"camera-on",
|
|
919
1502
|
"speaking",
|
|
920
1503
|
"is-host",
|
|
921
|
-
"is-self"
|
|
1504
|
+
"is-self",
|
|
1505
|
+
"mic-unavailable"
|
|
922
1506
|
])) : i("", !0)], 512), o("aside", {
|
|
923
1507
|
ref_key: "sidebarEl",
|
|
924
|
-
ref:
|
|
1508
|
+
ref: oe,
|
|
925
1509
|
class: "sidebar"
|
|
926
1510
|
}, [
|
|
927
1511
|
o("div", {
|
|
928
1512
|
ref_key: "tabBarWrap",
|
|
929
|
-
ref:
|
|
930
|
-
}, [
|
|
931
|
-
"active-tab":
|
|
932
|
-
"onUpdate:activeTab": s[
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
1513
|
+
ref: se
|
|
1514
|
+
}, [l(Ft, {
|
|
1515
|
+
"active-tab": H.value,
|
|
1516
|
+
"onUpdate:activeTab": s[2] ||= (e) => H.value = e,
|
|
1517
|
+
"is-host": he.value,
|
|
1518
|
+
onAddMember: Ge
|
|
1519
|
+
}, null, 8, ["active-tab", "is-host"])], 512),
|
|
1520
|
+
M(l(gt, {
|
|
936
1521
|
ref_key: "videoListPanelRef",
|
|
937
|
-
ref:
|
|
938
|
-
members:
|
|
939
|
-
"
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
"
|
|
944
|
-
"
|
|
945
|
-
"
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
1522
|
+
ref: ce,
|
|
1523
|
+
members: ve.value,
|
|
1524
|
+
"self-identity": X()?.identity || "",
|
|
1525
|
+
"self-mic-unavailable": P.value,
|
|
1526
|
+
"on-tile-mount": Ee
|
|
1527
|
+
}, null, 8, [
|
|
1528
|
+
"members",
|
|
1529
|
+
"self-identity",
|
|
1530
|
+
"self-mic-unavailable"
|
|
1531
|
+
]), [[A, H.value === "video"]]),
|
|
1532
|
+
M(l(Nt, {
|
|
1533
|
+
members: Ce.value,
|
|
1534
|
+
"can-promote": he.value,
|
|
1535
|
+
"can-kick": he.value,
|
|
1536
|
+
"can-reinvite": he.value,
|
|
1537
|
+
"self-identity": X()?.identity || "",
|
|
1538
|
+
"self-mic-unavailable": P.value,
|
|
1539
|
+
"self-camera-unavailable": F.value,
|
|
1540
|
+
onTransferHost: s[3] ||= (e) => Be(e),
|
|
1541
|
+
onKick: s[4] ||= (e) => ze(e),
|
|
1542
|
+
onReinvite: s[5] ||= (e) => Ve(e)
|
|
949
1543
|
}, null, 8, [
|
|
950
1544
|
"members",
|
|
951
1545
|
"can-promote",
|
|
952
1546
|
"can-kick",
|
|
953
|
-
"can-reinvite"
|
|
954
|
-
|
|
1547
|
+
"can-reinvite",
|
|
1548
|
+
"self-identity",
|
|
1549
|
+
"self-mic-unavailable",
|
|
1550
|
+
"self-camera-unavailable"
|
|
1551
|
+
]), [[A, H.value === "member"]])
|
|
955
1552
|
], 512)], 512),
|
|
956
|
-
o("div",
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
1553
|
+
o("div", xn, [l(Bt, {
|
|
1554
|
+
"mic-enabled": v.value,
|
|
1555
|
+
"camera-enabled": S.value,
|
|
1556
|
+
"speaker-muted": k.value,
|
|
1557
|
+
"mic-unavailable": P.value,
|
|
1558
|
+
"camera-unavailable": F.value,
|
|
1559
|
+
onToggleMic: ke,
|
|
1560
|
+
onToggleCamera: Ae,
|
|
1561
|
+
onToggleSpeaker: je,
|
|
1562
|
+
onHangup: Ie
|
|
1563
|
+
}, null, 8, [
|
|
1564
|
+
"mic-enabled",
|
|
1565
|
+
"camera-enabled",
|
|
1566
|
+
"speaker-muted",
|
|
1567
|
+
"mic-unavailable",
|
|
1568
|
+
"camera-unavailable"
|
|
1569
|
+
])])
|
|
1570
|
+
], 4)), [[A, !G.value && !V.value], [D(fe), ".meeting-header"]]),
|
|
1571
|
+
re.value && !V.value ? (x(), a("div", Sn, [l(qe, {
|
|
1572
|
+
title: n.title,
|
|
1573
|
+
duration: Xe(B.value),
|
|
1574
|
+
"grid-mode": !0,
|
|
1575
|
+
onToggleGrid: s[6] ||= (e) => re.value = !1,
|
|
1576
|
+
onClose: Ie
|
|
1577
|
+
}, {
|
|
1578
|
+
center: j(() => [l(Bt, {
|
|
1579
|
+
"mic-enabled": v.value,
|
|
1580
|
+
"camera-enabled": S.value,
|
|
1581
|
+
"speaker-muted": k.value,
|
|
1582
|
+
"mic-unavailable": P.value,
|
|
1583
|
+
"camera-unavailable": F.value,
|
|
1584
|
+
onToggleMic: ke,
|
|
1585
|
+
onToggleCamera: Ae,
|
|
1586
|
+
onToggleSpeaker: je,
|
|
1587
|
+
onHangup: Ie
|
|
1588
|
+
}, null, 8, [
|
|
1589
|
+
"mic-enabled",
|
|
1590
|
+
"camera-enabled",
|
|
1591
|
+
"speaker-muted",
|
|
1592
|
+
"mic-unavailable",
|
|
1593
|
+
"camera-unavailable"
|
|
1594
|
+
])]),
|
|
1595
|
+
_: 1
|
|
1596
|
+
}, 8, ["title", "duration"]), o("div", Cn, [o("div", wn, [(x(!0), a(e, null, w(ye.value, (e) => (x(), r(ht, {
|
|
1597
|
+
key: e.identity,
|
|
1598
|
+
identity: e.identity,
|
|
1599
|
+
name: e.name,
|
|
1600
|
+
muted: e.muted,
|
|
1601
|
+
"camera-on": e.joined && e.cameraOn,
|
|
1602
|
+
speaking: e.speaking,
|
|
1603
|
+
"is-host": e.isHost,
|
|
1604
|
+
"is-self": e.identity === (X()?.identity || ""),
|
|
1605
|
+
"host-badge-top": !0,
|
|
1606
|
+
"mic-unavailable": P.value,
|
|
1607
|
+
"on-video-el-ready": be
|
|
1608
|
+
}, null, 8, [
|
|
1609
|
+
"identity",
|
|
1610
|
+
"name",
|
|
1611
|
+
"muted",
|
|
1612
|
+
"camera-on",
|
|
1613
|
+
"speaking",
|
|
1614
|
+
"is-host",
|
|
1615
|
+
"is-self",
|
|
1616
|
+
"mic-unavailable"
|
|
1617
|
+
]))), 128))])])])) : i("", !0),
|
|
1618
|
+
Me.value ? (x(), r(Gt, {
|
|
1619
|
+
key: 1,
|
|
999
1620
|
title: "解散会议",
|
|
1000
1621
|
message: "会议中还有其他成员,确认要解散会议吗?所有成员将被强制离会。",
|
|
1001
1622
|
"confirm-text": "解散会议",
|
|
1002
1623
|
"cancel-text": "取消",
|
|
1003
1624
|
danger: !0,
|
|
1004
|
-
onConfirm:
|
|
1005
|
-
onCancel:
|
|
1625
|
+
onConfirm: Le,
|
|
1626
|
+
onCancel: Re
|
|
1006
1627
|
})) : i("", !0),
|
|
1007
|
-
|
|
1008
|
-
key:
|
|
1009
|
-
|
|
1628
|
+
p.value ? T(t.$slots, "invite-panel", {
|
|
1629
|
+
key: 2,
|
|
1630
|
+
members: U.value,
|
|
1631
|
+
excludeUids: g.value,
|
|
1632
|
+
invite: Ue,
|
|
1633
|
+
close: () => p.value = !1
|
|
1634
|
+
}, void 0, !0) : i("", !0),
|
|
1635
|
+
V.value ? (x(), r(Xt, {
|
|
1636
|
+
key: 3,
|
|
1637
|
+
reason: V.value,
|
|
1010
1638
|
duration: 5,
|
|
1011
|
-
onClose: s[
|
|
1639
|
+
onClose: s[7] ||= (e) => u("close")
|
|
1012
1640
|
}, null, 8, ["reason"])) : i("", !0),
|
|
1013
|
-
|
|
1014
|
-
|
|
1641
|
+
G.value && !V.value ? M((x(), a("div", Tn, [o("div", En, [
|
|
1642
|
+
_e.value ? (x(), a("span", Dn, [...s[9] ||= [
|
|
1015
1643
|
o("span", { class: "wave-bar" }, null, -1),
|
|
1016
1644
|
o("span", { class: "wave-bar" }, null, -1),
|
|
1017
1645
|
o("span", { class: "wave-bar" }, null, -1)
|
|
1018
1646
|
]])) : i("", !0),
|
|
1019
|
-
o("span", { class:
|
|
1020
|
-
o("span",
|
|
1021
|
-
]), o("div",
|
|
1647
|
+
o("span", { class: h(["mini-main-text", { speaking: !!_e.value }]) }, E(_e.value || n.title), 3),
|
|
1648
|
+
o("span", On, E(Xe(B.value)), 1)
|
|
1649
|
+
]), o("div", kn, [o("button", {
|
|
1022
1650
|
class: "mini-btn",
|
|
1023
1651
|
type: "button",
|
|
1024
1652
|
"aria-label": "还原窗口",
|
|
1025
1653
|
title: "还原窗口",
|
|
1026
|
-
innerHTML:
|
|
1027
|
-
onClick: s[
|
|
1028
|
-
}, null, 8,
|
|
1654
|
+
innerHTML: D(Pe),
|
|
1655
|
+
onClick: s[8] ||= (e) => G.value = !1
|
|
1656
|
+
}, null, 8, An), o("button", {
|
|
1029
1657
|
class: "mini-btn mini-close",
|
|
1030
1658
|
type: "button",
|
|
1031
1659
|
"aria-label": "离开会议",
|
|
1032
1660
|
title: "离开会议",
|
|
1033
|
-
innerHTML:
|
|
1034
|
-
onClick:
|
|
1035
|
-
}, null, 8,
|
|
1661
|
+
innerHTML: D(Fe),
|
|
1662
|
+
onClick: Ie
|
|
1663
|
+
}, null, 8, jn)])])), [[D(fe), ".mini-bar-body"]]) : i("", !0)
|
|
1036
1664
|
], 64));
|
|
1037
1665
|
}
|
|
1038
|
-
}), [["__scopeId", "data-v-6c7c916e"]]), gt = "data:audio/mpeg;base64,SUQzBAAAAAAiNlRDT04AAAAHAAADQmx1ZXMAUFJJVgAAIXQAAFhNUAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0MyA3OS4xNjEyMTAsIDIwMTcvMDgvMTEtMTA6Mjg6MzYgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICB4bWxuczp4bXBETT0iaHR0cDovL25zLmFkb2JlLmNvbS94bXAvMS4wL0R5bmFtaWNNZWRpYS8iCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgeG1wOkNyZWF0b3JUb29sPSJGaWxlIGNyZWF0ZWQgYnkgR29sZFdhdmUuICBHb2xkV2F2ZSBjb3B5cmlnaHQgKEMpIENocmlzIENyYWlnIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDE3LTExLTAxVDE5OjI1OjUyKzA4OjAwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAxNy0xMS0wMVQxOToyNTo1MiswODowMCIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDplZWRmZWNkMi0xNTYzLWJmNDUtOTQxZS03OWJjMzhjZmU0OGEiCiAgIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZWVkZmVjZDItMTU2My1iZjQ1LTk0MWUtNzliYzM4Y2ZlNDhhIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIgogICBkYzpmb3JtYXQ9ImF1ZGlvL21wZWciPgogICA8eG1wRE06VHJhY2tzPgogICAgPHJkZjpCYWc+CiAgICAgPHJkZjpsaQogICAgICB4bXBETTp0cmFja05hbWU9IkN1ZVBvaW50IE1hcmtlcnMiCiAgICAgIHhtcERNOnRyYWNrVHlwZT0iQ3VlIgogICAgICB4bXBETTpmcmFtZVJhdGU9ImY4MDAwIi8+CiAgICAgPHJkZjpsaQogICAgICB4bXBETTp0cmFja05hbWU9IkNEIFRyYWNrIE1hcmtlcnMiCiAgICAgIHhtcERNOnRyYWNrVHlwZT0iVHJhY2siCiAgICAgIHhtcERNOmZyYW1lUmF0ZT0iZjgwMDAiLz4KICAgICA8cmRmOmxpCiAgICAgIHhtcERNOnRyYWNrTmFtZT0iU3ViY2xpcCBNYXJrZXJzIgogICAgICB4bXBETTp0cmFja1R5cGU9IkluT3V0IgogICAgICB4bXBETTpmcmFtZVJhdGU9ImY4MDAwIi8+CiAgICA8L3JkZjpCYWc+CiAgIDwveG1wRE06VHJhY2tzPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YjYyYjlkYS05OGY0LTc2NGQtYTYwYi0yZmU4YWRhNmQyNjEiCiAgICAgIHN0RXZ0OndoZW49IjIwMTctMTEtMDFUMTk6MjU6NTIrMDg6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIEF1ZGl0aW9uIENDIDIwMTguMCAoV2luZG93cykiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii9tZXRhZGF0YSIvPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplZWRmZWNkMi0xNTYzLWJmNDUtOTQxZS03OWJjMzhjZmU0OGEiCiAgICAgIHN0RXZ0OndoZW49IjIwMTctMTEtMDFUMTk6MjU6NTIrMDg6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIEF1ZGl0aW9uIENDIDIwMTguMCAoV2luZG93cykiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogICA8eG1wTU06RGVyaXZlZEZyb20KICAgIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIgogICAgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2YjYyYjlkYS05OGY0LTc2NGQtYTYwYi0yZmU4YWRhNmQyNjEiCiAgICBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIi8+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4AVFNTRQAAABMAAANVUFlVTiBUcmFuc2NvZGluZwAAAAAAAAAAAAAA/+PIwAAAAAAAAAAAAEluZm8AAAAPAAAAKwAAZUAAEREWFhwcIiIiJyctLTMzMzg4Pj5ERERJSU9PVVVVW1tgYGZmZmxscXF3d3d9fYKCiIiIjo6T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AExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq", _t = { class: "im-incoming-ring" }, vt = ["src"], yt = { class: "im-ring-content" }, bt = { class: "im-ring-avatar" }, xt = { class: "im-ring-info" }, St = { class: "im-ring-name" }, Ct = { class: "im-ring-type" }, wt = /*#__PURE__*/ z(/* @__PURE__ */ l({
|
|
1039
|
-
__name: "IncomingRing",
|
|
1040
|
-
props: {
|
|
1041
|
-
invite: {},
|
|
1042
|
-
onClose: { type: Function }
|
|
1043
|
-
},
|
|
1044
|
-
emits: ["close", "accepted"],
|
|
1045
|
-
setup(e, { emit: t }) {
|
|
1046
|
-
let n = e, r = t, i = v(null);
|
|
1047
|
-
function s() {
|
|
1048
|
-
return window.__imClient;
|
|
1049
|
-
}
|
|
1050
|
-
function l() {
|
|
1051
|
-
i.value && (i.value.currentTime = 0, i.value.play().catch(() => {}));
|
|
1052
|
-
}
|
|
1053
|
-
function u() {
|
|
1054
|
-
i.value && (i.value.pause(), i.value.currentTime = 0);
|
|
1055
|
-
}
|
|
1056
|
-
let d = null;
|
|
1057
|
-
h(() => {
|
|
1058
|
-
l();
|
|
1059
|
-
let e = s();
|
|
1060
|
-
e && (d = e.on("call:cancelled", () => {
|
|
1061
|
-
u(), r("close");
|
|
1062
|
-
}));
|
|
1063
|
-
}), m(() => {
|
|
1064
|
-
u(), d && d();
|
|
1065
|
-
});
|
|
1066
|
-
async function f() {
|
|
1067
|
-
u();
|
|
1068
|
-
let e = s();
|
|
1069
|
-
try {
|
|
1070
|
-
let t = await e?.call?.accept(n.invite.callId, n.invite.callType);
|
|
1071
|
-
r("accepted", t), r("close");
|
|
1072
|
-
} catch (e) {
|
|
1073
|
-
let t = String(e?.message || e || "");
|
|
1074
|
-
t.includes("conflict") || t.includes("entered elsewhere") ? alert("已在其他设备接听,本端通话已关闭") : alert("网络异常,请稍后重试"), r("close");
|
|
1075
|
-
}
|
|
1076
|
-
}
|
|
1077
|
-
async function p() {
|
|
1078
|
-
u(), await s()?.call?.end("rejected", n.invite.callId), r("close");
|
|
1079
|
-
}
|
|
1080
|
-
return (t, n) => (_(), a("div", _t, [o("audio", {
|
|
1081
|
-
ref_key: "ringAudio",
|
|
1082
|
-
ref: i,
|
|
1083
|
-
src: x(gt),
|
|
1084
|
-
loop: "",
|
|
1085
|
-
preload: "auto"
|
|
1086
|
-
}, null, 8, vt), o("div", yt, [
|
|
1087
|
-
o("div", bt, [c(M, {
|
|
1088
|
-
name: "answer",
|
|
1089
|
-
size: 24,
|
|
1090
|
-
color: "#fff"
|
|
1091
|
-
})]),
|
|
1092
|
-
o("div", xt, [o("div", St, b(e.invite.from), 1), o("div", Ct, b(e.invite.callType === "video" ? "视频通话" : "语音通话"), 1)]),
|
|
1093
|
-
o("div", { class: "im-ring-actions" }, [o("button", {
|
|
1094
|
-
class: "im-reject",
|
|
1095
|
-
onClick: p
|
|
1096
|
-
}, "拒接"), o("button", {
|
|
1097
|
-
class: "im-accept",
|
|
1098
|
-
onClick: f
|
|
1099
|
-
}, "接听")])
|
|
1100
|
-
])]));
|
|
1101
|
-
}
|
|
1102
|
-
}), [["__scopeId", "data-v-01eb49f1"]]), Tt = { class: "invite-dialog" }, Et = { class: "dialog-title" }, Dt = { class: "meeting-info" }, Ot = { class: "info-value" }, kt = { class: "dialog-actions" }, At = /*#__PURE__*/ z(/* @__PURE__ */ l({
|
|
1666
|
+
}), [["__scopeId", "data-v-84cb476e"]]), Nn = { class: "invite-dialog" }, Pn = { class: "dialog-title" }, Fn = { class: "meeting-info" }, In = { class: "info-value" }, Ln = { class: "dialog-actions" }, Rn = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
1103
1667
|
__name: "MeetingInvite",
|
|
1104
1668
|
props: {
|
|
1105
1669
|
invite: {},
|
|
@@ -1109,39 +1673,47 @@ var A = {
|
|
|
1109
1673
|
},
|
|
1110
1674
|
emits: ["close", "accepted"],
|
|
1111
1675
|
setup(e, { emit: n }) {
|
|
1112
|
-
let r = e, i = n, s =
|
|
1113
|
-
|
|
1676
|
+
let r = e, i = n, s = C(!1), c = null, l = C("");
|
|
1677
|
+
ee(() => r.invite.from, async (e) => {
|
|
1678
|
+
if (l.value = "", r.fromName || !e) return;
|
|
1679
|
+
let t = m()?.users;
|
|
1680
|
+
if (!t?.resolve) return;
|
|
1681
|
+
let n = await t.resolve(e).catch(() => void 0);
|
|
1682
|
+
n?.name && (l.value = n.name);
|
|
1683
|
+
}, { immediate: !0 });
|
|
1684
|
+
let u = t(() => r.fromName || l.value || r.invite.from), d = t(() => {
|
|
1685
|
+
let e = u.value, t = r.invite.variant;
|
|
1114
1686
|
return t === "rejoin" ? "重新加入会议" : t === "reinvite" ? `${e} 再次邀请您入会` : `${e}邀请您入会`;
|
|
1115
1687
|
});
|
|
1116
|
-
function
|
|
1688
|
+
function f() {
|
|
1117
1689
|
c && (c.muted = s.value, c.currentTime = 0, c.play().catch((e) => {
|
|
1118
1690
|
console.warn("[im] 邀请响铃播放失败(可能是 autoplay 策略)", e);
|
|
1119
1691
|
}));
|
|
1120
1692
|
}
|
|
1121
|
-
function
|
|
1693
|
+
function p() {
|
|
1122
1694
|
s.value = !s.value, c && (c.muted = s.value, s.value || c.play().catch(() => {}));
|
|
1123
1695
|
}
|
|
1124
|
-
function
|
|
1696
|
+
function m() {
|
|
1125
1697
|
return window.__imClient;
|
|
1126
1698
|
}
|
|
1127
|
-
function
|
|
1699
|
+
function h(e) {
|
|
1128
1700
|
let t = String(e?.message || e || "");
|
|
1129
1701
|
return t.includes("meeting_ended") || t.includes("meeting_not_found") ? "会议已结束" : t.includes("invite_status_invalid") ? "邀请已失效" : t.includes("not_invited") ? "您未被邀请到该会议" : t.includes("kicked") ? "您已被移出该会议" : t.includes("conflict") || t.includes("entered elsewhere") ? "已在其他设备进入,本端邀请已失效" : t.includes("busy") || t.includes("pending") ? "对方正忙,请稍后再试" : "网络异常,请稍后重试";
|
|
1130
1702
|
}
|
|
1131
1703
|
async function g() {
|
|
1132
|
-
let e =
|
|
1704
|
+
let e = m();
|
|
1133
1705
|
if (e) {
|
|
1134
1706
|
r.conflict && (e.call?.currentSession ? await e.call.end("user_left").catch(() => {}) : e.meeting?.currentSession && await e.meeting.leave().catch(() => {}));
|
|
1135
1707
|
try {
|
|
1136
1708
|
let t = await e.meeting.respond(r.invite.meetingId, "accept", r.invite.title);
|
|
1137
1709
|
t && i("accepted", t), i("close");
|
|
1138
1710
|
} catch (e) {
|
|
1139
|
-
console.error("[im] 会议接听失败", e), alert(
|
|
1711
|
+
console.error("[im] 会议接听失败", e), alert(h(e)), i("close");
|
|
1140
1712
|
}
|
|
1141
1713
|
}
|
|
1142
1714
|
}
|
|
1143
|
-
async function
|
|
1144
|
-
let e =
|
|
1715
|
+
async function _() {
|
|
1716
|
+
let e = m();
|
|
1145
1717
|
try {
|
|
1146
1718
|
await e?.meeting?.respond(r.invite.meetingId, "reject");
|
|
1147
1719
|
} catch (e) {
|
|
@@ -1149,289 +1721,484 @@ var A = {
|
|
|
1149
1721
|
}
|
|
1150
1722
|
i("close");
|
|
1151
1723
|
}
|
|
1152
|
-
return
|
|
1153
|
-
c = new Audio(
|
|
1154
|
-
}),
|
|
1724
|
+
return y(() => {
|
|
1725
|
+
c = new Audio(Ce), c.loop = !0, c.preload = "auto", f();
|
|
1726
|
+
}), v(() => {
|
|
1155
1727
|
c &&= (c.pause(), null);
|
|
1156
|
-
}), (t, n) => (
|
|
1157
|
-
o("div",
|
|
1158
|
-
o("div",
|
|
1159
|
-
o("div",
|
|
1728
|
+
}), (t, n) => (x(), a("div", Nn, [
|
|
1729
|
+
o("div", Pn, E(d.value), 1),
|
|
1730
|
+
o("div", Fn, [n[0] ||= o("span", { class: "info-label" }, "会议名:", -1), o("span", In, E(e.invite.title), 1)]),
|
|
1731
|
+
o("div", Ln, [
|
|
1160
1732
|
o("button", {
|
|
1161
1733
|
class: "btn btn-ghost",
|
|
1162
1734
|
type: "button",
|
|
1163
|
-
onClick:
|
|
1164
|
-
},
|
|
1735
|
+
onClick: p
|
|
1736
|
+
}, E(s.value ? "恢复响铃" : "关闭响铃"), 1),
|
|
1165
1737
|
o("button", {
|
|
1166
1738
|
class: "btn btn-secondary",
|
|
1167
1739
|
type: "button",
|
|
1168
|
-
onClick:
|
|
1740
|
+
onClick: _
|
|
1169
1741
|
}, "拒绝"),
|
|
1170
1742
|
o("button", {
|
|
1171
1743
|
class: "btn btn-primary",
|
|
1172
1744
|
type: "button",
|
|
1173
1745
|
onClick: g
|
|
1174
|
-
},
|
|
1746
|
+
}, E(e.conflict ? "切换" : "加入"), 1)
|
|
1175
1747
|
])
|
|
1176
1748
|
]));
|
|
1177
1749
|
}
|
|
1178
|
-
}), [["__scopeId", "data-v-
|
|
1750
|
+
}), [["__scopeId", "data-v-2c31113b"]]), zn = { class: "im-create-dialog" }, Bn = { class: "im-create-row" }, Vn = { class: "im-create-row im-create-row-list" }, Hn = { class: "im-create-footer" }, Un = ["disabled"], Wn = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
1751
|
+
__name: "MeetingCreateDialog",
|
|
1752
|
+
props: {
|
|
1753
|
+
myUid: {},
|
|
1754
|
+
loader: { type: Function },
|
|
1755
|
+
defaultTitle: {},
|
|
1756
|
+
onClose: { type: Function }
|
|
1757
|
+
},
|
|
1758
|
+
emits: [
|
|
1759
|
+
"confirm",
|
|
1760
|
+
"cancel",
|
|
1761
|
+
"close"
|
|
1762
|
+
],
|
|
1763
|
+
setup(e, { emit: n }) {
|
|
1764
|
+
let r = e, i = n, c = O(), u = C(r.defaultTitle || ""), d = C([]), p = C([]), m = C(!0), h = t(() => u.value.trim()), _ = t(() => h.value.length > 0 && p.value.length > 0);
|
|
1765
|
+
function v() {
|
|
1766
|
+
return z();
|
|
1767
|
+
}
|
|
1768
|
+
async function b() {
|
|
1769
|
+
let e = v();
|
|
1770
|
+
if (!e?.users) return [];
|
|
1771
|
+
let t = await e.users.list(), n = await e.users.resolve(e.uid).catch(() => void 0), i = /* @__PURE__ */ new Set();
|
|
1772
|
+
return n && i.add(n.externalId), r.myUid && i.add(r.myUid), t.filter((e) => !i.has(e.externalId)).map((e) => ({
|
|
1773
|
+
uid: e.externalId,
|
|
1774
|
+
name: e.name,
|
|
1775
|
+
dept: e.deptName || void 0
|
|
1776
|
+
}));
|
|
1777
|
+
}
|
|
1778
|
+
y(async () => {
|
|
1779
|
+
try {
|
|
1780
|
+
d.value = r.loader ? await r.loader() : await b();
|
|
1781
|
+
} catch (e) {
|
|
1782
|
+
console.warn("[im] 选人列表加载失败", e), d.value = [];
|
|
1783
|
+
} finally {
|
|
1784
|
+
m.value = !1;
|
|
1785
|
+
}
|
|
1786
|
+
});
|
|
1787
|
+
function S() {
|
|
1788
|
+
if (!_.value) return;
|
|
1789
|
+
let e = h.value;
|
|
1790
|
+
i("confirm", [...p.value], e.endsWith("会议") ? e : `${e}会议`), i("close");
|
|
1791
|
+
}
|
|
1792
|
+
function w() {
|
|
1793
|
+
i("cancel"), i("close");
|
|
1794
|
+
}
|
|
1795
|
+
return (e, t) => (x(), a("div", {
|
|
1796
|
+
class: "im-create-mask",
|
|
1797
|
+
onClick: N(w, ["self"])
|
|
1798
|
+
}, [o("div", zn, [
|
|
1799
|
+
o("div", { class: "im-create-header" }, [t[2] ||= o("h2", { class: "im-create-title" }, "发起会议", -1), o("button", {
|
|
1800
|
+
class: "im-create-close",
|
|
1801
|
+
type: "button",
|
|
1802
|
+
"aria-label": "关闭",
|
|
1803
|
+
onClick: w
|
|
1804
|
+
}, "✕")]),
|
|
1805
|
+
o("div", Bn, [t[3] ||= o("label", { class: "im-create-label" }, "会议名称", -1), M(o("input", {
|
|
1806
|
+
"onUpdate:modelValue": t[0] ||= (e) => u.value = e,
|
|
1807
|
+
class: "im-create-input",
|
|
1808
|
+
type: "text",
|
|
1809
|
+
placeholder: "请输入会议名称",
|
|
1810
|
+
maxlength: "40"
|
|
1811
|
+
}, null, 512), [[k, u.value]])]),
|
|
1812
|
+
o("div", Vn, [l(dn, {
|
|
1813
|
+
selected: p.value,
|
|
1814
|
+
"onUpdate:selected": t[1] ||= (e) => p.value = e,
|
|
1815
|
+
users: d.value,
|
|
1816
|
+
loading: m.value,
|
|
1817
|
+
"empty-text": "暂无其他用户"
|
|
1818
|
+
}, s({ _: 2 }, [c["user-item"] ? {
|
|
1819
|
+
name: "user-item",
|
|
1820
|
+
fn: j((t) => [T(e.$slots, "user-item", g(f(t)), void 0, !0)]),
|
|
1821
|
+
key: "0"
|
|
1822
|
+
} : void 0]), 1032, [
|
|
1823
|
+
"selected",
|
|
1824
|
+
"users",
|
|
1825
|
+
"loading"
|
|
1826
|
+
])]),
|
|
1827
|
+
o("div", Hn, [o("button", {
|
|
1828
|
+
class: "im-create-btn cancel",
|
|
1829
|
+
type: "button",
|
|
1830
|
+
onClick: w
|
|
1831
|
+
}, "取消"), o("button", {
|
|
1832
|
+
class: "im-create-btn confirm",
|
|
1833
|
+
type: "button",
|
|
1834
|
+
disabled: !_.value,
|
|
1835
|
+
onClick: S
|
|
1836
|
+
}, " 发起会议 ", 8, Un)])
|
|
1837
|
+
])]));
|
|
1838
|
+
}
|
|
1839
|
+
}), [["__scopeId", "data-v-21541f0e"]]), Gn = { class: "im-chat-header" }, Kn = { class: "im-chat-name" }, qn = {
|
|
1840
|
+
key: 0,
|
|
1841
|
+
class: "im-chat-empty"
|
|
1842
|
+
}, Jn = {
|
|
1843
|
+
key: 0,
|
|
1844
|
+
class: "im-chat-time-sep"
|
|
1845
|
+
}, Yn = { class: "im-chat-bubble" }, Xn = {
|
|
1179
1846
|
key: 0,
|
|
1180
1847
|
class: "im-chat-revoked"
|
|
1181
|
-
},
|
|
1848
|
+
}, Zn = { key: 1 }, Qn = {
|
|
1849
|
+
key: 2,
|
|
1850
|
+
class: "im-chat-fail"
|
|
1851
|
+
}, $n = { class: "im-chat-meta" }, er = { class: "im-chat-input" }, tr = ["disabled"], nr = {
|
|
1852
|
+
key: 0,
|
|
1853
|
+
class: "im-chat-emoji-picker"
|
|
1854
|
+
}, rr = ["onClick"], ir = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
1182
1855
|
__name: "ChatPanel",
|
|
1183
1856
|
props: {
|
|
1184
1857
|
to: {},
|
|
1858
|
+
peerName: {},
|
|
1859
|
+
myUid: {},
|
|
1860
|
+
embedded: { type: Boolean },
|
|
1185
1861
|
onClose: { type: Function }
|
|
1186
1862
|
},
|
|
1187
1863
|
emits: ["close"],
|
|
1188
|
-
setup(
|
|
1189
|
-
let
|
|
1190
|
-
function
|
|
1191
|
-
return
|
|
1864
|
+
setup(n, { emit: r }) {
|
|
1865
|
+
let s = n, c = r, l = C([]), u = C(""), d = C(""), f = C(0), p = C(null), g = C(null), _ = [], b = C(!1), S = /* @__PURE__ */ "😀.😁.😂.🤣.😊.😍.🥰.😘.😎.🤔.😴.😭.😱.🤯.🤗.👍.👎.👏.🙏.💪.🤝.✌️.🤞.❤️.💔.💕.💯.🔥.⭐.🎉.🎁.🚀".split(".");
|
|
1866
|
+
function D() {
|
|
1867
|
+
return z();
|
|
1868
|
+
}
|
|
1869
|
+
let O = C("");
|
|
1870
|
+
ee(() => s.to, async (e) => {
|
|
1871
|
+
if (O.value = "", s.peerName || !e) return;
|
|
1872
|
+
let t = D()?.users;
|
|
1873
|
+
if (!t?.resolve) return;
|
|
1874
|
+
let n = await t.resolve(e).catch(() => void 0);
|
|
1875
|
+
n?.name && (O.value = n.name);
|
|
1876
|
+
}, { immediate: !0 });
|
|
1877
|
+
let A = t(() => s.peerName || O.value || s.to);
|
|
1878
|
+
async function j(e) {
|
|
1879
|
+
try {
|
|
1880
|
+
let t = (await e.transport.usersByExternal([s.to])).users[s.to]?.uid;
|
|
1881
|
+
if (!t) return "";
|
|
1882
|
+
let n = await e.message.listConversations() || [], r = e.uid;
|
|
1883
|
+
return n.find((e) => e.dialogUserA === r && e.dialogUserB === t || e.dialogUserA === t && e.dialogUserB === r)?.id || "";
|
|
1884
|
+
} catch (e) {
|
|
1885
|
+
return console.warn("[im] 解析会话 ID 失败", e), "";
|
|
1886
|
+
}
|
|
1192
1887
|
}
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
e
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1888
|
+
let N = C(s.myUid || "");
|
|
1889
|
+
y(async () => {
|
|
1890
|
+
let e = D();
|
|
1891
|
+
if (e) {
|
|
1892
|
+
if (!s.myUid) {
|
|
1893
|
+
let t = await e.users?.resolve(e.uid).catch(() => void 0);
|
|
1894
|
+
t?.externalId && (N.value = t.externalId);
|
|
1895
|
+
}
|
|
1896
|
+
e.message.openDialog(s.to).catch((e) => console.warn("[im] openDialog 失败", e)), d.value = await j(e), d.value && await F(), _.push(e.on("message", (t) => {
|
|
1897
|
+
let n = t;
|
|
1898
|
+
(d.value ? n.conversationId === d.value : n.from === s.to) && (!n.msgId || l.value.some((e) => e.id === n.msgId) || (l.value.push({
|
|
1899
|
+
id: n.msgId,
|
|
1900
|
+
appId: "",
|
|
1901
|
+
conversationId: n.conversationId || d.value,
|
|
1902
|
+
seq: Number(n.seq) || 0,
|
|
1903
|
+
senderId: n.from || "",
|
|
1904
|
+
clientMid: n.msgId,
|
|
1905
|
+
type: n.msgType || "text",
|
|
1906
|
+
body: n.body,
|
|
1907
|
+
status: "sent",
|
|
1908
|
+
createdAt: n.ts || Date.now()
|
|
1909
|
+
}), I(), e.message.ack(n.msgId).catch(() => {})));
|
|
1910
|
+
})), _.push(e.on("message:revoked", (e) => {
|
|
1911
|
+
let t = l.value.find((t) => t.id === e.messageId);
|
|
1912
|
+
t && (t.status = "revoked");
|
|
1913
|
+
}));
|
|
1914
|
+
}
|
|
1915
|
+
}), v(() => {
|
|
1916
|
+
_.forEach((e) => e()), D()?.message?.closeDialog?.(s.to);
|
|
1201
1917
|
});
|
|
1202
|
-
async function
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1918
|
+
async function te() {
|
|
1919
|
+
let e = u.value.trim();
|
|
1920
|
+
e && (u.value = "", R(), b.value = !1, await P(e));
|
|
1921
|
+
}
|
|
1922
|
+
async function P(e) {
|
|
1923
|
+
let t = D();
|
|
1924
|
+
if (!t || !e) return;
|
|
1206
1925
|
let n = "temp-" + Date.now();
|
|
1207
|
-
|
|
1926
|
+
l.value.push({
|
|
1208
1927
|
id: n,
|
|
1209
1928
|
appId: "",
|
|
1210
|
-
conversationId:
|
|
1929
|
+
conversationId: d.value,
|
|
1211
1930
|
seq: 0,
|
|
1212
|
-
senderId:
|
|
1931
|
+
senderId: N.value || t.uid,
|
|
1213
1932
|
clientMid: n,
|
|
1214
1933
|
type: "text",
|
|
1215
|
-
body:
|
|
1934
|
+
body: e,
|
|
1216
1935
|
status: "sending",
|
|
1217
1936
|
createdAt: Date.now()
|
|
1218
|
-
}),
|
|
1937
|
+
}), I();
|
|
1219
1938
|
try {
|
|
1220
|
-
let
|
|
1221
|
-
to:
|
|
1939
|
+
let r = await t.message.send({
|
|
1940
|
+
to: s.to,
|
|
1222
1941
|
type: "text",
|
|
1223
|
-
body:
|
|
1224
|
-
}),
|
|
1225
|
-
|
|
1942
|
+
body: e
|
|
1943
|
+
}), i = l.value.find((e) => e.id === n);
|
|
1944
|
+
i && (i.id = r.msgId, i.seq = r.seq, i.status = "sent"), f.value = r.seq, d.value || (d.value = await j(t), i && (i.conversationId = d.value));
|
|
1226
1945
|
} catch {
|
|
1227
|
-
let e =
|
|
1946
|
+
let e = l.value.find((e) => e.id === n);
|
|
1228
1947
|
e && (e.status = "failed");
|
|
1229
1948
|
}
|
|
1230
1949
|
}
|
|
1231
|
-
function
|
|
1232
|
-
|
|
1950
|
+
async function F() {
|
|
1951
|
+
let e = D();
|
|
1952
|
+
if (!e || !d.value) return;
|
|
1953
|
+
let t = await e.message.history(d.value, 0, 50);
|
|
1954
|
+
l.value = [...t].sort((e, t) => e.seq - t.seq), t.length > 0 && (f.value = t[t.length - 1].seq, await e.message.markRead(d.value, f.value)), I();
|
|
1955
|
+
}
|
|
1956
|
+
function I() {
|
|
1957
|
+
m(() => {
|
|
1233
1958
|
p.value && (p.value.scrollTop = p.value.scrollHeight);
|
|
1234
1959
|
});
|
|
1235
1960
|
}
|
|
1236
|
-
|
|
1237
|
-
|
|
1961
|
+
function L() {
|
|
1962
|
+
let e = g.value;
|
|
1963
|
+
e && (e.style.height = "auto", e.style.height = Math.min(e.scrollHeight, 96) + "px");
|
|
1964
|
+
}
|
|
1965
|
+
function R() {
|
|
1966
|
+
g.value && (g.value.style.height = "auto");
|
|
1967
|
+
}
|
|
1968
|
+
function ne(e) {
|
|
1969
|
+
e.key === "Enter" && !e.shiftKey && !e.isComposing && (e.preventDefault(), te());
|
|
1970
|
+
}
|
|
1971
|
+
function B(e) {
|
|
1972
|
+
let t = g.value;
|
|
1973
|
+
if (!t) {
|
|
1974
|
+
u.value += e;
|
|
1975
|
+
return;
|
|
1976
|
+
}
|
|
1977
|
+
let n = t.selectionStart ?? u.value.length, r = t.selectionEnd ?? u.value.length;
|
|
1978
|
+
u.value = u.value.slice(0, n) + e + u.value.slice(r), m(() => {
|
|
1979
|
+
t.focus();
|
|
1980
|
+
let r = n + e.length;
|
|
1981
|
+
t.setSelectionRange(r, r), L();
|
|
1982
|
+
});
|
|
1983
|
+
}
|
|
1984
|
+
let V = t(() => [...l.value].sort((e, t) => e.seq - t.seq)), H = t(() => {
|
|
1985
|
+
let e = [], t = V.value, n = 0;
|
|
1986
|
+
for (let r of t) (r.createdAt - n > 3e5 || n === 0) && e.push({
|
|
1987
|
+
type: "time",
|
|
1988
|
+
ts: r.createdAt,
|
|
1989
|
+
key: `t-${r.id}`
|
|
1990
|
+
}), e.push({
|
|
1991
|
+
type: "msg",
|
|
1992
|
+
msg: r,
|
|
1993
|
+
key: r.id
|
|
1994
|
+
}), n = r.createdAt;
|
|
1995
|
+
return e;
|
|
1996
|
+
});
|
|
1997
|
+
function U(e) {
|
|
1998
|
+
let t = new Date(e);
|
|
1999
|
+
return `${t.getHours().toString().padStart(2, "0")}:${t.getMinutes().toString().padStart(2, "0")}`;
|
|
2000
|
+
}
|
|
2001
|
+
function W(e) {
|
|
2002
|
+
let t = new Date(e), n = /* @__PURE__ */ new Date(), r = U(e);
|
|
2003
|
+
if (t.toDateString() === n.toDateString()) return r;
|
|
2004
|
+
let i = new Date(n);
|
|
2005
|
+
return i.setDate(n.getDate() - 1), t.toDateString() === i.toDateString() ? `昨天 ${r}` : `${t.getMonth() + 1}月${t.getDate()}日 ${r}`;
|
|
2006
|
+
}
|
|
2007
|
+
function G(e) {
|
|
2008
|
+
let t = N.value;
|
|
2009
|
+
return !!t && e.senderId === t;
|
|
2010
|
+
}
|
|
2011
|
+
return (t, r) => (x(), a("div", { class: h(["im-chat-panel", { "im-chat-panel--embedded": n.embedded }]) }, [
|
|
2012
|
+
o("div", Gn, [o("span", Kn, E(A.value), 1), n.embedded ? i("", !0) : (x(), a("button", {
|
|
2013
|
+
key: 0,
|
|
1238
2014
|
class: "im-chat-close",
|
|
1239
|
-
onClick: r[0] ||= (e) =>
|
|
1240
|
-
}, "×")]),
|
|
2015
|
+
onClick: r[0] ||= (e) => c("close")
|
|
2016
|
+
}, "×"))]),
|
|
1241
2017
|
o("div", {
|
|
1242
2018
|
ref_key: "listEl",
|
|
1243
2019
|
ref: p,
|
|
1244
2020
|
class: "im-chat-messages"
|
|
1245
|
-
}, [(
|
|
1246
|
-
key:
|
|
1247
|
-
class:
|
|
1248
|
-
}, [
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
2021
|
+
}, [V.value.length === 0 ? (x(), a("div", qn, "还没有消息,发个招呼吧 👋")) : i("", !0), (x(!0), a(e, null, w(H.value, (n) => (x(), a(e, { key: n.key }, [n.type === "time" ? (x(), a("div", Jn, E(W(n.ts)), 1)) : (x(), a("div", {
|
|
2022
|
+
key: 1,
|
|
2023
|
+
class: h(["im-chat-msg", G(n.msg) ? "mine" : "theirs"])
|
|
2024
|
+
}, [T(t.$slots, "message", {
|
|
2025
|
+
message: n.msg,
|
|
2026
|
+
mine: G(n.msg)
|
|
2027
|
+
}, () => [o("div", Yn, [n.msg.status === "revoked" ? (x(), a("span", Xn, "[已撤回]")) : (x(), a("span", Zn, E(n.msg.body), 1)), n.msg.status === "failed" ? (x(), a("span", Qn, "!发送失败")) : i("", !0)])], !0), o("div", $n, E(U(n.msg.createdAt)), 1)], 2))], 64))), 128))], 512),
|
|
2028
|
+
T(t.$slots, "input", { send: P }, () => [o("div", er, [
|
|
2029
|
+
o("button", {
|
|
2030
|
+
class: "im-chat-emoji-btn",
|
|
2031
|
+
title: "表情",
|
|
2032
|
+
onClick: r[1] ||= (e) => b.value = !b.value
|
|
2033
|
+
}, " 😊 "),
|
|
2034
|
+
M(o("textarea", {
|
|
2035
|
+
ref_key: "textareaEl",
|
|
2036
|
+
ref: g,
|
|
2037
|
+
"onUpdate:modelValue": r[2] ||= (e) => u.value = e,
|
|
2038
|
+
rows: "1",
|
|
2039
|
+
placeholder: "输入消息,Enter 发送,Shift+Enter 换行",
|
|
2040
|
+
onKeydown: ne,
|
|
2041
|
+
onInput: L
|
|
2042
|
+
}, null, 544), [[k, u.value]]),
|
|
2043
|
+
o("button", {
|
|
2044
|
+
disabled: !u.value.trim(),
|
|
2045
|
+
onClick: te
|
|
2046
|
+
}, "发送", 8, tr),
|
|
2047
|
+
b.value ? (x(), a("div", nr, [(x(), a(e, null, w(S, (e) => o("button", {
|
|
2048
|
+
key: e,
|
|
2049
|
+
class: "im-chat-emoji-item",
|
|
2050
|
+
onClick: (t) => B(e)
|
|
2051
|
+
}, E(e), 9, rr)), 64))])) : i("", !0)
|
|
2052
|
+
])], !0)
|
|
2053
|
+
], 2));
|
|
1255
2054
|
}
|
|
1256
|
-
}), [["__scopeId", "data-v-
|
|
1257
|
-
function
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
}
|
|
2055
|
+
}), [["__scopeId", "data-v-91f8ce15"]]), $, ar, or = /* @__PURE__ */ new Map(), sr = !1;
|
|
2056
|
+
function cr() {
|
|
2057
|
+
return sr || !!$.call?.currentSession || !!$.meeting?.currentSession;
|
|
2058
|
+
}
|
|
2059
|
+
function lr() {
|
|
2060
|
+
let e = document.querySelector("div.im-invite-stack");
|
|
2061
|
+
return e || (e = document.createElement("div"), e.className = "im-invite-stack", e.style.position = "fixed", e.style.top = "24px", e.style.right = "24px", e.style.zIndex = "10000", e.style.display = "flex", e.style.flexDirection = "column", e.style.gap = "12px", e.style.pointerEvents = "none", document.body.appendChild(e), e);
|
|
2062
|
+
}
|
|
2063
|
+
async function ur(e) {
|
|
2064
|
+
let t = $.users;
|
|
2065
|
+
if (t?.resolve) {
|
|
2066
|
+
let n = await t.resolve(e).catch(() => void 0);
|
|
2067
|
+
if (n?.name) return n.name;
|
|
2068
|
+
}
|
|
2069
|
+
return e;
|
|
1270
2070
|
}
|
|
1271
|
-
function
|
|
1272
|
-
|
|
1273
|
-
if (
|
|
1274
|
-
|
|
2071
|
+
function dr(e, t, n) {
|
|
2072
|
+
$ = e, ar = n, I(t), ne(e), n?.autoPopups !== !1 && ($.on("call:invite", (e) => {
|
|
2073
|
+
if (cr()) {
|
|
2074
|
+
$.transport.callEnd(e.callId, "busy").catch(() => {});
|
|
1275
2075
|
return;
|
|
1276
2076
|
}
|
|
1277
|
-
|
|
1278
|
-
|
|
2077
|
+
sr = !0, L(Ae, {
|
|
2078
|
+
mode: "incoming",
|
|
2079
|
+
peerUid: e.from,
|
|
2080
|
+
callType: e.callType,
|
|
2081
|
+
callId: e.callId,
|
|
2082
|
+
onAccepted: (e) => {
|
|
2083
|
+
L(xe, {
|
|
2084
|
+
mode: "callee",
|
|
2085
|
+
callType: e.callType
|
|
2086
|
+
});
|
|
2087
|
+
},
|
|
2088
|
+
onClose: () => {
|
|
2089
|
+
sr = !1;
|
|
2090
|
+
}
|
|
2091
|
+
});
|
|
2092
|
+
}), $.on("meeting:invite", async (e) => {
|
|
2093
|
+
if ($.meeting?.currentSession) return;
|
|
1279
2094
|
try {
|
|
1280
|
-
if (!((await
|
|
2095
|
+
if (!((await $.transport.meetingPendingInvites()).invites || []).some((t) => t.meetingId === e.meetingId)) {
|
|
1281
2096
|
console.warn("[im-ui] stale meeting_invite 丢弃(会议已结束)", e.meetingId);
|
|
1282
2097
|
return;
|
|
1283
2098
|
}
|
|
1284
2099
|
} catch (e) {
|
|
1285
2100
|
console.warn("[im-ui] invite 校验失败,默认透传", e);
|
|
1286
2101
|
}
|
|
1287
|
-
|
|
1288
|
-
t
|
|
1289
|
-
let { subApp: n, div: r } = Rt(At, {
|
|
2102
|
+
R(or.get(e.meetingId) || null), or.delete(e.meetingId);
|
|
2103
|
+
let t = L(Rn, {
|
|
1290
2104
|
invite: e,
|
|
1291
|
-
conflict:
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
2105
|
+
conflict: cr(),
|
|
2106
|
+
onAccepted: () => {
|
|
2107
|
+
let e = $.meeting?.currentSession;
|
|
2108
|
+
L(Mn, {
|
|
2109
|
+
mode: "participant",
|
|
2110
|
+
title: e?.title || "会议",
|
|
2111
|
+
resolveUser: n?.resolveUser
|
|
2112
|
+
});
|
|
2113
|
+
},
|
|
2114
|
+
onClose: () => {
|
|
2115
|
+
or.delete(e.meetingId);
|
|
2116
|
+
}
|
|
2117
|
+
}, lr());
|
|
2118
|
+
or.set(e.meetingId, t);
|
|
2119
|
+
}), $.on("meeting:dissolved", (e) => {
|
|
2120
|
+
R(or.get(e.meetingId) || null), or.delete(e.meetingId);
|
|
2121
|
+
}), $.on("meeting:kicked", (e) => {
|
|
2122
|
+
R(or.get(e.meetingId) || null), or.delete(e.meetingId);
|
|
2123
|
+
})), $.on("session:kicked", (e) => {
|
|
1301
2124
|
alert(`您的账号在其他 ${e.clientType === 4 ? "Web" : e.clientType === 1 ? "PC" : "移动端"} 登录,已强制下线`), window.location.reload();
|
|
2125
|
+
}), window.addEventListener("beforeunload", () => {
|
|
2126
|
+
let e = $?.call?.currentSession;
|
|
2127
|
+
e && $.transport.sendBeacon("/call/end", {
|
|
2128
|
+
callId: e.callId,
|
|
2129
|
+
reason: "user_left"
|
|
2130
|
+
});
|
|
2131
|
+
let t = $?.meeting?.currentSession;
|
|
2132
|
+
t && $.transport.sendBeacon(`/meeting/${t.meetingId}/leave`, {});
|
|
1302
2133
|
});
|
|
1303
2134
|
}
|
|
1304
|
-
var
|
|
2135
|
+
var fr = {
|
|
1305
2136
|
chat(e) {
|
|
1306
|
-
|
|
2137
|
+
L(ir, { to: e });
|
|
1307
2138
|
},
|
|
1308
|
-
call(e, t = "video") {
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
}
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
mode: "
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
2139
|
+
async call(e, t = "video") {
|
|
2140
|
+
let n = null;
|
|
2141
|
+
try {
|
|
2142
|
+
n = await $.call.init(e, t);
|
|
2143
|
+
} catch (e) {
|
|
2144
|
+
K.error(le(e, "发起通话失败"));
|
|
2145
|
+
return;
|
|
2146
|
+
}
|
|
2147
|
+
sr = !0;
|
|
2148
|
+
let r = null;
|
|
2149
|
+
r = L(Ae, {
|
|
2150
|
+
mode: "outgoing",
|
|
2151
|
+
peerUid: e,
|
|
2152
|
+
callType: t,
|
|
2153
|
+
onConnected: () => {
|
|
2154
|
+
R(r), r = null, sr = !1, n.connect().then(() => {
|
|
2155
|
+
n.enableDevices().catch((e) => console.warn("[im] 主叫 enableDevices 异常", e)), L(xe, {
|
|
2156
|
+
mode: "caller",
|
|
2157
|
+
callType: t
|
|
2158
|
+
});
|
|
2159
|
+
}).catch((e) => {
|
|
2160
|
+
console.error("[im] 主叫 connect 失败", e), K.error("连接建立失败,通话已取消"), $.call.end("user_left").catch(() => {});
|
|
2161
|
+
});
|
|
2162
|
+
}
|
|
1323
2163
|
});
|
|
1324
|
-
}
|
|
1325
|
-
}, Vt = "data:audio/mpeg;base64,//uQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAB0AAC/BAAEBggLDQ8TFhgaHB4jJScpLC4yNDc5Oz1CREZIS01PU1ZYWlxeY2VnaWxucnR3eXt9goSGiIuNj5OWmJqcnqOlp6msrrK0t7m7vcLExsjLzc/T1tja3N7j5efp7O7y9Pf5+/0AAAA8TEFNRTMuMTAwAQAAAAAAAAAAABSAJAL0ZgAAgAAAvwRQljMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//uQBAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAETEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVdLVEUVJMoAkQIREQYQgmAwGTJkyZMmEECBAgQIECBMmTsLTvwTTvxBAgQL/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARkyad//xnvf/ZAgQQ/e7IECCER3sgQIECEREE73+z0///+0ECZMmTJk073///+Lvf3u7IECBAgQIIQTTvWiIz97s8mTJkCAAAAAAAAIELsmTJk07//u7PJkyBAghGf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VVVVVVVVVVUD8aij///xVixUUFsWFWf+rrFRbFhcV4t//4szigH41FH///irFiooLYsKs/9XWKi2LC4rxb//xZnFFUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5AEXo/w6QC4mAEQDB0gFxMAIgGAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5AEQQ/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kARBD/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV", Ht = { class: "call-dialog" }, Ut = ["src"], Wt = { class: "call-dialog-header" }, Gt = { class: "call-dialog-body" }, Kt = { class: "peer-name" }, qt = { class: "status-text" }, Jt = { class: "call-dialog-actions" }, Yt = /*#__PURE__*/ z(/* @__PURE__ */ l({
|
|
1326
|
-
__name: "CallDialog",
|
|
1327
|
-
props: {
|
|
1328
|
-
mode: {},
|
|
1329
|
-
peerUid: {},
|
|
1330
|
-
peerName: {},
|
|
1331
|
-
callType: {},
|
|
1332
|
-
callId: {},
|
|
1333
|
-
timeoutSec: {}
|
|
1334
2164
|
},
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
return
|
|
1344
|
-
}
|
|
1345
|
-
function C() {
|
|
1346
|
-
p.value && (p.value.currentTime = 0, p.value.play().catch(() => {}));
|
|
1347
|
-
}
|
|
1348
|
-
function w() {
|
|
1349
|
-
p.value && (p.value.pause(), p.value.currentTime = 0);
|
|
1350
|
-
}
|
|
1351
|
-
let E = t(() => (c.peerName || c.peerUid)[0].toUpperCase()), D = t(() => u.value === "ringing" ? c.mode === "outgoing" ? "呼叫中" : "邀请你通话" : d.value);
|
|
1352
|
-
function O(e, t, n = 1500) {
|
|
1353
|
-
u.value = e, d.value = t, setTimeout(() => l("close"), n);
|
|
2165
|
+
async meeting(e) {
|
|
2166
|
+
if (!e?.invitees) {
|
|
2167
|
+
L(Wn, { onConfirm: (e, t) => {
|
|
2168
|
+
fr.meeting({
|
|
2169
|
+
invitees: e,
|
|
2170
|
+
title: t
|
|
2171
|
+
});
|
|
2172
|
+
} });
|
|
2173
|
+
return;
|
|
1354
2174
|
}
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
2175
|
+
let t = e.invitees, n = e.title || "即时会议", r;
|
|
2176
|
+
try {
|
|
2177
|
+
r = await $.meeting.create(t, n);
|
|
2178
|
+
} catch (e) {
|
|
2179
|
+
K.error(le(e, "创建会议失败"));
|
|
2180
|
+
return;
|
|
1359
2181
|
}
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
let t = await e.call.accept(c.callId, c.callType);
|
|
1367
|
-
l("accepted", t), setTimeout(() => l("close"), 200);
|
|
1368
|
-
} catch (e) {
|
|
1369
|
-
console.error("[im] 接听失败", e), u.value = "rejected", d.value = e?.message || "接听失败", setTimeout(() => l("close"), 1500);
|
|
1370
|
-
}
|
|
1371
|
-
}
|
|
2182
|
+
let i = r.busyInvitees || [];
|
|
2183
|
+
if (t.length > 0 && i.length >= t.length) {
|
|
2184
|
+
$.meeting.currentSession?.leave($.transport).catch(() => {});
|
|
2185
|
+
let e = (await Promise.all(i.map(ur))).join("、");
|
|
2186
|
+
K.error(`${e} 均正忙,会议未能创建`);
|
|
2187
|
+
return;
|
|
1372
2188
|
}
|
|
1373
|
-
|
|
1374
|
-
|
|
2189
|
+
if (L(Mn, {
|
|
2190
|
+
mode: "host",
|
|
2191
|
+
title: n,
|
|
2192
|
+
resolveUser: ar?.resolveUser
|
|
2193
|
+
}), i.length > 0) {
|
|
2194
|
+
let e = (await Promise.all(i.map(ur))).join("、");
|
|
2195
|
+
K.info(`${e} 正忙,未能邀请加入会议`);
|
|
1375
2196
|
}
|
|
1376
|
-
return h(() => {
|
|
1377
|
-
let e = S();
|
|
1378
|
-
if (!e) {
|
|
1379
|
-
l("close");
|
|
1380
|
-
return;
|
|
1381
|
-
}
|
|
1382
|
-
if (C(), c.mode === "outgoing") {
|
|
1383
|
-
g.push(e.on("call:accepted", () => {
|
|
1384
|
-
w(), u.value = "connected", d.value = "对方已接听", setTimeout(() => l("connected"), 300);
|
|
1385
|
-
})), g.push(e.on("call:rejected", () => O("rejected", "对方拒接"))), g.push(e.on("call:busy", () => O("busy", "对方繁忙"))), g.push(e.on("call:no_answer", () => O("no_answer", "无人接听")));
|
|
1386
|
-
let t = c.timeoutSec ?? 30;
|
|
1387
|
-
y = setTimeout(() => {
|
|
1388
|
-
u.value === "ringing" && O("no_answer", "无人接听");
|
|
1389
|
-
}, t * 1e3);
|
|
1390
|
-
} else g.push(e.on("call:cancelled", () => {
|
|
1391
|
-
w(), O("cancelled", "对方已取消", 600);
|
|
1392
|
-
}));
|
|
1393
|
-
}), m(() => {
|
|
1394
|
-
w(), g.forEach((e) => e()), y && clearTimeout(y);
|
|
1395
|
-
}), (t, r) => T((_(), a("div", Ht, [
|
|
1396
|
-
o("audio", {
|
|
1397
|
-
ref_key: "ringAudio",
|
|
1398
|
-
ref: p,
|
|
1399
|
-
src: n.mode === "outgoing" ? x(Vt) : x(gt),
|
|
1400
|
-
loop: "",
|
|
1401
|
-
preload: "auto"
|
|
1402
|
-
}, null, 8, Ut),
|
|
1403
|
-
o("div", Wt, [o("span", null, b(n.callType === "video" ? "视频通话" : "语音通话"), 1)]),
|
|
1404
|
-
o("div", Gt, [
|
|
1405
|
-
o("div", { class: f(["avatar", u.value === "ringing" ? "ringing" : u.value]) }, [o("span", null, b(E.value), 1)], 2),
|
|
1406
|
-
o("div", Kt, b(n.peerName || n.peerUid), 1),
|
|
1407
|
-
o("div", qt, [u.value === "ringing" ? (_(), a(e, { key: 0 }, [s(b(D.value), 1), r[0] ||= o("span", { class: "dots" }, [
|
|
1408
|
-
o("i", null, "."),
|
|
1409
|
-
o("i", null, "."),
|
|
1410
|
-
o("i", null, ".")
|
|
1411
|
-
], -1)], 64)) : (_(), a("span", {
|
|
1412
|
-
key: 1,
|
|
1413
|
-
class: f(u.value)
|
|
1414
|
-
}, b(d.value), 3))])
|
|
1415
|
-
]),
|
|
1416
|
-
o("div", Jt, [n.mode === "outgoing" ? (_(), a(e, { key: 0 }, [u.value === "ringing" ? (_(), a("button", {
|
|
1417
|
-
key: 0,
|
|
1418
|
-
class: "btn cancel",
|
|
1419
|
-
onClick: k
|
|
1420
|
-
}, "取消")) : i("", !0)], 64)) : (_(), a(e, { key: 1 }, [u.value === "ringing" ? (_(), a("button", {
|
|
1421
|
-
key: 0,
|
|
1422
|
-
class: "btn reject",
|
|
1423
|
-
onClick: M
|
|
1424
|
-
}, "拒接")) : i("", !0), u.value === "ringing" ? (_(), a("button", {
|
|
1425
|
-
key: 1,
|
|
1426
|
-
class: "btn accept",
|
|
1427
|
-
onClick: j
|
|
1428
|
-
}, "接听")) : i("", !0)], 64))])
|
|
1429
|
-
])), [[x(A), ".call-dialog-status"]]);
|
|
1430
2197
|
}
|
|
1431
|
-
}
|
|
2198
|
+
}, pr = { class: "call-out-window" }, mr = { class: "call-out-header" }, hr = { class: "call-out-body" }, gr = { class: "call-out-name" }, _r = { class: "call-out-status" }, vr = {
|
|
1432
2199
|
key: 0,
|
|
1433
2200
|
class: "ringing-dots"
|
|
1434
|
-
},
|
|
2201
|
+
}, yr = { class: "call-out-actions" }, br = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
1435
2202
|
__name: "CallOutgoing",
|
|
1436
2203
|
props: {
|
|
1437
2204
|
calleeUid: {},
|
|
@@ -1441,68 +2208,140 @@ var Bt = {
|
|
|
1441
2208
|
},
|
|
1442
2209
|
emits: ["close", "connected"],
|
|
1443
2210
|
setup(e, { emit: t }) {
|
|
1444
|
-
let n = e, r = t,
|
|
1445
|
-
function
|
|
2211
|
+
let n = e, r = t, s = C("ringing"), l = C(""), u = [], d = null;
|
|
2212
|
+
function f() {
|
|
1446
2213
|
return window.__imClient;
|
|
1447
2214
|
}
|
|
1448
|
-
function
|
|
1449
|
-
|
|
2215
|
+
function p(e, t, n = 1500) {
|
|
2216
|
+
s.value = e, l.value = t, setTimeout(() => r("close"), n);
|
|
1450
2217
|
}
|
|
1451
|
-
async function
|
|
1452
|
-
|
|
1453
|
-
let e =
|
|
2218
|
+
async function m() {
|
|
2219
|
+
s.value = "cancelled", l.value = "已取消";
|
|
2220
|
+
let e = f(), t = e?.call?.currentSession?.callId;
|
|
1454
2221
|
await e?.call?.end("cancelled", t).catch(() => {}), setTimeout(() => r("close"), 800);
|
|
1455
2222
|
}
|
|
1456
|
-
return
|
|
1457
|
-
let e =
|
|
2223
|
+
return y(() => {
|
|
2224
|
+
let e = f();
|
|
1458
2225
|
if (!e) {
|
|
1459
2226
|
r("close");
|
|
1460
2227
|
return;
|
|
1461
2228
|
}
|
|
1462
|
-
u
|
|
2229
|
+
u.push(e.on("call:accepted", () => {
|
|
1463
2230
|
l.value = "对方已接听", setTimeout(() => r("connected"), 300);
|
|
1464
|
-
}), e.on("call:rejected", () => {
|
|
1465
|
-
|
|
1466
|
-
}), e.on("call:busy", () => {
|
|
1467
|
-
|
|
1468
|
-
}), e.on("call:no_answer", () => {
|
|
1469
|
-
|
|
1470
|
-
}), e.on("call:cancelled", () => {
|
|
1471
|
-
|
|
1472
|
-
});
|
|
2231
|
+
})), u.push(e.on("call:rejected", () => {
|
|
2232
|
+
p("rejected", "对方拒接");
|
|
2233
|
+
})), u.push(e.on("call:busy", () => {
|
|
2234
|
+
p("busy", "对方繁忙");
|
|
2235
|
+
})), u.push(e.on("call:no_answer", () => {
|
|
2236
|
+
p("no_answer", "无人接听");
|
|
2237
|
+
})), u.push(e.on("call:cancelled", () => {
|
|
2238
|
+
p("cancelled", "已取消", 500);
|
|
2239
|
+
}));
|
|
1473
2240
|
let t = n.timeoutSec ?? 30;
|
|
1474
2241
|
d = setTimeout(() => {
|
|
1475
|
-
|
|
2242
|
+
s.value === "ringing" && p("no_answer", "无人接听");
|
|
1476
2243
|
}, t * 1e3);
|
|
1477
|
-
}),
|
|
1478
|
-
u
|
|
1479
|
-
}), (t, n) =>
|
|
1480
|
-
o("div",
|
|
1481
|
-
o("div",
|
|
1482
|
-
o("div", { class:
|
|
1483
|
-
o("div",
|
|
1484
|
-
o("div",
|
|
1485
|
-
|
|
2244
|
+
}), v(() => {
|
|
2245
|
+
u.forEach((e) => e()), d && clearTimeout(d);
|
|
2246
|
+
}), (t, n) => M((x(), a("div", pr, [
|
|
2247
|
+
o("div", mr, [o("span", null, E(e.callType === "video" ? "视频通话" : "语音通话"), 1)]),
|
|
2248
|
+
o("div", hr, [
|
|
2249
|
+
o("div", { class: h(["call-out-avatar", s.value === "ringing" ? "ringing" : s.value]) }, E((e.calleeName || e.calleeUid)[0].toUpperCase()), 3),
|
|
2250
|
+
o("div", gr, E(e.calleeName || e.calleeUid), 1),
|
|
2251
|
+
o("div", _r, [s.value === "ringing" ? (x(), a("span", vr, [...n[0] ||= [
|
|
2252
|
+
c(" 呼叫中", -1),
|
|
1486
2253
|
o("span", { class: "dot" }, "·", -1),
|
|
1487
2254
|
o("span", { class: "dot" }, "·", -1),
|
|
1488
2255
|
o("span", { class: "dot" }, "·", -1)
|
|
1489
|
-
]])) : (
|
|
2256
|
+
]])) : (x(), a("span", {
|
|
1490
2257
|
key: 1,
|
|
1491
|
-
class:
|
|
1492
|
-
},
|
|
2258
|
+
class: h(s.value)
|
|
2259
|
+
}, E(l.value), 3))])
|
|
1493
2260
|
]),
|
|
1494
|
-
o("div",
|
|
2261
|
+
o("div", yr, [s.value === "ringing" ? (x(), a("button", {
|
|
1495
2262
|
key: 0,
|
|
1496
2263
|
class: "cancel-btn",
|
|
1497
|
-
onClick:
|
|
2264
|
+
onClick: m
|
|
1498
2265
|
}, "取消")) : i("", !0)])
|
|
1499
|
-
])), [[
|
|
2266
|
+
])), [[D(fe), ".call-out-header"]]);
|
|
2267
|
+
}
|
|
2268
|
+
}), [["__scopeId", "data-v-625d9e2f"]]), xr = { class: "im-incoming-ring" }, Sr = ["src"], Cr = { class: "im-ring-content" }, wr = { class: "im-ring-avatar" }, Tr = { class: "im-ring-info" }, Er = { class: "im-ring-name" }, Dr = { class: "im-ring-type" }, Or = /*#__PURE__*/ H(/* @__PURE__ */ u({
|
|
2269
|
+
__name: "IncomingRing",
|
|
2270
|
+
props: {
|
|
2271
|
+
invite: {},
|
|
2272
|
+
onClose: { type: Function }
|
|
2273
|
+
},
|
|
2274
|
+
emits: ["close", "accepted"],
|
|
2275
|
+
setup(e, { emit: t }) {
|
|
2276
|
+
let n = e, r = t, i = C(null);
|
|
2277
|
+
function s() {
|
|
2278
|
+
return window.__imClient;
|
|
2279
|
+
}
|
|
2280
|
+
function c() {
|
|
2281
|
+
i.value && (i.value.currentTime = 0, i.value.play().catch(() => {}));
|
|
2282
|
+
}
|
|
2283
|
+
function u() {
|
|
2284
|
+
i.value && (i.value.pause(), i.value.currentTime = 0);
|
|
2285
|
+
}
|
|
2286
|
+
let d = [];
|
|
2287
|
+
y(() => {
|
|
2288
|
+
c();
|
|
2289
|
+
let e = s();
|
|
2290
|
+
e && (d.push(e.on("call:cancelled", () => {
|
|
2291
|
+
u(), r("close");
|
|
2292
|
+
})), d.push(e.on("call:no_answer", () => {
|
|
2293
|
+
u(), r("close");
|
|
2294
|
+
})));
|
|
2295
|
+
}), v(() => {
|
|
2296
|
+
u(), d.forEach((e) => e());
|
|
2297
|
+
});
|
|
2298
|
+
async function f() {
|
|
2299
|
+
u();
|
|
2300
|
+
let e = s();
|
|
2301
|
+
try {
|
|
2302
|
+
let t = await e?.call?.accept(n.invite.callId, n.invite.callType);
|
|
2303
|
+
r("accepted", t), r("close");
|
|
2304
|
+
} catch (e) {
|
|
2305
|
+
let t = String(e?.message || e || "");
|
|
2306
|
+
t.includes("conflict") || t.includes("entered elsewhere") ? alert("已在其他设备接听,本端通话已关闭") : alert("网络异常,请稍后重试"), r("close");
|
|
2307
|
+
}
|
|
2308
|
+
}
|
|
2309
|
+
async function p() {
|
|
2310
|
+
u(), await s()?.call?.end("rejected", n.invite.callId), r("close");
|
|
2311
|
+
}
|
|
2312
|
+
return (t, n) => (x(), a("div", xr, [o("audio", {
|
|
2313
|
+
ref_key: "ringAudio",
|
|
2314
|
+
ref: i,
|
|
2315
|
+
src: D(Ce),
|
|
2316
|
+
loop: "",
|
|
2317
|
+
preload: "auto"
|
|
2318
|
+
}, null, 8, Sr), o("div", Cr, [
|
|
2319
|
+
o("div", wr, [l(q, {
|
|
2320
|
+
name: "answer",
|
|
2321
|
+
size: 24,
|
|
2322
|
+
color: "#fff"
|
|
2323
|
+
})]),
|
|
2324
|
+
o("div", Tr, [o("div", Er, E(e.invite.from), 1), o("div", Dr, E(e.invite.callType === "video" ? "视频通话" : "语音通话"), 1)]),
|
|
2325
|
+
o("div", { class: "im-ring-actions" }, [o("button", {
|
|
2326
|
+
class: "im-reject",
|
|
2327
|
+
onClick: p
|
|
2328
|
+
}, "拒接"), o("button", {
|
|
2329
|
+
class: "im-accept",
|
|
2330
|
+
onClick: f
|
|
2331
|
+
}, "接听")])
|
|
2332
|
+
])]));
|
|
1500
2333
|
}
|
|
1501
|
-
}), [["__scopeId", "data-v-
|
|
2334
|
+
}), [["__scopeId", "data-v-18096666"]]), kr = { install(e, t) {
|
|
1502
2335
|
if (!t?.client) throw Error("ImUI 安装时必须传入 client(已初始化的 ImClient)");
|
|
1503
|
-
e.component("ImIcon",
|
|
2336
|
+
e.component("ImIcon", q), e.component("ImCallWindow", xe), e.component("ImCallDialog", Ae), e.component("ImCallOutgoing", br), e.component("ImMeetWindow", Mn), e.component("ImIncomingRing", Or), e.component("ImMeetingInvite", Rn), e.component("ImChatPanel", ir), e.component("ImUserPickerList", dn), e.component("ImUserPickerDialog", vn), e.component("ImMeetingCreateDialog", Wn), dr(t.client, e, {
|
|
2337
|
+
autoPopups: t.autoPopups,
|
|
2338
|
+
resolveUser: t.resolveUser
|
|
2339
|
+
});
|
|
1504
2340
|
} };
|
|
2341
|
+
function Ar(e, t, n) {
|
|
2342
|
+
dr(e, t, n);
|
|
2343
|
+
}
|
|
1505
2344
|
//#endregion
|
|
1506
|
-
export {
|
|
2345
|
+
export { Ae as CallDialog, br as CallOutgoing, xe as CallWindow, ir as ChatPanel, q as Icon, K as ImToast, fr as ImUI, kr as ImUIPlugin, kr as default, Or as IncomingRing, Mn as MeetWindow, Wn as MeetingCreateDialog, Rn as MeetingInvite, vn as UserPickerDialog, dn as UserPickerList, le as friendlyApiError, Ar as setupImUI };
|
|
1507
2346
|
|
|
1508
2347
|
//# sourceMappingURL=im-ui.es.js.map
|