@homebound/beam 2.406.0 → 2.408.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/index.cjs +533 -438
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +24 -4
- package/dist/index.d.ts +24 -4
- package/dist/index.js +567 -473
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6299,14 +6299,10 @@ var rowClickRenderFn = (as, api, colSpan) => (key, css2, content, row, rowStyle,
|
|
|
6299
6299
|
import { useContext as useContext6 } from "react";
|
|
6300
6300
|
|
|
6301
6301
|
// src/components/Table/components/EditColumnsButton.tsx
|
|
6302
|
-
import { useCallback as useCallback4, useMemo as useMemo11, useRef as useRef7 } from "react";
|
|
6302
|
+
import { Fragment as Fragment7, useCallback as useCallback4, useMemo as useMemo11, useRef as useRef7 } from "react";
|
|
6303
6303
|
import { useMenuTrigger } from "react-aria";
|
|
6304
6304
|
import { useMenuTriggerState } from "react-stately";
|
|
6305
6305
|
|
|
6306
|
-
// src/components/Button.tsx
|
|
6307
|
-
import { useMemo as useMemo10, useState as useState8 } from "react";
|
|
6308
|
-
import { useButton as useButton4, useFocusRing as useFocusRing4, useHover as useHover5 } from "react-aria";
|
|
6309
|
-
|
|
6310
6306
|
// src/components/internal/OverlayTrigger.tsx
|
|
6311
6307
|
import { useRef as useRef6 } from "react";
|
|
6312
6308
|
import { useOverlayPosition } from "react-aria";
|
|
@@ -6431,10 +6427,185 @@ var pressedStyles = Css.addIn(
|
|
|
6431
6427
|
Css.br100.bgGray900.contentEmpty.w100.h100.absolute.top0.left0.add("opacity", "0.2").$
|
|
6432
6428
|
).$;
|
|
6433
6429
|
|
|
6434
|
-
// src/components/
|
|
6435
|
-
import { useMemo as useMemo9 } from "react";
|
|
6436
|
-
import {
|
|
6430
|
+
// src/components/Button.tsx
|
|
6431
|
+
import { useMemo as useMemo9, useState as useState8 } from "react";
|
|
6432
|
+
import { useButton as useButton3, useFocusRing as useFocusRing3, useHover as useHover4 } from "react-aria";
|
|
6437
6433
|
import { Fragment as Fragment5, jsx as jsx23, jsxs as jsxs10 } from "@emotion/react/jsx-runtime";
|
|
6434
|
+
function Button(props) {
|
|
6435
|
+
const {
|
|
6436
|
+
onClick: onPress,
|
|
6437
|
+
disabled,
|
|
6438
|
+
endAdornment,
|
|
6439
|
+
menuTriggerProps,
|
|
6440
|
+
tooltip,
|
|
6441
|
+
openInNew,
|
|
6442
|
+
download,
|
|
6443
|
+
contrast = false,
|
|
6444
|
+
forceFocusStyles = false,
|
|
6445
|
+
labelInFlight,
|
|
6446
|
+
...otherProps
|
|
6447
|
+
} = props;
|
|
6448
|
+
const asLink = typeof onPress === "string";
|
|
6449
|
+
const showExternalLinkIcon = asLink && isAbsoluteUrl(onPress) || openInNew;
|
|
6450
|
+
const [asyncInProgress, setAsyncInProgress] = useState8(false);
|
|
6451
|
+
const isDisabled = !!disabled;
|
|
6452
|
+
const ariaProps = { onPress, isDisabled: isDisabled || asyncInProgress, ...otherProps, ...menuTriggerProps };
|
|
6453
|
+
const {
|
|
6454
|
+
label,
|
|
6455
|
+
// Default the icon based on other properties.
|
|
6456
|
+
icon = download ? "download" : showExternalLinkIcon ? "linkExternal" : void 0,
|
|
6457
|
+
variant = "primary",
|
|
6458
|
+
size = "sm",
|
|
6459
|
+
buttonRef
|
|
6460
|
+
} = ariaProps;
|
|
6461
|
+
const ref = useGetRef(buttonRef);
|
|
6462
|
+
const tid = useTestIds(props, labelOr(ariaProps, "button"));
|
|
6463
|
+
const { buttonProps, isPressed } = useButton3(
|
|
6464
|
+
{
|
|
6465
|
+
...ariaProps,
|
|
6466
|
+
onPress: asLink ? noop : (e) => {
|
|
6467
|
+
const result = onPress(e);
|
|
6468
|
+
if (isPromise(result)) {
|
|
6469
|
+
setAsyncInProgress(true);
|
|
6470
|
+
result.finally(() => setAsyncInProgress(false));
|
|
6471
|
+
}
|
|
6472
|
+
return result;
|
|
6473
|
+
},
|
|
6474
|
+
elementType: asLink ? "a" : "button"
|
|
6475
|
+
},
|
|
6476
|
+
ref
|
|
6477
|
+
);
|
|
6478
|
+
const { isFocusVisible, focusProps } = useFocusRing3(ariaProps);
|
|
6479
|
+
const { hoverProps, isHovered } = useHover4(ariaProps);
|
|
6480
|
+
const { baseStyles: baseStyles5, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, pressedStyles: pressedStyles3, focusStyles: focusStyles2 } = useMemo9(
|
|
6481
|
+
() => getButtonStyles(variant, size, contrast),
|
|
6482
|
+
[variant, size, contrast]
|
|
6483
|
+
);
|
|
6484
|
+
const buttonContent = /* @__PURE__ */ jsxs10(Fragment5, { children: [
|
|
6485
|
+
icon && /* @__PURE__ */ jsx23(Icon, { xss: iconStyles[size], icon }),
|
|
6486
|
+
labelInFlight && asyncInProgress ? labelInFlight : label,
|
|
6487
|
+
(endAdornment || asyncInProgress) && /* @__PURE__ */ jsx23("span", { css: Css.ml1.$, children: asyncInProgress ? /* @__PURE__ */ jsx23(Loader, { size: "xs", contrast }) : endAdornment })
|
|
6488
|
+
] });
|
|
6489
|
+
const buttonAttrs = {
|
|
6490
|
+
ref,
|
|
6491
|
+
...buttonProps,
|
|
6492
|
+
...focusProps,
|
|
6493
|
+
...hoverProps,
|
|
6494
|
+
className: asLink ? navLink : void 0,
|
|
6495
|
+
css: {
|
|
6496
|
+
...Css.buttonBase.tt("inherit").$,
|
|
6497
|
+
...baseStyles5,
|
|
6498
|
+
...isHovered && !isPressed ? hoverStyles4 : {},
|
|
6499
|
+
...isPressed ? pressedStyles3 : {},
|
|
6500
|
+
...isDisabled || asyncInProgress ? { ...disabledStyles4, ...Css.cursorNotAllowed.$ } : {},
|
|
6501
|
+
...isFocusVisible || forceFocusStyles ? focusStyles2 : {}
|
|
6502
|
+
},
|
|
6503
|
+
...tid
|
|
6504
|
+
};
|
|
6505
|
+
return maybeTooltip({
|
|
6506
|
+
title: resolveTooltip(disabled, tooltip),
|
|
6507
|
+
placement: "top",
|
|
6508
|
+
children: getButtonOrLink(buttonContent, onPress, buttonAttrs, openInNew, download)
|
|
6509
|
+
});
|
|
6510
|
+
}
|
|
6511
|
+
function getButtonStyles(variant, size, contrast) {
|
|
6512
|
+
const styles = variantStyles(contrast)[variant];
|
|
6513
|
+
if (variant === "text") {
|
|
6514
|
+
return styles;
|
|
6515
|
+
}
|
|
6516
|
+
return {
|
|
6517
|
+
...styles,
|
|
6518
|
+
baseStyles: { ...styles.baseStyles, ...sizeStyles[size] }
|
|
6519
|
+
};
|
|
6520
|
+
}
|
|
6521
|
+
var variantStyles = (contrast) => ({
|
|
6522
|
+
primary: {
|
|
6523
|
+
baseStyles: Css.bgBlue600.white.$,
|
|
6524
|
+
hoverStyles: Css.bgBlue700.$,
|
|
6525
|
+
pressedStyles: Css.bgBlue800.$,
|
|
6526
|
+
disabledStyles: Css.bgBlue200.if(contrast).gray600.bgBlue900.$,
|
|
6527
|
+
focusStyles: Css.bshFocus.if(contrast).boxShadow(`0 0 0 2px ${"rgba(255,255,255,1)" /* White */}`).$
|
|
6528
|
+
},
|
|
6529
|
+
secondary: {
|
|
6530
|
+
baseStyles: Css.bgWhite.bcGray300.bw1.ba.blue600.$,
|
|
6531
|
+
hoverStyles: Css.bgGray100.if(contrast).bgGray300.$,
|
|
6532
|
+
pressedStyles: Css.bgGray200.if(contrast).bgGray100.$,
|
|
6533
|
+
disabledStyles: Css.bgWhite.blue300.$,
|
|
6534
|
+
focusStyles: Css.bshFocus.if(contrast).boxShadow(`0 0 0 2px ${"rgba(255,255,255,1)" /* White */}`).$
|
|
6535
|
+
},
|
|
6536
|
+
secondaryBlack: {
|
|
6537
|
+
baseStyles: Css.bgWhite.bcGray300.bw1.ba.gray900.$,
|
|
6538
|
+
hoverStyles: Css.bgGray100.if(contrast).bgGray700.white.$,
|
|
6539
|
+
pressedStyles: Css.gray900.if(contrast).bgWhite.gray900.$,
|
|
6540
|
+
disabledStyles: Css.gray400.if(contrast).gray700.$,
|
|
6541
|
+
focusStyles: Css.boxShadow(`0px 0px 0px 2px ${"rgba(255,255,255,1)" /* White */}, 0px 0px 0px 4px ${"rgba(36, 36, 36, 1)" /* Gray900 */}`).if(contrast).boxShadow(`0px 0px 0px 2px ${"rgba(175, 175, 175, 1)" /* Gray500 */}`).$
|
|
6542
|
+
},
|
|
6543
|
+
tertiary: {
|
|
6544
|
+
baseStyles: Css.bgTransparent.blue600.if(contrast).white.$,
|
|
6545
|
+
hoverStyles: Css.bgGray100.if(contrast).bgGray700.white.$,
|
|
6546
|
+
pressedStyles: Css.blue800.if(contrast).bgWhite.gray900.$,
|
|
6547
|
+
disabledStyles: Css.gray400.if(contrast).gray700.$,
|
|
6548
|
+
focusStyles: Css.bshFocus.if(contrast).boxShadow(`0 0 0 2px ${"rgba(96, 165, 250, 1)" /* Blue400 */}`).bgGray700.white.$
|
|
6549
|
+
},
|
|
6550
|
+
tertiaryDanger: {
|
|
6551
|
+
baseStyles: Css.bgTransparent.red600.if(contrast).red400.$,
|
|
6552
|
+
hoverStyles: Css.bgGray100.if(contrast).bgGray700.white.$,
|
|
6553
|
+
pressedStyles: Css.red800.if(contrast).bgWhite.gray900.$,
|
|
6554
|
+
disabledStyles: Css.gray400.if(contrast).gray700.$,
|
|
6555
|
+
focusStyles: Css.boxShadow(`0px 0px 0px 2px ${"rgba(255,255,255,1)" /* White */}, 0px 0px 0px 4px ${"rgba(239, 68, 68, 1)" /* Red500 */}`).if(contrast).boxShadow(`0px 0px 0px 2px ${"rgba(239, 68, 68, 1)" /* Red500 */}`).$
|
|
6556
|
+
},
|
|
6557
|
+
danger: {
|
|
6558
|
+
baseStyles: Css.bgRed600.white.$,
|
|
6559
|
+
hoverStyles: Css.bgRed700.$,
|
|
6560
|
+
pressedStyles: Css.bgRed800.$,
|
|
6561
|
+
disabledStyles: Css.bgRed200.if(contrast).bgRed900.gray600.$,
|
|
6562
|
+
focusStyles: Css.bshDanger.if(contrast).boxShadow(`0 0 0 2px ${"rgba(255,255,255,1)" /* White */}`).$
|
|
6563
|
+
},
|
|
6564
|
+
quaternary: {
|
|
6565
|
+
baseStyles: Css.bgTransparent.gray900.if(contrast).gray400.$,
|
|
6566
|
+
hoverStyles: Css.bgGray100.if(contrast).bgGray700.white.$,
|
|
6567
|
+
pressedStyles: Css.gray900.if(contrast).bgWhite.gray900.$,
|
|
6568
|
+
disabledStyles: Css.gray400.if(contrast).gray700.$,
|
|
6569
|
+
focusStyles: Css.boxShadow(`0px 0px 0px 2px ${"rgba(255,255,255,1)" /* White */}, 0px 0px 0px 4px ${"rgba(36, 36, 36, 1)" /* Gray900 */}`).if(contrast).boxShadow(`0px 0px 0px 2px ${"rgba(175, 175, 175, 1)" /* Gray500 */}`).$
|
|
6570
|
+
},
|
|
6571
|
+
caution: {
|
|
6572
|
+
baseStyles: Css.bgYellow200.gray900.$,
|
|
6573
|
+
hoverStyles: Css.bgYellow300.$,
|
|
6574
|
+
pressedStyles: Css.bgYellow400.$,
|
|
6575
|
+
disabledStyles: Css.bgYellow200.if(contrast).bgYellow900.white.$,
|
|
6576
|
+
focusStyles: Css.bshDanger.if(contrast).boxShadow(`0 0 0 2px ${"rgba(255,255,255,1)" /* White */}`).$
|
|
6577
|
+
},
|
|
6578
|
+
text: {
|
|
6579
|
+
baseStyles: Css.blue700.add("fontSize", "inherit").if(contrast).blue400.$,
|
|
6580
|
+
hoverStyles: Css.blue600.if(contrast).blue300.$,
|
|
6581
|
+
pressedStyles: Css.blue700.if(contrast).blue200.$,
|
|
6582
|
+
disabledStyles: Css.blue300.if(contrast).blue700.$,
|
|
6583
|
+
focusStyles: Css.bshFocus.if(contrast).boxShadow(`0 0 0 2px ${"rgba(255,255,255,1)" /* White */}`).$
|
|
6584
|
+
},
|
|
6585
|
+
// Todo: handle contrast variant
|
|
6586
|
+
textSecondary: {
|
|
6587
|
+
baseStyles: Css.blue600.add("fontSize", "inherit").$,
|
|
6588
|
+
hoverStyles: Css.bgGray100.$,
|
|
6589
|
+
pressedStyles: Css.blue600.$,
|
|
6590
|
+
disabledStyles: Css.bgWhite.blue300.$,
|
|
6591
|
+
focusStyles: Css.blue600.$
|
|
6592
|
+
}
|
|
6593
|
+
});
|
|
6594
|
+
var sizeStyles = {
|
|
6595
|
+
sm: Css.hPx(32).pxPx(12).$,
|
|
6596
|
+
md: Css.hPx(40).px2.$,
|
|
6597
|
+
lg: Css.hPx(48).px3.$
|
|
6598
|
+
};
|
|
6599
|
+
var iconStyles = {
|
|
6600
|
+
sm: Css.mrPx(4).$,
|
|
6601
|
+
md: Css.mr1.$,
|
|
6602
|
+
lg: Css.mrPx(10).$
|
|
6603
|
+
};
|
|
6604
|
+
|
|
6605
|
+
// src/components/NavLink.tsx
|
|
6606
|
+
import { useMemo as useMemo10 } from "react";
|
|
6607
|
+
import { mergeProps as mergeProps2, useButton as useButton4, useFocusRing as useFocusRing4, useHover as useHover5 } from "react-aria";
|
|
6608
|
+
import { Fragment as Fragment6, jsx as jsx24, jsxs as jsxs11 } from "@emotion/react/jsx-runtime";
|
|
6438
6609
|
function NavLink(props) {
|
|
6439
6610
|
const {
|
|
6440
6611
|
disabled: isDisabled,
|
|
@@ -6448,10 +6619,10 @@ function NavLink(props) {
|
|
|
6448
6619
|
const ariaProps = { children: label, isDisabled, ...menuTriggerProps, ...otherProps };
|
|
6449
6620
|
const { href, active = false, icon = false, variant } = ariaProps;
|
|
6450
6621
|
const ref = useGetRef(buttonRef);
|
|
6451
|
-
const { buttonProps, isPressed } =
|
|
6452
|
-
const { hoverProps, isHovered } =
|
|
6453
|
-
const { isFocusVisible, focusProps } =
|
|
6454
|
-
const { baseStyles: baseStyles5, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, pressedStyles: pressedStyles3 } =
|
|
6622
|
+
const { buttonProps, isPressed } = useButton4({ ...ariaProps, elementType: href ? "a" : "button" }, ref);
|
|
6623
|
+
const { hoverProps, isHovered } = useHover5({ isDisabled });
|
|
6624
|
+
const { isFocusVisible, focusProps } = useFocusRing4(ariaProps);
|
|
6625
|
+
const { baseStyles: baseStyles5, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, pressedStyles: pressedStyles3 } = useMemo10(
|
|
6455
6626
|
() => getNavLinkStyles(variant, contrast),
|
|
6456
6627
|
[variant, contrast]
|
|
6457
6628
|
);
|
|
@@ -6471,9 +6642,9 @@ function NavLink(props) {
|
|
|
6471
6642
|
...isPressed && pressedStyles3
|
|
6472
6643
|
}
|
|
6473
6644
|
};
|
|
6474
|
-
const linkContent = /* @__PURE__ */
|
|
6645
|
+
const linkContent = /* @__PURE__ */ jsxs11(Fragment6, { children: [
|
|
6475
6646
|
label,
|
|
6476
|
-
icon && /* @__PURE__ */
|
|
6647
|
+
icon && /* @__PURE__ */ jsx24("span", { css: Css.ml1.$, children: /* @__PURE__ */ jsx24(Icon, { icon }) })
|
|
6477
6648
|
] });
|
|
6478
6649
|
return getButtonOrLink(linkContent, href, { ...mergeProps2(buttonProps, focusProps, hoverProps), ...linkAttributes });
|
|
6479
6650
|
}
|
|
@@ -6504,7 +6675,7 @@ var navLinkVariantStyles = (contrast) => ({
|
|
|
6504
6675
|
});
|
|
6505
6676
|
|
|
6506
6677
|
// src/components/internal/OverlayTrigger.tsx
|
|
6507
|
-
import { jsx as
|
|
6678
|
+
import { jsx as jsx25, jsxs as jsxs12 } from "@emotion/react/jsx-runtime";
|
|
6508
6679
|
function OverlayTrigger(props) {
|
|
6509
6680
|
const {
|
|
6510
6681
|
trigger,
|
|
@@ -6536,8 +6707,8 @@ function OverlayTrigger(props) {
|
|
|
6536
6707
|
);
|
|
6537
6708
|
return (
|
|
6538
6709
|
// Add `line-height: 0` to prevent the Icon button and Avatar buttons from inheriting the line-height, causing them to be taller than they should.
|
|
6539
|
-
/* @__PURE__ */
|
|
6540
|
-
isTextButton(trigger) ? /* @__PURE__ */
|
|
6710
|
+
/* @__PURE__ */ jsxs12("div", { css: Css.dib.add("lineHeight", 0).$, children: [
|
|
6711
|
+
isTextButton(trigger) ? /* @__PURE__ */ jsx25(
|
|
6541
6712
|
Button,
|
|
6542
6713
|
{
|
|
6543
6714
|
variant: variant ? variant : "secondary",
|
|
@@ -6545,14 +6716,14 @@ function OverlayTrigger(props) {
|
|
|
6545
6716
|
...trigger,
|
|
6546
6717
|
menuTriggerProps,
|
|
6547
6718
|
buttonRef,
|
|
6548
|
-
endAdornment: !hideEndAdornment ? /* @__PURE__ */
|
|
6719
|
+
endAdornment: !hideEndAdornment ? /* @__PURE__ */ jsx25(Icon, { icon: state.isOpen ? "chevronUp" : "chevronDown" }) : null,
|
|
6549
6720
|
disabled,
|
|
6550
6721
|
tooltip,
|
|
6551
6722
|
onClick: menuTriggerProps.onPress ?? noop,
|
|
6552
6723
|
forceFocusStyles: showActiveBorder && state.isOpen,
|
|
6553
6724
|
...tid
|
|
6554
6725
|
}
|
|
6555
|
-
) : isNavLinkButton(trigger) ? /* @__PURE__ */
|
|
6726
|
+
) : isNavLinkButton(trigger) ? /* @__PURE__ */ jsx25(
|
|
6556
6727
|
NavLink,
|
|
6557
6728
|
{
|
|
6558
6729
|
...trigger,
|
|
@@ -6563,7 +6734,7 @@ function OverlayTrigger(props) {
|
|
|
6563
6734
|
buttonRef,
|
|
6564
6735
|
...tid
|
|
6565
6736
|
}
|
|
6566
|
-
) : isIconButton(trigger) ? /* @__PURE__ */
|
|
6737
|
+
) : isIconButton(trigger) ? /* @__PURE__ */ jsx25(
|
|
6567
6738
|
IconButton,
|
|
6568
6739
|
{
|
|
6569
6740
|
...trigger,
|
|
@@ -6575,7 +6746,7 @@ function OverlayTrigger(props) {
|
|
|
6575
6746
|
onClick: menuTriggerProps.onPress ?? noop,
|
|
6576
6747
|
forceFocusStyles: showActiveBorder && state.isOpen
|
|
6577
6748
|
}
|
|
6578
|
-
) : /* @__PURE__ */
|
|
6749
|
+
) : /* @__PURE__ */ jsx25(
|
|
6579
6750
|
AvatarButton,
|
|
6580
6751
|
{
|
|
6581
6752
|
...trigger,
|
|
@@ -6588,7 +6759,7 @@ function OverlayTrigger(props) {
|
|
|
6588
6759
|
forceFocusStyles: showActiveBorder && state.isOpen
|
|
6589
6760
|
}
|
|
6590
6761
|
),
|
|
6591
|
-
state.isOpen && /* @__PURE__ */
|
|
6762
|
+
state.isOpen && /* @__PURE__ */ jsx25(
|
|
6592
6763
|
Popover,
|
|
6593
6764
|
{
|
|
6594
6765
|
triggerRef: buttonRef,
|
|
@@ -6615,176 +6786,10 @@ function labelOr(trigger, fallback) {
|
|
|
6615
6786
|
return typeof trigger.label === "string" ? trigger.label : fallback;
|
|
6616
6787
|
}
|
|
6617
6788
|
|
|
6618
|
-
// src/components/Button.tsx
|
|
6619
|
-
import { Fragment as Fragment6, jsx as jsx25, jsxs as jsxs12 } from "@emotion/react/jsx-runtime";
|
|
6620
|
-
function Button(props) {
|
|
6621
|
-
const {
|
|
6622
|
-
onClick: onPress,
|
|
6623
|
-
disabled,
|
|
6624
|
-
endAdornment,
|
|
6625
|
-
menuTriggerProps,
|
|
6626
|
-
tooltip,
|
|
6627
|
-
openInNew,
|
|
6628
|
-
download,
|
|
6629
|
-
contrast = false,
|
|
6630
|
-
forceFocusStyles = false,
|
|
6631
|
-
labelInFlight,
|
|
6632
|
-
...otherProps
|
|
6633
|
-
} = props;
|
|
6634
|
-
const asLink = typeof onPress === "string";
|
|
6635
|
-
const showExternalLinkIcon = asLink && isAbsoluteUrl(onPress) || openInNew;
|
|
6636
|
-
const [asyncInProgress, setAsyncInProgress] = useState8(false);
|
|
6637
|
-
const isDisabled = !!disabled;
|
|
6638
|
-
const ariaProps = { onPress, isDisabled: isDisabled || asyncInProgress, ...otherProps, ...menuTriggerProps };
|
|
6639
|
-
const {
|
|
6640
|
-
label,
|
|
6641
|
-
// Default the icon based on other properties.
|
|
6642
|
-
icon = download ? "download" : showExternalLinkIcon ? "linkExternal" : void 0,
|
|
6643
|
-
variant = "primary",
|
|
6644
|
-
size = "sm",
|
|
6645
|
-
buttonRef
|
|
6646
|
-
} = ariaProps;
|
|
6647
|
-
const ref = useGetRef(buttonRef);
|
|
6648
|
-
const tid = useTestIds(props, labelOr(ariaProps, "button"));
|
|
6649
|
-
const { buttonProps, isPressed } = useButton4(
|
|
6650
|
-
{
|
|
6651
|
-
...ariaProps,
|
|
6652
|
-
onPress: asLink ? noop : (e) => {
|
|
6653
|
-
const result = onPress(e);
|
|
6654
|
-
if (isPromise(result)) {
|
|
6655
|
-
setAsyncInProgress(true);
|
|
6656
|
-
result.finally(() => setAsyncInProgress(false));
|
|
6657
|
-
}
|
|
6658
|
-
return result;
|
|
6659
|
-
},
|
|
6660
|
-
elementType: asLink ? "a" : "button"
|
|
6661
|
-
},
|
|
6662
|
-
ref
|
|
6663
|
-
);
|
|
6664
|
-
const { isFocusVisible, focusProps } = useFocusRing4(ariaProps);
|
|
6665
|
-
const { hoverProps, isHovered } = useHover5(ariaProps);
|
|
6666
|
-
const { baseStyles: baseStyles5, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, pressedStyles: pressedStyles3, focusStyles: focusStyles2 } = useMemo10(
|
|
6667
|
-
() => getButtonStyles(variant, size, contrast),
|
|
6668
|
-
[variant, size, contrast]
|
|
6669
|
-
);
|
|
6670
|
-
const buttonContent = /* @__PURE__ */ jsxs12(Fragment6, { children: [
|
|
6671
|
-
icon && /* @__PURE__ */ jsx25(Icon, { xss: iconStyles[size], icon }),
|
|
6672
|
-
labelInFlight && asyncInProgress ? labelInFlight : label,
|
|
6673
|
-
(endAdornment || asyncInProgress) && /* @__PURE__ */ jsx25("span", { css: Css.ml1.$, children: asyncInProgress ? /* @__PURE__ */ jsx25(Loader, { size: "xs", contrast }) : endAdornment })
|
|
6674
|
-
] });
|
|
6675
|
-
const buttonAttrs = {
|
|
6676
|
-
ref,
|
|
6677
|
-
...buttonProps,
|
|
6678
|
-
...focusProps,
|
|
6679
|
-
...hoverProps,
|
|
6680
|
-
className: asLink ? navLink : void 0,
|
|
6681
|
-
css: {
|
|
6682
|
-
...Css.buttonBase.tt("inherit").$,
|
|
6683
|
-
...baseStyles5,
|
|
6684
|
-
...isHovered && !isPressed ? hoverStyles4 : {},
|
|
6685
|
-
...isPressed ? pressedStyles3 : {},
|
|
6686
|
-
...isDisabled || asyncInProgress ? { ...disabledStyles4, ...Css.cursorNotAllowed.$ } : {},
|
|
6687
|
-
...isFocusVisible || forceFocusStyles ? focusStyles2 : {}
|
|
6688
|
-
},
|
|
6689
|
-
...tid
|
|
6690
|
-
};
|
|
6691
|
-
return maybeTooltip({
|
|
6692
|
-
title: resolveTooltip(disabled, tooltip),
|
|
6693
|
-
placement: "top",
|
|
6694
|
-
children: getButtonOrLink(buttonContent, onPress, buttonAttrs, openInNew, download)
|
|
6695
|
-
});
|
|
6696
|
-
}
|
|
6697
|
-
function getButtonStyles(variant, size, contrast) {
|
|
6698
|
-
const styles = variantStyles(contrast)[variant];
|
|
6699
|
-
if (variant === "text") {
|
|
6700
|
-
return styles;
|
|
6701
|
-
}
|
|
6702
|
-
return {
|
|
6703
|
-
...styles,
|
|
6704
|
-
baseStyles: { ...styles.baseStyles, ...sizeStyles[size] }
|
|
6705
|
-
};
|
|
6706
|
-
}
|
|
6707
|
-
var variantStyles = (contrast) => ({
|
|
6708
|
-
primary: {
|
|
6709
|
-
baseStyles: Css.bgBlue600.white.$,
|
|
6710
|
-
hoverStyles: Css.bgBlue700.$,
|
|
6711
|
-
pressedStyles: Css.bgBlue800.$,
|
|
6712
|
-
disabledStyles: Css.bgBlue200.if(contrast).gray600.bgBlue900.$,
|
|
6713
|
-
focusStyles: Css.bshFocus.if(contrast).boxShadow(`0 0 0 2px ${"rgba(255,255,255,1)" /* White */}`).$
|
|
6714
|
-
},
|
|
6715
|
-
secondary: {
|
|
6716
|
-
baseStyles: Css.bgWhite.bcGray300.bw1.ba.blue600.$,
|
|
6717
|
-
hoverStyles: Css.bgGray100.if(contrast).bgGray300.$,
|
|
6718
|
-
pressedStyles: Css.bgGray200.if(contrast).bgGray100.$,
|
|
6719
|
-
disabledStyles: Css.bgWhite.blue300.$,
|
|
6720
|
-
focusStyles: Css.bshFocus.if(contrast).boxShadow(`0 0 0 2px ${"rgba(255,255,255,1)" /* White */}`).$
|
|
6721
|
-
},
|
|
6722
|
-
tertiary: {
|
|
6723
|
-
baseStyles: Css.bgTransparent.blue600.if(contrast).white.$,
|
|
6724
|
-
hoverStyles: Css.bgGray100.if(contrast).bgGray700.white.$,
|
|
6725
|
-
pressedStyles: Css.blue800.if(contrast).bgWhite.gray900.$,
|
|
6726
|
-
disabledStyles: Css.gray400.if(contrast).gray700.$,
|
|
6727
|
-
focusStyles: Css.bshFocus.if(contrast).boxShadow(`0 0 0 2px ${"rgba(96, 165, 250, 1)" /* Blue400 */}`).bgGray700.white.$
|
|
6728
|
-
},
|
|
6729
|
-
tertiaryDanger: {
|
|
6730
|
-
baseStyles: Css.bgTransparent.red600.if(contrast).red400.$,
|
|
6731
|
-
hoverStyles: Css.bgGray100.if(contrast).bgGray700.white.$,
|
|
6732
|
-
pressedStyles: Css.red800.if(contrast).bgWhite.gray900.$,
|
|
6733
|
-
disabledStyles: Css.gray400.if(contrast).gray700.$,
|
|
6734
|
-
focusStyles: Css.boxShadow(`0px 0px 0px 2px ${"rgba(255,255,255,1)" /* White */}, 0px 0px 0px 4px ${"rgba(239, 68, 68, 1)" /* Red500 */}`).if(contrast).boxShadow(`0px 0px 0px 2px ${"rgba(239, 68, 68, 1)" /* Red500 */}`).$
|
|
6735
|
-
},
|
|
6736
|
-
danger: {
|
|
6737
|
-
baseStyles: Css.bgRed600.white.$,
|
|
6738
|
-
hoverStyles: Css.bgRed700.$,
|
|
6739
|
-
pressedStyles: Css.bgRed800.$,
|
|
6740
|
-
disabledStyles: Css.bgRed200.if(contrast).bgRed900.gray600.$,
|
|
6741
|
-
focusStyles: Css.bshDanger.if(contrast).boxShadow(`0 0 0 2px ${"rgba(255,255,255,1)" /* White */}`).$
|
|
6742
|
-
},
|
|
6743
|
-
quaternary: {
|
|
6744
|
-
baseStyles: Css.bgTransparent.gray900.if(contrast).gray400.$,
|
|
6745
|
-
hoverStyles: Css.bgGray100.if(contrast).bgGray700.white.$,
|
|
6746
|
-
pressedStyles: Css.gray900.if(contrast).bgWhite.gray900.$,
|
|
6747
|
-
disabledStyles: Css.gray400.if(contrast).gray700.$,
|
|
6748
|
-
focusStyles: Css.boxShadow(`0px 0px 0px 2px ${"rgba(255,255,255,1)" /* White */}, 0px 0px 0px 4px ${"rgba(36, 36, 36, 1)" /* Gray900 */}`).if(contrast).boxShadow(`0px 0px 0px 2px ${"rgba(175, 175, 175, 1)" /* Gray500 */}`).$
|
|
6749
|
-
},
|
|
6750
|
-
caution: {
|
|
6751
|
-
baseStyles: Css.bgYellow200.gray900.$,
|
|
6752
|
-
hoverStyles: Css.bgYellow300.$,
|
|
6753
|
-
pressedStyles: Css.bgYellow400.$,
|
|
6754
|
-
disabledStyles: Css.bgYellow200.if(contrast).bgYellow900.white.$,
|
|
6755
|
-
focusStyles: Css.bshDanger.if(contrast).boxShadow(`0 0 0 2px ${"rgba(255,255,255,1)" /* White */}`).$
|
|
6756
|
-
},
|
|
6757
|
-
text: {
|
|
6758
|
-
baseStyles: Css.blue700.add("fontSize", "inherit").if(contrast).blue400.$,
|
|
6759
|
-
hoverStyles: Css.blue600.if(contrast).blue300.$,
|
|
6760
|
-
pressedStyles: Css.blue700.if(contrast).blue200.$,
|
|
6761
|
-
disabledStyles: Css.blue300.if(contrast).blue700.$,
|
|
6762
|
-
focusStyles: Css.bshFocus.if(contrast).boxShadow(`0 0 0 2px ${"rgba(255,255,255,1)" /* White */}`).$
|
|
6763
|
-
},
|
|
6764
|
-
// Todo: handle contrast variant
|
|
6765
|
-
textSecondary: {
|
|
6766
|
-
baseStyles: Css.blue600.add("fontSize", "inherit").$,
|
|
6767
|
-
hoverStyles: Css.bgGray100.$,
|
|
6768
|
-
pressedStyles: Css.blue600.$,
|
|
6769
|
-
disabledStyles: Css.bgWhite.blue300.$,
|
|
6770
|
-
focusStyles: Css.blue600.$
|
|
6771
|
-
}
|
|
6772
|
-
});
|
|
6773
|
-
var sizeStyles = {
|
|
6774
|
-
sm: Css.hPx(32).pxPx(12).$,
|
|
6775
|
-
md: Css.hPx(40).px2.$,
|
|
6776
|
-
lg: Css.hPx(48).px3.$
|
|
6777
|
-
};
|
|
6778
|
-
var iconStyles = {
|
|
6779
|
-
sm: Css.mrPx(4).$,
|
|
6780
|
-
md: Css.mr1.$,
|
|
6781
|
-
lg: Css.mrPx(10).$
|
|
6782
|
-
};
|
|
6783
|
-
|
|
6784
6789
|
// src/components/Table/components/EditColumnsButton.tsx
|
|
6785
6790
|
import { jsx as jsx26, jsxs as jsxs13 } from "@emotion/react/jsx-runtime";
|
|
6786
6791
|
function EditColumnsButton(props) {
|
|
6787
|
-
const { defaultOpen, disabled, columns, trigger,
|
|
6792
|
+
const { defaultOpen, disabled, columns, trigger, api } = props;
|
|
6788
6793
|
const state = useMenuTriggerState({ isOpen: defaultOpen });
|
|
6789
6794
|
const buttonRef = useRef7(null);
|
|
6790
6795
|
const { menuTriggerProps } = useMenuTrigger({ isDisabled: !!disabled }, state, buttonRef);
|
|
@@ -6811,28 +6816,29 @@ function EditColumnsButton(props) {
|
|
|
6811
6816
|
},
|
|
6812
6817
|
[columns, api]
|
|
6813
6818
|
);
|
|
6814
|
-
return /* @__PURE__ */ jsx26(OverlayTrigger, { ...props, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */
|
|
6819
|
+
return /* @__PURE__ */ jsx26(OverlayTrigger, { ...props, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ jsx26(
|
|
6815
6820
|
"div",
|
|
6816
6821
|
{
|
|
6817
6822
|
css: {
|
|
6818
|
-
...Css.bgWhite.
|
|
6823
|
+
...Css.dg.gtc("1fr auto").gap2.bgWhite.p2.maxwPx(326).$,
|
|
6819
6824
|
"&:hover": Css.bshHover.$
|
|
6820
6825
|
},
|
|
6821
|
-
children: [
|
|
6822
|
-
/* @__PURE__ */ jsx26("div", { css: Css.
|
|
6826
|
+
children: options.map((option) => /* @__PURE__ */ jsxs13(Fragment7, { children: [
|
|
6827
|
+
/* @__PURE__ */ jsx26("div", { css: Css.sm.truncate.pr1.$, children: option.label }),
|
|
6823
6828
|
/* @__PURE__ */ jsx26(
|
|
6824
|
-
|
|
6829
|
+
Switch,
|
|
6825
6830
|
{
|
|
6826
|
-
|
|
6827
|
-
|
|
6828
|
-
|
|
6829
|
-
|
|
6830
|
-
|
|
6831
|
-
labelStyle: "hidden"
|
|
6831
|
+
compact: true,
|
|
6832
|
+
selected: selectedValues.includes(option.value),
|
|
6833
|
+
onChange: (value) => setSelectedValues(
|
|
6834
|
+
value ? [...selectedValues, option.value] : selectedValues.filter((v) => v !== option.value)
|
|
6835
|
+
),
|
|
6836
|
+
labelStyle: "hidden",
|
|
6837
|
+
label: option.label,
|
|
6838
|
+
...tid[`option${option.value}`]
|
|
6832
6839
|
}
|
|
6833
|
-
)
|
|
6834
|
-
|
|
6835
|
-
]
|
|
6840
|
+
)
|
|
6841
|
+
] }, option.value))
|
|
6836
6842
|
}
|
|
6837
6843
|
) });
|
|
6838
6844
|
}
|
|
@@ -7190,10 +7196,10 @@ function ExpandableHeader(props) {
|
|
|
7190
7196
|
}
|
|
7191
7197
|
|
|
7192
7198
|
// src/components/Table/utils/utils.tsx
|
|
7193
|
-
import { Fragment as
|
|
7199
|
+
import { Fragment as Fragment8, jsx as jsx30, jsxs as jsxs16 } from "@emotion/react/jsx-runtime";
|
|
7194
7200
|
function toContent(maybeContent, isHeader, canSortColumn, isClientSideSorting, style, as, alignment, column2, isExpandableHeader, isExpandable, minStickyLeftOffset, isKeptSelectedRow) {
|
|
7195
7201
|
if (isKeptSelectedRow && column2.id === "beamCollapseColumn") {
|
|
7196
|
-
return /* @__PURE__ */ jsx30(
|
|
7202
|
+
return /* @__PURE__ */ jsx30(Fragment8, {});
|
|
7197
7203
|
}
|
|
7198
7204
|
let content = isGridCellContent(maybeContent) ? maybeContent.content : maybeContent;
|
|
7199
7205
|
if (typeof content === "function") {
|
|
@@ -7230,24 +7236,24 @@ function toContent(maybeContent, isHeader, canSortColumn, isClientSideSorting, s
|
|
|
7230
7236
|
}
|
|
7231
7237
|
);
|
|
7232
7238
|
} else if (content && typeof content === "string" && isExpandableHeader) {
|
|
7233
|
-
return /* @__PURE__ */ jsxs16(
|
|
7239
|
+
return /* @__PURE__ */ jsxs16(Fragment8, { children: [
|
|
7234
7240
|
/* @__PURE__ */ jsx30("span", { css: Css.lineClamp2.$, children: content }),
|
|
7235
7241
|
tooltipEl
|
|
7236
7242
|
] });
|
|
7237
7243
|
} else if (!isContentEmpty(content) && isHeader && typeof content === "string") {
|
|
7238
|
-
return /* @__PURE__ */ jsxs16(
|
|
7244
|
+
return /* @__PURE__ */ jsxs16(Fragment8, { children: [
|
|
7239
7245
|
/* @__PURE__ */ jsx30("span", { css: Css.lineClamp2.$, title: content, children: content }),
|
|
7240
7246
|
tooltipEl
|
|
7241
7247
|
] });
|
|
7242
7248
|
} else if (!isHeader && content && style?.presentationSettings?.wrap === false && typeof content === "string") {
|
|
7243
|
-
return /* @__PURE__ */ jsxs16(
|
|
7249
|
+
return /* @__PURE__ */ jsxs16(Fragment8, { children: [
|
|
7244
7250
|
/* @__PURE__ */ jsx30("span", { css: Css.truncate.mw0.$, title: content, children: content }),
|
|
7245
7251
|
tooltipEl
|
|
7246
7252
|
] });
|
|
7247
7253
|
} else if (!isHeader && !isExpandableHeader && style.emptyCell && isContentEmpty(content)) {
|
|
7248
7254
|
return style.emptyCell;
|
|
7249
7255
|
}
|
|
7250
|
-
return /* @__PURE__ */ jsxs16(
|
|
7256
|
+
return /* @__PURE__ */ jsxs16(Fragment8, { children: [
|
|
7251
7257
|
content,
|
|
7252
7258
|
tooltipEl
|
|
7253
7259
|
] });
|
|
@@ -7269,7 +7275,7 @@ function applyRowFn(column2, row, api, level, expanded, dragData) {
|
|
|
7269
7275
|
}
|
|
7270
7276
|
var ASC = "ASC";
|
|
7271
7277
|
var DESC = "DESC";
|
|
7272
|
-
var emptyCell = { content: () => /* @__PURE__ */ jsx30(
|
|
7278
|
+
var emptyCell = { content: () => /* @__PURE__ */ jsx30(Fragment8, {}), value: "" };
|
|
7273
7279
|
function getFirstOrLastCellCss(style, columnIndex, columns) {
|
|
7274
7280
|
return {
|
|
7275
7281
|
...columnIndex === 0 ? style.firstCellCss : {},
|
|
@@ -7778,7 +7784,7 @@ var RowState = class {
|
|
|
7778
7784
|
|
|
7779
7785
|
// src/components/Table/components/Row.tsx
|
|
7780
7786
|
import { useDebouncedCallback as useDebouncedCallback3 } from "use-debounce";
|
|
7781
|
-
import { Fragment as
|
|
7787
|
+
import { Fragment as Fragment9, jsx as jsx32 } from "@emotion/react/jsx-runtime";
|
|
7782
7788
|
function RowImpl(props) {
|
|
7783
7789
|
const {
|
|
7784
7790
|
as,
|
|
@@ -7856,7 +7862,7 @@ function RowImpl(props) {
|
|
|
7856
7862
|
const isExpanded = tableState.isExpandedColumn(maybeExpandedColumn.id);
|
|
7857
7863
|
if (column2.hideOnExpand && isExpanded) {
|
|
7858
7864
|
expandColumnHidden = true;
|
|
7859
|
-
return /* @__PURE__ */ jsx32(
|
|
7865
|
+
return /* @__PURE__ */ jsx32(Fragment9, {});
|
|
7860
7866
|
}
|
|
7861
7867
|
const numExpandedColumns = isExpanded ? tableState.numberOfExpandedChildren(maybeExpandedColumn.id) ? (
|
|
7862
7868
|
// Subtract 1 if the column is hidden on expand, since we're not rendering it.
|
|
@@ -7984,7 +7990,7 @@ function RowImpl(props) {
|
|
|
7984
7990
|
},
|
|
7985
7991
|
children: RowContent()
|
|
7986
7992
|
}
|
|
7987
|
-
) : /* @__PURE__ */ jsx32(
|
|
7993
|
+
) : /* @__PURE__ */ jsx32(Fragment9, { children: RowContent() });
|
|
7988
7994
|
}
|
|
7989
7995
|
var Row = observer(RowImpl);
|
|
7990
7996
|
var BorderHoverParent = "BorderHoverParent";
|
|
@@ -8005,13 +8011,13 @@ function useLabelSuffix(required, readOnly) {
|
|
|
8005
8011
|
|
|
8006
8012
|
// src/inputs/ErrorMessage.tsx
|
|
8007
8013
|
import { VisuallyHidden as VisuallyHidden2 } from "react-aria";
|
|
8008
|
-
import { Fragment as
|
|
8014
|
+
import { Fragment as Fragment10, jsx as jsx33, jsxs as jsxs18 } from "@emotion/react/jsx-runtime";
|
|
8009
8015
|
function ErrorMessage(props) {
|
|
8010
8016
|
const { id, errorMsg, contrast = false, hidden = false, ...others } = props;
|
|
8011
8017
|
const errorEl = errorMsg ? /* @__PURE__ */ jsxs18("div", { css: Css.red600.sm.df.mtPx(4).if(contrast).red400.$, children: [
|
|
8012
8018
|
/* @__PURE__ */ jsx33("span", { css: Css.fs0.$, children: /* @__PURE__ */ jsx33(Icon, { icon: "error" }) }),
|
|
8013
8019
|
/* @__PURE__ */ jsx33("span", { id, css: Css.ml1.mtPx(2).$, ...others, children: errorMsg })
|
|
8014
|
-
] }) : /* @__PURE__ */ jsx33(
|
|
8020
|
+
] }) : /* @__PURE__ */ jsx33(Fragment10, {});
|
|
8015
8021
|
return hidden ? /* @__PURE__ */ jsx33(VisuallyHidden2, { children: errorEl }) : errorEl;
|
|
8016
8022
|
}
|
|
8017
8023
|
|
|
@@ -8021,7 +8027,7 @@ function getFieldWidth(fullWidth) {
|
|
|
8021
8027
|
}
|
|
8022
8028
|
|
|
8023
8029
|
// src/inputs/TextFieldBase.tsx
|
|
8024
|
-
import { Fragment as
|
|
8030
|
+
import { Fragment as Fragment11, jsx as jsx34, jsxs as jsxs19 } from "@emotion/react/jsx-runtime";
|
|
8025
8031
|
function TextFieldBase(props) {
|
|
8026
8032
|
const { fieldProps, wrap = false } = usePresentationContext();
|
|
8027
8033
|
const { labelLeftFieldWidth = "50%" } = fieldProps ?? {};
|
|
@@ -8136,7 +8142,7 @@ function TextFieldBase(props) {
|
|
|
8136
8142
|
}
|
|
8137
8143
|
const showFocus = isFocused && !inputProps.readOnly || forceFocus;
|
|
8138
8144
|
const showHover = isHovered && !inputProps.disabled && !inputProps.readOnly && !isFocused || forceHover;
|
|
8139
|
-
return /* @__PURE__ */ jsxs19(
|
|
8145
|
+
return /* @__PURE__ */ jsxs19(Fragment11, { children: [
|
|
8140
8146
|
/* @__PURE__ */ jsxs19("div", { css: fieldStyles.container, ...groupProps, ...focusWithinProps, children: [
|
|
8141
8147
|
label && labelStyle !== "inline" && /* @__PURE__ */ jsx34(
|
|
8142
8148
|
Label,
|
|
@@ -8245,7 +8251,7 @@ function TextFieldBase(props) {
|
|
|
8245
8251
|
}
|
|
8246
8252
|
)
|
|
8247
8253
|
}),
|
|
8248
|
-
labelStyle !== "left" && (alwaysShowHelperText || !compound && !inputProps.disabled && !inputProps.readOnly) && /* @__PURE__ */ jsxs19(
|
|
8254
|
+
labelStyle !== "left" && (alwaysShowHelperText || !compound && !inputProps.disabled && !inputProps.readOnly) && /* @__PURE__ */ jsxs19(Fragment11, { children: [
|
|
8249
8255
|
errorMsg && !errorInTooltip && /* @__PURE__ */ jsx34(ErrorMessage, { id: errorMessageId, errorMsg, hidden: hideErrorMessage, ...tid.errorMsg }),
|
|
8250
8256
|
helperText && /* @__PURE__ */ jsx34(HelperText, { helperText, ...tid.helperText })
|
|
8251
8257
|
] })
|
|
@@ -8446,7 +8452,7 @@ var sizeToOverlap = {
|
|
|
8446
8452
|
};
|
|
8447
8453
|
|
|
8448
8454
|
// src/components/internal/MenuItem.tsx
|
|
8449
|
-
import { Fragment as
|
|
8455
|
+
import { Fragment as Fragment12, jsx as jsx40, jsxs as jsxs23 } from "@emotion/react/jsx-runtime";
|
|
8450
8456
|
function MenuItemImpl(props) {
|
|
8451
8457
|
const { item, state, onClose, contrast } = props;
|
|
8452
8458
|
const menuItem = item.value;
|
|
@@ -8523,21 +8529,21 @@ function renderMenuItem(menuItem, isSelected, isDisabled, contrast) {
|
|
|
8523
8529
|
}
|
|
8524
8530
|
function ImageMenuItem(item) {
|
|
8525
8531
|
const { src, size = 24, label, isAvatar = false } = item;
|
|
8526
|
-
return /* @__PURE__ */ jsxs23(
|
|
8532
|
+
return /* @__PURE__ */ jsxs23(Fragment12, { children: [
|
|
8527
8533
|
/* @__PURE__ */ jsx40("span", { css: Css.fs0.mr2.$, children: isAvatar ? /* @__PURE__ */ jsx40(Avatar, { src, name: label, size: size === 24 ? "sm" : "lg" }) : /* @__PURE__ */ jsx40("img", { width: size, src, css: Css.br4.$, alt: label }) }),
|
|
8528
8534
|
label
|
|
8529
8535
|
] });
|
|
8530
8536
|
}
|
|
8531
8537
|
function IconMenuItem(item) {
|
|
8532
8538
|
const { icon, label } = item;
|
|
8533
|
-
return /* @__PURE__ */ jsxs23(
|
|
8539
|
+
return /* @__PURE__ */ jsxs23(Fragment12, { children: [
|
|
8534
8540
|
/* @__PURE__ */ jsx40("span", { css: Css.fs0.mr2.$, children: /* @__PURE__ */ jsx40(Icon, { icon }) }),
|
|
8535
8541
|
label
|
|
8536
8542
|
] });
|
|
8537
8543
|
}
|
|
8538
8544
|
function maybeWrapInLink(onClick, content, disabled) {
|
|
8539
8545
|
if (disabled || typeof onClick !== "string") {
|
|
8540
|
-
return /* @__PURE__ */ jsx40(
|
|
8546
|
+
return /* @__PURE__ */ jsx40(Fragment12, { children: content });
|
|
8541
8547
|
}
|
|
8542
8548
|
return isAbsoluteUrl(onClick) ? /* @__PURE__ */ jsxs23("a", { href: onClick, target: "_blank", rel: "noopener noreferrer", className: "navLink", css: Css.df.aic.jcsb.w100.$, children: [
|
|
8543
8549
|
content,
|
|
@@ -8805,7 +8811,7 @@ function defaultOptionLabel(opt) {
|
|
|
8805
8811
|
}
|
|
8806
8812
|
|
|
8807
8813
|
// src/inputs/ChipSelectField.tsx
|
|
8808
|
-
import { Fragment as
|
|
8814
|
+
import { Fragment as Fragment13, jsx as jsx44, jsxs as jsxs25 } from "@emotion/react/jsx-runtime";
|
|
8809
8815
|
function ChipSelectField(props) {
|
|
8810
8816
|
const firstRender = useRef15(true);
|
|
8811
8817
|
const { fieldProps } = usePresentationContext();
|
|
@@ -8942,7 +8948,7 @@ function ChipSelectField(props) {
|
|
|
8942
8948
|
minWidth: 200
|
|
8943
8949
|
};
|
|
8944
8950
|
const [showInput, setShowInput] = useState14(false);
|
|
8945
|
-
return /* @__PURE__ */ jsxs25(
|
|
8951
|
+
return /* @__PURE__ */ jsxs25(Fragment13, { children: [
|
|
8946
8952
|
showInput && onCreateNew && /* @__PURE__ */ jsx44(
|
|
8947
8953
|
CreateNewField,
|
|
8948
8954
|
{
|
|
@@ -9426,14 +9432,14 @@ function VirtualizedOptions(props) {
|
|
|
9426
9432
|
}
|
|
9427
9433
|
|
|
9428
9434
|
// src/inputs/internal/ListBoxSection.tsx
|
|
9429
|
-
import { Fragment as
|
|
9435
|
+
import { Fragment as Fragment14, jsx as jsx50, jsxs as jsxs29 } from "@emotion/react/jsx-runtime";
|
|
9430
9436
|
function ListBoxSection(props) {
|
|
9431
9437
|
const { section, state, contrast, onListHeightChange, popoverHeight, scrollOnFocus, disabledOptionsWithReasons } = props;
|
|
9432
9438
|
const { itemProps, groupProps } = useListBoxSection(section);
|
|
9433
9439
|
const { separatorProps } = useSeparator2({ elementType: "li" });
|
|
9434
9440
|
const isPersistentSection = section.key !== state.collection.getFirstKey();
|
|
9435
9441
|
const childNodes = [...section.childNodes];
|
|
9436
|
-
return /* @__PURE__ */ jsxs29(
|
|
9442
|
+
return /* @__PURE__ */ jsxs29(Fragment14, { children: [
|
|
9437
9443
|
isPersistentSection && /* @__PURE__ */ jsx50("li", { ...separatorProps, css: Css.bt.bcGray200.$ }),
|
|
9438
9444
|
/* @__PURE__ */ jsx50("li", { ...itemProps, css: Css.if(!isPersistentSection).oa.$, children: /* @__PURE__ */ jsx50(
|
|
9439
9445
|
"ul",
|
|
@@ -10094,11 +10100,10 @@ function ComboBoxInput(props) {
|
|
|
10094
10100
|
contrast,
|
|
10095
10101
|
xss: otherProps.labelStyle !== "inline" && !inputProps.readOnly ? Css.fw5.$ : {},
|
|
10096
10102
|
startAdornment: showNumSelection && /* @__PURE__ */ jsx54(Tooltip, { title: /* @__PURE__ */ jsx54(SelectedOptionBullets, { labels: chipLabels }), children: /* @__PURE__ */ jsx54(
|
|
10097
|
-
|
|
10103
|
+
CountBadge,
|
|
10098
10104
|
{
|
|
10099
|
-
|
|
10100
|
-
"data-testid": "selectedOptionsCount"
|
|
10101
|
-
children: isTree ? selectedOptionsLabels?.length : state.selectionManager.selectedKeys.size
|
|
10105
|
+
count: isTree ? selectedOptionsLabels?.length ?? 0 : state.selectionManager.selectedKeys.size,
|
|
10106
|
+
"data-testid": "selectedOptionsCount"
|
|
10102
10107
|
}
|
|
10103
10108
|
) }) || showFieldDecoration && fieldDecoration(selectedOptions[0]),
|
|
10104
10109
|
endAdornment: !inputProps.readOnly && /* @__PURE__ */ jsx54(
|
|
@@ -10525,7 +10530,7 @@ function disabledOptionToKeyedTuple(disabledOption) {
|
|
|
10525
10530
|
}
|
|
10526
10531
|
|
|
10527
10532
|
// src/inputs/Autocomplete.tsx
|
|
10528
|
-
import { Fragment as
|
|
10533
|
+
import { Fragment as Fragment15, jsx as jsx56, jsxs as jsxs33 } from "@emotion/react/jsx-runtime";
|
|
10529
10534
|
function Autocomplete(props) {
|
|
10530
10535
|
const {
|
|
10531
10536
|
onSelect,
|
|
@@ -10588,7 +10593,7 @@ function Autocomplete(props) {
|
|
|
10588
10593
|
// Ensures the menu never gets too small.
|
|
10589
10594
|
minWidth: 200
|
|
10590
10595
|
};
|
|
10591
|
-
return /* @__PURE__ */ jsxs33(
|
|
10596
|
+
return /* @__PURE__ */ jsxs33(Fragment15, { children: [
|
|
10592
10597
|
/* @__PURE__ */ jsx56(
|
|
10593
10598
|
TextFieldBase,
|
|
10594
10599
|
{
|
|
@@ -10821,7 +10826,7 @@ function isValidDate(d) {
|
|
|
10821
10826
|
}
|
|
10822
10827
|
|
|
10823
10828
|
// src/inputs/DateFields/DateFieldBase.tsx
|
|
10824
|
-
import { Fragment as
|
|
10829
|
+
import { Fragment as Fragment16, jsx as jsx60, jsxs as jsxs35 } from "@emotion/react/jsx-runtime";
|
|
10825
10830
|
function DateFieldBase(props) {
|
|
10826
10831
|
const {
|
|
10827
10832
|
label,
|
|
@@ -10957,7 +10962,7 @@ function DateFieldBase(props) {
|
|
|
10957
10962
|
[isRangeMode, props.onChange]
|
|
10958
10963
|
);
|
|
10959
10964
|
const inputSize = !isRangeMode ? format4 === "short" ? 8 : format4 === "medium" ? 10 : void 0 : void 0;
|
|
10960
|
-
const clearButton = /* @__PURE__ */ jsx60(
|
|
10965
|
+
const clearButton = /* @__PURE__ */ jsx60(Fragment16, { children: inputValue !== "" && !state.isOpen && /* @__PURE__ */ jsx60(
|
|
10961
10966
|
IconButton,
|
|
10962
10967
|
{
|
|
10963
10968
|
icon: "xCircle",
|
|
@@ -10979,11 +10984,11 @@ function DateFieldBase(props) {
|
|
|
10979
10984
|
children: /* @__PURE__ */ jsx60(Icon, { icon: "calendar", color: isDisabled ? "rgba(201, 201, 201, 1)" /* Gray400 */ : "rgba(100, 100, 100, 1)" /* Gray700 */ })
|
|
10980
10985
|
}
|
|
10981
10986
|
);
|
|
10982
|
-
const EndFieldButtons = /* @__PURE__ */ jsxs35(
|
|
10987
|
+
const EndFieldButtons = /* @__PURE__ */ jsxs35(Fragment16, { children: [
|
|
10983
10988
|
isRangeFilterField && clearButton,
|
|
10984
10989
|
!hideCalendarIcon && calendarButton
|
|
10985
10990
|
] });
|
|
10986
|
-
return /* @__PURE__ */ jsxs35(
|
|
10991
|
+
return /* @__PURE__ */ jsxs35(Fragment16, { children: [
|
|
10987
10992
|
/* @__PURE__ */ jsx60(
|
|
10988
10993
|
TextFieldBase,
|
|
10989
10994
|
{
|
|
@@ -11353,7 +11358,7 @@ function formatValue(value, factor, numFractionDigits, numIntegerDigits, positiv
|
|
|
11353
11358
|
}
|
|
11354
11359
|
|
|
11355
11360
|
// src/inputs/RadioGroupField.tsx
|
|
11356
|
-
import { Fragment as
|
|
11361
|
+
import { Fragment as Fragment17, useMemo as useMemo18, useRef as useRef28 } from "react";
|
|
11357
11362
|
import { useFocusRing as useFocusRing6, useHover as useHover12, useRadio, useRadioGroup } from "react-aria";
|
|
11358
11363
|
import { useRadioGroupState } from "react-stately";
|
|
11359
11364
|
import { jsx as jsx68, jsxs as jsxs38 } from "@emotion/react/jsx-runtime";
|
|
@@ -11377,7 +11382,7 @@ function RadioGroupField(props) {
|
|
|
11377
11382
|
/* @__PURE__ */ jsxs38("div", { ...radioGroupProps, children: [
|
|
11378
11383
|
options.map((option) => {
|
|
11379
11384
|
const isDisabled = state.isDisabled || !!option.disabled;
|
|
11380
|
-
return /* @__PURE__ */ jsx68(
|
|
11385
|
+
return /* @__PURE__ */ jsx68(Fragment17, { children: maybeTooltip({
|
|
11381
11386
|
title: resolveTooltip(option.disabled),
|
|
11382
11387
|
placement: "bottom",
|
|
11383
11388
|
children: /* @__PURE__ */ jsx68(
|
|
@@ -12112,13 +12117,13 @@ function SelectToggle({ id, disabled }) {
|
|
|
12112
12117
|
// src/components/Table/utils/columns.tsx
|
|
12113
12118
|
import { jsx as jsx78 } from "@emotion/react/jsx-runtime";
|
|
12114
12119
|
function column(columnDef) {
|
|
12115
|
-
return { ...columnDef };
|
|
12120
|
+
return { canHide: true, initVisible: true, ...columnDef };
|
|
12116
12121
|
}
|
|
12117
12122
|
function dateColumn(columnDef) {
|
|
12118
|
-
return { ...columnDef, align: "left" };
|
|
12123
|
+
return { canHide: true, initVisible: true, ...columnDef, align: "left" };
|
|
12119
12124
|
}
|
|
12120
12125
|
function numericColumn(columnDef) {
|
|
12121
|
-
return { ...columnDef, align: "right" };
|
|
12126
|
+
return { canHide: true, initVisible: true, ...columnDef, align: "right" };
|
|
12122
12127
|
}
|
|
12123
12128
|
function actionColumn(columnDef) {
|
|
12124
12129
|
return { clientSideSort: false, ...columnDef, align: "center", isAction: true, wrapAction: false };
|
|
@@ -13603,14 +13608,14 @@ var accordionSizes = {
|
|
|
13603
13608
|
|
|
13604
13609
|
// src/components/AccordionList.tsx
|
|
13605
13610
|
import { useState as useState27 } from "react";
|
|
13606
|
-
import { Fragment as
|
|
13611
|
+
import { Fragment as Fragment18, jsx as jsx83 } from "@emotion/react/jsx-runtime";
|
|
13607
13612
|
function AccordionList(props) {
|
|
13608
13613
|
const { accordions, size, allowMultipleExpanded = true, compact = false } = props;
|
|
13609
13614
|
const [expandedIndex, setExpandedIndex] = useState27(
|
|
13610
13615
|
accordions.findIndex((a) => a.defaultExpanded)
|
|
13611
13616
|
);
|
|
13612
13617
|
const tid = useTestIds(props, "accordionList");
|
|
13613
|
-
return /* @__PURE__ */ jsx83(
|
|
13618
|
+
return /* @__PURE__ */ jsx83(Fragment18, { children: accordions.map((accordionProps, index, arr) => /* @__PURE__ */ jsx83(
|
|
13614
13619
|
Accordion,
|
|
13615
13620
|
{
|
|
13616
13621
|
...accordionProps,
|
|
@@ -13701,7 +13706,7 @@ var variantStyles2 = {
|
|
|
13701
13706
|
};
|
|
13702
13707
|
|
|
13703
13708
|
// src/components/BeamContext.tsx
|
|
13704
|
-
import { createContext as createContext6, useContext as useContext15, useMemo as
|
|
13709
|
+
import { createContext as createContext6, useContext as useContext15, useMemo as useMemo36, useReducer, useRef as useRef43 } from "react";
|
|
13705
13710
|
import { OverlayProvider } from "react-aria";
|
|
13706
13711
|
|
|
13707
13712
|
// src/components/Modal/Modal.tsx
|
|
@@ -13771,7 +13776,7 @@ function useModal() {
|
|
|
13771
13776
|
}
|
|
13772
13777
|
|
|
13773
13778
|
// src/components/Modal/Modal.tsx
|
|
13774
|
-
import { Fragment as
|
|
13779
|
+
import { Fragment as Fragment19, jsx as jsx87, jsxs as jsxs48 } from "@emotion/react/jsx-runtime";
|
|
13775
13780
|
function Modal(props) {
|
|
13776
13781
|
const { size = "md", content, forceScrolling, api, drawHeaderBorder = false, allowClosing = true } = props;
|
|
13777
13782
|
const isFixedHeight = typeof size !== "string";
|
|
@@ -13849,7 +13854,7 @@ function Modal(props) {
|
|
|
13849
13854
|
}
|
|
13850
13855
|
function ModalHeader({ children }) {
|
|
13851
13856
|
const { modalHeaderDiv } = useBeamContext();
|
|
13852
|
-
return createPortal2(/* @__PURE__ */ jsx87(
|
|
13857
|
+
return createPortal2(/* @__PURE__ */ jsx87(Fragment19, { children }), modalHeaderDiv);
|
|
13853
13858
|
}
|
|
13854
13859
|
function ModalBody({
|
|
13855
13860
|
children,
|
|
@@ -13975,7 +13980,7 @@ var SuperDrawerWidth = /* @__PURE__ */ ((SuperDrawerWidth2) => {
|
|
|
13975
13980
|
})(SuperDrawerWidth || {});
|
|
13976
13981
|
|
|
13977
13982
|
// src/components/SuperDrawer/SuperDrawer.tsx
|
|
13978
|
-
import { Fragment as
|
|
13983
|
+
import { Fragment as Fragment20, jsx as jsx91, jsxs as jsxs51 } from "@emotion/react/jsx-runtime";
|
|
13979
13984
|
import { createElement as createElement2 } from "@emotion/react";
|
|
13980
13985
|
function SuperDrawer() {
|
|
13981
13986
|
const { drawerContentStack: contentStack, sdHeaderDiv } = useBeamContext();
|
|
@@ -13997,7 +14002,7 @@ function SuperDrawer() {
|
|
|
13997
14002
|
[headerRef, content]
|
|
13998
14003
|
);
|
|
13999
14004
|
return createPortal3(
|
|
14000
|
-
/* @__PURE__ */ jsx91(AnimatePresence, { children: content && /* @__PURE__ */ jsxs51(
|
|
14005
|
+
/* @__PURE__ */ jsx91(AnimatePresence, { children: content && /* @__PURE__ */ jsxs51(Fragment20, { children: [
|
|
14001
14006
|
/* @__PURE__ */ jsx91(Global3, { styles: { body: Css.oh.$ } }),
|
|
14002
14007
|
/* @__PURE__ */ createElement2(
|
|
14003
14008
|
motion.div,
|
|
@@ -14382,7 +14387,7 @@ function BoundIconCardGroupField(props) {
|
|
|
14382
14387
|
|
|
14383
14388
|
// src/forms/BoundListField.tsx
|
|
14384
14389
|
import { Observer as Observer8 } from "mobx-react";
|
|
14385
|
-
import { Fragment as
|
|
14390
|
+
import { Fragment as Fragment21, jsx as jsx100, jsxs as jsxs53 } from "@emotion/react/jsx-runtime";
|
|
14386
14391
|
function ListField({ row, formState }) {
|
|
14387
14392
|
const listFieldEntry = Object.entries(row).find(([key, _]) => isListFieldKey(key));
|
|
14388
14393
|
const [prefixedFormKey, fieldConfig] = listFieldEntry;
|
|
@@ -14432,7 +14437,7 @@ function ListFieldRowInputs({
|
|
|
14432
14437
|
}) {
|
|
14433
14438
|
const { onDelete } = listFieldConfig;
|
|
14434
14439
|
const tid = useTestIds({}, "listFieldRow");
|
|
14435
|
-
return /* @__PURE__ */ jsxs53(
|
|
14440
|
+
return /* @__PURE__ */ jsxs53(Fragment21, { children: [
|
|
14436
14441
|
/* @__PURE__ */ jsxs53("div", { css: Css.df.jcsb.$, ...tid, children: [
|
|
14437
14442
|
/* @__PURE__ */ jsxs53("span", { css: Css.mdSb.$, ...tid.name, children: [
|
|
14438
14443
|
listFieldConfig.name,
|
|
@@ -15249,12 +15254,12 @@ import { useDebouncedCallback as useDebouncedCallback4 } from "use-debounce";
|
|
|
15249
15254
|
// src/components/RightSidebar.tsx
|
|
15250
15255
|
import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
|
|
15251
15256
|
import { useState as useState31 } from "react";
|
|
15252
|
-
import { Fragment as
|
|
15257
|
+
import { Fragment as Fragment22, jsx as jsx119, jsxs as jsxs57 } from "@emotion/react/jsx-runtime";
|
|
15253
15258
|
var RIGHT_SIDEBAR_MIN_WIDTH = "250px";
|
|
15254
15259
|
function RightSidebar({ content, headerHeightPx: headerHeightPx2 }) {
|
|
15255
15260
|
const [selectedIcon, setSelectedIcon] = useState31(void 0);
|
|
15256
15261
|
const tid = useTestIds({}, "rightSidebar");
|
|
15257
|
-
return /* @__PURE__ */ jsxs57(
|
|
15262
|
+
return /* @__PURE__ */ jsxs57(Fragment22, { children: [
|
|
15258
15263
|
/* @__PURE__ */ jsx119("div", { css: Css.df.jcfe.absolute.right0.pr3.$, children: /* @__PURE__ */ jsx119(AnimatePresence2, { children: !selectedIcon && /* @__PURE__ */ jsx119(
|
|
15259
15264
|
motion2.div,
|
|
15260
15265
|
{
|
|
@@ -15274,7 +15279,7 @@ function RightSidebar({ content, headerHeightPx: headerHeightPx2 }) {
|
|
|
15274
15279
|
transition: { delay: 0.2, ease: [0.51, 0.92, 0.24, 1], duration: 0.3 },
|
|
15275
15280
|
exit: { transition: { ease: "linear", duration: 0.2 }, x: "100%" },
|
|
15276
15281
|
css: Css.w100.mw(RIGHT_SIDEBAR_MIN_WIDTH).z0.maxh(`calc(100vh - ${headerHeightPx2}px)`).oya.pl4.pr3.$,
|
|
15277
|
-
children: /* @__PURE__ */ jsxs57(
|
|
15282
|
+
children: /* @__PURE__ */ jsxs57(Fragment22, { children: [
|
|
15278
15283
|
/* @__PURE__ */ jsxs57("div", { css: Css.sticky.top0.bgWhite.$, children: [
|
|
15279
15284
|
/* @__PURE__ */ jsxs57("div", { css: Css.absolute.leftPx(-24).top0.df.fdc.aic.$, children: [
|
|
15280
15285
|
/* @__PURE__ */ jsx119(
|
|
@@ -15299,7 +15304,7 @@ function RightSidebar({ content, headerHeightPx: headerHeightPx2 }) {
|
|
|
15299
15304
|
] });
|
|
15300
15305
|
}
|
|
15301
15306
|
function IconButtonList({ content, selectedIcon, onIconClick }) {
|
|
15302
|
-
return /* @__PURE__ */ jsx119(
|
|
15307
|
+
return /* @__PURE__ */ jsx119(Fragment22, { children: content.map(({ icon }) => /* @__PURE__ */ jsx119(
|
|
15303
15308
|
IconButton,
|
|
15304
15309
|
{
|
|
15305
15310
|
circle: true,
|
|
@@ -15334,21 +15339,21 @@ function useToastContext() {
|
|
|
15334
15339
|
}
|
|
15335
15340
|
|
|
15336
15341
|
// src/components/Toast/Toast.tsx
|
|
15337
|
-
import { Fragment as
|
|
15342
|
+
import { Fragment as Fragment23, jsx as jsx121 } from "@emotion/react/jsx-runtime";
|
|
15338
15343
|
function Toast() {
|
|
15339
15344
|
const { setNotice, notice } = useToastContext();
|
|
15340
15345
|
const tid = useTestIds({}, "toast");
|
|
15341
|
-
return /* @__PURE__ */ jsx121(
|
|
15346
|
+
return /* @__PURE__ */ jsx121(Fragment23, { children: notice && /* @__PURE__ */ jsx121(Banner, { ...notice, ...tid, onClose: () => setNotice(void 0) }) });
|
|
15342
15347
|
}
|
|
15343
15348
|
|
|
15344
15349
|
// src/components/Layout/PageHeaderBreadcrumbs.tsx
|
|
15345
|
-
import { Fragment as
|
|
15350
|
+
import { Fragment as Fragment24 } from "react";
|
|
15346
15351
|
import { Link as Link4 } from "react-router-dom";
|
|
15347
15352
|
import { jsx as jsx122, jsxs as jsxs58 } from "@emotion/react/jsx-runtime";
|
|
15348
15353
|
function PageHeaderBreadcrumbs({ breadcrumb }) {
|
|
15349
15354
|
const tids = useTestIds({}, "pageHeaderBreadcrumbs");
|
|
15350
15355
|
const breadcrumbs = Array.isArray(breadcrumb) ? breadcrumb : [breadcrumb];
|
|
15351
|
-
return /* @__PURE__ */ jsx122("div", { css: Css.df.aic.mbPx(4).$, ...tids, children: breadcrumbs.map((breadcrumb2, i) => /* @__PURE__ */ jsxs58(
|
|
15356
|
+
return /* @__PURE__ */ jsx122("div", { css: Css.df.aic.mbPx(4).$, ...tids, children: breadcrumbs.map((breadcrumb2, i) => /* @__PURE__ */ jsxs58(Fragment24, { children: [
|
|
15352
15357
|
i > 0 && /* @__PURE__ */ jsx122("span", { css: Css.smSb.gray700.mr1.ml1.$, children: "/" }),
|
|
15353
15358
|
/* @__PURE__ */ jsx122(Link4, { to: breadcrumb2.href, css: Css.smSb.gray700.onHover.gray900.$, className: "navLink", ...tids.navLink, children: breadcrumb2.label })
|
|
15354
15359
|
] }, `bc-${breadcrumb2.label}`)) });
|
|
@@ -15614,11 +15619,32 @@ function FullBleed({ children, omitPadding = false }) {
|
|
|
15614
15619
|
}
|
|
15615
15620
|
|
|
15616
15621
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
15617
|
-
import React15, { useEffect as useEffect25, useState as useState36 } from "react";
|
|
15622
|
+
import React15, { useEffect as useEffect25, useMemo as useMemo34, useState as useState36 } from "react";
|
|
15618
15623
|
|
|
15619
15624
|
// src/components/Filters/Filters.tsx
|
|
15620
15625
|
import { memo, useMemo as useMemo32 } from "react";
|
|
15621
15626
|
|
|
15627
|
+
// src/components/CountBadge.tsx
|
|
15628
|
+
import { jsx as jsx125 } from "@emotion/react/jsx-runtime";
|
|
15629
|
+
function CountBadge(props) {
|
|
15630
|
+
const { count, bgColor = "rgba(29, 78, 216, 1)" /* Blue700 */, color = "rgba(255,255,255,1)" /* White */, hideIfZero = false, ...otherProps } = props;
|
|
15631
|
+
const tid = useTestIds(otherProps, "countBadge");
|
|
15632
|
+
if (hideIfZero && count === 0) return null;
|
|
15633
|
+
return /* @__PURE__ */ jsx125(
|
|
15634
|
+
"span",
|
|
15635
|
+
{
|
|
15636
|
+
...tid,
|
|
15637
|
+
css: {
|
|
15638
|
+
...Css.sqPx(count > 100 ? 18 : 16).$,
|
|
15639
|
+
// Use larger size for counts > 100
|
|
15640
|
+
...Css.fs0.br100.xs2Sb.df.aic.jcc.bgColor(bgColor).$,
|
|
15641
|
+
...Css.color(color).$
|
|
15642
|
+
},
|
|
15643
|
+
children: count
|
|
15644
|
+
}
|
|
15645
|
+
);
|
|
15646
|
+
}
|
|
15647
|
+
|
|
15622
15648
|
// src/components/Filters/BaseFilter.ts
|
|
15623
15649
|
var BaseFilter = class {
|
|
15624
15650
|
constructor(key, props) {
|
|
@@ -15637,7 +15663,7 @@ var BaseFilter = class {
|
|
|
15637
15663
|
};
|
|
15638
15664
|
|
|
15639
15665
|
// src/components/Filters/DateFilter.tsx
|
|
15640
|
-
import { Fragment as
|
|
15666
|
+
import { Fragment as Fragment25, jsx as jsx126, jsxs as jsxs61 } from "@emotion/react/jsx-runtime";
|
|
15641
15667
|
function dateFilter(props) {
|
|
15642
15668
|
return (key) => new DateFilter(key, props);
|
|
15643
15669
|
}
|
|
@@ -15645,10 +15671,10 @@ var anyOption = {};
|
|
|
15645
15671
|
var DateFilter = class extends BaseFilter {
|
|
15646
15672
|
render(value, setValue, tid, inModal, vertical) {
|
|
15647
15673
|
const { label, operations, getOperationValue, getOperationLabel } = this.props;
|
|
15648
|
-
return /* @__PURE__ */ jsxs61(
|
|
15649
|
-
vertical && /* @__PURE__ */
|
|
15674
|
+
return /* @__PURE__ */ jsxs61(Fragment25, { children: [
|
|
15675
|
+
vertical && /* @__PURE__ */ jsx126(Label, { label }),
|
|
15650
15676
|
/* @__PURE__ */ jsxs61(CompoundField, { children: [
|
|
15651
|
-
/* @__PURE__ */
|
|
15677
|
+
/* @__PURE__ */ jsx126(
|
|
15652
15678
|
SelectField,
|
|
15653
15679
|
{
|
|
15654
15680
|
compact: true,
|
|
@@ -15671,7 +15697,7 @@ var DateFilter = class extends BaseFilter {
|
|
|
15671
15697
|
...tid[`${defaultTestId(this.label)}_dateOperation`]
|
|
15672
15698
|
}
|
|
15673
15699
|
),
|
|
15674
|
-
/* @__PURE__ */
|
|
15700
|
+
/* @__PURE__ */ jsx126(
|
|
15675
15701
|
DateField,
|
|
15676
15702
|
{
|
|
15677
15703
|
compact: true,
|
|
@@ -15689,16 +15715,16 @@ var DateFilter = class extends BaseFilter {
|
|
|
15689
15715
|
};
|
|
15690
15716
|
|
|
15691
15717
|
// src/components/Filters/DateRangeFilter.tsx
|
|
15692
|
-
import { Fragment as
|
|
15718
|
+
import { Fragment as Fragment26, jsx as jsx127, jsxs as jsxs62 } from "@emotion/react/jsx-runtime";
|
|
15693
15719
|
function dateRangeFilter(props) {
|
|
15694
15720
|
return (key) => new DateRangeFilter(key, props);
|
|
15695
15721
|
}
|
|
15696
15722
|
var DateRangeFilter = class extends BaseFilter {
|
|
15697
15723
|
render(value, setValue, tid, inModal, vertical) {
|
|
15698
15724
|
const { label, placeholderText, disabledDays, testFieldLabel, defaultValue } = this.props;
|
|
15699
|
-
return /* @__PURE__ */ jsxs62(
|
|
15700
|
-
vertical && /* @__PURE__ */
|
|
15701
|
-
/* @__PURE__ */
|
|
15725
|
+
return /* @__PURE__ */ jsxs62(Fragment26, { children: [
|
|
15726
|
+
vertical && /* @__PURE__ */ jsx127(Label, { label }),
|
|
15727
|
+
/* @__PURE__ */ jsx127(
|
|
15702
15728
|
DateRangeField,
|
|
15703
15729
|
{
|
|
15704
15730
|
compact: true,
|
|
@@ -15717,7 +15743,7 @@ var DateRangeFilter = class extends BaseFilter {
|
|
|
15717
15743
|
};
|
|
15718
15744
|
|
|
15719
15745
|
// src/components/Filters/MultiFilter.tsx
|
|
15720
|
-
import { jsx as
|
|
15746
|
+
import { jsx as jsx128 } from "@emotion/react/jsx-runtime";
|
|
15721
15747
|
function multiFilter(props) {
|
|
15722
15748
|
return (key) => new MultiFilter(key, props);
|
|
15723
15749
|
}
|
|
@@ -15727,7 +15753,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
15727
15753
|
const { disabledOptions } = this.props;
|
|
15728
15754
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
15729
15755
|
const disabledKeys = Object.keys(disabledOptionsWithReasons);
|
|
15730
|
-
return /* @__PURE__ */
|
|
15756
|
+
return /* @__PURE__ */ jsx128(
|
|
15731
15757
|
ToggleChipGroup,
|
|
15732
15758
|
{
|
|
15733
15759
|
label: this.label,
|
|
@@ -15751,7 +15777,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
15751
15777
|
);
|
|
15752
15778
|
}
|
|
15753
15779
|
const { defaultValue, nothingSelectedText, ...props } = this.props;
|
|
15754
|
-
return /* @__PURE__ */
|
|
15780
|
+
return /* @__PURE__ */ jsx128(
|
|
15755
15781
|
MultiSelectField,
|
|
15756
15782
|
{
|
|
15757
15783
|
...props,
|
|
@@ -15771,7 +15797,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
15771
15797
|
};
|
|
15772
15798
|
|
|
15773
15799
|
// src/components/Filters/NumberRangeFilter.tsx
|
|
15774
|
-
import { Fragment as
|
|
15800
|
+
import { Fragment as Fragment27, jsx as jsx129, jsxs as jsxs63 } from "@emotion/react/jsx-runtime";
|
|
15775
15801
|
function numberRangeFilter(props) {
|
|
15776
15802
|
return (key) => new NumberRangeFilter(key, props);
|
|
15777
15803
|
}
|
|
@@ -15780,10 +15806,10 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
15780
15806
|
const { label, numberFieldType, numberFormatOptions } = this.props;
|
|
15781
15807
|
const min = value?.min ?? void 0;
|
|
15782
15808
|
const max = value?.max ?? void 0;
|
|
15783
|
-
return /* @__PURE__ */ jsxs63(
|
|
15809
|
+
return /* @__PURE__ */ jsxs63(Fragment27, { children: [
|
|
15784
15810
|
vertical && /* @__PURE__ */ jsxs63("div", { ...tid, children: [
|
|
15785
|
-
/* @__PURE__ */
|
|
15786
|
-
/* @__PURE__ */
|
|
15811
|
+
/* @__PURE__ */ jsx129(Label, { label }),
|
|
15812
|
+
/* @__PURE__ */ jsx129("div", { css: Css.pb1.$, children: /* @__PURE__ */ jsx129(
|
|
15787
15813
|
NumberField,
|
|
15788
15814
|
{
|
|
15789
15815
|
labelStyle: "inline",
|
|
@@ -15799,7 +15825,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
15799
15825
|
...tid[`${defaultTestId(label)}_min_vertical`]
|
|
15800
15826
|
}
|
|
15801
15827
|
) }),
|
|
15802
|
-
/* @__PURE__ */
|
|
15828
|
+
/* @__PURE__ */ jsx129(
|
|
15803
15829
|
NumberField,
|
|
15804
15830
|
{
|
|
15805
15831
|
labelStyle: "inline",
|
|
@@ -15817,7 +15843,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
15817
15843
|
)
|
|
15818
15844
|
] }),
|
|
15819
15845
|
!vertical && /* @__PURE__ */ jsxs63(CompoundField, { ...tid, children: [
|
|
15820
|
-
/* @__PURE__ */
|
|
15846
|
+
/* @__PURE__ */ jsx129(
|
|
15821
15847
|
NumberField,
|
|
15822
15848
|
{
|
|
15823
15849
|
compact: true,
|
|
@@ -15835,7 +15861,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
15835
15861
|
...tid[`${defaultTestId(label)}_min`]
|
|
15836
15862
|
}
|
|
15837
15863
|
),
|
|
15838
|
-
/* @__PURE__ */
|
|
15864
|
+
/* @__PURE__ */ jsx129(
|
|
15839
15865
|
NumberField,
|
|
15840
15866
|
{
|
|
15841
15867
|
compact: true,
|
|
@@ -15859,7 +15885,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
15859
15885
|
};
|
|
15860
15886
|
|
|
15861
15887
|
// src/components/Filters/SingleFilter.tsx
|
|
15862
|
-
import { jsx as
|
|
15888
|
+
import { jsx as jsx130 } from "@emotion/react/jsx-runtime";
|
|
15863
15889
|
function singleFilter(props) {
|
|
15864
15890
|
return (key) => new SingleFilter(key, props);
|
|
15865
15891
|
}
|
|
@@ -15876,7 +15902,7 @@ var SingleFilter = class extends BaseFilter {
|
|
|
15876
15902
|
...props
|
|
15877
15903
|
} = this.props;
|
|
15878
15904
|
const options = Array.isArray(maybeOptions) ? [allOption, ...maybeOptions] : { ...maybeOptions, current: maybeOptions.current };
|
|
15879
|
-
return /* @__PURE__ */
|
|
15905
|
+
return /* @__PURE__ */ jsx130(
|
|
15880
15906
|
SelectField,
|
|
15881
15907
|
{
|
|
15882
15908
|
...props,
|
|
@@ -15897,14 +15923,14 @@ var SingleFilter = class extends BaseFilter {
|
|
|
15897
15923
|
};
|
|
15898
15924
|
|
|
15899
15925
|
// src/components/Filters/TreeFilter.tsx
|
|
15900
|
-
import { jsx as
|
|
15926
|
+
import { jsx as jsx131 } from "@emotion/react/jsx-runtime";
|
|
15901
15927
|
function treeFilter(props) {
|
|
15902
15928
|
return (key) => new TreeFilter(key, props);
|
|
15903
15929
|
}
|
|
15904
15930
|
var TreeFilter = class extends BaseFilter {
|
|
15905
15931
|
render(value, setValue, tid, inModal, vertical) {
|
|
15906
15932
|
const { defaultValue, nothingSelectedText, filterBy = "root", ...props } = this.props;
|
|
15907
|
-
return /* @__PURE__ */
|
|
15933
|
+
return /* @__PURE__ */ jsx131(
|
|
15908
15934
|
TreeSelectField,
|
|
15909
15935
|
{
|
|
15910
15936
|
...props,
|
|
@@ -15925,14 +15951,14 @@ var TreeFilter = class extends BaseFilter {
|
|
|
15925
15951
|
};
|
|
15926
15952
|
|
|
15927
15953
|
// src/components/Filters/BooleanFilter.tsx
|
|
15928
|
-
import { jsx as
|
|
15954
|
+
import { jsx as jsx132 } from "@emotion/react/jsx-runtime";
|
|
15929
15955
|
function booleanFilter(props) {
|
|
15930
15956
|
return (key) => new BooleanFilter(key, props);
|
|
15931
15957
|
}
|
|
15932
15958
|
var BooleanFilter = class extends BaseFilter {
|
|
15933
15959
|
render(value, setValue, tid, inModal, vertical) {
|
|
15934
15960
|
const { options = defaultBooleanOptions, label, defaultValue, ...props } = this.props;
|
|
15935
|
-
return /* @__PURE__ */
|
|
15961
|
+
return /* @__PURE__ */ jsx132(
|
|
15936
15962
|
SelectField,
|
|
15937
15963
|
{
|
|
15938
15964
|
...props,
|
|
@@ -15960,7 +15986,7 @@ var defaultBooleanOptions = [
|
|
|
15960
15986
|
];
|
|
15961
15987
|
|
|
15962
15988
|
// src/components/Filters/CheckboxFilter.tsx
|
|
15963
|
-
import { jsx as
|
|
15989
|
+
import { jsx as jsx133 } from "@emotion/react/jsx-runtime";
|
|
15964
15990
|
function checkboxFilter(props) {
|
|
15965
15991
|
return (key) => new CheckboxFilter(key, {
|
|
15966
15992
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -15971,7 +15997,7 @@ function checkboxFilter(props) {
|
|
|
15971
15997
|
var CheckboxFilter = class extends BaseFilter {
|
|
15972
15998
|
render(value, setValue, tid, inModal, vertical) {
|
|
15973
15999
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
15974
|
-
return /* @__PURE__ */
|
|
16000
|
+
return /* @__PURE__ */ jsx133(
|
|
15975
16001
|
Checkbox,
|
|
15976
16002
|
{
|
|
15977
16003
|
...props,
|
|
@@ -15994,7 +16020,7 @@ import { useState as useState35 } from "react";
|
|
|
15994
16020
|
|
|
15995
16021
|
// src/components/Modal/OpenModal.tsx
|
|
15996
16022
|
import { useEffect as useEffect23 } from "react";
|
|
15997
|
-
import { jsx as
|
|
16023
|
+
import { jsx as jsx134 } from "@emotion/react/jsx-runtime";
|
|
15998
16024
|
function OpenModal(props) {
|
|
15999
16025
|
const { openModal } = useModal();
|
|
16000
16026
|
const { size, children, keepOpen } = props;
|
|
@@ -16004,22 +16030,22 @@ function OpenModal(props) {
|
|
|
16004
16030
|
}
|
|
16005
16031
|
}, [keepOpen, openModal, size, children]);
|
|
16006
16032
|
if (keepOpen) {
|
|
16007
|
-
return /* @__PURE__ */
|
|
16033
|
+
return /* @__PURE__ */ jsx134(Modal, { size, content: children });
|
|
16008
16034
|
} else {
|
|
16009
|
-
return /* @__PURE__ */
|
|
16035
|
+
return /* @__PURE__ */ jsx134("div", { children: "dummy content" });
|
|
16010
16036
|
}
|
|
16011
16037
|
}
|
|
16012
16038
|
|
|
16013
16039
|
// src/components/Filters/FilterModal.tsx
|
|
16014
|
-
import { Fragment as
|
|
16040
|
+
import { Fragment as Fragment28, jsx as jsx135, jsxs as jsxs64 } from "@emotion/react/jsx-runtime";
|
|
16015
16041
|
function FilterModal(props) {
|
|
16016
16042
|
const { filter, filters, onApply } = props;
|
|
16017
16043
|
const testId = useTestIds(props, filterTestIdPrefix);
|
|
16018
16044
|
const { closeModal } = useModal();
|
|
16019
16045
|
const [modalFilter, setModalFilter] = useState35(filter);
|
|
16020
|
-
return /* @__PURE__ */ jsxs64(
|
|
16021
|
-
/* @__PURE__ */
|
|
16022
|
-
/* @__PURE__ */
|
|
16046
|
+
return /* @__PURE__ */ jsxs64(Fragment28, { children: [
|
|
16047
|
+
/* @__PURE__ */ jsx135(ModalHeader, { children: "More Filters" }),
|
|
16048
|
+
/* @__PURE__ */ jsx135(ModalBody, { children: /* @__PURE__ */ jsx135("div", { css: Css.df.fdc.$, children: safeEntries(filters).map(([key, f]) => /* @__PURE__ */ jsx135(ModalFilterItem, { label: f.hideLabelInModal ? void 0 : f.label, children: f.render(
|
|
16023
16049
|
modalFilter[key],
|
|
16024
16050
|
(value) => setModalFilter(updateFilter(modalFilter, key, value)),
|
|
16025
16051
|
testId,
|
|
@@ -16027,7 +16053,7 @@ function FilterModal(props) {
|
|
|
16027
16053
|
false
|
|
16028
16054
|
) }, key)) }) }),
|
|
16029
16055
|
/* @__PURE__ */ jsxs64(ModalFooter, { xss: Css.jcsb.$, children: [
|
|
16030
|
-
/* @__PURE__ */
|
|
16056
|
+
/* @__PURE__ */ jsx135(
|
|
16031
16057
|
Button,
|
|
16032
16058
|
{
|
|
16033
16059
|
label: "Clear",
|
|
@@ -16041,8 +16067,8 @@ function FilterModal(props) {
|
|
|
16041
16067
|
}
|
|
16042
16068
|
),
|
|
16043
16069
|
/* @__PURE__ */ jsxs64("div", { css: Css.df.gap1.$, children: [
|
|
16044
|
-
/* @__PURE__ */
|
|
16045
|
-
/* @__PURE__ */
|
|
16070
|
+
/* @__PURE__ */ jsx135(Button, { label: "Cancel", variant: "quaternary", onClick: closeModal, ...testId.modalClose }),
|
|
16071
|
+
/* @__PURE__ */ jsx135(
|
|
16046
16072
|
Button,
|
|
16047
16073
|
{
|
|
16048
16074
|
label: "Apply",
|
|
@@ -16059,13 +16085,13 @@ function FilterModal(props) {
|
|
|
16059
16085
|
}
|
|
16060
16086
|
function ModalFilterItem({ label, children }) {
|
|
16061
16087
|
return /* @__PURE__ */ jsxs64("div", { css: Css.mb4.if(!label).bt.bcGray200.$, children: [
|
|
16062
|
-
label && /* @__PURE__ */
|
|
16063
|
-
/* @__PURE__ */
|
|
16088
|
+
label && /* @__PURE__ */ jsx135("h2", { css: Css.md.mb2.$, children: label }),
|
|
16089
|
+
/* @__PURE__ */ jsx135("div", { css: Css.if(!label).pt3.$, children })
|
|
16064
16090
|
] });
|
|
16065
16091
|
}
|
|
16066
16092
|
|
|
16067
16093
|
// src/components/Filters/ToggleFilter.tsx
|
|
16068
|
-
import { jsx as
|
|
16094
|
+
import { jsx as jsx136 } from "@emotion/react/jsx-runtime";
|
|
16069
16095
|
function toggleFilter(props) {
|
|
16070
16096
|
return (key) => new ToggleFilter(key, {
|
|
16071
16097
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -16076,7 +16102,7 @@ function toggleFilter(props) {
|
|
|
16076
16102
|
var ToggleFilter = class extends BaseFilter {
|
|
16077
16103
|
render(value, setValue, tid, inModal, vertical) {
|
|
16078
16104
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
16079
|
-
return /* @__PURE__ */
|
|
16105
|
+
return /* @__PURE__ */ jsx136(
|
|
16080
16106
|
Switch,
|
|
16081
16107
|
{
|
|
16082
16108
|
...props,
|
|
@@ -16106,7 +16132,7 @@ function updateFilter(currentFilter, key, value) {
|
|
|
16106
16132
|
var filterTestIdPrefix = "filter";
|
|
16107
16133
|
|
|
16108
16134
|
// src/components/Filters/Filters.tsx
|
|
16109
|
-
import { jsx as
|
|
16135
|
+
import { jsx as jsx137, jsxs as jsxs65 } from "@emotion/react/jsx-runtime";
|
|
16110
16136
|
function Filters(props) {
|
|
16111
16137
|
const { filter, onChange, filterDefs, groupBy, vertical = false, numberOfInlineFilters = groupBy ? 3 : 4 } = props;
|
|
16112
16138
|
const testId = useTestIds(props, filterTestIdPrefix);
|
|
@@ -16122,7 +16148,7 @@ function Filters(props) {
|
|
|
16122
16148
|
return [Object.fromEntries(impls), {}];
|
|
16123
16149
|
}, [numberOfInlineFilters, vertical, filterDefs]);
|
|
16124
16150
|
const numModalFilters = safeKeys(modalFilters).filter((fk) => filter[fk] !== void 0).length;
|
|
16125
|
-
const maybeGroupByField = groupBy ? /* @__PURE__ */
|
|
16151
|
+
const maybeGroupByField = groupBy ? /* @__PURE__ */ jsx137("div", { children: /* @__PURE__ */ jsx137(
|
|
16126
16152
|
SelectField,
|
|
16127
16153
|
{
|
|
16128
16154
|
label: "Group by",
|
|
@@ -16145,21 +16171,21 @@ function Filters(props) {
|
|
|
16145
16171
|
...testId,
|
|
16146
16172
|
children: [
|
|
16147
16173
|
maybeGroupByField,
|
|
16148
|
-
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */
|
|
16149
|
-
Object.keys(modalFilters).length > 0 && /* @__PURE__ */
|
|
16174
|
+
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */ jsx137("div", { children: f.render(filter[key], (value) => onChange(updateFilter(filter, key, value)), testId, false, vertical) }, key)),
|
|
16175
|
+
Object.keys(modalFilters).length > 0 && /* @__PURE__ */ jsx137(
|
|
16150
16176
|
Button,
|
|
16151
16177
|
{
|
|
16152
16178
|
label: "More Filters",
|
|
16153
|
-
endAdornment:
|
|
16179
|
+
endAdornment: /* @__PURE__ */ jsx137(CountBadge, { count: numModalFilters, hideIfZero: true }),
|
|
16154
16180
|
variant: "secondary",
|
|
16155
16181
|
onClick: () => openModal({
|
|
16156
16182
|
// Spreading `props` to pass along `data-testid`
|
|
16157
|
-
content: /* @__PURE__ */
|
|
16183
|
+
content: /* @__PURE__ */ jsx137(FilterModal, { ...props, filter, onApply: onChange, filters: modalFilters })
|
|
16158
16184
|
}),
|
|
16159
16185
|
...testId.moreFiltersBtn
|
|
16160
16186
|
}
|
|
16161
16187
|
),
|
|
16162
|
-
Object.keys(filter).length > 0 && /* @__PURE__ */
|
|
16188
|
+
Object.keys(filter).length > 0 && /* @__PURE__ */ jsx137("div", { children: /* @__PURE__ */ jsx137(Button, { label: "Clear", variant: "tertiary", onClick: () => onChange({}), ...testId.clearBtn }) })
|
|
16163
16189
|
]
|
|
16164
16190
|
}
|
|
16165
16191
|
);
|
|
@@ -16167,11 +16193,11 @@ function Filters(props) {
|
|
|
16167
16193
|
var _Filters = memo(Filters);
|
|
16168
16194
|
|
|
16169
16195
|
// src/components/Table/TableActions.tsx
|
|
16170
|
-
import { jsx as
|
|
16196
|
+
import { jsx as jsx138 } from "@emotion/react/jsx-runtime";
|
|
16171
16197
|
function TableActions(props) {
|
|
16172
16198
|
const { xss, children, onlyLeft, onlyRight } = props;
|
|
16173
16199
|
const alignmentStyles = onlyLeft ? Css.jcfs.$ : onlyRight ? Css.jcfe.$ : Css.jcsb.$;
|
|
16174
|
-
return /* @__PURE__ */
|
|
16200
|
+
return /* @__PURE__ */ jsx138("div", { css: { ...Css.df.aic.pb2.gap1.$, ...xss, ...alignmentStyles }, children });
|
|
16175
16201
|
}
|
|
16176
16202
|
|
|
16177
16203
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
@@ -16181,7 +16207,7 @@ import { StringParam as StringParam2, useQueryParams as useQueryParams3 } from "
|
|
|
16181
16207
|
// src/components/Layout/ScrollableContent.tsx
|
|
16182
16208
|
import { useEffect as useEffect24 } from "react";
|
|
16183
16209
|
import { createPortal as createPortal4 } from "react-dom";
|
|
16184
|
-
import { Fragment as
|
|
16210
|
+
import { Fragment as Fragment29, jsx as jsx139 } from "@emotion/react/jsx-runtime";
|
|
16185
16211
|
function ScrollableContent(props) {
|
|
16186
16212
|
const { children, virtualized = false, omitBottomPadding, bgColor } = props;
|
|
16187
16213
|
const { scrollableEl, setPortalTick, pl, pr } = useScrollableParent();
|
|
@@ -16190,10 +16216,10 @@ function ScrollableContent(props) {
|
|
|
16190
16216
|
return () => setPortalTick((prev) => prev + 1);
|
|
16191
16217
|
}, [setPortalTick]);
|
|
16192
16218
|
if (!scrollableEl) {
|
|
16193
|
-
return /* @__PURE__ */
|
|
16219
|
+
return /* @__PURE__ */ jsx139(Fragment29, { children });
|
|
16194
16220
|
}
|
|
16195
16221
|
return createPortal4(
|
|
16196
|
-
/* @__PURE__ */
|
|
16222
|
+
/* @__PURE__ */ jsx139(
|
|
16197
16223
|
"div",
|
|
16198
16224
|
{
|
|
16199
16225
|
css: {
|
|
@@ -16212,7 +16238,7 @@ function ScrollableContent(props) {
|
|
|
16212
16238
|
import { useMemo as useMemo33 } from "react";
|
|
16213
16239
|
|
|
16214
16240
|
// src/components/LoadingSkeleton.tsx
|
|
16215
|
-
import { jsx as
|
|
16241
|
+
import { jsx as jsx140 } from "@emotion/react/jsx-runtime";
|
|
16216
16242
|
function LoadingSkeleton({
|
|
16217
16243
|
rows = 1,
|
|
16218
16244
|
columns = 1,
|
|
@@ -16225,7 +16251,7 @@ function LoadingSkeleton({
|
|
|
16225
16251
|
const rowHeight = sizeToPixels2[size];
|
|
16226
16252
|
const rowCells = (rowNumber) => {
|
|
16227
16253
|
const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
|
|
16228
|
-
return cellArray.map((_, i) => /* @__PURE__ */
|
|
16254
|
+
return cellArray.map((_, i) => /* @__PURE__ */ jsx140(
|
|
16229
16255
|
"div",
|
|
16230
16256
|
{
|
|
16231
16257
|
css: Css.br4.add("animation", "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite").add("flexGrow", flexGrowForCell).bgGray300.if(contrast).bgGray700.$
|
|
@@ -16233,7 +16259,7 @@ function LoadingSkeleton({
|
|
|
16233
16259
|
`row-${rowNumber}-cell-${i}`
|
|
16234
16260
|
));
|
|
16235
16261
|
};
|
|
16236
|
-
return /* @__PURE__ */
|
|
16262
|
+
return /* @__PURE__ */ jsx140("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ jsx140("div", { css: Css.df.gap1.mb1.hPx(rowHeight).$, children: rowCells(i) }, `row-${i}`)) });
|
|
16237
16263
|
}
|
|
16238
16264
|
function getRandomizedFlexBasisByRowIndex(rowIndex) {
|
|
16239
16265
|
const randomizedFlexBasisValues = [0.65, 0.8, 0.75, 0.9, 0.8, 0.85, 0.8, 0.95];
|
|
@@ -16247,7 +16273,7 @@ var sizeToPixels2 = {
|
|
|
16247
16273
|
};
|
|
16248
16274
|
|
|
16249
16275
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
16250
|
-
import { Fragment as
|
|
16276
|
+
import { Fragment as Fragment30, jsx as jsx141, jsxs as jsxs66 } from "@emotion/react/jsx-runtime";
|
|
16251
16277
|
function QueryTable(props) {
|
|
16252
16278
|
const { emptyFallback, query, createRows, getPageInfo, columns, keepHeaderWhenLoading, ...others } = props;
|
|
16253
16279
|
const data = query.loading || query.error ? void 0 : query.data;
|
|
@@ -16256,29 +16282,56 @@ function QueryTable(props) {
|
|
|
16256
16282
|
const infoMessage = hasNextPage ? "Too many rows" : void 0;
|
|
16257
16283
|
const fallbackMessage = query.loading ? "Loading\u2026" : query.error ? `Error: ${query.error.message}` : emptyFallback;
|
|
16258
16284
|
const headers = rows.filter((row) => row.kind === "header");
|
|
16259
|
-
return query.loading ? /* @__PURE__ */
|
|
16285
|
+
return query.loading ? /* @__PURE__ */ jsx141("div", { children: keepHeaderWhenLoading ? /* @__PURE__ */ jsx141(GridTable, { ...{ columns, ...others }, rows: headers, fallbackMessage }) : /* @__PURE__ */ jsx141(LoadingTable, { columns: columns.length }) }) : /* @__PURE__ */ jsx141(GridTable, { ...{ rows, columns, fallbackMessage, infoMessage, ...others } });
|
|
16260
16286
|
}
|
|
16261
16287
|
function LoadingTable(props) {
|
|
16262
16288
|
const { columns } = props;
|
|
16263
|
-
return /* @__PURE__ */ jsxs66(
|
|
16264
|
-
/* @__PURE__ */
|
|
16265
|
-
/* @__PURE__ */
|
|
16289
|
+
return /* @__PURE__ */ jsxs66(Fragment30, { children: [
|
|
16290
|
+
/* @__PURE__ */ jsx141(LoadingSkeleton, { rows: 1, columns: 1 }),
|
|
16291
|
+
/* @__PURE__ */ jsx141(LoadingSkeleton, { rows: 5, columns: columns ?? 5 })
|
|
16266
16292
|
] });
|
|
16267
16293
|
}
|
|
16268
16294
|
|
|
16269
16295
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
16270
|
-
import { Fragment as
|
|
16296
|
+
import { Fragment as Fragment31, jsx as jsx142, jsxs as jsxs67 } from "@emotion/react/jsx-runtime";
|
|
16271
16297
|
function isGridTableProps(props) {
|
|
16272
16298
|
return "rows" in props;
|
|
16273
16299
|
}
|
|
16274
16300
|
function GridTableLayoutComponent(props) {
|
|
16275
|
-
const {
|
|
16301
|
+
const {
|
|
16302
|
+
pageTitle,
|
|
16303
|
+
breadcrumb,
|
|
16304
|
+
tableProps,
|
|
16305
|
+
layoutState,
|
|
16306
|
+
primaryAction,
|
|
16307
|
+
secondaryAction,
|
|
16308
|
+
tertiaryAction,
|
|
16309
|
+
hideEditColumns = false
|
|
16310
|
+
} = props;
|
|
16311
|
+
const tid = useTestIds(props);
|
|
16312
|
+
const columns = tableProps.columns;
|
|
16313
|
+
const hasHideableColumns = useMemo34(() => {
|
|
16314
|
+
if (hideEditColumns) return false;
|
|
16315
|
+
validateColumns(columns);
|
|
16316
|
+
return columns.some((c) => c.canHide);
|
|
16317
|
+
}, [columns, hideEditColumns]);
|
|
16318
|
+
const api = useMemo34(
|
|
16319
|
+
() => tableProps.api ?? new GridTableApiImpl(),
|
|
16320
|
+
[tableProps.api]
|
|
16321
|
+
);
|
|
16276
16322
|
const clientSearch = layoutState?.search === "client" ? layoutState.searchString : void 0;
|
|
16277
|
-
const showTableActions = layoutState?.filterDefs || layoutState?.search;
|
|
16323
|
+
const showTableActions = layoutState?.filterDefs || layoutState?.search || hasHideableColumns;
|
|
16278
16324
|
const isVirtualized = tableProps.as === "virtual";
|
|
16279
16325
|
const breakpoints = useBreakpoint();
|
|
16280
|
-
|
|
16281
|
-
|
|
16326
|
+
const visibleColumnIds = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
16327
|
+
useEffect25(() => {
|
|
16328
|
+
if (layoutState?.setVisibleColumnIds) {
|
|
16329
|
+
layoutState.setVisibleColumnIds(visibleColumnIds);
|
|
16330
|
+
}
|
|
16331
|
+
}, [visibleColumnIds, layoutState]);
|
|
16332
|
+
const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
|
|
16333
|
+
return /* @__PURE__ */ jsxs67(Fragment31, { children: [
|
|
16334
|
+
/* @__PURE__ */ jsx142(
|
|
16282
16335
|
Header2,
|
|
16283
16336
|
{
|
|
16284
16337
|
pageTitle,
|
|
@@ -16288,33 +16341,65 @@ function GridTableLayoutComponent(props) {
|
|
|
16288
16341
|
tertiaryAction
|
|
16289
16342
|
}
|
|
16290
16343
|
),
|
|
16291
|
-
showTableActions && /* @__PURE__ */ jsxs67(TableActions, { onlyRight: !layoutState?.search, children: [
|
|
16292
|
-
|
|
16293
|
-
|
|
16294
|
-
|
|
16344
|
+
showTableActions && /* @__PURE__ */ jsxs67(TableActions, { onlyRight: !layoutState?.search && hasHideableColumns, children: [
|
|
16345
|
+
/* @__PURE__ */ jsxs67("div", { css: Css.df.gap1.$, children: [
|
|
16346
|
+
layoutState?.search && /* @__PURE__ */ jsx142(SearchBox, { onSearch: layoutState.setSearchString }),
|
|
16347
|
+
layoutState?.filterDefs && /* @__PURE__ */ jsx142(
|
|
16348
|
+
_Filters,
|
|
16349
|
+
{
|
|
16350
|
+
filterDefs: layoutState.filterDefs,
|
|
16351
|
+
filter: layoutState.filter,
|
|
16352
|
+
onChange: layoutState.setFilter,
|
|
16353
|
+
groupBy: layoutState.groupBy,
|
|
16354
|
+
numberOfInlineFilters: breakpoints.mdAndDown ? 2 : void 0
|
|
16355
|
+
}
|
|
16356
|
+
)
|
|
16357
|
+
] }),
|
|
16358
|
+
hasHideableColumns && /* @__PURE__ */ jsx142(
|
|
16359
|
+
EditColumnsButton,
|
|
16295
16360
|
{
|
|
16296
|
-
|
|
16297
|
-
|
|
16298
|
-
|
|
16299
|
-
|
|
16300
|
-
|
|
16361
|
+
columns,
|
|
16362
|
+
api,
|
|
16363
|
+
tooltip: "Display columns",
|
|
16364
|
+
trigger: { icon: "kanban", label: "", variant: "secondaryBlack" },
|
|
16365
|
+
...tid.editColumnsButton
|
|
16301
16366
|
}
|
|
16302
16367
|
)
|
|
16303
16368
|
] }),
|
|
16304
|
-
/* @__PURE__ */
|
|
16369
|
+
/* @__PURE__ */ jsx142(ScrollableContent, { virtualized: isVirtualized, children: isGridTableProps(tableProps) ? /* @__PURE__ */ jsx142(
|
|
16370
|
+
GridTable,
|
|
16371
|
+
{
|
|
16372
|
+
...tableProps,
|
|
16373
|
+
api,
|
|
16374
|
+
filter: clientSearch,
|
|
16375
|
+
style: { allWhite: true },
|
|
16376
|
+
stickyHeader: true,
|
|
16377
|
+
visibleColumnsStorageKey
|
|
16378
|
+
}
|
|
16379
|
+
) : /* @__PURE__ */ jsx142(
|
|
16305
16380
|
QueryTable,
|
|
16306
16381
|
{
|
|
16307
16382
|
...tableProps,
|
|
16383
|
+
api,
|
|
16308
16384
|
filter: clientSearch,
|
|
16309
16385
|
style: { allWhite: true },
|
|
16310
|
-
stickyHeader: true
|
|
16386
|
+
stickyHeader: true,
|
|
16387
|
+
visibleColumnsStorageKey
|
|
16311
16388
|
}
|
|
16312
16389
|
) })
|
|
16313
16390
|
] });
|
|
16314
16391
|
}
|
|
16315
16392
|
var GridTableLayout = React15.memo(GridTableLayoutComponent);
|
|
16393
|
+
function validateColumns(columns) {
|
|
16394
|
+
for (const col of columns) {
|
|
16395
|
+
if (!col.id || !col.name) {
|
|
16396
|
+
throw new Error("Columns must have id and name properties when EditColumnsButtons is enabled");
|
|
16397
|
+
}
|
|
16398
|
+
}
|
|
16399
|
+
}
|
|
16316
16400
|
function useGridTableLayoutState({
|
|
16317
16401
|
persistedFilter,
|
|
16402
|
+
persistedColumns,
|
|
16318
16403
|
search,
|
|
16319
16404
|
groupBy: maybeGroupBy
|
|
16320
16405
|
}) {
|
|
@@ -16322,6 +16407,11 @@ function useGridTableLayoutState({
|
|
|
16322
16407
|
const { filter, setFilter } = usePersistedFilter(persistedFilter ?? filterFallback);
|
|
16323
16408
|
const groupBy = useGroupBy(maybeGroupBy ?? { none: "none" });
|
|
16324
16409
|
const [searchString, setSearchString] = useState36("");
|
|
16410
|
+
const columnsFallback = "unset-columns";
|
|
16411
|
+
const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(
|
|
16412
|
+
persistedColumns?.storageKey ?? columnsFallback,
|
|
16413
|
+
void 0
|
|
16414
|
+
);
|
|
16325
16415
|
return {
|
|
16326
16416
|
filter,
|
|
16327
16417
|
setFilter,
|
|
@@ -16329,21 +16419,24 @@ function useGridTableLayoutState({
|
|
|
16329
16419
|
searchString,
|
|
16330
16420
|
setSearchString,
|
|
16331
16421
|
search,
|
|
16332
|
-
groupBy: maybeGroupBy ? groupBy : void 0
|
|
16422
|
+
groupBy: maybeGroupBy ? groupBy : void 0,
|
|
16423
|
+
visibleColumnIds: persistedColumns ? visibleColumnIds : void 0,
|
|
16424
|
+
setVisibleColumnIds: persistedColumns ? setVisibleColumnIds : void 0,
|
|
16425
|
+
persistedColumnsStorageKey: persistedColumns?.storageKey
|
|
16333
16426
|
};
|
|
16334
16427
|
}
|
|
16335
16428
|
function Header2(props) {
|
|
16336
16429
|
const { pageTitle, breadcrumb, primaryAction, secondaryAction, tertiaryAction } = props;
|
|
16337
16430
|
const tids = useTestIds(props);
|
|
16338
|
-
return /* @__PURE__ */
|
|
16431
|
+
return /* @__PURE__ */ jsx142(FullBleed, { children: /* @__PURE__ */ jsxs67("header", { css: { ...Css.p3.mb3.mhPx(50).bgWhite.df.jcsb.aic.$ }, ...tids.header, children: [
|
|
16339
16432
|
/* @__PURE__ */ jsxs67("div", { children: [
|
|
16340
|
-
breadcrumb && /* @__PURE__ */
|
|
16341
|
-
/* @__PURE__ */
|
|
16433
|
+
breadcrumb && /* @__PURE__ */ jsx142(PageHeaderBreadcrumbs, { breadcrumb }),
|
|
16434
|
+
/* @__PURE__ */ jsx142("h1", { css: Css.xl2.mt1.$, ...tids.pageTitle, children: pageTitle })
|
|
16342
16435
|
] }),
|
|
16343
16436
|
/* @__PURE__ */ jsxs67("div", { css: Css.df.fwr.jcfe.gap1.$, children: [
|
|
16344
|
-
tertiaryAction && /* @__PURE__ */
|
|
16345
|
-
secondaryAction && /* @__PURE__ */
|
|
16346
|
-
primaryAction && /* @__PURE__ */
|
|
16437
|
+
tertiaryAction && /* @__PURE__ */ jsx142(Button, { ...tertiaryAction, variant: "tertiary" }),
|
|
16438
|
+
secondaryAction && /* @__PURE__ */ jsx142(Button, { ...secondaryAction, variant: "secondary" }),
|
|
16439
|
+
primaryAction && /* @__PURE__ */ jsx142(Button, { ...primaryAction })
|
|
16347
16440
|
] })
|
|
16348
16441
|
] }) });
|
|
16349
16442
|
}
|
|
@@ -16355,7 +16448,7 @@ function SearchBox({ onSearch }) {
|
|
|
16355
16448
|
onSearch(debouncedSearch);
|
|
16356
16449
|
setQueryParams({ search: debouncedSearch || void 0 }, "replaceIn");
|
|
16357
16450
|
}, [debouncedSearch, onSearch, setQueryParams]);
|
|
16358
|
-
return /* @__PURE__ */
|
|
16451
|
+
return /* @__PURE__ */ jsx142("div", { css: Css.wPx(244).$, children: /* @__PURE__ */ jsx142(
|
|
16359
16452
|
TextField,
|
|
16360
16453
|
{
|
|
16361
16454
|
label: "Search",
|
|
@@ -16364,25 +16457,25 @@ function SearchBox({ onSearch }) {
|
|
|
16364
16457
|
onChange: (v) => setValue(v ?? ""),
|
|
16365
16458
|
placeholder: "Search",
|
|
16366
16459
|
clearable: true,
|
|
16367
|
-
startAdornment: /* @__PURE__ */
|
|
16460
|
+
startAdornment: /* @__PURE__ */ jsx142(Icon, { icon: "search", color: "rgba(100, 100, 100, 1)" /* Gray700 */ })
|
|
16368
16461
|
}
|
|
16369
16462
|
) });
|
|
16370
16463
|
}
|
|
16371
16464
|
|
|
16372
16465
|
// src/components/Layout/PreventBrowserScroll.tsx
|
|
16373
|
-
import { jsx as
|
|
16466
|
+
import { jsx as jsx143 } from "@emotion/react/jsx-runtime";
|
|
16374
16467
|
function PreventBrowserScroll({ children }) {
|
|
16375
16468
|
return (
|
|
16376
16469
|
// Take over the full viewport and hide any overflown content.
|
|
16377
16470
|
// Using `-webkit-fill-available`, otherwise `height: 100vh` includes the app bars in mobile Safari. See https://allthingssmitty.com/2020/05/11/css-fix-for-100vh-in-mobile-webkit/
|
|
16378
16471
|
// Setting the multiple "(min|max-)height" properties is necessary, as Truss will turn this into an object and there can only be one `height` property.
|
|
16379
|
-
/* @__PURE__ */
|
|
16472
|
+
/* @__PURE__ */ jsx143("div", { css: Css.oh.vh100.mh("-webkit-fill-available").maxh("-webkit-fill-available").$, children: /* @__PURE__ */ jsx143("div", { css: Css.h100.df.fdc.mh0.oa.$, children }) })
|
|
16380
16473
|
);
|
|
16381
16474
|
}
|
|
16382
16475
|
|
|
16383
16476
|
// src/components/Layout/RightPaneLayout/RightPaneContext.tsx
|
|
16384
|
-
import React16, { useCallback as useCallback19, useContext as useContext14, useMemo as
|
|
16385
|
-
import { jsx as
|
|
16477
|
+
import React16, { useCallback as useCallback19, useContext as useContext14, useMemo as useMemo35, useState as useState37 } from "react";
|
|
16478
|
+
import { jsx as jsx144 } from "@emotion/react/jsx-runtime";
|
|
16386
16479
|
var RightPaneContext = React16.createContext({
|
|
16387
16480
|
openInPane: () => {
|
|
16388
16481
|
},
|
|
@@ -16405,11 +16498,11 @@ function RightPaneProvider({ children }) {
|
|
|
16405
16498
|
);
|
|
16406
16499
|
const closePane = useCallback19(() => setIsRightPaneOpen(false), []);
|
|
16407
16500
|
const clearPane = useCallback19(() => setRightPaneContent(void 0), [setRightPaneContent]);
|
|
16408
|
-
const context =
|
|
16501
|
+
const context = useMemo35(
|
|
16409
16502
|
() => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
|
|
16410
16503
|
[openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
|
|
16411
16504
|
);
|
|
16412
|
-
return /* @__PURE__ */
|
|
16505
|
+
return /* @__PURE__ */ jsx144(RightPaneContext.Provider, { value: context, children });
|
|
16413
16506
|
}
|
|
16414
16507
|
function useRightPaneContext() {
|
|
16415
16508
|
return useContext14(RightPaneContext);
|
|
@@ -16418,13 +16511,13 @@ function useRightPaneContext() {
|
|
|
16418
16511
|
// src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
|
|
16419
16512
|
import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
|
|
16420
16513
|
import { useEffect as useEffect26 } from "react";
|
|
16421
|
-
import { Fragment as
|
|
16514
|
+
import { Fragment as Fragment32, jsx as jsx145, jsxs as jsxs68 } from "@emotion/react/jsx-runtime";
|
|
16422
16515
|
function RightPaneLayout(props) {
|
|
16423
16516
|
const { children, paneBgColor = "rgba(255,255,255,1)" /* White */, paneWidth = 450, defaultPaneContent } = props;
|
|
16424
16517
|
const { isRightPaneOpen, rightPaneContent, clearPane, closePane } = useRightPaneContext();
|
|
16425
16518
|
useEffect26(() => closePane, [closePane]);
|
|
16426
|
-
return /* @__PURE__ */
|
|
16427
|
-
/* @__PURE__ */
|
|
16519
|
+
return /* @__PURE__ */ jsx145("div", { css: Css.h100.df.oxh.$, children: /* @__PURE__ */ jsxs68(Fragment32, { children: [
|
|
16520
|
+
/* @__PURE__ */ jsx145(
|
|
16428
16521
|
"div",
|
|
16429
16522
|
{
|
|
16430
16523
|
css: {
|
|
@@ -16436,14 +16529,14 @@ function RightPaneLayout(props) {
|
|
|
16436
16529
|
}
|
|
16437
16530
|
),
|
|
16438
16531
|
/* @__PURE__ */ jsxs68("div", { css: Css.relative.if(!!defaultPaneContent).wPx(paneWidth).$, children: [
|
|
16439
|
-
defaultPaneContent && /* @__PURE__ */
|
|
16532
|
+
defaultPaneContent && /* @__PURE__ */ jsx145(
|
|
16440
16533
|
"div",
|
|
16441
16534
|
{
|
|
16442
16535
|
css: Css.h100.wPx(paneWidth).left(0).absolute.add("transition", "all .3s ease-in-out").if(isRightPaneOpen).add("opacity", 0).left(100).$,
|
|
16443
16536
|
children: defaultPaneContent
|
|
16444
16537
|
}
|
|
16445
16538
|
),
|
|
16446
|
-
/* @__PURE__ */
|
|
16539
|
+
/* @__PURE__ */ jsx145(AnimatePresence3, { children: isRightPaneOpen && /* @__PURE__ */ jsx145(
|
|
16447
16540
|
motion3.div,
|
|
16448
16541
|
{
|
|
16449
16542
|
layout: "position",
|
|
@@ -16472,7 +16565,7 @@ function useRightPane() {
|
|
|
16472
16565
|
}
|
|
16473
16566
|
|
|
16474
16567
|
// src/components/BeamContext.tsx
|
|
16475
|
-
import { jsx as
|
|
16568
|
+
import { jsx as jsx146, jsxs as jsxs69 } from "@emotion/react/jsx-runtime";
|
|
16476
16569
|
var BeamContext = createContext6({
|
|
16477
16570
|
modalState: new EmptyRef(),
|
|
16478
16571
|
modalCanCloseChecks: new EmptyRef(),
|
|
@@ -16487,19 +16580,19 @@ var BeamContext = createContext6({
|
|
|
16487
16580
|
function BeamProvider({ children, ...presentationProps }) {
|
|
16488
16581
|
const [, tick] = useReducer((prev) => prev + 1, 0);
|
|
16489
16582
|
const modalRef = useRef43();
|
|
16490
|
-
const modalHeaderDiv =
|
|
16491
|
-
const modalBodyDiv =
|
|
16583
|
+
const modalHeaderDiv = useMemo36(() => document.createElement("div"), []);
|
|
16584
|
+
const modalBodyDiv = useMemo36(() => {
|
|
16492
16585
|
const el = document.createElement("div");
|
|
16493
16586
|
el.style.height = "100%";
|
|
16494
16587
|
return el;
|
|
16495
16588
|
}, []);
|
|
16496
16589
|
const modalCanCloseChecksRef = useRef43([]);
|
|
16497
|
-
const modalFooterDiv =
|
|
16590
|
+
const modalFooterDiv = useMemo36(() => document.createElement("div"), []);
|
|
16498
16591
|
const drawerContentStackRef = useRef43([]);
|
|
16499
16592
|
const drawerCanCloseChecks = useRef43([]);
|
|
16500
16593
|
const drawerCanCloseDetailsChecks = useRef43([]);
|
|
16501
|
-
const sdHeaderDiv =
|
|
16502
|
-
const context =
|
|
16594
|
+
const sdHeaderDiv = useMemo36(() => document.createElement("div"), []);
|
|
16595
|
+
const context = useMemo36(() => {
|
|
16503
16596
|
return {
|
|
16504
16597
|
// These two keys need to trigger re-renders on change
|
|
16505
16598
|
modalState: new PretendRefThatTicks(modalRef, tick),
|
|
@@ -16514,12 +16607,12 @@ function BeamProvider({ children, ...presentationProps }) {
|
|
|
16514
16607
|
sdHeaderDiv
|
|
16515
16608
|
};
|
|
16516
16609
|
}, [modalBodyDiv, modalFooterDiv, modalHeaderDiv, sdHeaderDiv]);
|
|
16517
|
-
return /* @__PURE__ */
|
|
16610
|
+
return /* @__PURE__ */ jsx146(BeamContext.Provider, { value: { ...context }, children: /* @__PURE__ */ jsx146(PresentationProvider, { ...presentationProps, children: /* @__PURE__ */ jsx146(RightPaneProvider, { children: /* @__PURE__ */ jsx146(AutoSaveStatusProvider, { children: /* @__PURE__ */ jsx146(SnackbarProvider, { children: /* @__PURE__ */ jsxs69(ToastProvider, { children: [
|
|
16518
16611
|
/* @__PURE__ */ jsxs69(OverlayProvider, { children: [
|
|
16519
16612
|
children,
|
|
16520
|
-
modalRef.current && /* @__PURE__ */
|
|
16613
|
+
modalRef.current && /* @__PURE__ */ jsx146(Modal, { ...modalRef.current })
|
|
16521
16614
|
] }),
|
|
16522
|
-
/* @__PURE__ */
|
|
16615
|
+
/* @__PURE__ */ jsx146(SuperDrawer, {})
|
|
16523
16616
|
] }) }) }) }) }) });
|
|
16524
16617
|
}
|
|
16525
16618
|
var PretendRefThatTicks = class {
|
|
@@ -16543,7 +16636,7 @@ function useBeamContext() {
|
|
|
16543
16636
|
import { useRef as useRef44 } from "react";
|
|
16544
16637
|
import { useMenuTrigger as useMenuTrigger3 } from "react-aria";
|
|
16545
16638
|
import { useMenuTriggerState as useMenuTriggerState3 } from "react-stately";
|
|
16546
|
-
import { jsx as
|
|
16639
|
+
import { jsx as jsx147 } from "@emotion/react/jsx-runtime";
|
|
16547
16640
|
function ButtonDatePicker(props) {
|
|
16548
16641
|
const { defaultOpen, disabled, trigger, onSelect, ...datePickerProps } = props;
|
|
16549
16642
|
const state = useMenuTriggerState3({ isOpen: defaultOpen });
|
|
@@ -16553,7 +16646,7 @@ function ButtonDatePicker(props) {
|
|
|
16553
16646
|
props,
|
|
16554
16647
|
isTextButton(trigger) ? defaultTestId(labelOr(trigger, "buttonDatePicker")) : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
16555
16648
|
);
|
|
16556
|
-
return /* @__PURE__ */
|
|
16649
|
+
return /* @__PURE__ */ jsx147(OverlayTrigger, { ...props, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ jsx147(DatePickerOverlay, { overlayProps: menuProps, children: /* @__PURE__ */ jsx147(
|
|
16557
16650
|
DatePicker,
|
|
16558
16651
|
{
|
|
16559
16652
|
...datePickerProps,
|
|
@@ -16569,15 +16662,15 @@ function ButtonDatePicker(props) {
|
|
|
16569
16662
|
// src/components/ButtonGroup.tsx
|
|
16570
16663
|
import { useRef as useRef45 } from "react";
|
|
16571
16664
|
import { useButton as useButton10, useFocusRing as useFocusRing12, useHover as useHover15 } from "react-aria";
|
|
16572
|
-
import { jsx as
|
|
16665
|
+
import { jsx as jsx148, jsxs as jsxs70 } from "@emotion/react/jsx-runtime";
|
|
16573
16666
|
function ButtonGroup(props) {
|
|
16574
16667
|
const { buttons, disabled = false, size = "sm" } = props;
|
|
16575
16668
|
const tid = useTestIds(props, "buttonGroup");
|
|
16576
16669
|
return (
|
|
16577
16670
|
// Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
|
|
16578
|
-
/* @__PURE__ */
|
|
16671
|
+
/* @__PURE__ */ jsx148("div", { ...tid, css: Css.df.lh(0).add({ ...sizeStyles2[size] }).$, children: buttons.map(({ disabled: buttonDisabled, ...buttonProps }, i) => (
|
|
16579
16672
|
// Disable the button if the ButtonGroup is disabled or if the current button is disabled.
|
|
16580
|
-
/* @__PURE__ */
|
|
16673
|
+
/* @__PURE__ */ jsx148(GroupButton, { ...buttonProps, disabled: disabled || buttonDisabled, size, ...tid }, i)
|
|
16581
16674
|
)) })
|
|
16582
16675
|
);
|
|
16583
16676
|
}
|
|
@@ -16589,7 +16682,7 @@ function GroupButton(props) {
|
|
|
16589
16682
|
const { isFocusVisible, focusProps } = useFocusRing12();
|
|
16590
16683
|
const { hoverProps, isHovered } = useHover15(ariaProps);
|
|
16591
16684
|
const tid = useTestIds(props);
|
|
16592
|
-
return /* @__PURE__ */
|
|
16685
|
+
return /* @__PURE__ */ jsx148("span", { css: getButtonStyles2(), children: maybeTooltip({
|
|
16593
16686
|
title: resolveTooltip(disabled, tooltip),
|
|
16594
16687
|
placement: "top",
|
|
16595
16688
|
children: /* @__PURE__ */ jsxs70(
|
|
@@ -16609,7 +16702,7 @@ function GroupButton(props) {
|
|
|
16609
16702
|
},
|
|
16610
16703
|
...tid[defaultTestId(typeof text === "string" && text || icon || "button")],
|
|
16611
16704
|
children: [
|
|
16612
|
-
icon && /* @__PURE__ */
|
|
16705
|
+
icon && /* @__PURE__ */ jsx148(Icon, { xss: Css.if(!!text).mrPx(4).$, icon, color: disabled ? void 0 : iconColor, inc: iconInc }),
|
|
16613
16706
|
text
|
|
16614
16707
|
]
|
|
16615
16708
|
}
|
|
@@ -16646,7 +16739,7 @@ var iconStyles2 = {
|
|
|
16646
16739
|
import { useRef as useRef46 } from "react";
|
|
16647
16740
|
import { useMenuTrigger as useMenuTrigger4 } from "react-aria";
|
|
16648
16741
|
import { useMenuTriggerState as useMenuTriggerState4 } from "react-stately";
|
|
16649
|
-
import { jsx as
|
|
16742
|
+
import { jsx as jsx149 } from "@emotion/react/jsx-runtime";
|
|
16650
16743
|
function ButtonMenu(props) {
|
|
16651
16744
|
const { defaultOpen, disabled, items, persistentItems, trigger, searchable, contrast = false } = props;
|
|
16652
16745
|
let selectedItem, onChange;
|
|
@@ -16661,7 +16754,7 @@ function ButtonMenu(props) {
|
|
|
16661
16754
|
props,
|
|
16662
16755
|
isTextButton(trigger) ? labelOr(trigger, "buttonMenu") : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
16663
16756
|
);
|
|
16664
|
-
return /* @__PURE__ */
|
|
16757
|
+
return /* @__PURE__ */ jsx149(
|
|
16665
16758
|
OverlayTrigger,
|
|
16666
16759
|
{
|
|
16667
16760
|
...props,
|
|
@@ -16670,7 +16763,7 @@ function ButtonMenu(props) {
|
|
|
16670
16763
|
buttonRef,
|
|
16671
16764
|
...tid,
|
|
16672
16765
|
contrast,
|
|
16673
|
-
children: /* @__PURE__ */
|
|
16766
|
+
children: /* @__PURE__ */ jsx149(
|
|
16674
16767
|
Menu,
|
|
16675
16768
|
{
|
|
16676
16769
|
ariaMenuProps: menuProps,
|
|
@@ -16692,13 +16785,13 @@ function isSelectionButtonMenuProps(props) {
|
|
|
16692
16785
|
}
|
|
16693
16786
|
|
|
16694
16787
|
// src/components/Card.tsx
|
|
16695
|
-
import { useMemo as
|
|
16788
|
+
import { useMemo as useMemo37 } from "react";
|
|
16696
16789
|
import { useHover as useHover16 } from "react-aria";
|
|
16697
16790
|
|
|
16698
16791
|
// src/components/Tag.tsx
|
|
16699
16792
|
import { useResizeObserver as useResizeObserver4 } from "@react-aria/utils";
|
|
16700
16793
|
import { useRef as useRef47, useState as useState38 } from "react";
|
|
16701
|
-
import { jsx as
|
|
16794
|
+
import { jsx as jsx150, jsxs as jsxs71 } from "@emotion/react/jsx-runtime";
|
|
16702
16795
|
function Tag(props) {
|
|
16703
16796
|
const { text, type, xss, preventTooltip = false, ...otherProps } = props;
|
|
16704
16797
|
const typeStyles2 = getStyles(type);
|
|
@@ -16716,8 +16809,8 @@ function Tag(props) {
|
|
|
16716
16809
|
return maybeTooltip({
|
|
16717
16810
|
title: !preventTooltip && showTooltip ? text : void 0,
|
|
16718
16811
|
children: /* @__PURE__ */ jsxs71("span", { ...tid, css: { ...Css.dif.xs2Sb.ttu.aic.gapPx(4).pxPx(6).pyPx(2).gray900.br4.$, ...typeStyles2, ...xss }, children: [
|
|
16719
|
-
otherProps.icon && /* @__PURE__ */
|
|
16720
|
-
/* @__PURE__ */
|
|
16812
|
+
otherProps.icon && /* @__PURE__ */ jsx150("span", { css: Css.fs0.$, children: /* @__PURE__ */ jsx150(Icon, { icon: otherProps.icon, inc: 1.5 }) }),
|
|
16813
|
+
/* @__PURE__ */ jsx150("span", { ref, css: Css.lineClamp1.wbba.$, children: text })
|
|
16721
16814
|
] })
|
|
16722
16815
|
});
|
|
16723
16816
|
}
|
|
@@ -16737,7 +16830,7 @@ function getStyles(type) {
|
|
|
16737
16830
|
}
|
|
16738
16831
|
|
|
16739
16832
|
// src/components/Card.tsx
|
|
16740
|
-
import { jsx as
|
|
16833
|
+
import { jsx as jsx151, jsxs as jsxs72 } from "@emotion/react/jsx-runtime";
|
|
16741
16834
|
function Card(props) {
|
|
16742
16835
|
const {
|
|
16743
16836
|
title,
|
|
@@ -16755,7 +16848,7 @@ function Card(props) {
|
|
|
16755
16848
|
const { hoverProps, isHovered } = useHover16({ isDisabled });
|
|
16756
16849
|
const isList = type === "list";
|
|
16757
16850
|
const imgHeight = isList ? 96 : bordered ? 224 : 256;
|
|
16758
|
-
const styles =
|
|
16851
|
+
const styles = useMemo37(
|
|
16759
16852
|
() => ({
|
|
16760
16853
|
...baseStyles4(type),
|
|
16761
16854
|
...isList && listStyles,
|
|
@@ -16766,30 +16859,30 @@ function Card(props) {
|
|
|
16766
16859
|
[isDisabled, isHovered, bordered, type, isList]
|
|
16767
16860
|
);
|
|
16768
16861
|
return /* @__PURE__ */ jsxs72("div", { css: styles, ...hoverProps, ...tid, children: [
|
|
16769
|
-
/* @__PURE__ */
|
|
16862
|
+
/* @__PURE__ */ jsx151(
|
|
16770
16863
|
"div",
|
|
16771
16864
|
{
|
|
16772
16865
|
css: {
|
|
16773
16866
|
...Css.hPx(imgHeight).ba.br8.bcGray300.oh.df.asc.jsc.relative.add("filter", "brightness(1)").$,
|
|
16774
16867
|
...isHovered && !isList && imageHoverStyles
|
|
16775
16868
|
},
|
|
16776
|
-
children: /* @__PURE__ */
|
|
16869
|
+
children: /* @__PURE__ */ jsx151("img", { css: Css.w100.h100.objectFit(imageFit).$, src: imgSrc, alt: title, ...tid.img })
|
|
16777
16870
|
}
|
|
16778
16871
|
),
|
|
16779
|
-
isHovered && buttonMenuItems && /* @__PURE__ */
|
|
16872
|
+
isHovered && buttonMenuItems && /* @__PURE__ */ jsx151("div", { css: Css.absolute.right1.top1.if(bordered && !isList).right3.top3.$, children: /* @__PURE__ */ jsx151(
|
|
16780
16873
|
ButtonMenu,
|
|
16781
16874
|
{
|
|
16782
16875
|
trigger: { icon: "verticalDots", color: isList ? "rgba(100, 100, 100, 1)" /* Gray700 */ : "rgba(255,255,255,1)" /* White */ },
|
|
16783
16876
|
items: buttonMenuItems
|
|
16784
16877
|
}
|
|
16785
16878
|
) }),
|
|
16786
|
-
tag && /* @__PURE__ */
|
|
16879
|
+
tag && /* @__PURE__ */ jsx151("div", { css: Css.absolute.left1.topPx(4).$, children: /* @__PURE__ */ jsx151(Tag, { type: tag?.type, text: tag?.text, ...tid.tag }) }),
|
|
16787
16880
|
/* @__PURE__ */ jsxs72("div", { css: Css.df.fdc.aifs.gap1.$, children: [
|
|
16788
16881
|
/* @__PURE__ */ jsxs72("div", { children: [
|
|
16789
|
-
/* @__PURE__ */
|
|
16790
|
-
/* @__PURE__ */
|
|
16882
|
+
/* @__PURE__ */ jsx151("div", { css: Css.xsSb.gray700.$, ...tid.subtitle, children: subtitle }),
|
|
16883
|
+
/* @__PURE__ */ jsx151("div", { css: Css.smSb.gray900.if(isHovered).blue700.$, ...tid.title, children: title })
|
|
16791
16884
|
] }),
|
|
16792
|
-
/* @__PURE__ */
|
|
16885
|
+
/* @__PURE__ */ jsx151("div", { ...tid.details, children: detailContent })
|
|
16793
16886
|
] })
|
|
16794
16887
|
] });
|
|
16795
16888
|
}
|
|
@@ -16802,9 +16895,9 @@ var cardHoverStyles = Css.bcGray400.cursorPointer.$;
|
|
|
16802
16895
|
var imageHoverStyles = Css.bgWhite.add("filter", "brightness(0.3)").add("transition", "filter 0.3s ease").$;
|
|
16803
16896
|
|
|
16804
16897
|
// src/components/Copy.tsx
|
|
16805
|
-
import { jsx as
|
|
16898
|
+
import { jsx as jsx152 } from "@emotion/react/jsx-runtime";
|
|
16806
16899
|
function Copy(props) {
|
|
16807
|
-
return /* @__PURE__ */
|
|
16900
|
+
return /* @__PURE__ */ jsx152(
|
|
16808
16901
|
"div",
|
|
16809
16902
|
{
|
|
16810
16903
|
css: {
|
|
@@ -16832,7 +16925,7 @@ function useDnDGridContext() {
|
|
|
16832
16925
|
}
|
|
16833
16926
|
|
|
16834
16927
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
16835
|
-
import { jsx as
|
|
16928
|
+
import { jsx as jsx153 } from "@emotion/react/jsx-runtime";
|
|
16836
16929
|
function DnDGrid(props) {
|
|
16837
16930
|
const { children, gridStyles, onReorder, activeItemStyles } = props;
|
|
16838
16931
|
const gridEl = useRef48(null);
|
|
@@ -17005,7 +17098,7 @@ function DnDGrid(props) {
|
|
|
17005
17098
|
},
|
|
17006
17099
|
[cancelReorder, commitReorder, initReorder, getGridItems]
|
|
17007
17100
|
);
|
|
17008
|
-
return /* @__PURE__ */
|
|
17101
|
+
return /* @__PURE__ */ jsx153(DnDGridContext.Provider, { value: { dragEl, onDragHandleKeyDown }, children: /* @__PURE__ */ jsx153(
|
|
17009
17102
|
"div",
|
|
17010
17103
|
{
|
|
17011
17104
|
ref: gridEl,
|
|
@@ -17028,7 +17121,7 @@ var activeGridItemClass = "dndgrid-active";
|
|
|
17028
17121
|
|
|
17029
17122
|
// src/components/DnDGrid/DnDGridItemHandle.tsx
|
|
17030
17123
|
import { mergeProps as mergeProps12, useFocusRing as useFocusRing13, useHover as useHover17 } from "react-aria";
|
|
17031
|
-
import { jsx as
|
|
17124
|
+
import { jsx as jsx154 } from "@emotion/react/jsx-runtime";
|
|
17032
17125
|
function DnDGridItemHandle(props) {
|
|
17033
17126
|
const { dragHandleProps, icon = "move", compact = false, color } = props;
|
|
17034
17127
|
const { focusProps, isFocusVisible } = useFocusRing13();
|
|
@@ -17036,7 +17129,7 @@ function DnDGridItemHandle(props) {
|
|
|
17036
17129
|
const tid = useTestIds(props, "dragHandle");
|
|
17037
17130
|
const iconButtonNormal2 = Css.hPx(28).wPx(28).br8.bw2.$;
|
|
17038
17131
|
const iconButtonCompact2 = Css.hPx(18).wPx(18).br4.bw1.$;
|
|
17039
|
-
return /* @__PURE__ */
|
|
17132
|
+
return /* @__PURE__ */ jsx154(
|
|
17040
17133
|
"button",
|
|
17041
17134
|
{
|
|
17042
17135
|
css: {
|
|
@@ -17046,17 +17139,17 @@ function DnDGridItemHandle(props) {
|
|
|
17046
17139
|
},
|
|
17047
17140
|
...mergeProps12(dragHandleProps, focusProps, hoverProps),
|
|
17048
17141
|
...tid,
|
|
17049
|
-
children: /* @__PURE__ */
|
|
17142
|
+
children: /* @__PURE__ */ jsx154(Icon, { icon, inc: compact ? 2 : void 0, color })
|
|
17050
17143
|
}
|
|
17051
17144
|
);
|
|
17052
17145
|
}
|
|
17053
17146
|
|
|
17054
17147
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
17055
|
-
import { useMemo as
|
|
17148
|
+
import { useMemo as useMemo38 } from "react";
|
|
17056
17149
|
function useDnDGridItem(props) {
|
|
17057
17150
|
const { id, itemRef } = props;
|
|
17058
17151
|
const { dragEl, onDragHandleKeyDown } = useDnDGridContext();
|
|
17059
|
-
const { dragItemProps, dragHandleProps } =
|
|
17152
|
+
const { dragItemProps, dragHandleProps } = useMemo38(
|
|
17060
17153
|
() => {
|
|
17061
17154
|
function initDraggable() {
|
|
17062
17155
|
if (itemRef.current) {
|
|
@@ -17083,23 +17176,23 @@ function useDnDGridItem(props) {
|
|
|
17083
17176
|
}
|
|
17084
17177
|
|
|
17085
17178
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
17086
|
-
import { jsx as
|
|
17179
|
+
import { jsx as jsx155 } from "@emotion/react/jsx-runtime";
|
|
17087
17180
|
function ResponsiveGrid(props) {
|
|
17088
17181
|
const { children, ...hookProps } = props;
|
|
17089
17182
|
const { gridStyles } = useResponsiveGrid(hookProps);
|
|
17090
|
-
return /* @__PURE__ */
|
|
17183
|
+
return /* @__PURE__ */ jsx155("div", { css: { ...gridStyles }, children });
|
|
17091
17184
|
}
|
|
17092
17185
|
|
|
17093
17186
|
// src/components/Grid/ResponsiveGridItem.tsx
|
|
17094
|
-
import { jsx as
|
|
17187
|
+
import { jsx as jsx156 } from "@emotion/react/jsx-runtime";
|
|
17095
17188
|
function ResponsiveGridItem(props) {
|
|
17096
17189
|
const { colSpan, children } = props;
|
|
17097
17190
|
const { gridItemProps } = useResponsiveGridItem({ colSpan });
|
|
17098
|
-
return /* @__PURE__ */
|
|
17191
|
+
return /* @__PURE__ */ jsx156("div", { ...gridItemProps, children });
|
|
17099
17192
|
}
|
|
17100
17193
|
|
|
17101
17194
|
// src/components/Grid/useResponsiveGrid.ts
|
|
17102
|
-
import { useMemo as
|
|
17195
|
+
import { useMemo as useMemo39 } from "react";
|
|
17103
17196
|
|
|
17104
17197
|
// src/components/Grid/utils.ts
|
|
17105
17198
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
@@ -17107,7 +17200,7 @@ var gridItemDataAttribute = "data-grid-item-span";
|
|
|
17107
17200
|
// src/components/Grid/useResponsiveGrid.ts
|
|
17108
17201
|
function useResponsiveGrid(props) {
|
|
17109
17202
|
const { minColumnWidth, gap, columns } = props;
|
|
17110
|
-
const gridStyles =
|
|
17203
|
+
const gridStyles = useMemo39(() => {
|
|
17111
17204
|
const gapCount = columns - 1;
|
|
17112
17205
|
const totalGapWidth = gap * gapCount;
|
|
17113
17206
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -17148,24 +17241,24 @@ function useResponsiveGridItem({ colSpan = 1 }) {
|
|
|
17148
17241
|
}
|
|
17149
17242
|
|
|
17150
17243
|
// src/components/HbLoadingSpinner.tsx
|
|
17151
|
-
import React20, { useContext as useContext17, useMemo as
|
|
17244
|
+
import React20, { useContext as useContext17, useMemo as useMemo40 } from "react";
|
|
17152
17245
|
|
|
17153
17246
|
// src/components/HbLoadingSpinner.base64.ts
|
|
17154
17247
|
var HbLoadingSpinner_base64_default = "data:image/gif,GIF89a%80%00%80%00%E7%00%00%00%00%00%0D%0D%0D%16%16%16%1C%1C%1C%22%22%22%26%26%26%2A%2A%2A...222555888%3B%3B%3B%3D%3D%3D%40%40%40BBBEEEGGGIIIKKKMMMOOOQQQSSSUUUVVVXXXZZZ%5C%5C%5C%5D%5D%5D___%60%60%60bbbccceeefffhhhiiijjjlllmmmnnnpppqqqrrrsssuuuvvvwwwxxxyyyzzz%7C%7C%7C%7D%7D%7D~~~%7F%7F%7F%80%80%80%81%81%81%82%82%82%83%83%83%84%84%84%85%85%85%86%86%86%87%87%87%88%88%88%89%89%89%8A%8A%8A%8B%8B%8B%8C%8C%8C%8D%8D%8D%8E%8E%8E%8F%8F%8F%90%90%90%91%91%91%92%92%92%93%93%93%94%94%94%95%95%95%96%96%96%97%97%97%98%98%98%99%99%99%9A%9A%9A%9B%9B%9B%9C%9C%9C%9D%9D%9D%9E%9E%9E%9F%9F%9F%A0%A0%A0%A1%A1%A1%A2%A2%A2%A3%A3%A3%A4%A4%A4%A5%A5%A5%A6%A6%A6%A7%A7%A7%A8%A8%A8%A9%A9%A9%AA%AA%AA%AB%AB%AB%AC%AC%AC%AD%AD%AD%AE%AE%AE%AF%AF%AF%B0%B0%B0%B1%B1%B1%B2%B2%B2%B3%B3%B3%B4%B4%B4%B5%B5%B5%B6%B6%B6%B7%B7%B7%B8%B8%B8%B9%B9%B9%BA%BA%BA%BB%BB%BB%BC%BC%BC%BD%BD%BD%BE%BE%BE%BF%BF%BF%C0%C0%C0%C1%C1%C1%C2%C2%C2%C3%C3%C3%C4%C4%C4%C5%C5%C5%C6%C6%C6%C7%C7%C7%C8%C8%C8%C9%C9%C9%CA%CA%CA%CB%CB%CB%CC%CC%CC%CD%CD%CD%CE%CE%CE%CF%CF%CF%D0%D0%D0%D1%D1%D1%D2%D2%D2%D3%D3%D3%D4%D4%D4%D5%D5%D5%D6%D6%D6%D7%D7%D7%D8%D8%D8%D9%D9%D9%DA%DA%DA%DB%DB%DB%DC%DC%DC%DD%DD%DD%DE%DE%DE%DF%DF%DF%E0%E0%E0%E1%E1%E1%E2%E2%E2%E3%E3%E3%E4%E4%E4%E5%E5%E5%E6%E6%E6%E7%E7%E7%E8%E8%E8%E9%E9%E9%EA%EA%EA%EB%EB%EB%EC%EC%EC%ED%ED%ED%EE%EE%EE%EF%EF%EF%F0%F0%F0%F1%F1%F1%F2%F2%F2%F3%F3%F3%F4%F4%F4%F5%F5%F5%F6%F6%F6%F7%F7%F7%F8%F8%F8%F9%F9%F9%FA%FA%FA%FB%FB%FB%FC%FC%FC%FD%FD%FD%FE%FE%FE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%21%FF%0BNETSCAPE2.0%03%01%00%00%00%21%FE%11Created%20with%20GIMP%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%DD%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%EC7%80%80%C7%02%02%EC%0D%40%99%F2%E4%CA%92%2F%5B%E6%5B%99%B1%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%BB%B6%ED%DB%B8s%EB%DE%CD%BB%B7%EF%DF%C0%83%D7%0E%08%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FC%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF7%03%88%1E-Z%80%E9%01%04%0A%188p%00A%82%05%0D%1EH%A8%C0%964i%D3%02P%ABn%FD%9A%01%5C%DB%A3O%EB%5EM%17x%00%DC%A8%EF%1A%3F%0E%BA%B9%F3%E7%D0%A3K%9FN%BD%BA%F5%EB%D8%B3k%DF%CE%BD%3B%CA%80%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%20%03%88%160%80%40%81%03%09%16%40%B0%D0%A1%04%8C%1EK%B0%90%89%B3%87%D0%A2H%966y%0A5%AAT%29S%A7P%A5J%A5J%D5%AA%E3%C8Y%B1Z%15U%F4h%D2%04%0C%20X%F0%80B%06%11%2Cp%14%A1%22%06%0E%9FB%8D%2A%B7m%02E%EAT%AAU%AD%5C%BD%82%05%2B%96%AC%F7%B2f%C9%9FO%D5y%00%E8%A8%19%3C%60%5D%C2%05%8F%25Y%981%87%1F%88DrI%27%A2%94%82%8A%2A%E9%AD%D7%1E%7C%F1%CD7KU%F6A%27%9D%02%0EH%80%C1%07%29%D0%10%84%13%5D%ACq%C7%20%8CL%A2%09y%A7%A8%C2J%2B%EB%C5%E2%DE%7B%12NhU%85%A5I%B7%80%03%13l%20%C2%0A7%18AE%18o%ECQ%88%23%96p%12%8A%82%E8%B5%F8b%84%F2%7D%E5%9C%00%D0%15p%A1~%11P%60%01%06%1Al%D0A%07%1E%7C%00%C2%97%21%84%29f%08%A0%95i%E6%99h%A6%A9%E6%9Al%B6%E9%E6%9Bp%C6%29%E7%9Ctf%15%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%14%03%88%160%80%80%01%04%0D%26p%40%81C%89%965w%02%25z4%C9R%A6M%9D%3C%7D%FA%04%2AT%28Q%A3F%91%22U%AAxqS%A6N%9DB%C5%1CU%AA%E7%AA%A2%ABZE%FD%E8%E8%D2%06%124%A8%00%82%05%8F%27a%E4%D6%FCI%14%E9%12%A7O%A1%88%27_%0E%9D%3A%2BV%AD%E2%BB%9A%FF%EA%15%AC%FB%B0b%E9%8F%25%AB%BF%7F%A4%A2%05%20%80i%0A%3C%60%01%08-%F8%10%05%19t%00%B2%C8%24%99t%02%CA%28%A5%24%E7%5C%2A%D3%AD%F2%5E%7C%F2%D5g%1F~%FB%F1%E7%DF%7F%00%8A%86%5D%81%07%BA%F0%83%14%0C%06%C2%08%25%9Ax%22%0A%29%16b%E8%1E%7C%1C%D2W%1F%88%FB%8D%D8%DF%2C%B2%285%DA%80%D99%60A%08.%001E%19u%0C%D2H%25%9BLX%0A%7B%D3m%98%A3%2B%3B%F2%28%A2%8F%B3%00%F9T%80%A4%99%96%00%03%0FHP%C1%05%19l%C0A%07%1Dx%E0%C1%07p%C6%F9%01%08t%D6i%27%08%21%E4%A9%E7%9E%21%80%E6%E7%9F%80%06%2A%E8%A0%84%16j%E8%A1%88%26%AA%E8%A2%8C6%9AU%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%0E%03%88%1EP%E0%00%83%0A%20%60%0C%C1%82%A6%CE%9FC%8C%1EE%9AD%A9%92%25K%970e%CA%A4I%D3%A6M%9C8u%F2D%FC%D3%27P%A0B%29%17%25j%94sR%A4JI%9F%5E%CA%94%F5S%D8%7F%8A%0E0%80%80%01%05%116%EF%A4%E0%21%A5L%1DA%8B%22U%CA%04%7C%B8%F1%E4%A1%98%3F%9F~%1D%3B%2AT%A9R%A9%DA%BF%AA%3F%AB%FF%AD%04%18%A0%2B%04%BE%F2%8A%2BA%05%20%00i%08%9C%16%02%0CFl%E1%06%1F%88%3C%B2%1Ep%9E%1C%97%9C%7C%A3%40%27%5D%7D%F7%DD%A7%1F%7F%FE%01%28%60%2B%04%BAb%E0%2B%B0%BC%92%A0%82%DE%29%00%81%06%27%E8%10E%19v%0C%D2%C8%24%98l%D2%89%86%F1%3D%17%DD%87%D8%9D%22b~%24%AE%F2%1F%2B%27%A6X%E0%8A-%0A%25%9A%00%04%98FAjFh%E1%86%1F%89Dr%89%8F%C7q%E8au%A6%D8w%E4~%AA%94%C8%E4%89%28%3E%C9%22%2Cp%C2b%D4%94%0C.%E0%80%04%15%5C%90%81%06%1Bp%E0g%07%80%06%DA%81%07%84%16Z%E8%07%88%26%AA%28%A2%204%EA%E8%A3%8E%82%26%E9%A4%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%9AU%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%08%03%88%1EP%00%C1%03%0C%26t%40%19%23%87%8F%A0C%8A%185r%F4%A86%A4H%B8%25%E9%9E4%89%92%EFJ%C0%2BY%1An%E9%92qL%982e%D2%C4%5C%D3%A6%E7%9C6q%9A%DE%A9%BA%A7%EB%D8u%8E.%DD%E0B%89%1CQ%CC%F2%D4%09%94%C8%91%24J%C2%8D_J%BE%9C9t%EA%D5%3Ba%FFD%FF%13%28P%A1%F2%87%12%C5%7F%94%FFQ%A4%04X%CA%80%03%9Ab%E0%29%A6h%17%C0%00%04%1C%C0%40%05%22%D4%B0D%18s%FC%91%C8%23%93Tb%9Cr%ED9%27%1D%7C%D8yR%DF%7D%F8%E9%C7_%7F%FE%05%28%20%81%06%1Ex%CA%8B%A7%28%28%00%01%06%28%20%C1%070%18%D1%05%1C~%20%82aq%ED%3D%F7a%7C%F2%898%E2%7D%26%A2%F8%9F%8A%04%B2%E8%E2%8B%A8D%89%CAN%DB%25%00%C1%06%2A%00%81%05%1B%7C%F8H%89%25%CB%7D%C8I%7C%F3%D9%87d%89%FB%9D%B8%E4%8AN%3E%09%A5%94R%FA%24%9A%00%A4%21%B0%C0%03%12TpA%06%19h%A0%C1%06%80%06%1A%28%07%84%16j%28%A1%1D%24%AA%E8%A2%8Bz%E0%E8%A3%90F%EA%01h%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%2A%EA%A8Y%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%03%03%04%18P%E0%40%83%0B%25r%3C%11%03gO%A0B%87%10%25%9A%AD%A86%ED%DA%B8%15%CDN%A4%BB7%EE%DD%BAy%E7%BE%1D%5C%B8%EF%E0%BF%13%D1%0C%20%80t%82%07%1AR%F8%B0%92%06%8F%A0D%8D%1EE%92%C4%BD%BB%F7%EF%E0%C3%A7%8B%1FO%DE%FB%F2%D1%05%9EkX%01%C4%CA%9A%3C%83%149%8A4i%12%A5%FB%F8%F3%EB%DF%CF%1F%BF%FD%FE%00%F27%C9y%A4%21%F0%C0%06%ECa%B1%C6%1E%850%02%89%7D%95D%18%A1%25%14JXI%85%17Z%22%21%86%16%5E8%A1%86%19n%D8%21%85%20~%18%E1y%02%10%A0%9E%0A%40d%D1%06%1F%874%22%09%25%17%5Eb%E3%8D8%E6%A8%E3%8E%3C%F6%E8%E3%8D8%89%D6%1C%01%06%400%81%05%17%60%90A%06%1A4%E9%E4%93PF%29%E5%94TV%F9%24hXf%A9%E5%96%5Cv%E9%E5%97%60%86%29%E6%98d%96i%E6%99Y%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CD%01%02%08%20%60%40A%84%0E%2C~P13%87O%A0B%87b%CB%8Em%A8P%21B%84%06%09%DA%1D%A8%F7%9F%DF%7F%FC%F4%E9%C3%87%CF%9E%3Dz%F2%E0%C1s%E7%8E%9D%E7u%EA%D0%A13G%8E%9C8p%E0%BCq%D3%A6%3B%9B5%E0%D3%FE%88Gs%C6%8C%992%2CC%8B%1Ep%80%81%85%115%96%80%81%C3%A7%90%A2F%8F%20Az%C4%FF%91%23G%8D%04%C8%08%23%8B%2C%A2%88%22%89%24%82%C8%82%87%D4f%5Bn%BC%05%02%08%20%C1%F9a%21q%C7%21%97%87r%CDE7%1Du%D6e%97%DD%1B%DD%B5%14%DA%00%05%24%E0%00%06%27%EC%20%85%19u%00%82%08~%91Hbc%248%EE%E7%DF%7F%0062%20%81%08%2A%88%88l%0E%E2F%C8n%82%F4Fa%85%C3%19%A7%21%87%CEy%08%A2u%D8%C1a%A2%00%03%94%26%01%07%2C%04%91%C5%1Az%10%B2%C8%23%92L2%09%25fNrc%8E%FD%FD%17%A0%8F%05%1A%98%A0%82%B4%15%09%21oK%06G%9C%93%7Bl%98Gs%D0IG%5Du%E9%89F%40%7B%15%880%83%12_%C4%F1%07%22%8EHB%09%25%95T%3A%29%9Aj%AE%19%89%8En%0A8%A0%9C%092H%DB%83%10%2A%B9%E4%85%C5e%98%1Cs%80z%08ShNX%12P%C0%01%09%28%B0%00%03%0C4%D0%40%06%BC%F6%EA%2B%06%C0%06%8B%C1%05%C4%16k%EC%05%16%24%ABl%B2%154%EBl%B3%14D%2Bm%B4%13Tkm%B5%12d%AB%EDg%DCv%EB%ED%B7%E0%86%2B%EE%B8%E4%96k%EE%B9%E8%A6%AB%EE%BAj%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%C9%01%02%08%20%60%40%01%84%0C%25j%24%D1%92%A6N%1FA%87%10%25%9A%8D%08%D1%A1C%85%0A%0D%12%14%28%D0%9F%3F~%F8%F0%D9%93%07%CF%1D%3Bu%E8%CC%91%03%E7%8D%9B6m%D6%A8I%83%C6L%192c%C2%84%F9%E2e%8B%96%2CX%AC%FET%A1%22%25%0A%94%27M%98%2CY%92%C4H%91%21A%80%FC%F8%D1c%87%8E%1C7j%94%14%3D%A0%00%02%07%16%8C0%83%11Z%A8q%87%20%894%F2H%24%92H%12I%24%90%3C%E2H%23%8C0%B2%08m%B8%11B%08o%80%00%D7%C7py%E4q%5Crr0%F7%06t%D2Qg%1D%19bl%E7%05%17%DEeq%85%15TLQ%1E%14N%A8%97%04%12%EE%11%21%84%7C%3E%F00Rh%A2%11p%C0%02%12p%B0%82%0FR%94A%C7%1F%884%12%C9%24TR%E9%60%24%12Nh%E1%85%B6e%B8%5B%20%1D%06%07%A2q%C9-%17Gsm%B0%91%E2%19%2B%8A%01%06w%5Ch%F1%DD%8C5Jq%5Ez%EC%F1H%C4%10%3F%FE%20Rh%02%08%D0_%02%A7%95p%C3%12%5E%C0%D1%C7%21RRR%C9%A3%95Pb%25%84YR%B8%88%22%89%D8fH%21%84%7C%19%A6pz%14wG%99r%9C%F9%9C%9A%D3%B1%89%5D%18%60x%F1%E2w%B4%E1%D1xc%8EK%28%91%C4%11F%EC%19%C4%90%82%1A%C9%40%05%20%C0%40%04%16j%E4A%08%23%91Pb%C9%25%CC%5EbI%A4%92%3A%18%A1%23Z%5E%9A%E9%21%9Bn%D8%1Bp%C1%ED%11%EA%88%CA%99x%EA%1A%2A%5E%97%5D%AB%5D%C4%18%5E%156F%F1%04%AD%EC%E1J%C4I%80%0E%40%40%01%07%24%A0%C0%02%0C0%D0%C0%BF%00%03%DC%2F%06%04%13%7C%C1%C1%07%5B%A0%B0%05%154%5C%01%05%10S0%C1%C4%13K%60q%04%18G%00%C1%C6%1B%3F%E0%F1%03%0E%84%EC%40%C0%FD%96%BC%C0%C9%27%2B%A0%B2%02%09%7C%E6%F2%CB0%C7%2C%F3%CC4%D7l%F3%CD8%E7%AC%F3%CE%3C%F7%ACV%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%C3%01%02%0C%20%60%00A%83%09%1AH%C8%10%22%25L%9B%3B%7F%0A%25b%E4%E8%91mG%8E%1A1R%94%08%D1%A1B%84%06%05%02%F4%C7%0F%9F%3Dy%EE%D8%A13%27%CE%9B6m%D6%A49c%86%8C%980%5E%BAh%C1r%A5%CA%94%28P%9A%FE0Y%92%C4%08%91%20%40%7C%F0%D0%81%C3%06%0D%191%5E%B8%60%A1%02%C5%89%12%25F%8C%00%01%C2C%87%0D%1Ah%90%C1%05%16T%80Qh%02%90%A6%80%03%14t%90%C2%0DH%60qF%1D%7F%20%E2%88%24%95Xr%C9%86%97XR%09%25%93H%12%C9%23%B91%B2Ho%86%00%27%08q%7D%EC%A1Gru%D0%21%87s%D1MW%9D%18%60x%C1%C5vVP%21E%14O4%B1%04%12F%14%21Dz%EB%B5%F7%5E%7C-%AC%A0B%0A%27%98%40%C2%08%21%F4%E7%1F%07%01bPQh%01%080%9A%01%098PA%07%28%DC%90%84%16h%D4%11H%22%8FPrI%26%9A%C4%99I%26%1D~%18%E2%88%25%9E%E8%5B%21%83%08%12%C8%1F-%EA%81%C7%1D1%CA%01%C7s%D2%A1qc%8E%3Bb%D1%E3%8FN%8CW%1E%11G%AA%C7%9E%7B3%C47%DF%93QN%29%02%08%1F%5C%B9A%06%5B%22HZ%98%15x%90%02%0Eg%AAq%87%20%EB%8BDR%09%26%9Al%C2%C9%26%9B%C8%B9%A1%87w%92%A8%9B%9E%BF%11%B2%22%A0%7C%08J%A8%8C%87F%A7%86%A2%D61%CA%A3%8FPD%3A%A4y%95%26%89i%0C04%C9%A9%94T%82%EA%1F%80%14%21%F8%E5%82%A9%AA%80%83%12%5B%AC%91%07%21%8CHr%89%26%9Ct%22o%27%9C%DC%AAI%26%98%D4y%27%24y%F6%16%EC%B0%C6%BDx%AC%A1%88%DA%D8%AC%8E%CF%FE%18%E4%90G%18%89%E4%A54d%FA%82%B6Pr%FBi%A8%1Dp%90%11%97%5E%12P%40i%09%28%B0%00%03%0D%94%EC%C0%C9%27%97%AC%F2%CA%0C%B4%EC%F2%02%16%C4%5C%60%05%15P%60%F3%048K%A0s%04%3CC%E0%F3%03%40%A7%5C%F2%CB%0B%14%AD%C0%D1%09%24%9D%00%02L%1F%E0%B4%D3%06Dm%40%01TWM%C0%D5%04%7C%A6%F5%D6%5Cw%ED%F5%D7%60%87-%F6%D8d%97m%F6%D9h%A7%ADV%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9s%C4%00%01%F6%82%0E%20%20%B4%5E%D2%A4%09%188%80%80%01%84%0A%1AD%A8%A0%01%84%09%961m%EE%FC1%B4%E8%D1%24K%972i%D2%B4i%93%A6L%99.Y%B2T%89%D2%24I%90%1E9b%B4%28%11%A2C%85%06%05%FA%E3%87%CF%9E%3Cw%EA%FE%CC%89%F3%A6%CD%9A4f%C8%8C%09%E3%85K%96%2BU%A4%40q%C2D%C9%11%22B~%F4%D8%91%C3%06%8D%180%B8%C0%82%0A%28%98%40%C2%08%21%7C%E0A%07%1Ch%90%01%06%16T%40%C1%04%12D%00%C1%03%0F4%D0%C0%02%0B%28%E0a%02%08%20%20P%00%03%0CP%C0%01%09%B8F%81%06%21%AC%60%C3%10Pla%86%1C%7B%10%B2%88%24%97h%D2%09%28%A2%8C2%0A%29%3E%8E%22%8A%28%A0%80%F2I%27%9Cpr%1C%26%974%27I%24%D2Q%97%08v%84l%D7%9D%1Ex%D8A%87%1Cp%98%97%C6%19e%88%01%86%17%5BdaE%7CP4%B1D%12F%0C%01%84%0F%3C%E4p%03%0D3%048%60%81%07%86%00%C2%82%0DfpA%84%13Vx%A1%03%1A2%D0%E1%87%00%90%A8%1A%02%0B%3C%40A%06%20%A4%20%C3%0FKdA%06%1Cz%0C%B2H%24%96l%F2I%28%A2%90R%CA%A8%A3%92%02%A4%28%A1%18%E9%09%92%C6%25g%89s%FE%D09%D2%08%23%D6%19B%88%20%DBy%07%9Ex%E4y%99%5E%18_t%A1%05%16VL%21%05%7D%F6%E1%A7%9F%0E8%D80C%0C%2F%B4%B0B%0Ax%22%A8%60%07%1B%3C%F8g%A0%12%400h%03%86r%E8a%A2%27%26%D0%40%04%17x%60B%0C%3D%24aE%18m%E0%11H%22%9Cn%E2I%A8%A3%9Ar%8A%29%FC%9AR%AA%90%A9~%B2%AA%92%99%60%C2%1C%25OJ%D7Hu%88%14r%2B%20Wf%B9%25%1Cn%B0%A1%06%98c%8C%B9%85%16%F0%C9%E7%C4%9Am%02%D1%03%0F%CC%D6%20%83%9D%2A%A4pB%09%23%88%00%C2%07%0C%3A%08%A1%84%14Z%08%01%A1%E0%8A%AB%00%00%02%A4%F8%DA%06%23%B4%90%83%11S%7C%A1F%1D%7F%20%F2H%25%9E%E2%7B%CA%29%A8D%8D%CA%D3%FC%96r%2A%AAF%B2%BA%E4%AB%CFE%B7%B0%22%D7e%B7%5D%1F%DF%857%B1%AFd%00%DBE%99%C5J%F1D%13%C9%06%A1%DF%0E%CD%D2p%B2%B4%04%9AP%82w%08%09.%B8%81%06%18l%3BA%CD%DF%86%DB%E1%88%A4%090%00%01%04%14%B0Z%02%0A%2C%C0%00%03%0D8%E0%00%86%98g%AE9%86%96wn%B9%86%A0%83%3B%F9%E8%1C%96%EE%E1%E0%83KPa%046c%FE%B9%E8%86%7F%98%00%88%21%1E%60%FB%01%06%E4%5E%C0%EE%BB3%CEx%89%C0%03%2F%C0%F0%C4%97%06%9Ag%C8%27%AF%FC%F2%CC7%EF%FC%F3%D0G%2F%FD%F4%D4Wo%FD%F5%7B%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1c%AD%01%FAF%0E%40yo%00%01%98%23%E7%0D0%A03%01%02z%03%140p%E0%80%01%BD%02%12%28%60%E0%80%81%5E%02%0F%24P%B80A%EF%81%0C%1CB%94%F0%A0w%01%8A%163t%B8%D0%1B%C1%07%91%25R%84%E8%D5p%C5%0B%994V%F4%8ExC%27%8F%1F4z%5B%0CB%B4%E8Q%1D%BD6%26%FEY%CA%B4%E9%8F%5E%1F%9EB%89%22eH%AF%10S%A7R%A9Z%A4%D7%08%2BV%ADZ5%D2%9B%C4%D5%AB%FF%8E%E8%A5D%2C%04%C6%F2%88%80%B2%24%28%CB%2B%AA%A8%92%CA%83%A8%A0r%CA%84%A6%94ba%29%A4%8C2%8A%28%A1%80%02%8A%27%9Et%C2%89%26%99%60r%89%25%95L%22I%24%8F8%C2%C8%22%89%1Cb%08%21%82%FC%E1%07%1Fz%DCa%07%1Dr%C0%D1%C6%1Ai%98A%86%18_p%A1%05%16UH%F1%04%13K%20a%C4%10%40%F4%A0%03%0E5%CC%10%83%0B%2C%A4%80B%09%24%8C%10%C2%07%1Dp%A0A%06%17TP%01%05%13D%00%C1%03%0E%B4%C6%C0%02%0A%24%90%00%02%08%94V%9A%01%05%E4%F9%D9g%00%2C%A1%E0%9F%05%C2%02%CB%7F%AE%E4%97%1F%2B%AB4%98J%84%A7T%98%21%87%A0%7C%22%E2%26%99%9CH%C9%24%91%40%E2%22%8C%87%14%22H%207%EA%81%87%1Ds%C4%F1%06%1Bj%9C%21d%18%5E%1C%99%24%14%FEM4Y%84%10%3F%F0%A0%C3%0D4%C8%00C%0B%2B%A4p%82%09%24%7C%E9A%07%1Bh%80%81%05%15L%20%81%9A%0F%B0%D9%C0%9B%0AD%3Bg%9D%A6%E5Y%C0%9E%A0-1%CB%2C%7F%CA%12%A8%A0%AF%B8Rh%2B%F7%AD%92%28%84%8Db%B8a%87%9Fx%C2%C9%26%24%A2%A8%22%8B%8DpZ%08%21%81%FC%C1%C7%1E%A3%F2%E8%23%90%AB%B6%8A%85%15SD%E1%C4%12I%3C%19%E5%94U%C6%F0%02%0B%2A%FCJ%82%08%20%80%B9A%06%18%94%89%A6%9Ak%3A%F0%2C%B4q%D2Y%27%9Ez%EE%D9%E7%B6%DC%2A%F8%ED%A0%E1%8E%5B%AE%83%8B%A6%FB%28%BB%21%8EX%A9%25%94%AC%F8H%23%8C%28%82%C8%8C%F9%F6%B1G%1Ew%D4%D1%A3%1B%00%93%C1%2A%17YXA%85%92%08%1BAD%10%3E%EC%80%83%0D3%C8%F0B%0B%2A%A0%00%AC%08_%86i%EC%05%C8%A6%19A%04%CE2%00%B2%02t%DAi%ED%B5%7Cj%8B2%A0%04%82%DB%B2%A1%88%2A%2Aa%A0%85%18%8A%02i%CD%94Z%8Ai%8B%2F%C6%E8%29%207%12%5D%07%1D%A6%A2z%C6%90_t%A1%C5%15%AF2%A1%C4%11%B3%D6%9A%83%0D4%C4%00%83%0B%BD%9EP%82%97%1F%0C%7B1%D9%C9.%DBq%03%CF.%00%27%DBmW%5B2h%05%9C%CD1%04%B8%E7%AE%FB%EE%CD%F6%EE%3B%9Bm%06%EF1%EB%AC%ABm%BC%EB%AEG%AB%BC%9Cr%E6%DEl%9B%C4%AB%9D%BC%B4%D3Rk%9A%01%D8%BF%8Dmg%DC%0F%80%D9%F7%99Q%26%FE%F8%E4k%F6%D8%F9%E8%A7%AF%FE%FA%EC%B7%EF%FE%FB%F0%C7%2F%FF%FC%F4%D7o%FF%FD%F8%DF%14%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%85%06%000xo%80%C3%87%F5%06%18%C0X%40a%BC%02%0AH.%40%40%EF%80%04%98%13%18%D0%5B%00%82g%08%0C%F4%22%D0%B0%A1%F4%04%BD%0DV%B0%60%B1%E2%83%5E%0AB%86%C8%86%A1%D7%03%97%DB%5C%8A%E8EAg%8E%EF%2Czg%1C%1A~%28%8D%5E%1E%95%2AY%B2tG%AF%10P%D0A%01%D2k%E4%94%F5S%86%F4%26a%C5%9D%95%22%BDK%5E%FE%B9%1A%DF%08%3C%2CX%AF%5E9%D2%CB%24%96%7BX%EB%F32%91%25%CB%FD%23%F6%F4%EB%DF%97%9F%3F%D6~%BC%F3%D5%E7%1F~%F4%0D%C8_%81%FF%DD%15%A0~%04%DAG%20%83%07B%08%60%7F%09%DA%B5%04%85%E0a%98%D7%85%08f%D8%E1%86%05%C6%E2J%2A%A9%A0%82%8Au%A6%94%A2b%29%A4%8C%22J%28%A1%80%F2%89%27%9Dp%B2I%26%98%5CbI%25%94H%12%C9%23%8D0%A2%08%22%87%14BH%20%7F%F8%B1G%1Ev%D4%21%07%1Cm%AC%91%86%19d%88%01F%17Z%60Q%85%14O0%B1D%12E%08%F1C%0F%3A%D8%40C%0C0%B8%B0B%0A%26%900B%08%1Ft%C0%81%06%19%5C%60A%05%14H%10%81g%0E4%C0%C0%02%0B%28%A0%40%02%08%1C%60%E8%01%06%18%20%19%01%8C%12%C0%D8%A3%02D%0A%00%87%EE%BD%87%9Ex%ADd%CA%CA%2A%AB%A8R%E2%89%29%B6%F8%E2%8C5%DE%A8c%8F%3F%069%A4%21G%FE%D1%C7%1E%FEx%D8AG%1Co%B0%A1%C6%19f%8Cq%A5%16WP%21%05%14M%28q%04%11A%F4%B0%03%0E6%CC%10%83%9A%29%9CP%C2%08%22%80%E0%01%07%1Bh%80%C1%9D%13%E8%19%C1%03%0E%FC%09%A8%A0%98%15%8A%E8d%8D%3A%FA%E8%00%91%0A0i%7F%96%A6%E7J%A6%ADl%DA%E9%A7%A7%84%EAb%8C4r%A2I%26%A7%FA%08%24%23%89%20b%24%92%AF%C6J%87%1Co%B4%A1%06%1Ae%E8%8Ae%AF%5C2%21%2C%11%40%90%89C%0D%CA2%7B%82%09oJ%DB%C1%06%19%60pA%05%D9J%00%01%B7%0Cx%0B.%02%E2%2A%BAh%B9%E7%A6%BBn%88%B1%9C%E7.%BC%DC%CDkb%BD%2C%DEK%AA%BE%FCZ%82%EA%BFC%0E%EC%2A%AC%B2%3E%A90%C3b%7C%C1%85%16V%F8%DA%E5%C4%15%EBp%F1%0Ci%AE%E9%2C%B4%1E%83%7C-%C9z%9E%DC%A7%9F%81%0E%CA%B2%A1.S%D6h%CC2s%28%E0y%97%8E%A7%29%A7%9E%96%C8%B3%A8%A1%7C%F2I%87%A9A%0F%DD%C8%22%01%1B%5Dp%1D%07C%B9%C6%19e4%8De%D4%11%0B%3BD%C5%C7%26%9Bu%0A%28%3C%1BB%D7%21%8F%9C%ED%9E%DC%F6%A92%A1-%93%BB6%DB%EAv%F6%D9%E9%A8%7B%F6%C0%EA%AC%B3%EE%C0%EB%B07%20%FB%EC%29%A7%0C%E8%ED%82%82%9B%19%CBg%1B%2A%BB%ED%DF%0E%1A%AE%B8%88%26%3A%99%DA%A3C%9An%BA%885%EF%BC%F3%81E%2F%FD%F4%D4Wo%FD%F5%D8g%AF%FD%F6%DCw%EF%FD%F7%E0%87%2F%FE%F8%E4%8B%14%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%9F%06%0007nB%01%02%02%E8%B5k0%C0%00%02%80%07%E0%D5%5B7n%80%03%0A%10%208%60%A0%00%81%01%03%0A%C7%3DPA%C2%03%07%0C%16%24%40%60%40r%DC%05%23%3Ch%B8P%B9A%01%BE%04%25%D8%80%A1%A2%04%08%07%9E%F9jx%82%04%88%0E%13%A8%0D%8E0%03%26%8B%14%1C%B9%0B%B6%D8S%07N%9A%25%C1%09%D6%60%84h%90%1F%2F%C9%07%F2%D0tI%92%237%D1%05%0A%19%15%AA%D3%26%3D%D9%01%FE%14Iu%AA%D4%28A%E1%91%B4b%B5%2A%15%A2%F0J%5E%B9j%D5j%11%7CX%B0%E47%0A%BF%24V%2C%FC%8E%F0%27%8B%2C%FF%05%98%DD%12%03%FA%F7HxL%24%18%CB%82%07%3A%08at%08%12%F8%A0%80%16N%98%5C%83%192h%21%2C%1A%06%D7%A0%7F%17f7%A2%82%1E%92%18bnL%F8%07%20%83.%C2b%60t-%FE%27%23%8C.%CE%98%5C%7F6%EA%28b%8C%3E%B2%08%24%7FC%1Eh%E3%2B%FB%1D%88_~IR%B8%24%92%FC%3D%D9%E4%8E%F8%BD%02%A5%92%F9%5D%E9d%96S%06%B7D%96%AEt%99%5B%7CV%BA%C2%08%7CV%CAwfvd%BA%12%26%9A%F2%99%19%5E%12e%B6%B2J%29x%922%8A%28%A2%84%02%CA%27%9Ex%D2%09%27%9Bh%82%C9%25%96TB%89%24%91%3C%D2%08%23%8A%24r%88%21%84%04%F2%87%1F%7C%E8%81%87%1Dt%C8%01G%1Bk%A4a%06%19b%80%E1%85%16XT%21%C5%13L%2C%91%84%11%FEC%FC%D0%83%0E7%D4%20C%0C%2F%B0%A0%C2%09%25%8C%20B%08%1Ft%C0%81%06%19%90V%01%05%12D%00%C1e%0Dd%A6%80%02%9B%29%B6%18c%05T%EB%18%60%8FA%06%19%5E%DC%E2%05%40%9B%F4%AD%C7%9E%2A%A9%A0%82%CA%29%A6%E4%D9%E7%9F%82%16%9A%C9%25%95L%C2%A8%A3%8C%24%82H%21%84%08r%E9%1Ey%DC%D1%29%1Cn%84%3Aj%18_p%91%85%15SH%01E%13J%1CA%04%10%B3%E2P%C3%0C%B8%EA%8A%82%09%24%88%00B%B0%C3bp%81%05%15L%90%EC%B2%0E4%BB%C0%02%D0J%CBXc%D6b%9B%AD%B6%DDr%FBm%9C%E1%B22n%B9%A7%A0%5B%8A%9E%EB%02%EA%9D%A1%89%CA%0B%89%A3%8BH%8A%AF%A5%7D%F0%CB%A9%A7%A0%A2a%C6%18ax%B1%05%16%08G%C1%EA%ABC%40%AC%83%C42%C0%E0%C2%0A%29%F0%3AB%08%1Bw%B0%81%06%18X%60%01%05%22%2B%CB%AC%C9%29%2Bv%00%B5%D5b%AB%ED%DD%82%C5%0C%00%FE%9D%F3%D1g%F3%2A%AB%90%7B%AE%CE%3C%FB%F9%C9%A0%85b%12t%24%908%C2H%D1%87%14%22H%20%98jZG%A7o%80zF%19%A5v%A1%C5%15%AA.%BC%04%12E%08%F1%03%0F%B4%D2%D0%F5%D7a%F7J%F6%07%1Cl%90A%DA%21%27%ABl%C9%26%A3%1C%F7%DC%2C%D7m%F7%DD1%7B%CBw%CD%E3%0A%AE%F3%CE%3D%0BJ%E8%BB%96%2C%DA%A8%E3%8A%20rH%BE%80%60%DAo%1Ds%C4%E1%06%1B%A2%92A%B0%E7VP%B1%2A%13J%90%1E%84%0F%3B%E4p%83%EA%2F%B4%B0%C2%C5%19%03%EB%81%D9%C5%AE%DD%F6%B2%0F4%D0%C0%C9%28G%3B-%CB.%7B%D9%B6%82%27%00%00%14%00%02%08L%E0%03%16%C8%40%06%3A%E0%81%10%C4%9D%FE%F4%C7%80%0Af%86%7F%BA%7BV%026%E8%3F%B9%CDme%06%60%99%067%E8A%DE%85%D0Z%D7%0A%0C%DE%F2%D6-%C2%B8%F0%850%0C%8F%0CgH%C3%1A%DA%F0%868%CC%A1%0Ew%C8%C3%1E%FA%F0%87%0D%40%0C%A2%10%87H%C4%22%1Aq%25%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%ACY%89%01%02%9C%AD%18%40%40Z%B5%00%E0%AE%5D%18%A0%80%01%02%04%06%08p%9Bv%AE%C2%00%0B%228Pp%E0%EE%00%BDr%FD%16%0CP%21%C5%08%0E%15%200Hp%20%AFb%84%1D%964%09RC%05%88%0C%13%1E%28%18p%D9%A0%860x%DA%88%B1%B2%A4G%8C%13%1E%1A%24.%0D%21%8D%25H%88%FC%D0Q%F3EJ%11%12%05J%13%2C%E0%25%14%29P%9A%285%2A%C4G%0E%94%08%C2%07%06x%02%AA%D5%AAT%A5Du%C2%24i%8F%8C%E8%03k%FEX%82%05%EBU%2BV%AAN%91%CAD%854%F8%0E%85d%C9%8AE%FE%95%ABV%A8%E64%00%0F%E0A%1EX%F2%C9G_y%84t%C0%9F%40J%CC2K%80%F3%C5rI%0E%07%0E%94%C4%82%0C%8A%22%C5l%FC%25%C1%20%2Bi%1C%10aAJ0%08%C9%87%06%85%18%E0%88%24%12%B4%84%88%29%AA%18%60%2C%8F%B48%D0%8A%02%C6%28%23%00%26%CEg%A3%8C%26%C6%02%E3%8D%00%AC%E8%23%2C%8E%00%29%24%7DE%DE%B8%84%8F%F4%ED%D8%E2%92C%3A%99%22%94%E4%25%29%23%95D%1A9d%96J%0E%08K%23F%D6%F7%0A%98J%8AI%E6%95f%86%F9%8A%7Dg%3E%B9%A6%2B%AE0b%E4%9Bq%CE%09g%2Br%2Ay%27%9EF%DE%D7%0A%9Fz%FE%D9%CA%22%7D%0AJ%E8%8DJ%08%CA%CA%A1%3C%FE%C9%CA%A2%40%26z%1E%2B%8AD%EA%E8%2A%95%DE%88%C4%A3%AC%AC%92%08%90%9Bv%EA%29%A8%8F%AE%A2%CA%A7%9A%AEb%AA%2A%88%80%AA%AA%2A%FE%A9%B4%9A%AA%2A%B0%CA%2A%23%12%A6%A6%12%2B%90G%D0%9A%0A%2A%87%00i%84%AE%A8%00%2B%EC%AF%A8%9Cb%C8%B1%C5%2A%0Bd%11%BF%9EbJ%21%CF6k%0A%29%9Dp%B2%C9%26%9Adr%89%25%95P2%89%24%91%3C%E2H%23%8B%24%82%C8%21%86%10%22%08%20%7F%F4%B1G%1Ew%D8A%87%1Cp%B4%C1%86%1Ah%981F%18_p%A1%05%16VL%11%85%13L%2C%91%84%11C%00%E1%C3%0E9%DCP%83%0C1%BC%C0%82%0A%28%98P%C2%08%22%80%F0A%07%1Ch%90%01%06%17TP%C1%04%12D%00%C1%03%0E8%D0%C0%02%0A%24%90%00%02%07%14V%00%5Ez%F1%F5%16DE%24kJ%29%A5%902%8A%28%A1%80%F2%89%27%D9n%92%09%26%E0RB.%24%8E0%92.%22%ED%0A%F2%87%1F%7C%CCk%2F%BEn%EC%7BF%19%FFz%C1E%16VP%21%05%14O0%91%C4%11D8%0C%F1%0D4%C8%00%83%0B%17g%BCq%08%20x%00%B2%FE%C8%24W%40%01%CA%2A%B3%DC%00%030%2B%10%B3%CD7%E7%95%B3%CE%0F%15q%8A%B4%40%93Bt%D1%9F%24%DD%ED%B7%95%8C%5B.%BA%EA%1ER%88%20%81%F8%21%2F%BDu%CC%01%C7%1Bm%AC%91%86%19d%00%DC%85%16WTa0%C2J%1CQ%84%10%3F%F0%A0%03%0E5%C4%FDB%0B%2B%A4pB%09%24t%AC7%07%1Bh%40%B2%05%7F%A7%1C%B8%CB%2F%1B~%B8%01%D4%27%9E%D7%5E%D8c%88%90%E3%3F%07%3D4%E5Hk%AB%09%D3%E1%92k.%23%8A%24%E29%21%81%5C%CD%87%1Exl%0DG%D7i%A0%016%18%5DlA%B6%D9O4%A10%C3n%8BX%DC%E6%C6%82%14d%8C%04%23%08%C1%07%3C%80%BC%E4a%C0%02~s%DE%CAZ68%98%CD%8Cf53%40%016%A88%EC%F1%A5%21D%80%9C%D0D%21%0A%A3UN%7C%DE%0A%D7%24%CAu%AE%A9%19%E2s%A1%CB%1A%E9%E6%10%07%D4%A9%8Eu%00%13X%ECf%C7%04%25%20%A1%08%84A%C8%DD%EEj0%83%8A%01Ox%1B%EB%D8%02%917%B2%0B0%0Fp%13t%19%E1%2Cx%C1%0Cn%F0f%87Y%DC%CE%16B%80%07%B0%ACe%60%A4%60%03%C68F%06%98%D1%8C%0BHc%1A%A5g8%99%B9%11%01p%84c%CD%E6H%BD%3A%5E%91%83x%21%C0%1C%0BS%BD%3B%E6%11gY%CC%A2%07%B3%F7%96B%1A%B2%2F%40J%A4%22%17%C9%C8F%3A%F2%91%90%8C%A4%24%27I%C9JZ%F2%92%98%CC%A4%267%C9%C9N%C6%24%20%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%2B%C4%00%5E%3F%0A%18%1B%A0l%D8%8C%04%0E%14%180%40%80%D9%B3%15%0FP%90%C0%00%C1Z%B2p%27%2AX%21%A3%84%86%08u%0B%10%18%006%EF%C3%03A%C6P%19%22%83D%06%BA%07%06%18~8%60%C9%A0%40t%C8P%11%12%83%84%06%07%92%277%1C%22%89S%25F%81%E6%90%91%12D%C5%02%D1%0DO%28JeJ%94iF%7F%E4x9%21%00%F6%C2%0C%7DZ%B5Z%95%AA%94mJ%89%AC%28%F0%AD0%01%1AU%AF%5C%B5b%B5%0AU%29Py40O%28%C0J%29X%AF%A2%FE%0Bg%A5%2AR%8D%ED%09%81h%82%05%3E%BC%F4V%A0%B2%F4Fo%B0%04%22%F6%EC%DD%BBJ%15%E75%FD%82%12%E8%F1J%2C%F8%85%F7J%2B%81%5C%F0_A%06%90%A1J%2C%10%E6%17%DD%23%2B%2CHP%00Q%88B%20~%EDu%E2%84%85%04%D5%60%09%84%1B%B6w%8A%18%04%80%28P%07%84%90%18%21%7B%AD%E0%E1%80%8A%008%80%C7%2B%B2%90X%60%21%1E%D0%28P%12%B2%E4%A8%23%2C%97%E0%E0%E3%40H%08I%A2%28Q%14v%24%00H%E8%B8%0A%1A%07%3CIP%12%2F%3AbeAQn%A8%E5%96%03%25%C1%E1%97%60%02%20f~%8D%94%F9%A3%84i%AA%29%A6%81m%96%89%84~q%82%99Dt%D21%A2%A6%99%AE%BC%A7%A7%9B%7D%0A%F7%A7%9C%EF%B5%B2%C8%9EH%087%DD%A1n%8E%C7%0A%A3e%26%E1%A8%22%88%B2b%E9%2A%89T%BA%CA%A6%99%AA%89%04u%AB%A8%D2%A9%9C%A1%AA%A2%0A%22%88%86%9AJ%2A%A8z%AA%CA%AA%FE%A8%B4%2A%27%AC%A8%1C%B2%E7%11%A9%A0%82%CA%29%86%DC%AA%EB%29%A6%F4%AA%E6%11%BB%9AbJ%21%7B%1A%01%AC%29%A5%20%AB%A6%11%C6%96B%0A%21%7B%16%C1%2C%29%A4%0CR%AD%B4%A4%8C%22%C8%B6%DD%8A%F2%AD%9AD%84%1BJ%20%7B%0E1%CA%28%A1%9C%BB%A7%10%A2%88%12%0A%28%80%EC%19D%BB%A0%7C%F2%87%BD%F9~%E2%89%1F%7B%02%91%AF%27%9D%00%AC%26%10%FEz%C2%09%1F%01%7BB%F0%26%0C%AB%F9C%27%9Dp%B2%C9%1E%7B%F6%C0%89%C5%9A%E8%91%F1%26%9Bh%82I%1E%1Fk%92%C9%25x%EC%C9%83%C9%97Xr%C7%9E%3B%9ClI%25%920%B2H%22%88%1CbH%21%84%08%12%C8%1F~%F0%B1%87%1Ex%D8Q%C7%1Cr%C0%E1F%1Bk%A8%91%86%19d%8C%11%06%18%5El%A1%05%16VP%21%05%14N0%B1D%12G%14%21D%10%3F%F0%A0%03%0E7%D40C%0C0%BC%D0%C2%0A%29%9C%60B%09%24%8C%10%02%08%1Et%C0%81%FE%06%19%60%60A%05%15L%00A%03%0A%24p%80%01%83%B55%D2%0E-WB%C9%24%92%40%F2H%236%E3%7C%08%CF%3E%03%DD%C7%1Ey%DCQ%07%1DI%C3%D1%06%1BN%9F%11u%18%5ET%9D%C5%15UL%21%C5%13M%2C%A1%04%12E%0C%11%84%0Ff%A3M%C3%DA%2F%B8%C0%02%DC%28%CCM%82%08%20%7C%90%F7%06%7C%FB%1Dx%04%0F4%B0%80%E1%82%B5%E5%E4G%3A%CC%FCx%24%91%3C%E2%88%CD%8A%E4%8C%F9%CFAs%EE9%E8q%BC1%BA%D3f%94%21%F5%17%5Dh%B1z%EB%AF%7B%3D%BB%11%B6%E3%AEC%0Ei%F3%EE%BB%0A%29%04_%C2%08%22%08%C1%07%F4%B6%B7%BE%5D%A0%02%14%98%80%04%20%E0%00%06%28%00%01%06%88%9E%5BB%A2%03%C7ANr%8Eh%C4%CD%BC%D73%F0%09%ADs%9F%93C%1CDG%3A4%40m%7D%ED%C3%9A%15%A6%10%85%27x%0DlF%18%9B%FD%F0%A76%B6%ED%2Fns%03%A0%00%F3%C6%01%E4a%E0%02%B5%7FK%E0%02%1F%C0%80%E7A0q%13%FCH%0E%28%21%89HH%AE%11%1A%B4%DC%F7%80%264%3D%8CO%84%24%5C%C3%D3N%E7%85%14Z%A1u-%8C%1D%D8jw%3B%B3%D1pm0%B8%A1%DC%FEG%3C%E3%E9%0Dy%7D%0B%E2%04%26%10%01%066%80%01%09%40%C0%E1%06%E3%96%B7p%84%00%0C%08d%20%17%40%C8B%2A%E0%90%88L%80%22%15%89%80F%3A%F2%00%90%8C%A4%01%26I%C9%08%16%E0%92%98%24%80%267%998%B6%0C%C0%92%98%14%0C%27%3B%E9I%B6%8C%E5%94%7D%2C%CB%F4%F6%C4%CAV%BA%F2%95%B0%8C%A5%2CgI%CBZ%DA%F2%96%B8%CC%A5.w%C9%CB%5E%FA%F2%97%C0%E4I%40%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%95g%80%00UO%0E%18%20%00kV%91%01%10%280%40%80%EB%D5%AF%1F%1Dt%B8%E0%20A%01%B3%5E%D1j%BC%10%E4%07%8B%0E%12%16%1C%20%20%40%80%5C%8D%14%BA%C8%F9%B2%C4%06%09%0C%0F%DC%FA%FD%7B%D1A%99I%8A%F6%A4%B1%12%C4%C5%07%0A%08%E22%9EX%00%0B%A7P%9A%20%0D%A2%13%86%09%0E%0F%066W%0C%D0%A4%93%AAS%A3%3AUR%C4gM%93%0A%AA%2B%C6%90%D4%8A%D5%2AT%A5%40G%F2%E3c%40%EE%89%1B%02%B5Z%EE%3B%95%A9Q%9B%C8%2C8.qA%1BU%CB%7B77%D5g%03%F5%88%04%B6%FE%90%CA%CE%7C%95%2AH3%BEGD%D2%C9%15y%ED%9A%8E%A8%87x%82%91%2B%F7%E4Y%91%2A%93z~C%0C%7C%B4%82_v%AC%A4%A2%C7%04%FE5%94%C0%19%A8%BC%C7%CA%83%88%84%90%20C%02X1%CA%80%CC%B1BI%0E%132%F4C%26%18j%07J%16%8Bu%88%10%09%86%DC%97%1F%2B%A7%C01%9D%89%08Ip%87%80%2B%AE%F2%C7%050%22d%80%18%A7%84%F8%20%23%2B%E4xP%00N%7C%F2%9Ev%9B0%21%E4A3L%A2%22%81%FA%81A%C0%92%05q%A0%1C%86%0F%A6R%87%03T%12%E4%80%1D%AB%F8%B8%8A%20%1DtY%D0%11%3Ejh%83%99%06%19q%A4%27Nh%C6%A6%40Edh%0A%19%FD%CDY%90%9B%0F%B2%B2%88%9E%08%15%D1%E7%2A%8A%00z%90%11%AB%24%BAJ%22%86%B6i%9E%2A%AA0%DA%28AE%3C%9A%0A%22%93R%AAJ%2A%A9%A0%82i%A6tr%8A%8A%A7%A0%D29%2A%2A%A7%18R%2A%00E%A0z%8A%29%FE%AA%96J%C4%AB%A6%94R%C8%AAD%D4ZJ%29%84%AC%3A%C4%AE%A4%902%08%AE%A5%902%CA%28%82%F8j%AC%28%A2%24%5B%AA%10%A3%88%12J%28%81%AC%2A%84%B4%A1%80%02%C8%AAAd%0B%CA%27%7Fp%FB%C9%B8%9E%F8%21%AE%27%9Et%D2%C7%AA%40%A4%DB%09%27%7C%B0%FB%EE%26%9B%EC%B1%EA%0F%9Cl%A2%89%26z%AC%EA%83%BE%99%60%92%C7%AA%3D%04%7C%89%25w%10%7C%B0%25%95%D8%B1%2A%0F%0CSBI%1D%AB%EEP%09%25%93HB%C7%AA%3AL%92q%24s%AC%9A%83%24%91%40%F2%88%1C%AB%E2%10%C9%23%8F8%02%C7%AA7%B4%DC%08%23n%ACjC%233%2F%D2%C6%AA50%B2%88%22%89%AC%B1%2A%0D%40%23r%88%1A%AB%CE%60%F4%21%85%A4%B1%AA%0CL%13B%88%19%AB%C6P%08%21%82%08R%C6%AA0%0C%22H%20%80%90%B1%EA%0B%60%FF%E1%87%18%AB%BA%60%B6%1F%7C%80%B1j%0Bl%EF%A1%87%17%AB%B2%B0%C7%1Ey%E0%D1%C5%FE%AA%2A%E4%91%C7%1Dv%CC%D1F%1Bl%AC%91%06%1Af%94A%06%19c%84%01%86%17%5El%A1E%16X%5Ca%05%15RD%01%85%13M0%B1%84%12H%1CQ%C4%10A%00%F1%83%0F%3C%EC%90%03%0E6%D4%40%C3%0C1%C0%00%83%0B-%B0%B0%82%0A%28%A0p%82%09%24%8C0%82%08%20%7C%E0%01%07%1A%60P%81%04%0F%2C%80%C0%5E%5D%C9y%92%0A%80%D7A%C7%1Cr%C4%01%C7%1Bm%ACa8%E2f0%EE%B8%17%5Dp%219%16VT%81%B9%14P%3C%D1%C4%12K%24%81D%11D%90%0E%04%EA%3B%E8%80%C3%0D6%BC.%03%0C%2F%D0n%7B%0A%29%D0%9D%09J%F0%BB%10%80%C0%03%1D%D8%80%06.%40%81%084%40yo%B9%CAYR%92%02%E9Q%CFzopC%F6%D4%90%863t%8F%0Cbx%5C%F8%B4%A0%85%CA%5DN%0A%E8S%9F%E7%92p%04%23%10A%08B%A8%0B%0Fx%60%3F%FC%D5%60%062%88%DD%0Bjw%BB%00%EE%AE%04%F1%BD%03%9E%F0%3A%C0%81%0Dd%80%81%11p%80%F2%C82%80%09%A6%04%05t%A8%DE%F5%06%B7%06%0E%22nqb%08%C3%17%C0GB%13Va%0A%29%EC%DC%E7%90%60%84%D1%09%C1t%A8%D3%C1%EAn%E0%3A%1C%F2%CF%05%B6S%81%0F%07%18D%03%0E%B1%88%19%C0%00%12%1F%C0%00%04%18%E0-%5DY%C9%09%E4p%3D%0Dj%EFp%89%03%E1%F7%BA%20%B9%2CX%EE%8B%99%7B%82%13%3C%07%3A%D1%0D%21%86%F3%EBA%FDX%D7%3A%1C%C6%A0%7F-X%C1%0A%E6%08%C4%DF%89%20%04C%24%A2%02%8Fh%01%0A%20%8F%01%098%00%20%9DW%12%01%20%E0%96%B8%5C%DE%01v%C9%CB%03%18%E0%97%C0%FCe%01%86I%CCb%12%E0%98%C8L%E6V%96%C9Lf%F6%A5%2F%C9Tf3%B9%D2%17%09%D2rU%D8%CC%A66%B7%C9%CDnz%F3%9B%E0%0C%A78%C7I%CEr%9A%F3%9C%E8L%A7%3A%D7%C9%CE%A1%04%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5Dj1%80S%A6%2F%05%14%280%20%00T%96%02%1CDP%40%D5%EAU%94%02%3C%B8%F8%40%81%C1%01%02%02%9E~%25Y%E2%0A%14%1C%24.8%40%405%EDZ%91%27%E4%F8Yc%C5G%0A%0D%10%12%14%10p7%24%869%9A%22%09%82%B3%85%88%0B%0F%12%0Ex-%DCq%81%1AR%A4%3AQ2D%07%8C%92%19%18%08P%F6X%E0%0B%A9U%A8Hy%AA%94%28O%99%1E%0CF%7B%FC%A1%A9%15%2B%D4%A5%40%5Db%04%C7%84%EC%8E1%22%B5%B2%7D%3BU%A9P%93%A2%88%FE%ADqC%A0%E1%C3o%ABB5%AAMl%E6%19%21%C4Q%05%9D%D5%EDU%A9%02%FEu%C0%9E%B1%80%96Q%D1%BD%7F%8FT%83%3C%C6%00M%3A%A9%9F%BFJ%13%12%F7%18a%40R%BF%AA%7F%FFQd%18%80%9FE%1A%FC%E1%DF%81%A8%D1%E1%C0%80%15-%B0%06%2A%07%AA%22a%2A%82x%C0%20E%04d%11%8A%7F%12N%08%C9%0C%17RTD%26%1DN%98J%2A%98%18%11%E2D%26%20R%E2%89%27%862%86%80%2BBtA%1E%A8%A8%92%8A%89%A8%98r%87%045B%94%00%19%A4%C0%08%23%2A%A8%14%F2A%90%0F%09%20%C5%27G%22%89d%2470%F9%10%0F%93H%29%E5%29%A7pb%05aV24B%20Hri%E6%29%A2%B0%A1%40%98%0CE0%87%29eri%8A%29%A5%ECQ%01%9B%0B%15%E0E%28g%CE9%E7%21%28%E0%A9P%00Jd%22%A7%9FtR%92%84%A0%0A%C1%D0%08%A2t%96RJ%27Z%0C%C0%28B%1A%EC%E1%A7%A4%9C%8A%02G%03%97%1E%D4%00%1C%A4pZ%0Af%A4%8C%B2%C7%06%A1%22%14%84%A9%FE%98%8D2%0A%232%B4%9A%10%10%A8%A6%3A%0A%25HLf%ABA%3F%C8%2Ak%27%5E%D0%F8%2BB%3F%88%12J%28%A2%08r%ECB%3F%84%02%CA%B4%80%3C%AB%D0%0F%D3~%F2%C9%1F%D6%26%E4%83%B6%9Ex%E2G%B7%08%F9%10n%27%9D%8CK%AEA%3Dp%E2%EE%26%7C%ACk%10%0F%9B%D4%AB%C9%1E%F2%16%C4%83%26%9Ad%92%89%1E%F9%12%B4C%26%98%5Cr%09%1E%01%0F%A4%C3%25%96XR%C9%1D%09%0B%A4C%25%95PBI%1D%11%03%90%03%25%93L%22%09%1D%19%E3%20%89%24%91D2G%C67D%02%C9%23%8F%C8%91%B1%0D%8F8%E2H%23pd%5CC%23%8D0%B2%88%1B%19%D3%B0%C8%22%8A%24%D2F%CF%89%24%82%08%22kd%3C%C3%21L%1B%92F%C62%14R%08%21%84%A0%91q%0C%83%0C%22%88%20fd%0CC%20%81%00%F2%07%19%19%BF%F0%C7%1F~%F8%21F%C6.%F8%C1%07%1F%7B%80%91q%0B%7B%E8%A1G%1E%5Ed%BCB%FE%1Ex%DCq%07%17%19%AB%60G%1D%84k%91q%0At%D01%87%1CXd%8C%82%1Cr%C4%01%87%15%19%9F%00%C7%1Bo%B8QE%C6%25%B4%D1%06%1BlH%911%09k%AC%A1F%1AQd%3CB%1Ai%9Ca%86%13%19%8B%60F%19d%90%B1D%C6%21%901%86%18a%2C%1A1%08a%80%F1%85%17Gd%FC%81%17%5Et%C1E%11%19%7B%C0%C5%16Zh%21D%C6%1Cd%81%C5%15W%FC%40%BD%15VTAE%0F%19k0%85%14%E4%EF%90q%06Q%40%F1%C4%139d%8C%81%13M4%C1%C4%12F%14Q%C4%10C%08%11D%10%3F%F4%EFC%0F%3C%E0%C1%0Ev%A0%83%1C%E4%00%077%B0A%0Dh%C0%C0%19%C8%20%06%10%84%C1%0B%5E%E0%02%17%B4%80%05%2CX%81%0AT%90%02%14x%F0%04%26%08a%09H0%82%12%8A%20%04%1F%E8%00%070P%81%084%00%01%06%40%8BZb%82%81%25%D8P%09I%40%C2%11%EAW%04%22%E4O%7F%FE%40%F8%C1%FF%00%28%40%02%1E%F0%06%09%B4A%03g%E0%40%09R%D0%82%17%5C%81%069%D8A%14%9C%E0%8A%22%24%E1%09A%E0%01%0Eh%C0%02%13p%80%02b%98%16_%BD%E4%02I%C8%E1%0E%7B%F8%C3%20%00%21%88%3F%00%E0%00uP%40%1C%20P%81%0Bd%A2%0C%1E%18%03%09B%11%83R%A4%A2%15%B1h%82%12%8C%90%84%238a%08%40%90B%0Ed%C0%02%12%10%E3Y%CA8%13%0B%F0%D0%87%40%F4%DF%FF%04X%40%03%DE%11%8F5p%60%04%9DH%C1%28n0%05%A8%FC%60%21%0F%89%C8D%86%60%91%1F%F0%80%07T%B8%81GFR%01t%29%A3%19%5BR%816%BEq%88%014b%0E%90%98%C0%1A%2C%90%06%7B%7C%A0%13%2B%D8%82%28j0%95W%04%A1%21%5B%29%02E%C22%96%B3%E4%00%076%A0%01%16Fr%010%AC%CA%0C_%12%00%02%98%F3%9C%E8L%27%01%06%C0%CEv%BA%F3%9D%F0%7C%A7%00%E6I%CFz%DA%93%9E%E8%27t%E7%3C%9D%B2%CB%8C%F9%F3%9F%00%0D%A8%40%07J%D0%82%1A%F4%A0%08M%A8B%17%CA%D0%86%3A%F4%A1%10%8D%A8D%A1%12%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05%28%29%94%85%01R%99A%24u%8A%24h%8D%0B%01O%5B%9EH%94%8A%D4TAo%B2%E8%80%905e%06%3E%ACX%A1%1A%C5%89%EA%1B-AVP%18P%96%24%038%AB%5C%B5Z%B5v%13%A4%40o%E3j%80P%A0.H%02%5EJ%B9Z%BC%B7o%A2%3Fn%B2%C4%DD%00%21A%81%00%869%FE%D0%B4Xo%2BV%AANy%22%B3%C0%82%15%C9%2B%28%5B%1E%809%F3%C5%17%90Z%B5%F2%2C%5B%AD%1D%0A%04%3D%E8P%A1%BA%C0%00%01%AD%5DK%D4%C0G%B6q%E3%AB%06%7D8H%00C%EF%DF%C1%85%3B%5C%B0%26%D5%F1%E3%8CV%2C%2C%C0%605p%E9%0E%0B%FE%7C%21%95%B6%7CyH2%1E%12%F0%1D%20%3Ax%84%3E0%ADZ%C5j%3E%7DV%9B%98%B8o%18%E0%FB%7B%8408b%DF%80%AB%8CB%86%01%16%ED%F7%9F%06~%A8%E2%E0%83%0E%A2B%87%03%FFu%F4%C0%1B%A6%A4%A2%E1%86%1A%06%E2A%85%1C%11p%05%28%1A%A2%82%0A%87%8F%D0%00%E2F%01%2C%91%89%89%26%9E%02%E3%25F%AC%B8%91%0B%8C%9C%A2%E3%8E%3A%82%22%06%826b%94%C1%1E%A5%98b%E4%91%A6%90%22%07%85A%5E%A4%80%19%A2%94%22%E5%94R%FA%C1A%93%17%0D%40%C5%26%A4t%E9e%97%8C%C4%80%E5E%40H2%CA%99h%8EB%CA%24B%8Ci%D1%08%81%88%22%E7%9Crn%E2%05%90nJT%81%1C%A0%84%E2%E7%9F%A1%7C%22G%04yN%84%40%17%9B%80%A2%E8%A2%8A%FA%D1A%A1%12%09%B0%04%25%9FTji%A5%89%CC%00%A9D5%24%D2%C9%A7%9E%84%1A%AA%24P%60%B5%E9C%1F%D8%C1%C9%AA%AC%AE%8A%09%19%FE%09%9C%FA%D0%03hd%B2%C9%AD%B8n%A2%89%1C%13%C8%1A%DE%14%94h%22l%26%C4%0A%CB%07%09%BE%F2%07%C4%22%97%5C%82%89%B3%CF%5E%82%08%10%C96%94%82%1F%96d%ABm%B6%8EDAW%B5%0AY%C0%06%25%95%94K%C9%B9%94LB%1A%B8%0A-%00F%24%93%C4%2B%EF%24%92%B4q%01%BB%0B%D5%10%C9%BE%91H%C2%2F%1F%2A%E0%CB%10%0D%8F%14l%B0%20%3C%28%28pA34%E2%C8%C3%89%3CQ%D8%C2%0C%C9%C0%C8%C5%8C%C0A%B1C1%28%E2%B1%22ml%DCP%0C%88%94%8C%08%1B%223%04%83%21%85%18b%88%1A%29%2F%F4%02%214%13%82F%CC%0A%B9%20%C8%CE%82%98%81sB-%00%22%F4%1Fd%FC%8C%10%0B~%24%ED%C7%18F%1F%B4%02%1F%7BD%1DF%D3%06%A9%90%C7%D5yxAuA%29%D8%E1%F5%1D%5DlM%10%0At%94M%87%16b%0Ft%82%1Cl%CB%81E%DA%02%99%00%C7%DCpX%017%00%25%B4%A1w%FE%1BU%DCM%C2%1A%80%AF%21%C5%DD%23%A4ax%1AQ%DC-%82%19e%98a%86%13w%870%C6%18b%88%B1%C4%DD%20%80%A1%F9%17I%DC%FD%81%17%5Et%D1%C5%11w%7B%B0%85%16%A8%13qw%07X%5C%81%05%16m%C2%BD%81%15UTa%C5%0Fwk%20%C5%EER%F4pw%06P%04%0F%85%0Ewc%D0D%13L4%81C%F1K%28%A1%C4%125%DC%7D%C1%11%D4%1F%A1%29%DC%16%10%A1%3D%11b%C2MA%10%E0%07%F1%C2%DD%13%FC%E0%C3%F9-%DC-%01%0F%3B%B4%AF%1D%DC%12%E4%80C%0E9%A4pw%046%E4o%C3%09wC0%C3%FF30%C1%DD%1E%10%83%02%C6%60%04ws%80%0B%5C%F0%02%17%84%E0n%0D%60%81%04Y%00%02%08%AA%E0%82%29%F8%10%DC%18%80%82%0E%9E%E0Q%1B%2C%81%09LP%82%0D%DCm%01%24%18%81%0AE%C0B%16%86%E0%85%2F%14A%0C%5B%28%C3%19%CE%D0%854%8C%21%0CuH%C3%1A%86%00%04%F5%1F%E8%00%070P%81%084%20%01%07%20%00p%14%16%13%05%C8%B0%87-%84%A1%0BC%20%82%11D%91%8AP%CC%21%14m%B8%C5%17%02%D1%03%1C%C8%80%05%24pD%03%10%805L%84%89%02%40%C0%C6%1F%FE%90%8D%40%04%E2%07%E0%E8E8%CE%11%8Ex%CC%23%08%DE%18G6%DE%B1%8F%1F%08%E4%07%3C%D0%81%0D%10%D1%88%080%E3%12s%92%80Az%C0%91%81%F4%80%24%1F9IAF%B2%92%8E%AC%24%26%059IIv%A0%93%93%EC%80%289%B0%01%0D%5C%60%02%10%60%00%02%7C%B3H%9C%24%60%94B%14%A5%2Cg%09KZ%8A%92%90%1C%C8%E5%2C9%60KX%E6%92%97%B5%24%25%295%20F%09%3C%60%01%ABD%A3N%FA%23%80f%3A%F3%99%D0%8C%A64%A7I%CDj%3E%F37KL%E3%DD%B6%C9%CDnz%F3%9B%E0%0C%A78%C7I%CEr%9A%F3%9C%E8L%A7%3A%D7%C9%CEv%BA%F3%9D%C2%09%08%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05X%19%E5%07%03R%99E8%C1%9A%CA%AAM%82%A7-O0z%C5%F5%D5TX%A4%AC%04%C0%8A2%03%9FV%AE%5Cu%5D%FBJ%D2%0A%B2%24%19%BCI%856%AD%5D%B5k%5B%E1y%00%F7%23%01.%A3Z%09%1E%9C%D6%14%AB%BBi%5B%8D%922%B6%AFF%1F%97XIf5%B8U%2A9%0FF8r%85v%F0%AAT%89H8%BE%E8%A2%D1%AAU%93%27%AB%DAc%81%A0%13R%83Y%A9%3A5JS%18%04%A3%25f%C8%93J%95%AA%D3%C0U%11%02q%F0%81%1D%D4%9FK%85%CA%E4%A8%0E%8B%DC%0E%17%A4%29%95%AA%BA%EF%EB%8CT%2Cl1i6%29O%95%14%FE%E99%F3%E3%2At%84%04%B6%7CB%C5%BE%BA%7BG1%1C%0E%E8%02J%14%27I%85%E8%84YBCB%E3%F3%03%ED%40%89%29%A7%14%C8%DE%29%A8%60%B2%C4%7F%0EQ%60G%26%8F%04%F2%86%16E%C0%F0%01%04%03%00%08%40%0B%89%94%E2%A1%29%04%16%F8%89%18%06T%E4%C2%1E%7C%A4A%85%0F%2Ah%00A%02%04%40%87A%1E%A3%90B%8A%87%1F%92%22%87%03%18%0D%B0C%18O%E0P%C2%05%0E%20P%C0%00%0C%3E%E5%40%1A%9F%8C%E2d%8D6%92%E2G%07%1C5%40%C3%0C%22T%C0%C0%01%04%08%10%40%92E%11%20%C5%25%A1%84%22%CA%99%A28%B9%88%0C%209%90%81%04%0B%180%80%97O%05%40%04%24%9F%7C%02%CA%9Ee%86%12%89%10%23%05%90%40%02G%D2y%94%0A%83x%A2%A8%27y%E6%89I%17%25%96%14%C0%9C_%1Ae%81%1C%9Bp%A2i%27%9Cz%B2%C9%1A%0D%A8T%29Q%09ta%89%26%9Al%A2j%A6%9C%D8%A1%81%86%FE%1D%0D%B0%84%23%97%60%92%C9%AD%99%A0%3AH%0B%B0v%84%03%21%95Tb%C9%B0%97%D4%8A%08%0F%BDr%D4%C1%1C%92L2%09%25%D0%0A%FB%88%15%05%24%AB%91%04d%3C%12%C9%B6%92t%3B%89%24g%F0e-F%07%3C%81%88%23%8E%3C%A2.%24%90D%22%C7%AB%E3%5E%14%40%0F%81%2C%C2%08%23%8D%E4%8B%EE%1Eo%C5%7B%91%0Au%20%82H%22%8A%2Cb0%23%82%10%01%A6%BF%10a0F%21%86%18r%C8%21%02%27R%88%15%B81L%D1%02T%04%22%C8%20%84%10R%08%C4%86%84%01%81%C6%14%0D%00D%1E%7F%00%12%88%C7%82%7C%9C%06%95%28K%14%C0%0Bp%F0%D1%87%1F%3C%FF%D1%B2%1Cl%D6%2CQ%07c%E4%91%87%1E%7B%A0%C8%07%1Fv%FC%20%80%D0%11%3D%20E%1Du%D8q%C7%1Dx%18%8D%C7%13%19C%ED%D0%01F%C0%21%C7%1Ct%D0A%B5%1DuX%11%81%D7%11%91%F0%06%1Cp%C71%F6%1Ca%7C%C0%B6D%22%B0%D1%86%FE%1Bo%BC%5DF%BFwG%24B%1Ak%AC%C1F%1A8d%18%B8D%21%9C%81F%1AjH%B18E%20%94a%86%19g%401%F9D%1F%8CA%C6%E7Ml.%91%07%60%84%11%86%18K%88%1EQ%07%5E%B4%FEE%12%AAC%C4%C1%16%5Cp%D1%85%11%B1%3F%B4%01%16Yh%A1%05%11%B9%3B%B4A%15VXq%05%A0%C13%94%81%14SPQ%C5%0F%C93%84%01%14QH%21E%0F%D1%2F%84A%13N%3C%01%C5%0E%D9%2Bt%C1%12%E47%91C%F8%09Y%80%04%12I%2Ca%03%FA%08UP%84%11F%1CA%03%FC%07Q%20%C4%10C%10%114%FE%04%A1%C0%0F%80%10%84%20%C0%00%80%05%99%00%0Fz%E0%03%1F%F0%0A%81%03%91%80%0Et%B0%03%1E%3C%07%82%02%89%C0%0Dp%90%03%1Dh%07%83%00%80%00%0Dj%60%83%1B%A0%00%84%00x%80%0Cf0B%13%A0%F0%010%80A%0Cd%20%1A%10%3A%A0%05.p%01%0CF%80%C2%06%AC%80%05%FE%2ChA%08z%98%02%15%A8%60%05%C4%01%21%03N%80%02%14%A4%C0%03%28%5C%00%09L%60%82%13p%20%8A%23%20A%09J%B0%01%14%2A%40%04%22%18%C1%082%E0E%10%84%E0%8Cd%04a%02%3C%F0%816%5E%00%85%09%E8%40%07%3C%E0%81%D6%80%10%01%1B%E0%80%1E%2B%80B%04h%E0%8F%1B%98%00%0A%0F%80%01%0Cd%20%03%82%04%E1%01%2Cp%81%0B%60%40%02%83%AC%40%05%18%B96%10%1A%80%02%98%AC%80%B80h%80%09L%80%02%13%E0%11%08%0B%10%01%09x2T%A3%84%40%04V%89J%0C%16%E0%01%0F%80%00%04%18%80%C2%028%00%96%B8%C4%A5%2Ce%B9%CAR%9A%D2%93%99%94%A4%24-%40LF%16%B2%90%87%CC%00%207%90G%3Dr%40%8E%1C%D8%40%06.P%81%084%20%01%07%28%D4%C2pB%00%07x%D3%9B%B9%DC%A5%2A%7B%29%81r~2%98%C3ld%23%91y%C8e6S%8E%F0%EC%80%1E5p%01%0A%CC%12%01%06%B1%E8%D2%A8zB%00%064%E0%9F%0D%F8f.c%B9Kr%9A%F3%93%C0%1Cf1%D7%89%CC%3Fj%80%99%10%8D%E6%064%80%81%0AH%C0%01%0A%C8%26%A5%B6y%93%01%2C%80%01%FE%04%E87Gz%CB%82%1A%B4%9C%BF%3Cg%26%17zLej%C0%A5%7F%3C%A4%05%260%CB%04%E4%13I%1C%ED%E8GA%CA%D3%90%8A%14%9C%B0%14g%2FW%89RO%26T%A1%EA%3C%A6R%2F%60%01%0AD%C0%01%0B0%D2F%83%F2%A5%AAZ%F5%AAX%CD%AAV%B7%EA%A5%00%08%A0%ABXE%A1X%C7J%D6%B2%9A%F5%AChM%ABZ%D7%CA%D6%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%95m%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05T%01%C5%E7%02R%99C2%B5%9A%9A%8A%0D%82%A7-M%20Z%C5%8A%D5%D4%A9%A1%AA%04%C0%8A%12C%9ET%AB%D2v%F5%FA%15%D2%0A%B2%24%17%AC%29%95J%95%DD%B4%5C%BB~eu%E7%01%DC%8F%03%B0%7CB%85%2A%95%E1%BB%A4R%AD%FD%DA%AA%94%D8%BF%1BuH2u%EA%14%E1%C2%AAJ%BDq%20%82%D1Z%B6S%25%A9%80%7Cq%C5%A1R%A8MQ%B6l%0AO%05%82LD%E5%05%CD%B7%01i%89%17%E4%88%1AE%8A%14%EAR%A6J%01%FAp%D0A%1DU%8B%BF%8A%AAr%DB%A1%021%9DB%89%DA%CD%DB%F7%A1%14%0B%5BH%9A%CD%F8%91%89%E6%09%09%FET%B1%F4%09%14%28%E9%D4%11%BDp8%C0%0B%A9%BC%8CU%B5%B9%0A%9E%60%8DE%9D%3Ay%F2T%FE%BC%A4%23cAd%81%1Fj%81%D6J%27D%D4%07%00%0A%7Fh%B2%09%27%9C%E8%C7%DF%25%5D%18PQ%0E%99%7C%B6%D6%2A%86pp%5B%05m%5C%92I%26%9A8%08%A1%26j%D8v%11%01_%98%82%D7%2A%AA%A4r%0A%28a%14%00%17%03%5EDR%89%25%97%88H%A2%26ul%C0%D1%07%88%D8%15%E3%29%A5%84%B2%09%21%2C%3C5%C0%11%89H2%C9%24%94X%C2%E3%25%81%B4%00R%11%9C%C8X%8A%28%9DT%B2%88%1FS%2CPT%009%00%F2%C8%23%90D%22%25%25%95%14%B2%C3H%0B%BCA%CA%28%9Fd%02%09%21u%90%C1%84%06%01%02%25%82%1C%8C0%D2%88%23l%BA%C9%C8%146%96%04%82%20%9AL%92%08%1Fk%60Q%84%0C%1C4%DA%93%04a%1C%92%88%22%8B%18%8Ah%23%60%98%89R%00E%10%12%88%1Ca4%91%03%0A%FE%1AD%60%E1N%070%11H%21%86%1C%82%C8%A7%8B%2C%92%86%05-%29%C0%C4%19V%08%F1%02%08%144%80%40%01%81%D6%24%C0%0Ew%04%22%C8%20%84%14r%88%AEt%7C%07%D3%04%3A%D8%60%82%06%10%28%60%00%01%034%2B%93%0Am%F8%E1%C7%1F%80H%5B%ED%1D2%D0%14%C0%04%1BL%C0%C0%01%E4%0A%60%EEK%16p%91%87%1E%7B%F0%D1%C7%BA%81%EC%81%04%017%09%A0%40%02%05%0C%A0%EF%BE%2C5%C0%C4%1Cu%DC%81%C7%BF%01%F3a%05%03%3B%090%80%C3%10%ABT%40%0Ek%C4%21%07%1Du%D8aq%1E%5EP%00T%C8%A7%AE%40F%1Bn%C0%01%87%1C%27%F7%19%82%82%1Eup%05%1Ai%A8%B1%06%CD6%A71%03%CC%3CO%F4%00%11c%90a%C6%19i%A4%B1%06%1Bi%041k%D2%19%1Dp%03%17_%84%21%06%19e%98%01t%12%A6b%8D%91%00%27T%A1%C5%16%5Dx%D1%F5%D7O%B8lvF%1C%2CQ%85%15Xd%A1%05%FE%17%5ExA%C5%08sg%14A%0FPH1%05%15V%5C%81%85%16V%A8%20%40%E0%17%21%F0%C2%12L4%F1D%14%86SA%C5%0C%9AB%3E%11%01%26%10%81D%12KP%EE%04%14Q%D8P%B6%E7%14M%10%C4%10E%18q%04%12J0%E1%C3%04%ACc%24%C1%0F%40%BC%1E%BB%0F%19%E4.8%0F%3E%F0%FE%C3%07%8F%0B%8FQ%04%3A%EC%D0%83%0FZ%2A%9F%11%048%E4%D0%7C%93%D2c%04A%0D6T%3FZ%F6%17%3D0%03%0D5%DC%80%1D%F8%169%10%83%0C%E3%9F%80~%FA.%C0%10%C3%0C%DA%BE%3FQ%03-%B8%F0%02%0C%24%D8OQ%03%2B%60A%FE%00%E7%3F%890%00%05%2A%08%20%08%0Ah%C0%13%A0%20%05%2AX%20%03%21%B2%00%12%98%C0%81%1E%98%20D%140%82%12%5C%D0C%1At%8E%08F%40%82%12%08%29%84%0DQ%40%08F8%02%0D%A0%B0%21%09%F8%00%08V%18%BC%17.%24%01%1E%F8%80%0C1%60%C3%85%20%80%03%FE%1D%F0%80%07%80%D5%C3%84%20%60%03%1B%00%22%11%8Bx%10%04d%40%03H%94%1B%13%0Dr%00%0C%3CQ%03%B8%9B%22%15%2F%60%C5%0CdQ%8B%041%80%05.%C0%C5%08%80%B1%20%06%A0%40%05%2C%60%013%9Eq%20%06%98%00%05%D4%08%817%C2Q%02%12%90%A3_%EC%08%80%02D%00%8F%13p%00%1F%FB%08%81%08%18REv%24%C0%03%20PH%8E%F1%91%00%0Ex%C0%22%1D%99%C8%068%20%92%AB%3B%23%01%1A%60I%07d%12%8C%04%60%00%03%2C%A9%80A%0E%60%01%0B%18e%02L%89%CAT%AE%92%8F%03P%80%02RI%1F%3B%0E%20%01%09%40e-%DFxKY.%60%97g%BC%25.%15p%80A%0A%00%01%B8L%401%F9xLd%26%E0jo%14%C0%01%0E%80%00%04%40%F3%8C%D2%9C%A65%8Di%00m%22%60%9A%DEL%E60%5B%99%CAQF2%92%8C%8C%40%21%F3%28%C7%0A%B8s%8Dc%24%A3%05%2A0%01%084%40%99%E3%C3%12%80%BE%8A%22%00%03t%13%9C%D4%AC%A63e9Kr%8A%B2%93%E8d%24%04%F0%98G5%BA3%9E%F2%A4g%04%3Ci%CD%7C%05%00i%1D%2B%40%01%FC%F9%CF%80%3A3%99%045%28%27-%29%C9E%1A%F2%8F%13H%E9%1A%DFY%01%0A%D4%D3%01%0Cx%A6E%2F%CAO%8D%DA%D4%9F%00%15%E8%40%7D%D9%CAQr%F2%92%095%24%20%E7%D8R%97J%00%020Uf%C3%1Ev%94%00%D8T%A3%1C%ED%A8GA%8A%CA%82%A2%D2%A7%24%5Dd%21%85%9A%D2%09H%40%9D0U%805AFS%05%5D%F4%AChM%ABZ%D7%CAV%8C%0E%F2%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%0D%AC%60%07%AB%BC%80%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05D%D1t%C7%02R%99%3E%26%99%3Auj%14%1A%04O%5B%8E%08D%AA%94%A9%A9%A7Pq%92%12%20%2BJ%0BqB%89%1A%D5%D5%EBTT%A8%18%A50KR%01%99M%A0%D4%AEm%FB5%2C%AASt%1C%D0%FD8%20%0A%25O%9F%40%E5%5D%3B%AA%D3%28%AFT%E1%A6%02Ev%F0F%1A%876q%EA%84Xq%A8Ni%1A%800%04%D9o%2AU%8E%E6Z%B6Xb%0F%A6L%9A4s%FE%E4%29%0E%05%82H8%81E%95%EA4%AA%3A%0DVK%A4%60%86R%25K%AFcs%E2t%87%C3A%07qJ%99%3E%AD%0A%D4%14%E1%0E%11Xi%24i%92%F1K%C9%FB%FE%94X%B8%C2Q%E4%DE%AAT%ADj4%1E%3B%C2%01I%0C9z%14%A9%3B%25K%97%FC%A8p8%60K%28%D3%E9%AD%82%CA%1AX%B9G%D0%0Ax%2C%C2H%23%F3%D57%89%21%3E%94%05Q%05%7B%98%C2%1Bz%AB%AC%D2%09%11%06%02%00%02%1B%86%20%92%88%82%0CB%A2%88%14%05TtC%25%17%06%98a%22%1D%08%17%C1%16%81%0CR%C8%21%22%2A%C2%C8%22%5E%2C%80%11%01%5D%8C%82%5E%80%AC%9C%B2%86%01t%25%B0%84%1E~%00%22%08%217%22%82%C8%19%17p%E4%81%21C%AA%B7%0A%2B%9C%04%F1%D4%006%C0%A1%C7%1E%7D%FC%11%C8%93%85%C0%D1%9EGDl%82%E1%96%AC%B4%92%C8%06F%A9%60F%1Dw%E0%A1%07%1F~%98IG%0C%23-%00%C7%29%E9%A9%C7J%9C%A6%7C1%80P%19d%01%87%1Ct%E0%99%C7%1E%7C%DCQ%04%01%26%89%B0%88%8B%87%1Ez%C9%0C%3F5%80%C4%1Al%B8%F1%E8%1Ct%D8q%87%13%09%A4%14%80%14%FE%A0h%09%27%2B%AB%FC%11%C1N%05%D4%40%C6%19i%90j%AA%1CrTq%2BK%0E%D0qZ%86%19%AA%92%8A%27P%E0%24%C0%09Y%84A%86%19%BC%AE%D1%86%1B%5C%C4%08S%0B%91%14%9A%CA_%A5%88%12%C8%075m%D0%04%17%5E%80%21-%B5ix%B1fL%04x%21%24%2A%A6%90%12%0A%27%960%D2%04%A609%D0%83%15Xh%81%EE%17%D2~A%C3%A26Y%B0G%29%A3%80%C2I%25%8E%10%92%07%18t%B6%84%00%0CPHA%05%C0Yl%E1%85%17%3E%B4%AAS%0D%8DlRI%23%83%DC%A1%06%17L%A4%90bJ%03%88pD%13Od%BC%F1%15Z%0C%21XO%04%3C%91H%CAih%B1%04%0F-%7C%A0%00J%18%F4%60D%12K0%E1D%14%1A%1B%E1TP%14p%11%F4%12%3B%B4%10%C2%05%10%24%20%00I%10%C8%00%84%10D%1C%C1%B4%D3H%84%20%E1P%1C%08%A1%03%0B%20p%BD%C0%01%05%7C%0D%12%02%26%E8%C0%83%FE%0Fc%97%9D%04%12%29%F0k%94%00%16%7C%60%C1%03%0A%D0%3D%80%00koD%40%074%DC%80%83%DE%7C%0B%21%04%0B%07%D0E%00%03s%17%B0x%E3%19%05%40%01%0B1%CC%40%83%0D%93%F3%D0%83%0B%0C%087%40%01%040%DEQ%03%25%B0%D0%C2%0B1%C8p%3A%0E1%DCf%A0%00%B2k%84%00%07%27%A0%A0%82%ED%B8%CB%00%C3%05%A0w%F8%A3%05%22%8CPB%F1%C7%BB%E0%02%07%08%3B%AF%91%00%11x%00B%08%D2%9BP%7C%0A%1C%20%A9%3DG%08t%E0%C1%07%20DO%82%09%1F%88%7C%3E%FA%1C%A8%FFA%08%22x%D0%FA%FC%1E%1D%B0A%FD%1E%E8%C0%03%9A%C7%BF%8C%1C%40%03%1B%D8%40%07%A6V%C0%FEe%00%81%1C%A8%40%03%3Fr%80%0B%60%E0%81%13%98%A0G%0C%60%01%0Bf%20%83%1A%E4%88%01%2A%D0%C1%0F%86P%84%14%A8%80%05%25p%C2%8D%14%80%02%29%B4%C0%B0Z%88%11%03L%60%02%29%84%00%0D3R%00%09H%00%87%FE%0F%D8%21F%0A%00%01%1FN%60gB%AC%08%11%23%E0C%24%26q%22%04x%00%04%22%10%81%E0%3C%91%22%04p%80%14%23%B0%BF%2BJ%24%8BZ%84%40%17%BD%08%11%024%C0%01Z%1C%23%19%1D%B2%B93%3E%C0Gk%84%C8%00%16pF%07%1C-%8E%0F%99%23%03%1A%D0%00%F9%E1%91%21zd%00%03%FC%F8G%85%E8q%01%0B%20d%21%DF%83HD%2Ar%91%06%19%80%02%1AY%20H%26d%00%09%98%E4%02%2Ai%C9%83%60R%01%A0%CC%5C%27%DF%83%80%04dR%94%A3%8C%24%02J%99%00T%A6%92%20%03X%E5%2A%CD%F7J%82%08%40%96%08%A0e-%05%22%80%03%F82%97%BB%B4%A5%01~%A9%CB%5D%0A%C0%00%C3%3C%401kyLd%D2-%98%03%11%40%01%0A%80%CC%97AS%9A%D4%7C%264%01%80Md%0A.%98%01%20%00%01%A8%F9%CD%5D%86s%9C%B0%DB%26%00%CE9%CEr%D6%92%9D%E2T%27%3C%B3%07Nq%8A%93%9E%E6%BF%24%C0%00%EE%29%CF%01%EC%D3%9E%E8%9C%A63%7DI%D0%03%AC%D2%94%A0D%E4%1E%D1%A8%C5%07%A0%B1%01%9CS%40%02%10%407%7D2.%00%185K%00%FC%09Pq%C2n%9A%D94%E8AM%99IM%EE%B1%8E%0DEcD%27j%00%CF%5D%94%80G%D9%A8%3F%FF%09P%90%86%D4%A0%24E%E8%24%05%29H%3E%F2q%A5%14m%E9%E70%0AS%A3%C8%94%A3%1D%0D%285%939%D2%92%26T%A1%9C%5B%80Dg%09%BB%A1%165%A63EjRm%9AL%91%96T%A7%9A%9C%AA2%ABj%D5%ABj%90%A8hM%ABY%D5%C9%D6%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%5Dd%40%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05%20i%D4%86%02R%996%0Aa%CA%B4%E9%12%98%03O%5Bz%98S%C9%D2%A5L%9A6q%92%B4%24%40V%94%12%C8%3C%92D%A9%2B%A6%B0%9C%3Ay%22d%E2%2CI%04U%129%82%14i%12%25%AF%60%C5z%FA%E4%A9M%03%BB%1F%05%08%09%B4%88%91%A3G%91%D8Vzd%09%AE%DCO%A0.51%8BXc%8A9%87%10%25Z%D4ho%24G%5E%18p%E0c%193%A8P%87%EAv%B6%D8%C1L%A0A%85B7v%D4%88L%04%82A%24%C5%1D%FCZT%A87%0CfK%7C%20%85%CF%1F%40%82%08%15%12%BD%28%0D%86%83%0C%D2l%BA%5C%7CT%A6%27%CA%1D%FE%1A%10B%27%0F%9F%3E%7Fn%E7n%F3a%E1%89B%C4C%89%1AE%8A%14%A2%11%E1%13%0A%A8%B1%86%8E%1D%3Cz%F0%E1%07tm%88%E0%90%00U%60%82%99%7C%F4%952%0A%1A%08%E4W%D0%07%5E%BC%11%C7%1Cu%DC%91%C7%1E~%C8%21%03g%0FM%40%C7%27%0C6h%0A%26BH%08%80%05R%A4%B1F%1Bp%C8AG%1Dx%D01%04%01%15%CD%E0%08%83%A4%94R%8A%29%A7%14%C2%81r%0B%04A%86%19h%A8%C1%86%85r%C8%B1D%02%18%11%80%05%27%F3%F5%08%E4%29%A4%A4a%80%5D%06%CC%B0%05%18b%94q%86%8Bm%BC%21%C5o%1Bq%10H%83%3F%9E%82%0A%2A%99%FC%F0%94%00%23D%91%05%17%5E%84AF%19If1%E4G%40Xb%E5%29n%A6%92%CA%21%1A%18%B5%01%12TX%81%85%16%5D%7C%A1%A7%16%24%8C%A4%C0%1A%A3%B4Yh%2A%A4x1%80P%0F%E8%D0%04%14RTq%85%16xj%11%C3%A7%25%81pH%9B%FE%A8%18%AA%CA%2A%96%CC%F0%13%02%2B%1C%A1%04%13ND1%85%A3Z%DC%B0%25J%01%3C%D1%09%A1%B1%AA2%AB%2A%7F%A0%99%D3%00%1F%F80%84%11I%2C%C1%C4%13RP%B1Cr%2C9%20G%29o%A6%A2%EC%2A%AB%88B%05N%01XP%03%0F%3F%08A%84%AEK8%01%C4%041%B1%F0H%AC%E2%CE%CA%0A%2B%8F%C86%D3%03%2C%DC%90%C3%0E%3D%001m%12%40%5C7%D3%00%5D%8C%22%2B%B9%AC%B4%A2%0A%1BX%C1t%80%080%CCP%03%0E%3A%B0%1B%C4%0F%21%08p%93%05%7C%88%0Bq%2B%28%7B%92bK%04d%A0B%0B%2F%C4%40%83%0D%03%F3%60B%01%3B%E5p%89%BE%11%A3%EC%CA%22%89%A6%14%40%04%24%A0%A0%02%0B.%C0%20C%0D7%A4%10aO%04xa%CA%2A%FB%A2%8C%F2%29b%B0Z%12%03%1F%90P%C2%09%29%AC%D0%82%0B1%A8%E0%80P%1F%20Bu%CF%3E_%22%C3%5D%18%80%00%82%08%24%98%604%0B%29%D0%5BT%FE%11%9E%EC%CBv%2B%AB%E8q%D8G%04D%C0%81%07%1F%80%10%C2%08_%9Fp%81%C8G%25%A0F%2AT%93%BBJ%2A%A8l%E2DG%028%90%81%06%1Bt%80x%08tc%80%E3Y%230%A2%8A%A1%A7%982%0A%28%9D%F0%F1%27F%09P%60%01%06%19l%C0%81%E8%20%600%2Cb%01H%D1I%29%A4%84%D2I%26%948B%88%12%A7Sd%00%04%13T%60%C1%05%B8%87%9E%81%02%12%3A%C0F%27%9A%24%8FH%20x%BC%91E%D0%11%0D%C0%40%04%12L%40%81%F4%17d%80%01%B7%2A%02P%C2%1E%89%08%A2G%1Cgp%21%C5%11%274%CF%90%00%09p%C0%03%20%20%81%F4%D9%CE%02%0E%00Q%FC%00%20%00%1F%B8%21%0D_%A8B%12x0%83%14%7C%00~%09%09%C0%01%1A%D0%00%01B%20%02%E8%A3%80%03%B4%B6%40%82%2C%60%07K%00%82%0DV0%02%0E%5C%E0%01%0C1%1F%03%3A%E8%C1%088%C0%7F%254%88%03LP%02%0F%60%40%02%FE%23%8C%E1%02fHC%07%FC.%87%19d%C0%04%1E%C0%80%23%26d%00Cd%80%14%9D%88D%85%08%C0%00TD%C8%00%14%B0%80%21B%A9%8A%1F%D9%22%17%17%F0E0vD%8C%5D%2C%A3%1972%80%04%24%C0%8Bk%3Cc%02%B8%C8%80%A7%C5Q%23m%7C%E3%02%ECxG%8C%00p%8E%7B%EC%A3F%FE%C8E%3E%0A%B2%22%02%40%00%02%14%A0%80%8A%1D%D2%22%89D%80%1B%1D%F9H%8ADR%92%94%AC%A4D.%89%80%2Cj%F2%40%078%80%22%3D%F9%C9%FF%85R%94%A4%2C%A5%15%0D%10%CAN%AAr%93XD%E5%2B%23%22%80%02%B0%F2%008%9B%E5Cj%19%CB%5C%EA%B2%21W%BC%A5%2F%7F%B9%90%00%D8%12%8B%C3%24f%06%8Fi%00%1C%2A%F3%20%C6%2C%80-%9D%F9%CC%82%04%80%00%D2%2C%005%AB9%90kfs%9B%DC%04%C05%B1%A9%CDp%22d%9C%D2%04%277%C7%89MuV%93%9D%E54%A7A%E0%E9%CEg%B2%93%00%24%C1%94%A7%40%EE%99O%7D%F2S%9F%D6%1C%00%01%06%DAOy%06%60%00%02%C5%27%40%09r%D0%84%16%D4%9C%0D%15%E8C%C3%19Q%85.t%9F%08%CD%E8E1%9AQ%C8%5D4%A2%03%F0%E8B%03%20%80%8EnT%9C%25E%A8H%01J%D2%8C%BAt%A0%03%CD%A64%B1h%80c%CA%14%9F%2A%15%40%00v%AA%C0%05%924%A5%2F%85%299e%AAM%98%22%14%9F%02H%2AO%C5%C9%D4%1C%FE4%A9.M%A8P%C9i%D4%A4ZU%A7%3B%ED%E3S%A3%9AQ%82J%15%A9%21U%AAY%B2%AA%D5%ABv%94%ABQ%D5%A9Z%B1z%D2%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%0D%AC%60%B9%19%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%03%DC%B8%A3%05%02R%99%28%DA%FC%11D%28%10%14%03O%5BZ%E0%B2%87%8F%9F%40%82%0A%1D%F2%E3%23%40V%94%0D%98%D0%B9%93%C7%2BXB%86%10%29%92%F3%E1%2CI%03%3F%DA%C8%A9%C3v%8F%1F%40T%E3%2Ab%C4%E8%CB%02%BB%1F%05%BC%20%D3%06%8E%9C%B5y%F6%F4%C9%F3g%90%D8D%8B%1A%3DB%24%C4%2Cb%8D%1C%AE%A0Q%D3%E6%CDc%3Bx%EC0I%60%01%8DXD%99%1DA%8A%A4%27%C4%E7%8B%13%96%88%21s%26%CD%1A7%8E%E7%40i%40%90%86%1F%D8%8C%1C%3D%8A4i%12%19%05%B7%25%2A%C0%B1%C5K%182f%7C%97%9E%22%E1%A0%82%2C%88%18%FEi%8E%24%89R%A5FG%A2%3B%24%B0b%0A%96%EAa%C6%98%19%5D%E5%C2B%10u%1A%C9%964%A9%D2%A5L~%80%A0%5EB%01%84%B0%C4%14U%5C%A1E%17%60%88Q%C6%14%198%24%40%12%88%2C7%09%25%96%60%A2%09%26%60%1C0%60A%13%F8%C0%C4%13R%24%A8%05%17%5EXA%82D%10%A0%C1%1C%86%FFm%C2%C9%23%3C%7C%08%40%032%1C%A1%C4%12NDA%85%15YX%E1%C2%00%15%B1%10%88y%FFi%22%A3%27%7Dh%10%DD%01%26%001D%11I%2C%D1%04%14RPA%03V%17%11%F0%04%24%19%2A%C9I%27%9Fp2%06%97Y%0D%D0%01%0E%3C%FC%20D%11HX%09%05%0E%0Cp%94%81%1D%97%88%D9%89%27%A0%84%22%89%0EO%05%40%C1%0B6%E4%C0%83%0FA%10%A1%23%0F%13%80%A4%03%23%9Bl%B2%E7%27%A0%882J%20%11%16%F5%00%0A0%CC%60%03%0E%3B%F8%20%E5%0E%F6%89%94%00%19%99p%E2%09%A5%A1X%EA%89%16%FED%06%85%C0%07%2B%B8%D0%E9%A7%3A%F4%B0%C3%07%02%98%E4%C1%1F%7B%F6i%29%29%A5D%12%C3O%04%5CpB%0A%B5%C2%20C%0D7%E0%20%02%01%29%05%A0D%25%AC%8EBl%29%A5%F0%11%C1N%01%40%10%02%09%26%A0%B0B%0B%2F%C40%03%09%1E%B2%D4%C0%1A%9F%B4%3A%0A%B7%A6%9C%E2%89%1491%C0A%08%22%90%8B%82%0A%2C%B8%60B%9D0%A5%A0%C8%B0%A5%D4%7B%0A%2A%8C%94P%13%02%17p%F0%01%BF%23%94p%82%0A%258%40%D3%00YtB%AC%C2%A8%A4b%8A%1Ah%BAD%40%04%19l%D0%81%07%20%88P1%09%13xVS%05x%24%7C%CA%C2%A9%A8%A2%0A%27A%B8%24%40%03%17%5C%80%81%06%1C%B0%CC%AF%05%B1%E6d%03%25%F5%86%9C%F3%2A%AC%24%E2d%B5%08H%40A%05Bk%A0%F2%07%16%14%E0%13%01%5C%88%E2%B4%2A%AB%40%5DJ%18I%DF%E5%40%04V%5B%20t%06%1AX%D0.P%1E%1426%D4%AC%B4r%89%FE%0C%24%0D%B0%C0%03%10%B0%7D%B5%D0%16%40W%14%11%9C%E8%8Cw%2B%8C%F3A%5Cb%070%D0%80%03%10%40%20%C1%04%15T%C0%80%CCE%25%90%06%2Ae%B3%92w%2B%AE%90bEG%01%18%B0%C0%02%92%3B%008%DB%0D%F4z%D6%08%8C%2CN%BA%2B%AFD%E2pF%04%28%B0%BA%E4%93%BB%DE%40%DAg%050%85%28%A3%BB%82%FB%2B%AC%B81%F7D%03%1C%A0%80%EF%AC%B7%DE%80%D7%03%3EPG%DE%CA%BF%F2%0A%2C%B0%80%22%C4D%02%18%80%00%02%09L%EF%3B%03%0C%94%FC%E1%0B%95%90%EE%FD%F7%B0%C4%82H%05%0F%05%40%C0%01%E7%A3%9F%BE%EF%07%E0%9C%8D%00%40%800%A0by%E0%8BE%2CTA%06%E2%1Dd%00%050%80%01%F8w%BE%F4%05p%80%08%C9%40%21%BC%07%BE%FA%C5%02%14%CF%3BH%00%0A%40%C2%09R%F0%00%B2%C3%60Bz%D0%09%FA%D5%0F%08%0C%19a%09%0Fp%00%038P%85%079%40%1BX%01%3E%404D%86%FE%12%B4%21%0E%21%22%82F%84%E2q%0B%91%21%09%A95%C4%88P%C0%21J%2C%00%13%9B%E8%11%FD%95p%8AT%E4%88%FE%08%10A%ECeQ%8B%04%E0%A2%01%B0%F8%C5%8Cl1%82d%2C%E3E%CE%28E5n%84%8Dit%23E%B6%C8%C58%CAQ%22tl%E3%1D%D7%18%C6%3A%EE%91%8Fa%D4%E3%1F%E7%D8GA%0E%12%8F%85%B4%E3%21c%D8G%02%DCp%91%8Cl%24%24%11%D9%C7GN%92%40%8D%B4%E4%25E%98%C9M%E6o%00%95%F4%24%14A%19FM%8Ar%20%01%20%A5%23O%19%C3%01%90%D2%94%ACL%E5%2BY%99DW%82%12%96%A7%94%A5-i%A9%10%5D%BA%92%97%04%B2%E5%2F%81%29Ba%E2R%94%BE%3C%A6%27%7D%99Bb%12D%96%02%18%403%9D%29%90%00%08%E0%9A%D2%A4fA%ACyM%01%08%90%9A%DC%BC%E67%9D%19Noj%F3%99%DD4%E79%AB%E9%CD%00%B8s%9D%A8t%E78%C1YMx%DA%F3%9E%F8%27%CC%A7%3E%F7%C9%CF~%FA%F3%9F%00%0D%A8%40%07J%D0%82%1A%F4%A0%08M%A8B%17%CA%D0%86%3A%F4%A1%10%8D%A8D5%12%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%03%8C%A8%D2C%01R%99%19%96p%F1%12%06%CC%0D%02O%5B%3A%E0a%25%CB%16%AAd%CC%80Y%915%25%02%18Q%A6t%FD%1A%86%CC%994k%B0X%28K%92%80%89%24N%D2%AE%05%FBv%8D%9B7I%10%D0%FD%18%60%C3%8F%24K%F2%AA%CD%C2%25%0B%98%B0p%DB%C0%91%D3FF%80%C1%1B%21%CC%10R%04Ib%BDVf%18x%D0%C4%0C%5C7p%E6%D4%B9C%26%03%E6%8B%0BV%F0%F8%C1%D9s%5E%295%12%10%2C%11f%8Dd9%AB%F3%EC%91%22%F8u%C4%02%1Fn%E8%98-%C4%08b%267%18%1C%3C%20%E4wp%3E~%EE%E00%EEP%00%86%174%94%FE%CF%1ER%24%C9%0D%07%0B1x%01~%27%0Fv%40%82%D6h%E0%9E0%80%84%14%2Fb%84%D7%D1%83v%0D%08%0E%05p%C3%1Bw%E8%81%5D%20%82%14B%88%14%06%D0W%90%02%22%AC%D0%C2%0B2%D4%A0%5C%0F6%CC%15%11%03T%B8%F7G%20%83%14rH%22~%C8%E0%20%00%07l%60%02%0A%2B%B8%00C%858%D8%C0%81%00%15%89%D0%C6%87%21%8E%B8H%23oh%88%19%01%15%8CP%C2%09%29HH%E1%0C%1F%60u%D1%00%40%F0%91%23%22%3B%3A%C2%C8%15%05%D0%25%00%04%1F%880%02%09%26%14%D9%02%0C%21%1C%C0%11%05f%88%88%88%22%8C8%02%89%24%84%CC%90%95%02%1Ax%00B%08B%9E%80%82%0A%23%2C%00%D2%0B%7B%40%D9%88%9A%92LR%89%1D%3E%0E%85%40%05%1Al%D0%C1%07tr%29B%03%23%21%60E%22%7F%AEII%25%97L%22%05%8DA%11%10%C1%05%19%24%BA%28%08%23%84%20%C1e%25e%20%07%A0%97%5E%92%89%26%FE%87%B0%F0%93%00%0BP%60%01%A8%1Ap%D0%81%07%1FL%C0%E9I%01%00%81H%A0%98%BE%BA%C9%26t%3C%B0S%00%08%400%81%AD%B8%EAZ%81%92%2B-%10%86%24%95Xb%2C%27%9ET%C2DN%A3E%20%C1%B3%15%E0j%81%980%91%F0%87%AB%9Al%D2%89%27%9F%80R%88%085%11%B0%C0%03%10D%10%C1%B3%B7VP%9CL%03H1I%BB%EF%C6%1B%CA%27d4%08%93%00%094%E0%80%03%10%E4%FB%2C%05%0B%A0Z%D3%04pl%C2m%BC%A2%8CBJ%25%3D%B8%14%C0%01%0B0%C0%80%03%F8%8A%3B%01%03%BF%E2%24%03%23%F0%82%D21%29%A5%94B%08%06%2B%11%90%C0%02%25%9F%9Cr%03%03%F8D%80%15%9A%80%12%8A%C75%9B%12%8A%17A%9B4%00%02%09%28%C0%B3%C9%0D%3C%C0%00%B5%3Fm%F0G%28%A2%D0%5C%8A%29%A7%A02%09%0C%24%09%60%40%02h%2B%205%03%0D0%A00Q%3FT%E25%D8%A8%A4%82J%1E%90%12F%C0%FE%01%07%40%1D5%CF%0B%1C%60qQ%08%90%21%CA%D7a%A7%A2%8A%2A%A0P%E1%D1%00%06%18%C07%02P%AB-8%5D%21%1CB%B7%E2%AA%AC%C2%8A%23%24h%24%40%01%05D.9%E5%09%1C%D0rY%01%40%E1I%DD%8B%7B%CEJ%2Al%A0KQ%00%03%10%40%BA%E4%7DS%DE4w%0F%C8%81J%E7%B2%B7%D2%8A%27%40L%84%3B%01%CC%93%5E%3A%DF%BF%9F%D8%82%24%AB%14%DF%8A%2B%AE%1CR%01D%020%EF%BD%F3%06%60%7D%A2%40%04%7CQ%0A%2B%AC%18%EF%CA%2B%AF%A42F%F4%08%090%40%EE%DF%93N%C0%E0%E3%13%84%C1%20%E9%AB%FF%0A%2C%9F%B0%1DBp7%3F%EF%E9%EE~%F9%5B%08%0F6%E1%BFW%FC%80%21%04%A4%1F%01%06%B0%BA%04%22%E4%00kX%C5%FA%00%D1%10%02z%AF%82%16TH%08%1A%11%8A%BC-%24%82%13%0C%A1D%B6%D7%C1%F9%E5%0E~%2A%DC%08%0Aa%18%C3%8C%CC%B0%86%1E%B9%21%0E9%A2%C3%1Dj%A4%87%A7%3E%C4%08%10%83h%91%21%12%F1v.%9C%DF%11%85%98D%10.%11%22%11T%E2%13%2B%12E%1AN1%40I%B4%E2%15%21%98%C5-%2A%AF%8B%5E%8CH%00%04%20%3F%0A%86Q%8Cd%9C%9F%13%CF8%402%CAo%8Dl4%C8%18%DD%88%BF8%D6%C7%8D%02%A8%A3%1D%DBHF%3D%EEQ%8E%01%18%A3%1F%FFH%90%CB%04r%90%84%2CH%20%13%C9%C8F%3A%F2%91%90%8C%A4%24%27I%C9JZ%F2%92%98%CC%A4%267%C9%C9Nz%F2%93%A0%0C%A5%28GI%CAR%9A%F2%94%A8L%A5%2AW%C9%CAV%BA%F2%95%B0%8C%A5%2CgI%CBZ%DA%B2%86%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%40%27%BC%10a%00%A9%CC%06%29f%D8%C8%81%E3%83%00%A7-%0F%80x%11%83%C6%0D%1D%3C%7C%E8%C8%805%25%81%0C%2A%5C%C0%90Q%E3%2B%8F%1FB%8A%DCpP%96%A4%80%09%25R%B0P%3B%A3%06%0E%1D%3D%80%0C1%A2dI%8B%02u%3F%06p%10%C2%04%0A%15-%B8J%AD%01%18%08%91%23J%98%3CY%02%221G%04%1BF%940%91bE%E4%182%3A%10H%E0%22%C8%E5%25M%A0H%A9B%24%82%E7%8B%06.%84%08%21%FA%F1%0A%17%2F%3C%20%1Eh%01H%92%25N%A2L%B1%82E%0B%8E%A6%B7%23%0E%88%E0%01D%08%11%24L%9C%80%FC%E1%C0A%02%2A%90%FEK%A1%C2%7C%8B%97%2C%27%A2%3B%0C%D0%20%03%87%EA%22D%9FH%01%02%C1%C2%07%3E%C6%5B%C9%C2%E5K%182QH%A0%9EB%0AX%90%C1%06%EF%81%80%5D%09%1E%24%B0%1E%09Q4%D7%C5%17b%94q%C6%19%3B%100%60A%05HpA%06%1A%20%08%DF%07%0DH%84%80%0E%E6%811%86%19h%A8%C1%06%19%25l%08%00%01%0EP%60%C1%87%1Ap%D0%C1%07%1E%40%10%40E%18H%F1%9F%19i%AC%D1%06%1Cr%60a%DBm%02%2C%20%C1%04%15X%80%C1%81%1Cp%20%C1U%17%09%D0%02%18D%B2%E1%06%92u%D0Q%84%86e%05%90%C0%03%11L%40A%05%17%60%10%E2%04dj%E4%80%13F%BE%11%C7%1Cu%E0%A1%C7%1B%28%60e%80%03%10D%F0%A4%8D%1FR%E0%DDG%23%8C%81%24%1Dv%E4%B1G%1F%7F%90%21%60Q%04%2C%E0%C0%03%81%0EZ%C1%04%F6%89d%C0%10p0%9A%07%1F~%00%22%C8%1FD%60%09%94%00%094%D0%C0%A5%FE%99R%40%81%02%3F%964A%17w%E8Aj%20%83%14rH%1D%24%FC%14%80%01%0B0%F0%EA%03%98%A6%C9%40%AD%27%05%20%C3%1C%90%F2%EAk%22%8A%98Q%E2N%05%28%B0%40%B1%C7%06%CA%C0%00-%25%10%85%1F%82%102%ED%22%8D%18%12DN%04%20%A0-%B7%C72%10%A7K%1D%B4A%88%21%88%24%82%EE%23%91%E0%E1AM%02%1C%80%40%02%0Ahk%AC%03%0D%0C%27%93%00D%04%82%88%22%8C8%C2%EF%24%91h%A1%B0K%01%14%80%C0%C6%04%1B%CC%C0%A16A%20%06%BA%8E%40%22%C9%24%95X%A2%88%0D%18%13%20%F0%C0%04o%BB%C0%01%CC%E2%A4B%1F%FCJBI%25%97d%A2%89%1E%16%AC%24%80%01%06%1C%20p%021%23%A0%EAN%030%C1%C8%24%94X%D2%F3%26%9CXb%C5%D2%23eL%B4%D1G%2B%80%00%B8Aa%40G%CA%98hBu%27%9F%2C%C2%02I%01%0CP%C0%DBE%BF%8C%C0%BCB%E1%A0%88%CFT%7B%F2%09%FE%28%A0%C8%C1%00Hm%13%40%C0%DB%05p%3D%B7S%07tqI%DE%7B%87%22J%26Ox%24%80%E0%82%C3m4%015%23%E5%C1%1F%9D%E8%0D%8A%E3%A3%94%82%88%08%1A%05%40y%E5p%17%909V%01%28Q%C9%E7%A2%8CBJ%29%A6%8C%82%06t%14%B5%3D%C0%E9%84%13%80%B5g%0E%B0%01J%EC%B3%9Br%0A%2A%98%F40Q%00%02%0C%E0%3C%EF%05%FC%AE%9E%0A%8C%CCN%FB%F1%A8%A4%22%08%05%10%E9%EE%FC%F3%82%83-%23A%03h%F1%C9%F5%D9%AB%A2J%29%60%88%9F%10%F3%DF%C7O%C0%00%AB%8F%2F%D0%05~%18%9F%7D%2A%AA%AC%B2%09%EE%08a%5E%F3%E2%E7%BC%FA%D9%8F%209%B0D%FAV%B1%0A%E5-D%80%03%2C%E0%01%1Br%804%98%A2%7F%7Ch%88%00%BFg%C0%09%22%04%04%89%E8%C4%B5%1E%28%80%12%96%D0%83%12%E1%9E%06M%28%80%0E%A2%F0%22%10l%E1%0B%15%C3B%17%CE0w5%BC%A1G%02%C0C%19%EA%90%23i%3Cd%9E%0D%7F%28%91%20%0E%91%88E%3C%22%12%23%A2%C4%25%3A%F1%89P%8C%A2%14%A7H%C5%2AZ%F1%8AX%CC%A2%16%B7%C8%C5.z%F1%8B%60%0C%A3%18%C7H%C62%9A%F1%8ChL%A3%1A%D7%C8%C66%BA%F1%8Dp%8C%A3%1C%E7H%C7%3A%DA%F1%8Ex%CC%A3%1E%F7%C8%C7%3E%FA%F1%8F%80%0C%A4%20%07I%C8B%1A%F2%90%88L%E4%15%03%02%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%40%3Bdy%02%01%A9%CC%05%2F%9A%8C%B9CH%CB%01%A7-%07H0%81C%EA%1DD%95%28E%09%80%15e%00%03%102p%F5%0A%16%D4%A9G%2C%CA%96%14%60%40A%DA%B5S%DB%9Ej%E5jOS%B9%1F%03%0C%20P%F7nW%2Fu%F4%B6%82%25K%95%16%B2%807%06%100%B8%B0Z%1B%2A%0EPhS%C9%EDbY%B4jaj%11%19c%80%D3%94%09%DB%CDp%A1%00A%1F%97%F62%0E%5D%8BV%1F%07%A5%2B%9E%9E%5CY%C1%82%01%07%1B%C8Y5%BBV-%5B%B6%1C%E7%9E%B8%3B5%01%01%0B%5D%5C%02m%1C9%F2K%29%96Cl.%002%C3%01dZ%FEU%B7nk%16%9D%04%DA%1B%EE%F6%FE%10%C3%A1%E3%E4%91%9BZ%92~%21%FB%89%3FD%C5%B7%1E%09D%FD%90%05%9C%01%CB~%B6%C82%C7U%FF%7D%24%82%24%04%DAR%8A%11%09%82%C4%04%2A%0DF%D2A%84%1E1%A0%07-%04%BEb%06p%18rd%82%25%0D%82%82C%88%1C%05%A0%05%2B%04%D6%82%C8%04%28n%04%81%1F%F0%C5%B7%8A%161n%24C%27%0Db%97cF%04%08H%A0%2Cr%20%F8%A3E%19%20%D2%A0%29G%1C%89%11%10%A3T%C8%81%93%16%05%18K%87g%80H%E5D%0B6%F8%89%0D%5BV4a%8B%82%E0%16%A6D%0A%CC1%0B%817%9E9%D1%09%24%12h%C9%09nF%A4%22%8B%FB%19hd%9D%0DE%40%23%81%A5%14%C1%27D3%F0H%20%23%16%0C%EAP%90%03%EE%F7J%96%8A6%B4%01%23%04%92%B2g%A4%0A%05%11%25yC%60%FA%10%02r%C8%82%5C%21%9EFD%02%25%A8%98Y%2AD%89%AE%EA%EA%ABN%B0%C6%2A%EB%AC%B4%D6j%EB%AD%B8%E6%AA%EB%AE%BC%F6%EA%EB%AF%C0%06%2B%EC%B0%C4%16k%EC%B1%C8%26%AB%EC%B2%CC6%EB%EC%B3%D0F%2B%ED%B4%D4Vk%ED%B5%D8f%AB%ED%B6%DCv%EB%ED%B7%E0%86%2B%EE%B8%E4%96k%EE%B9%E8%A6%AB%EE%BA%D9%06%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9D%CA2%00%D5%95%01%AC%5E%3D%99%B5%EB%D6%92%5D%05%0C%200%E0k%C8%B0b%09%18%40%40%C0%EC%C7%ACi%0B%20%60%20AB%01%B7%1D%03%0C%18P%E0%80%82%07%17B%B0%00%21%00%2F%C7%01%06%124%98%C0%01%C5%0D%25RB%18%DE%28%40%01%04%0C%22b%08%A9r%06%0F%9A%0A%933%06X%D0A%85%0E%26_%E2%04r4%E9J%D9%D0%17%0B%98%28rE%8D%1ED%94%3C%95%AAD%036F%0F%5B%E8%08z%A4I%14%AAV%AF%08M%F0m%F1%00%94D%96%3E%99Z%E5%2A%D6%ACTZ%98%5B%1CQhT%AAV%B0d%FE%CD%A2U%EBR%0A%ED%14%07t%29%F5J%3C%F9Z%B6d%C99%80~%E2%85A%B2%DE%C3%B7e%CB%D4%91%FA%13%F9%20J-%FB%F1%C7_%24%1C%00%18Q%01f%C4b%E0%83%AF%9C%F1%9A%82%0E%89%20%C9%83%0F~b%03%85%101%81%0A%86%FC%D5%22%88%03%1C%3A%A4%C0%1C%B3%80h%CB%2A%D9%95%D8%D0%09%96%A8h%8B%25%27%B8%C8P%00Z%B0%A2%A2%2Cs%D0g%A3B%11%F8Q%E0%83%A5%14%F1%E3B3t%22%23%23%16%1C%99%10%01g%C0%A2b%84%13%3AY%D0%06%8C%A8H%8A%8FV%1E%14%C4%28%18%0E%D1%A5B%08%C8%21%0B%7F%85%8C%C9%10%09%94%A0B%A2%9A%0C5%09%E7%9Ct%D6i%E7%9Dx%E6%A9%E7%9E%7C%F6%E9%E7%9F%80%06%2A%E8%A0%84%16j%E8%A1%88%26%AA%E8%A2%8C6%EA%E8%A3%90F%2A%E9%A4%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%2A%EA%A8%A4%96j%EA%A9%A8%A6%AA%EA%AA%AC%B6%EA%EA%AB%03%0E%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%ACY%AD%01%02%9C%B5%98%B6%AD%DA%B5%0F%DD%A6%15%40%17n%DC%B9%02%06%0C%20P%60%80%DD%86%01%F2%EA%E5%7B%00A%02%BF%7F%15%06%D8%5B%C0%00%02%05%0D%20Pp%20%20%B1%C2%01%07%120x0%01C%07%12%28%28XN%28%40%81%04%0B%1CD%A8%90%C1%E3%88%8F%07%A3%11%2A%E8p%02F%0E%22O%B2%90YC%84%40l%83%03%3E%00Yb%25%CC%9A%3A~%0C%FD%91%F1%DB%60%84%26i%E4%EC%21%C4H%12%26O%7B%264%27%28%80G%9FD%91%2C%84q%0AU%0A%15%A90%88%B7%03%90%00g%13%28R%A7T%B1r%F5%E9%80z%826%28%A5%9A%0F%2BV%90%FB%05%1D%C0%06%2B%B1%C82%08%80%07%8D%10I%29%0E%20%88%90%05%0EF%28%E1%84%14Vh%E1%85%18f%A8%E1%86%1Cv%E8%E1%87%20%86%28%E2%88%24%96h%E2%89%28%A6%A8%E2%8A%2C%B6%E8%E2%8B0%C6%28%E3%8C4%D6h%E3%8D8%E6%A8%E3%8E%3C%F6%E8%E3%8F%40%06%29%E4%90D%16i%E4%91H%26%A9%E4%92%40%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%3B";
|
|
17155
17248
|
|
|
17156
17249
|
// src/components/HbLoadingSpinner.tsx
|
|
17157
|
-
import { jsx as
|
|
17250
|
+
import { jsx as jsx157, jsxs as jsxs73 } from "@emotion/react/jsx-runtime";
|
|
17158
17251
|
function HbLoadingSpinner({ noQuips, extraQuips = [], extraQuipsOnly, iconOnly }) {
|
|
17159
17252
|
const ctx = useContext17(HbLoadingSpinnerContext);
|
|
17160
17253
|
const tid = useTestIds({}, "hbSpinner");
|
|
17161
|
-
const quip =
|
|
17254
|
+
const quip = useMemo40(() => {
|
|
17162
17255
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
17163
17256
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
17164
17257
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
17165
17258
|
return allQuips[Math.floor(Math.random() * allQuips.length)];
|
|
17166
17259
|
}, [ctx.noQuips, ctx.quips, extraQuips, extraQuipsOnly, noQuips]);
|
|
17167
17260
|
return /* @__PURE__ */ jsxs73("div", { css: Css.df.fdc.jcc.aic.$, ...tid, children: [
|
|
17168
|
-
/* @__PURE__ */
|
|
17261
|
+
/* @__PURE__ */ jsx157(
|
|
17169
17262
|
"img",
|
|
17170
17263
|
{
|
|
17171
17264
|
src: HbLoadingSpinner_base64_default,
|
|
@@ -17178,7 +17271,7 @@ function HbLoadingSpinner({ noQuips, extraQuips = [], extraQuipsOnly, iconOnly }
|
|
|
17178
17271
|
...tid.gif
|
|
17179
17272
|
}
|
|
17180
17273
|
),
|
|
17181
|
-
!iconOnly && /* @__PURE__ */
|
|
17274
|
+
!iconOnly && /* @__PURE__ */ jsx157(
|
|
17182
17275
|
"div",
|
|
17183
17276
|
{
|
|
17184
17277
|
"data-chromatic": "ignore",
|
|
@@ -17203,14 +17296,14 @@ var HbLoadingSpinnerContext = React20.createContext({
|
|
|
17203
17296
|
noQuips: false
|
|
17204
17297
|
});
|
|
17205
17298
|
function HbSpinnerProvider({ quips = [], children }) {
|
|
17206
|
-
const state =
|
|
17207
|
-
return /* @__PURE__ */
|
|
17299
|
+
const state = useMemo40(() => ({ quips, noQuips: quips.length === 0 }), [quips]);
|
|
17300
|
+
return /* @__PURE__ */ jsx157(HbLoadingSpinnerContext.Provider, { value: state, children });
|
|
17208
17301
|
}
|
|
17209
17302
|
|
|
17210
17303
|
// src/components/MaxLines.tsx
|
|
17211
17304
|
import { useLayoutEffect as useLayoutEffect2, useResizeObserver as useResizeObserver5 } from "@react-aria/utils";
|
|
17212
17305
|
import { useCallback as useCallback21, useEffect as useEffect27, useRef as useRef49, useState as useState39 } from "react";
|
|
17213
|
-
import { jsx as
|
|
17306
|
+
import { jsx as jsx158, jsxs as jsxs74 } from "@emotion/react/jsx-runtime";
|
|
17214
17307
|
function MaxLines({ maxLines, children }) {
|
|
17215
17308
|
const elRef = useRef49(null);
|
|
17216
17309
|
const [hasMore, setHasMore] = useState39(false);
|
|
@@ -17228,13 +17321,13 @@ function MaxLines({ maxLines, children }) {
|
|
|
17228
17321
|
}, [expanded]);
|
|
17229
17322
|
useResizeObserver5({ ref: elRef, onResize });
|
|
17230
17323
|
return /* @__PURE__ */ jsxs74("div", { children: [
|
|
17231
|
-
/* @__PURE__ */
|
|
17232
|
-
hasMore && /* @__PURE__ */
|
|
17324
|
+
/* @__PURE__ */ jsx158("div", { ref: elRef, css: Css.if(!expanded).lineClamp(maxLines).$, children }),
|
|
17325
|
+
hasMore && /* @__PURE__ */ jsx158("button", { css: Css.db.sm.$, onClick: () => setExpanded((prev) => !prev), children: expanded ? "Show Less" : "Show More" })
|
|
17233
17326
|
] });
|
|
17234
17327
|
}
|
|
17235
17328
|
|
|
17236
17329
|
// src/components/Pagination.tsx
|
|
17237
|
-
import { jsx as
|
|
17330
|
+
import { jsx as jsx159, jsxs as jsxs75 } from "@emotion/react/jsx-runtime";
|
|
17238
17331
|
var defaultPage = { offset: 0, limit: 100 };
|
|
17239
17332
|
function Pagination(props) {
|
|
17240
17333
|
const { totalCount, pageSizes = [100, 500, 1e3] } = props;
|
|
@@ -17255,8 +17348,8 @@ function Pagination(props) {
|
|
|
17255
17348
|
}
|
|
17256
17349
|
const tid = useTestIds(props, "pagination");
|
|
17257
17350
|
return /* @__PURE__ */ jsxs75("div", { css: Css.df.bcGray200.bt.xs.gray500.px2.pt2.$, ...tid, children: [
|
|
17258
|
-
/* @__PURE__ */
|
|
17259
|
-
/* @__PURE__ */
|
|
17351
|
+
/* @__PURE__ */ jsx159("div", { css: Css.df.mya.mr2.$, ...tid.pageSizeLabel, children: "Page size:" }),
|
|
17352
|
+
/* @__PURE__ */ jsx159("div", { css: Css.wPx(78).$, children: /* @__PURE__ */ jsx159(
|
|
17260
17353
|
SelectField,
|
|
17261
17354
|
{
|
|
17262
17355
|
compact: true,
|
|
@@ -17277,7 +17370,7 @@ function Pagination(props) {
|
|
|
17277
17370
|
" of ",
|
|
17278
17371
|
totalCount
|
|
17279
17372
|
] }),
|
|
17280
|
-
/* @__PURE__ */
|
|
17373
|
+
/* @__PURE__ */ jsx159(
|
|
17281
17374
|
IconButton,
|
|
17282
17375
|
{
|
|
17283
17376
|
icon: "chevronLeft",
|
|
@@ -17287,7 +17380,7 @@ function Pagination(props) {
|
|
|
17287
17380
|
...tid.previousIcon
|
|
17288
17381
|
}
|
|
17289
17382
|
),
|
|
17290
|
-
/* @__PURE__ */
|
|
17383
|
+
/* @__PURE__ */ jsx159(
|
|
17291
17384
|
IconButton,
|
|
17292
17385
|
{
|
|
17293
17386
|
icon: "chevronRight",
|
|
@@ -17316,8 +17409,8 @@ function toPageNumberSize(page) {
|
|
|
17316
17409
|
|
|
17317
17410
|
// src/components/ScrollShadows.tsx
|
|
17318
17411
|
import { useResizeObserver as useResizeObserver6 } from "@react-aria/utils";
|
|
17319
|
-
import { useCallback as useCallback22, useMemo as
|
|
17320
|
-
import { jsx as
|
|
17412
|
+
import { useCallback as useCallback22, useMemo as useMemo41, useRef as useRef50, useState as useState40 } from "react";
|
|
17413
|
+
import { jsx as jsx160, jsxs as jsxs76 } from "@emotion/react/jsx-runtime";
|
|
17321
17414
|
function ScrollShadows(props) {
|
|
17322
17415
|
const { children, xss, horizontal = false, bgColor = "rgba(255,255,255,1)" /* White */ } = props;
|
|
17323
17416
|
const { height = "auto", width: width2 = "auto" } = xss ?? {};
|
|
@@ -17328,7 +17421,7 @@ function ScrollShadows(props) {
|
|
|
17328
17421
|
const [showStartShadow, setShowStartShadow] = useState40(false);
|
|
17329
17422
|
const [showEndShadow, setShowEndShadow] = useState40(false);
|
|
17330
17423
|
const scrollRef = useRef50(null);
|
|
17331
|
-
const [startShadowStyles, endShadowStyles] =
|
|
17424
|
+
const [startShadowStyles, endShadowStyles] = useMemo41(() => {
|
|
17332
17425
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
17333
17426
|
const commonStyles = Css.absolute.z3.add({ pointerEvents: "none" }).$;
|
|
17334
17427
|
const startShadowStyles2 = !horizontal ? Css.top0.left0.right0.hPx(40).$ : Css.left0.top0.bottom0.wPx(25).$;
|
|
@@ -17359,9 +17452,9 @@ function ScrollShadows(props) {
|
|
|
17359
17452
|
css: Css.relative.oh.h(height).w(width2).df.fd(!horizontal ? "column" : "row").$,
|
|
17360
17453
|
...tid,
|
|
17361
17454
|
children: [
|
|
17362
|
-
/* @__PURE__ */
|
|
17363
|
-
/* @__PURE__ */
|
|
17364
|
-
/* @__PURE__ */
|
|
17455
|
+
/* @__PURE__ */ jsx160("div", { css: { ...startShadowStyles, opacity: showStartShadow ? 1 : 0 }, "data-chromatic": "ignore" }),
|
|
17456
|
+
/* @__PURE__ */ jsx160("div", { css: { ...endShadowStyles, opacity: showEndShadow ? 1 : 0 }, "data-chromatic": "ignore" }),
|
|
17457
|
+
/* @__PURE__ */ jsx160(
|
|
17365
17458
|
"div",
|
|
17366
17459
|
{
|
|
17367
17460
|
css: {
|
|
@@ -17440,7 +17533,7 @@ var snackbarId = 1;
|
|
|
17440
17533
|
// src/components/Stepper.tsx
|
|
17441
17534
|
import { useRef as useRef51 } from "react";
|
|
17442
17535
|
import { useButton as useButton11, useFocusRing as useFocusRing14, useHover as useHover18 } from "react-aria";
|
|
17443
|
-
import { jsx as
|
|
17536
|
+
import { jsx as jsx161, jsxs as jsxs77 } from "@emotion/react/jsx-runtime";
|
|
17444
17537
|
function Stepper(props) {
|
|
17445
17538
|
const { steps, currentStep, onChange } = props;
|
|
17446
17539
|
if (steps.length === 0) {
|
|
@@ -17452,24 +17545,24 @@ function Stepper(props) {
|
|
|
17452
17545
|
const minStepWidth = 100;
|
|
17453
17546
|
const gap = 8;
|
|
17454
17547
|
return /* @__PURE__ */ jsxs77("nav", { "aria-label": "steps", css: Css.df.fdc.w100.$, ...tid, children: [
|
|
17455
|
-
/* @__PURE__ */
|
|
17548
|
+
/* @__PURE__ */ jsx161("ol", { css: Css.listReset.df.gapPx(gap).$, children: steps.map((step) => {
|
|
17456
17549
|
const isCurrent = currentStep === step.value;
|
|
17457
|
-
return /* @__PURE__ */
|
|
17550
|
+
return /* @__PURE__ */ jsx161(
|
|
17458
17551
|
"li",
|
|
17459
17552
|
{
|
|
17460
17553
|
css: Css.df.fg1.fdc.maxwPx(maxStepWidth).mwPx(minStepWidth).$,
|
|
17461
17554
|
"aria-current": isCurrent,
|
|
17462
17555
|
...tid.step,
|
|
17463
|
-
children: /* @__PURE__ */
|
|
17556
|
+
children: /* @__PURE__ */ jsx161(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton })
|
|
17464
17557
|
},
|
|
17465
17558
|
step.label
|
|
17466
17559
|
);
|
|
17467
17560
|
}) }),
|
|
17468
|
-
/* @__PURE__ */
|
|
17561
|
+
/* @__PURE__ */ jsx161(
|
|
17469
17562
|
"div",
|
|
17470
17563
|
{
|
|
17471
17564
|
css: Css.mt1.bgGray300.hPx(4).maxwPx(steps.length * maxStepWidth + (steps.length - 1) * gap).mwPx(steps.length * minStepWidth + (steps.length - 1) * gap).w100.$,
|
|
17472
|
-
children: /* @__PURE__ */
|
|
17565
|
+
children: /* @__PURE__ */ jsx161(
|
|
17473
17566
|
"div",
|
|
17474
17567
|
{
|
|
17475
17568
|
css: Css.bgBlue600.add("transition", "width 200ms").h100.w(`${(lastCompletedStep + 1) / steps.length * 100}%`).$
|
|
@@ -17506,7 +17599,7 @@ function StepButton(props) {
|
|
|
17506
17599
|
},
|
|
17507
17600
|
...tid[defaultTestId(label)],
|
|
17508
17601
|
children: [
|
|
17509
|
-
/* @__PURE__ */
|
|
17602
|
+
/* @__PURE__ */ jsx161("span", { css: Css.fs0.mrPx(4).$, children: /* @__PURE__ */ jsx161(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
|
|
17510
17603
|
label
|
|
17511
17604
|
]
|
|
17512
17605
|
}
|
|
@@ -17514,12 +17607,12 @@ function StepButton(props) {
|
|
|
17514
17607
|
}
|
|
17515
17608
|
function StepIcon({ state, isHovered = false, isPressed = false, isCurrent = false }) {
|
|
17516
17609
|
if (state === "error") {
|
|
17517
|
-
return /* @__PURE__ */
|
|
17610
|
+
return /* @__PURE__ */ jsx161(Icon, { icon: "errorCircle" });
|
|
17518
17611
|
}
|
|
17519
17612
|
if (state === "complete") {
|
|
17520
|
-
return /* @__PURE__ */
|
|
17613
|
+
return /* @__PURE__ */ jsx161(Icon, { icon: "check" });
|
|
17521
17614
|
}
|
|
17522
|
-
return /* @__PURE__ */
|
|
17615
|
+
return /* @__PURE__ */ jsx161("div", { css: Css.wPx(24).hPx(24).df.aic.jcc.$, children: /* @__PURE__ */ jsx161(
|
|
17523
17616
|
"div",
|
|
17524
17617
|
{
|
|
17525
17618
|
css: Css.wPx(10).hPx(10).ba.bw2.br100.add("color", "currentColor").if(isHovered || isPressed || isCurrent).add("backgroundColor", "currentColor").$
|
|
@@ -17529,7 +17622,7 @@ function StepIcon({ state, isHovered = false, isPressed = false, isCurrent = fal
|
|
|
17529
17622
|
|
|
17530
17623
|
// src/components/SuperDrawer/components/SuperDrawerHeader.tsx
|
|
17531
17624
|
import { createPortal as createPortal5 } from "react-dom";
|
|
17532
|
-
import { jsx as
|
|
17625
|
+
import { jsx as jsx162, jsxs as jsxs78 } from "@emotion/react/jsx-runtime";
|
|
17533
17626
|
function SuperDrawerHeader(props) {
|
|
17534
17627
|
const { hideControls } = props;
|
|
17535
17628
|
const { sdHeaderDiv, drawerContentStack: contentStack } = useBeamContext();
|
|
@@ -17542,12 +17635,12 @@ function SuperDrawerHeader(props) {
|
|
|
17542
17635
|
/* @__PURE__ */ jsxs78("div", { css: Css.df.aic.jcsb.gap3.$, ...tid, children: [
|
|
17543
17636
|
isStructuredProps(props) ? /* @__PURE__ */ jsxs78("div", { css: Css.df.jcsb.aic.gap2.fg1.$, children: [
|
|
17544
17637
|
/* @__PURE__ */ jsxs78("div", { css: Css.fg1.df.aic.gap2.$, children: [
|
|
17545
|
-
typeof props.title === "string" ? /* @__PURE__ */
|
|
17638
|
+
typeof props.title === "string" ? /* @__PURE__ */ jsx162("h1", { children: props.title }) : props.title,
|
|
17546
17639
|
props.left
|
|
17547
17640
|
] }),
|
|
17548
|
-
props.right && /* @__PURE__ */
|
|
17549
|
-
] }) : /* @__PURE__ */
|
|
17550
|
-
!hideControls && /* @__PURE__ */
|
|
17641
|
+
props.right && /* @__PURE__ */ jsx162("div", { css: Css.fs0.$, children: props.right })
|
|
17642
|
+
] }) : /* @__PURE__ */ jsx162("div", { css: Css.fg1.$, children: props.children }),
|
|
17643
|
+
!hideControls && /* @__PURE__ */ jsx162("div", { css: Css.fs0.if(isDetail).vh.$, children: /* @__PURE__ */ jsx162(
|
|
17551
17644
|
ButtonGroup,
|
|
17552
17645
|
{
|
|
17553
17646
|
buttons: [
|
|
@@ -17566,18 +17659,18 @@ function isStructuredProps(props) {
|
|
|
17566
17659
|
}
|
|
17567
17660
|
|
|
17568
17661
|
// src/components/SuperDrawer/ConfirmCloseModal.tsx
|
|
17569
|
-
import { Fragment as
|
|
17662
|
+
import { Fragment as Fragment33, jsx as jsx163, jsxs as jsxs79 } from "@emotion/react/jsx-runtime";
|
|
17570
17663
|
function ConfirmCloseModal(props) {
|
|
17571
17664
|
const { onClose, discardText = "Discard Changes", continueText = "Continue Editing" } = props;
|
|
17572
17665
|
const { modalState } = useBeamContext();
|
|
17573
17666
|
function closeModal() {
|
|
17574
17667
|
modalState.current = void 0;
|
|
17575
17668
|
}
|
|
17576
|
-
return /* @__PURE__ */ jsxs79(
|
|
17577
|
-
/* @__PURE__ */
|
|
17578
|
-
/* @__PURE__ */
|
|
17669
|
+
return /* @__PURE__ */ jsxs79(Fragment33, { children: [
|
|
17670
|
+
/* @__PURE__ */ jsx163(ModalHeader, { children: "Are you sure you want to cancel?" }),
|
|
17671
|
+
/* @__PURE__ */ jsx163(ModalBody, { children: /* @__PURE__ */ jsx163("p", { children: "Any changes you've made so far will be lost." }) }),
|
|
17579
17672
|
/* @__PURE__ */ jsxs79(ModalFooter, { children: [
|
|
17580
|
-
/* @__PURE__ */
|
|
17673
|
+
/* @__PURE__ */ jsx163(
|
|
17581
17674
|
Button,
|
|
17582
17675
|
{
|
|
17583
17676
|
variant: "quaternary",
|
|
@@ -17588,7 +17681,7 @@ function ConfirmCloseModal(props) {
|
|
|
17588
17681
|
}
|
|
17589
17682
|
}
|
|
17590
17683
|
),
|
|
17591
|
-
/* @__PURE__ */
|
|
17684
|
+
/* @__PURE__ */ jsx163(Button, { label: continueText, onClick: closeModal })
|
|
17592
17685
|
] })
|
|
17593
17686
|
] });
|
|
17594
17687
|
}
|
|
@@ -17597,8 +17690,8 @@ function ConfirmCloseModal(props) {
|
|
|
17597
17690
|
import { motion as motion4 } from "framer-motion";
|
|
17598
17691
|
|
|
17599
17692
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
17600
|
-
import { useMemo as
|
|
17601
|
-
import { jsx as
|
|
17693
|
+
import { useMemo as useMemo42 } from "react";
|
|
17694
|
+
import { jsx as jsx164 } from "@emotion/react/jsx-runtime";
|
|
17602
17695
|
function useSuperDrawer() {
|
|
17603
17696
|
const {
|
|
17604
17697
|
drawerContentStack: contentStack,
|
|
@@ -17610,7 +17703,7 @@ function useSuperDrawer() {
|
|
|
17610
17703
|
function canCloseDrawerDetails(i, doChange) {
|
|
17611
17704
|
for (const canCloseDrawerDetail of canCloseDetailsChecks.current[i] ?? []) {
|
|
17612
17705
|
if (!canClose(canCloseDrawerDetail)) {
|
|
17613
|
-
openModal({ content: /* @__PURE__ */
|
|
17706
|
+
openModal({ content: /* @__PURE__ */ jsx164(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
|
|
17614
17707
|
return false;
|
|
17615
17708
|
}
|
|
17616
17709
|
}
|
|
@@ -17630,14 +17723,14 @@ function useSuperDrawer() {
|
|
|
17630
17723
|
for (const canCloseDrawer of canCloseChecks.current) {
|
|
17631
17724
|
if (!canClose(canCloseDrawer)) {
|
|
17632
17725
|
openModal({
|
|
17633
|
-
content: /* @__PURE__ */
|
|
17726
|
+
content: /* @__PURE__ */ jsx164(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
|
|
17634
17727
|
});
|
|
17635
17728
|
return;
|
|
17636
17729
|
}
|
|
17637
17730
|
}
|
|
17638
17731
|
doChange();
|
|
17639
17732
|
}
|
|
17640
|
-
const closeActions =
|
|
17733
|
+
const closeActions = useMemo42(
|
|
17641
17734
|
() => {
|
|
17642
17735
|
return {
|
|
17643
17736
|
/** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
|
|
@@ -17672,7 +17765,7 @@ function useSuperDrawer() {
|
|
|
17672
17765
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17673
17766
|
[canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
|
|
17674
17767
|
);
|
|
17675
|
-
const actions =
|
|
17768
|
+
const actions = useMemo42(
|
|
17676
17769
|
() => {
|
|
17677
17770
|
return {
|
|
17678
17771
|
// TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
|
|
@@ -17725,7 +17818,7 @@ function canClose(canCloseCheck) {
|
|
|
17725
17818
|
}
|
|
17726
17819
|
|
|
17727
17820
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
17728
|
-
import { Fragment as
|
|
17821
|
+
import { Fragment as Fragment34, jsx as jsx165, jsxs as jsxs80 } from "@emotion/react/jsx-runtime";
|
|
17729
17822
|
var SuperDrawerContent = ({ children, actions }) => {
|
|
17730
17823
|
const { closeDrawerDetail } = useSuperDrawer();
|
|
17731
17824
|
const { drawerContentStack: contentStack } = useBeamContext();
|
|
@@ -17734,7 +17827,7 @@ var SuperDrawerContent = ({ children, actions }) => {
|
|
|
17734
17827
|
const { width: width2 = 1040 /* Normal */ } = firstContent ?? {};
|
|
17735
17828
|
function wrapWithMotionAndMaybeBack(children2) {
|
|
17736
17829
|
if (kind === "open") {
|
|
17737
|
-
return /* @__PURE__ */
|
|
17830
|
+
return /* @__PURE__ */ jsx165(motion4.div, { css: Css.p3.fg1.oa.$, children: children2 }, "content");
|
|
17738
17831
|
} else if (kind === "detail") {
|
|
17739
17832
|
return /* @__PURE__ */ jsxs80(
|
|
17740
17833
|
motion4.div,
|
|
@@ -17743,8 +17836,8 @@ var SuperDrawerContent = ({ children, actions }) => {
|
|
|
17743
17836
|
animate: { overflow: "auto" },
|
|
17744
17837
|
transition: { overflow: { delay: 0.3 } },
|
|
17745
17838
|
children: [
|
|
17746
|
-
/* @__PURE__ */
|
|
17747
|
-
/* @__PURE__ */
|
|
17839
|
+
/* @__PURE__ */ jsx165(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
|
|
17840
|
+
/* @__PURE__ */ jsx165(
|
|
17748
17841
|
motion4.div,
|
|
17749
17842
|
{
|
|
17750
17843
|
initial: { x: width2, opacity: 0 },
|
|
@@ -17760,27 +17853,27 @@ var SuperDrawerContent = ({ children, actions }) => {
|
|
|
17760
17853
|
"content"
|
|
17761
17854
|
);
|
|
17762
17855
|
} else {
|
|
17763
|
-
return /* @__PURE__ */
|
|
17856
|
+
return /* @__PURE__ */ jsx165(motion4.div, { css: Css.p3.fg1.$, style: { overflow: "auto" } }, "content");
|
|
17764
17857
|
}
|
|
17765
17858
|
}
|
|
17766
|
-
return /* @__PURE__ */ jsxs80(
|
|
17859
|
+
return /* @__PURE__ */ jsxs80(Fragment34, { children: [
|
|
17767
17860
|
wrapWithMotionAndMaybeBack(children),
|
|
17768
|
-
actions && /* @__PURE__ */
|
|
17861
|
+
actions && /* @__PURE__ */ jsx165("footer", { css: Css.bt.bcGray200.p3.df.aic.jcfe.$, children: /* @__PURE__ */ jsx165("div", { css: Css.df.gap1.$, children: actions.map((buttonProps, i) => /* @__PURE__ */ jsx165(Button, { ...buttonProps }, i)) }) })
|
|
17769
17862
|
] });
|
|
17770
17863
|
};
|
|
17771
17864
|
|
|
17772
17865
|
// src/components/Tabs.tsx
|
|
17773
17866
|
import { camelCase as camelCase5 } from "change-case";
|
|
17774
|
-
import { useEffect as useEffect29, useMemo as
|
|
17867
|
+
import { useEffect as useEffect29, useMemo as useMemo43, useRef as useRef52, useState as useState41 } from "react";
|
|
17775
17868
|
import { mergeProps as mergeProps13, useFocusRing as useFocusRing15, useHover as useHover19 } from "react-aria";
|
|
17776
17869
|
import { matchPath, Route } from "react-router";
|
|
17777
17870
|
import { Link as Link5, useLocation } from "react-router-dom";
|
|
17778
|
-
import { Fragment as
|
|
17871
|
+
import { Fragment as Fragment35, jsx as jsx166, jsxs as jsxs81 } from "@emotion/react/jsx-runtime";
|
|
17779
17872
|
function TabsWithContent(props) {
|
|
17780
17873
|
const styles = hideTabs(props) ? {} : Css.pt3.$;
|
|
17781
|
-
return /* @__PURE__ */ jsxs81(
|
|
17782
|
-
/* @__PURE__ */
|
|
17783
|
-
/* @__PURE__ */
|
|
17874
|
+
return /* @__PURE__ */ jsxs81(Fragment35, { children: [
|
|
17875
|
+
/* @__PURE__ */ jsx166(Tabs, { ...props }),
|
|
17876
|
+
/* @__PURE__ */ jsx166(TabContent, { ...props, contentXss: { ...styles, ...props.contentXss } })
|
|
17784
17877
|
] });
|
|
17785
17878
|
}
|
|
17786
17879
|
function TabContent(props) {
|
|
@@ -17795,7 +17888,7 @@ function TabContent(props) {
|
|
|
17795
17888
|
return (
|
|
17796
17889
|
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
17797
17890
|
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
17798
|
-
/* @__PURE__ */
|
|
17891
|
+
/* @__PURE__ */ jsx166(FullBleed, { omitPadding: "paddingLeft" in contentXss || "paddingRight" in contentXss, children: /* @__PURE__ */ jsx166(
|
|
17799
17892
|
"div",
|
|
17800
17893
|
{
|
|
17801
17894
|
"aria-labelledby": `${uniqueValue}-tab`,
|
|
@@ -17804,7 +17897,7 @@ function TabContent(props) {
|
|
|
17804
17897
|
tabIndex: 0,
|
|
17805
17898
|
...tid.panel,
|
|
17806
17899
|
css: contentXss,
|
|
17807
|
-
children: isRouteTab(selectedTab) ? /* @__PURE__ */
|
|
17900
|
+
children: isRouteTab(selectedTab) ? /* @__PURE__ */ jsx166(Route, { path: selectedTab.path, render: selectedTab.render }) : selectedTab.render()
|
|
17808
17901
|
}
|
|
17809
17902
|
) })
|
|
17810
17903
|
);
|
|
@@ -17836,9 +17929,9 @@ function Tabs(props) {
|
|
|
17836
17929
|
}
|
|
17837
17930
|
}
|
|
17838
17931
|
return /* @__PURE__ */ jsxs81("div", { css: { ...Css.df.aic.oa.wsnw.gap1.$, ...includeBottomBorder ? { ...Css.bb.bcGray200.$ } : {} }, children: [
|
|
17839
|
-
!hideTabs(props) && /* @__PURE__ */
|
|
17932
|
+
!hideTabs(props) && /* @__PURE__ */ jsx166("div", { ref, css: Css.dif.gap1.asfe.$, "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
17840
17933
|
const uniqueValue = uniqueTabValue(tab);
|
|
17841
|
-
return /* @__PURE__ */
|
|
17934
|
+
return /* @__PURE__ */ jsx166(
|
|
17842
17935
|
TabImpl,
|
|
17843
17936
|
{
|
|
17844
17937
|
active: active === uniqueValue,
|
|
@@ -17853,7 +17946,7 @@ function Tabs(props) {
|
|
|
17853
17946
|
uniqueValue
|
|
17854
17947
|
);
|
|
17855
17948
|
}) }),
|
|
17856
|
-
right && /* @__PURE__ */
|
|
17949
|
+
right && /* @__PURE__ */ jsx166("div", { css: Css.mla.df.aic.gap1.pb1.$, children: right })
|
|
17857
17950
|
] });
|
|
17858
17951
|
}
|
|
17859
17952
|
function TabImpl(props) {
|
|
@@ -17861,7 +17954,7 @@ function TabImpl(props) {
|
|
|
17861
17954
|
const { disabled = false, name: label, icon, endAdornment } = tab;
|
|
17862
17955
|
const isDisabled = !!disabled;
|
|
17863
17956
|
const { hoverProps, isHovered } = useHover19({ isDisabled });
|
|
17864
|
-
const { baseStyles: baseStyles5, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, activeHoverStyles } =
|
|
17957
|
+
const { baseStyles: baseStyles5, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, activeHoverStyles } = useMemo43(
|
|
17865
17958
|
() => getTabStyles(),
|
|
17866
17959
|
[]
|
|
17867
17960
|
);
|
|
@@ -17888,15 +17981,15 @@ function TabImpl(props) {
|
|
|
17888
17981
|
onBlur,
|
|
17889
17982
|
...isRouteTab(tab) ? {} : { onClick: () => onClick(tab.value) }
|
|
17890
17983
|
});
|
|
17891
|
-
const tabLabel = /* @__PURE__ */ jsxs81(
|
|
17984
|
+
const tabLabel = /* @__PURE__ */ jsxs81(Fragment35, { children: [
|
|
17892
17985
|
label,
|
|
17893
|
-
(icon || endAdornment) && /* @__PURE__ */
|
|
17986
|
+
(icon || endAdornment) && /* @__PURE__ */ jsx166("span", { css: Css.ml1.$, children: icon ? /* @__PURE__ */ jsx166(Icon, { icon }) : endAdornment })
|
|
17894
17987
|
] });
|
|
17895
17988
|
return isDisabled ? maybeTooltip({
|
|
17896
17989
|
title: resolveTooltip(disabled),
|
|
17897
17990
|
placement: "top",
|
|
17898
|
-
children: /* @__PURE__ */
|
|
17899
|
-
}) : isRouteTab(tab) ? /* @__PURE__ */
|
|
17991
|
+
children: /* @__PURE__ */ jsx166("div", { ...tabProps, children: tabLabel })
|
|
17992
|
+
}) : isRouteTab(tab) ? /* @__PURE__ */ jsx166(Link5, { ...{ ...tabProps, ...interactiveProps }, className: "navLink", to: tab.href, children: tabLabel }) : /* @__PURE__ */ jsx166("button", { ...{ ...tabProps, ...interactiveProps }, children: tabLabel });
|
|
17900
17993
|
}
|
|
17901
17994
|
function getTabStyles() {
|
|
17902
17995
|
const borderBottomWidthPx = 4;
|
|
@@ -17992,6 +18085,7 @@ export {
|
|
|
17992
18085
|
ConfirmCloseModal,
|
|
17993
18086
|
Container,
|
|
17994
18087
|
Copy,
|
|
18088
|
+
CountBadge,
|
|
17995
18089
|
Css,
|
|
17996
18090
|
CssReset,
|
|
17997
18091
|
DESC,
|