@hedia/recommendation-screen 2.1.52 → 2.1.53-alpha.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/src/RecommendationScreen.d.ts +3 -0
- package/dist/src/RecommendationScreen.js +39 -33
- package/dist/src/assets/IconsSVG/Close.d.ts +4 -0
- package/dist/src/assets/IconsSVG/Close.js +6 -0
- package/dist/src/assets/IconsSVG/Edit.d.ts +4 -0
- package/dist/src/assets/IconsSVG/Edit.js +7 -0
- package/dist/src/assets/IconsSVG/activity/Cycling.d.ts +4 -0
- package/dist/src/assets/IconsSVG/activity/Cycling.js +11 -0
- package/dist/src/assets/IconsSVG/activity/Running.d.ts +4 -0
- package/dist/src/assets/IconsSVG/activity/Running.js +9 -0
- package/dist/src/assets/IconsSVG/activity/Stretching.d.ts +4 -0
- package/dist/src/assets/IconsSVG/activity/Stretching.js +9 -0
- package/dist/src/assets/IconsSVG/activity/Swimming.d.ts +4 -0
- package/dist/src/assets/IconsSVG/activity/Swimming.js +12 -0
- package/dist/src/assets/IconsSVG/activity/Walking.d.ts +4 -0
- package/dist/src/assets/IconsSVG/activity/Walking.js +10 -0
- package/dist/src/assets/assets/IconsSVG/Close.tsx +13 -0
- package/dist/src/assets/assets/IconsSVG/Edit.tsx +16 -0
- package/dist/src/assets/assets/IconsSVG/activity/Cycling.tsx +40 -0
- package/dist/src/assets/assets/IconsSVG/activity/Running.tsx +28 -0
- package/dist/src/assets/assets/IconsSVG/activity/Stretching.tsx +28 -0
- package/dist/src/assets/assets/IconsSVG/activity/Swimming.tsx +46 -0
- package/dist/src/assets/assets/IconsSVG/activity/Walking.tsx +34 -0
- package/dist/src/components/ExitModal.d.ts +22 -0
- package/dist/src/components/ExitModal.js +89 -0
- package/dist/src/components/InfoBars.d.ts +4 -26
- package/dist/src/components/InfoBars.js +23 -53
- package/dist/src/components/LimitationMessage.js +6 -12
- package/dist/src/components/LineSeparator.d.ts +5 -1
- package/dist/src/components/LineSeparator.js +1 -3
- package/dist/src/components/RecentInsulin.d.ts +2 -1
- package/dist/src/components/RecentInsulin.js +41 -38
- package/dist/src/components/RecommendationModal.d.ts +24 -59
- package/dist/src/components/RecommendationModal.js +58 -95
- package/dist/src/components/RecommendedCarbs.js +67 -78
- package/dist/src/components/RecommendedInsulin.js +37 -59
- package/dist/src/components/Remeasure.js +28 -46
- package/dist/src/components/TimeoutModal.d.ts +20 -0
- package/dist/src/components/TimeoutModal.js +82 -0
- package/dist/src/components/TransferToLogbook.js +13 -12
- package/dist/src/components/activity/Activity.js +36 -40
- package/dist/src/components/activity/ActivityIcon.d.ts +7 -7
- package/dist/src/components/activity/ActivityIcon.js +30 -22
- package/dist/src/components/activity/ActivityIntensity.js +10 -17
- package/dist/src/components/mood/Emotion.js +6 -8
- package/dist/src/components/mood/MoodIcon.js +3 -9
- package/dist/src/components/styles/fonts.d.ts +9 -1
- package/dist/src/components/styles/fonts.js +8 -0
- package/dist/src/locale/da/messages.js +1 -1
- package/dist/src/locale/da/messages.po +2 -2
- package/dist/src/locale/de/messages.js +1 -1
- package/dist/src/locale/de/messages.po +2 -2
- package/dist/src/locale/en/messages.js +1 -1
- package/dist/src/locale/en/messages.po +2 -2
- package/dist/src/locale/es/messages.js +1 -1
- package/dist/src/locale/es/messages.po +2 -2
- package/dist/src/locale/fr/messages.js +1 -1
- package/dist/src/locale/fr/messages.po +2 -2
- package/dist/src/locale/it/messages.js +1 -1
- package/dist/src/locale/it/messages.po +2 -2
- package/dist/src/types/enum.d.ts +7 -2
- package/dist/src/types/enum.js +12 -6
- package/dist/src/utils/Constants.d.ts +1 -0
- package/dist/src/utils/Constants.js +1 -0
- package/package.json +2 -2
- package/dist/src/assets/activity/Cyclist.png +0 -0
- package/dist/src/assets/activity/Other.png +0 -0
- package/dist/src/assets/activity/Runner.png +0 -0
- package/dist/src/assets/activity/Swimmer.png +0 -0
- package/dist/src/assets/activity/Walk.png +0 -0
- package/dist/src/components/Header.d.ts +0 -10
- package/dist/src/components/Header.js +0 -76
- package/dist/src/components/Icon.d.ts +0 -20
- package/dist/src/components/Icon.js +0 -43
- package/dist/src/components/TwoOptionModal.d.ts +0 -147
- package/dist/src/components/TwoOptionModal.js +0 -140
- /package/dist/src/assets/{mood → assets/mood}/happy.png +0 -0
- /package/dist/src/assets/{mood → assets/mood}/happy_active.png +0 -0
- /package/dist/src/assets/{mood → assets/mood}/neutral.png +0 -0
- /package/dist/src/assets/{mood → assets/mood}/neutral_active.png +0 -0
- /package/dist/src/assets/{mood → assets/mood}/sad.png +0 -0
- /package/dist/src/assets/{mood → assets/mood}/sad_active.png +0 -0
- /package/dist/src/assets/{mood → assets/mood}/semi_happy.png +0 -0
- /package/dist/src/assets/{mood → assets/mood}/semi_happy_active.png +0 -0
- /package/dist/src/assets/{mood → assets/mood}/semi_sad.png +0 -0
- /package/dist/src/assets/{mood → assets/mood}/semi_sad_active.png +0 -0
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { StyleSheet } from "react-native";
|
|
3
|
-
/** Mapping from react-native-vector-icons identifier to corresponding icon resource. */
|
|
4
|
-
export declare const IconSets: Record<string, any>;
|
|
5
|
-
export interface IProps {
|
|
6
|
-
/** The name of the react-native-vector-icons identifier */
|
|
7
|
-
iconIdentifier: string;
|
|
8
|
-
/** Style of the icon */
|
|
9
|
-
iconStyle: StyleSheet.NamedStyles<any>;
|
|
10
|
-
}
|
|
11
|
-
/** Component used to display a react-native-vector-icons */
|
|
12
|
-
export default class Icon extends React.Component<IProps> {
|
|
13
|
-
static defaultProps: any;
|
|
14
|
-
_root: any;
|
|
15
|
-
setNativeProps(nativeProps: any): void;
|
|
16
|
-
/**
|
|
17
|
-
* @returns JSX Element containing the desired react-native-vector-icons
|
|
18
|
-
*/
|
|
19
|
-
render(): JSX.Element;
|
|
20
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
/* tslint:disable */
|
|
3
|
-
import React from "react";
|
|
4
|
-
/** Mapping from react-native-vector-icons identifier to corresponding icon resource. */
|
|
5
|
-
export const IconSets = {
|
|
6
|
-
AntDesign: require(`react-native-vector-icons/AntDesign`),
|
|
7
|
-
Feather: require(`react-native-vector-icons/Feather`),
|
|
8
|
-
EvilIcons: require(`react-native-vector-icons/EvilIcons`),
|
|
9
|
-
Ionicons: require(`react-native-vector-icons/Ionicons`),
|
|
10
|
-
FontAwesome: require(`react-native-vector-icons/FontAwesome`),
|
|
11
|
-
Entypo: require(`react-native-vector-icons/Entypo`),
|
|
12
|
-
};
|
|
13
|
-
/** Component used to display a react-native-vector-icons */
|
|
14
|
-
export default class Icon extends React.Component {
|
|
15
|
-
static defaultProps;
|
|
16
|
-
_root;
|
|
17
|
-
setNativeProps(nativeProps) {
|
|
18
|
-
this._root.setNativeProps(nativeProps);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* @returns JSX Element containing the desired react-native-vector-icons
|
|
22
|
-
*/
|
|
23
|
-
render() {
|
|
24
|
-
const iconParts = this.props.iconIdentifier.split(`/`);
|
|
25
|
-
let iconPackageName = iconParts[0];
|
|
26
|
-
let iconName = iconParts[1];
|
|
27
|
-
if (!IconSets[iconPackageName]) {
|
|
28
|
-
iconPackageName = `FontAwesome`;
|
|
29
|
-
iconName = `question`;
|
|
30
|
-
}
|
|
31
|
-
const clonedProps = {
|
|
32
|
-
...this.props,
|
|
33
|
-
name: iconName,
|
|
34
|
-
iconIdentifier: undefined,
|
|
35
|
-
ref: (component) => (this._root = component),
|
|
36
|
-
};
|
|
37
|
-
const IconClass = IconSets[iconPackageName].default;
|
|
38
|
-
return <IconClass {...clonedProps}/>;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
Icon.defaultProps = {
|
|
42
|
-
iconIdentifier: `FontAwesome/question`,
|
|
43
|
-
};
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
export interface ITwoOptionModalProps {
|
|
3
|
-
/** The title of the modal. */
|
|
4
|
-
title: string;
|
|
5
|
-
/** The message to show in the modal. */
|
|
6
|
-
message: string;
|
|
7
|
-
/** The label of the first option. */
|
|
8
|
-
textFirstOption: string;
|
|
9
|
-
/** The label of the second option. */
|
|
10
|
-
textSecondOption: string;
|
|
11
|
-
/** Whether or not the modal shall have a cancel button in the corner to close the modal. */
|
|
12
|
-
isCancelable?: boolean;
|
|
13
|
-
/** If true the buttons will be displayed side-by-side. If false the buttons will be displayed on top of each other. */
|
|
14
|
-
rowAsButtonLayout: boolean;
|
|
15
|
-
/** To be called if the user taps the first option button. */
|
|
16
|
-
firstOption(): void;
|
|
17
|
-
/** To be called if the user taps the second option button. */
|
|
18
|
-
secondOption(): void;
|
|
19
|
-
/** To be called if the user taps the optionally shown close button. */
|
|
20
|
-
onClose?(): void;
|
|
21
|
-
}
|
|
22
|
-
/** Display a modal with two buttons for the user to choose between. */
|
|
23
|
-
export default class TwoOptionModal extends React.Component<ITwoOptionModalProps> {
|
|
24
|
-
/** Compose a JSX element for displaying the modal. */
|
|
25
|
-
render(): JSX.Element;
|
|
26
|
-
}
|
|
27
|
-
/** @internal */
|
|
28
|
-
export declare const modalStyle: {
|
|
29
|
-
container: {
|
|
30
|
-
justifyContent: "center";
|
|
31
|
-
backgroundColor: string;
|
|
32
|
-
position: "absolute";
|
|
33
|
-
left: 0;
|
|
34
|
-
right: 0;
|
|
35
|
-
top: 0;
|
|
36
|
-
bottom: 0;
|
|
37
|
-
};
|
|
38
|
-
modalContainer: {
|
|
39
|
-
margin: string;
|
|
40
|
-
backgroundColor: string;
|
|
41
|
-
borderRadius: number;
|
|
42
|
-
};
|
|
43
|
-
iconWrapper: {
|
|
44
|
-
alignSelf: "flex-end";
|
|
45
|
-
marginRight: string;
|
|
46
|
-
marginTop: string;
|
|
47
|
-
};
|
|
48
|
-
icon: {
|
|
49
|
-
color: string;
|
|
50
|
-
fontSize: number;
|
|
51
|
-
};
|
|
52
|
-
textContainer: {
|
|
53
|
-
marginHorizontal: string;
|
|
54
|
-
marginBottom: string;
|
|
55
|
-
marginTop: string;
|
|
56
|
-
alignSelf: "flex-start";
|
|
57
|
-
};
|
|
58
|
-
textContainerNotCancelable: {
|
|
59
|
-
marginHorizontal: string;
|
|
60
|
-
marginVertical: string;
|
|
61
|
-
alignSelf: "flex-start";
|
|
62
|
-
};
|
|
63
|
-
titleRowLayout: {
|
|
64
|
-
color: string;
|
|
65
|
-
textAlign: "center";
|
|
66
|
-
marginBottom: string;
|
|
67
|
-
fontFamily: import("./styles/fonts").FontFamily;
|
|
68
|
-
fontSize: number;
|
|
69
|
-
lineHeight: number;
|
|
70
|
-
};
|
|
71
|
-
titleColumnLayout: {
|
|
72
|
-
color: string;
|
|
73
|
-
textAlign: "center";
|
|
74
|
-
marginBottom: string;
|
|
75
|
-
fontFamily: import("./styles/fonts").FontFamily;
|
|
76
|
-
fontSize: number;
|
|
77
|
-
lineHeight: number;
|
|
78
|
-
};
|
|
79
|
-
message: {
|
|
80
|
-
color: string;
|
|
81
|
-
textAlign: "center";
|
|
82
|
-
fontFamily: import("./styles/fonts").FontFamily;
|
|
83
|
-
fontSize: number;
|
|
84
|
-
lineHeight: number;
|
|
85
|
-
};
|
|
86
|
-
buttonContainerRow: {
|
|
87
|
-
flexDirection: "row";
|
|
88
|
-
justifyContent: "space-around";
|
|
89
|
-
marginHorizontal: string;
|
|
90
|
-
marginVertical: string;
|
|
91
|
-
};
|
|
92
|
-
buttonContainerColumn: {
|
|
93
|
-
flexDirection: "column";
|
|
94
|
-
justifyContent: "space-around";
|
|
95
|
-
margin: string;
|
|
96
|
-
};
|
|
97
|
-
buttonRow: {
|
|
98
|
-
height: number;
|
|
99
|
-
marginTop: number;
|
|
100
|
-
borderRadius: number;
|
|
101
|
-
borderWidth: number;
|
|
102
|
-
borderColor: string;
|
|
103
|
-
width: number;
|
|
104
|
-
alignSelf: "center";
|
|
105
|
-
justifyContent: "center";
|
|
106
|
-
};
|
|
107
|
-
firstButtonColumn: {
|
|
108
|
-
height: number;
|
|
109
|
-
width: number;
|
|
110
|
-
marginTop: number;
|
|
111
|
-
backgroundColor: string;
|
|
112
|
-
borderRadius: number;
|
|
113
|
-
borderWidth: number;
|
|
114
|
-
borderColor: string;
|
|
115
|
-
alignSelf: "center";
|
|
116
|
-
justifyContent: "center";
|
|
117
|
-
};
|
|
118
|
-
secondButtonColumn: {
|
|
119
|
-
alignSelf: "center";
|
|
120
|
-
justifyContent: "center";
|
|
121
|
-
height: number;
|
|
122
|
-
width: number;
|
|
123
|
-
marginTop: string;
|
|
124
|
-
};
|
|
125
|
-
textButtonRow: {
|
|
126
|
-
textAlign: "center";
|
|
127
|
-
color: string;
|
|
128
|
-
fontFamily: import("./styles/fonts").FontFamily;
|
|
129
|
-
fontSize: number;
|
|
130
|
-
lineHeight: number;
|
|
131
|
-
};
|
|
132
|
-
textFirstButtonColumn: {
|
|
133
|
-
textAlign: "center";
|
|
134
|
-
paddingHorizontal: number;
|
|
135
|
-
color: string;
|
|
136
|
-
fontFamily: import("./styles/fonts").FontFamily;
|
|
137
|
-
fontSize: number;
|
|
138
|
-
lineHeight: number;
|
|
139
|
-
};
|
|
140
|
-
textSecondButtonColumn: {
|
|
141
|
-
textAlign: "center";
|
|
142
|
-
color: string;
|
|
143
|
-
fontFamily: import("./styles/fonts").FontFamily;
|
|
144
|
-
fontSize: number;
|
|
145
|
-
lineHeight: number;
|
|
146
|
-
};
|
|
147
|
-
};
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { Dimensions, StatusBar, StyleSheet, TouchableOpacity, View } from "react-native";
|
|
3
|
-
import { Testing } from "../types/enum";
|
|
4
|
-
import { colors } from "../utils/Constants";
|
|
5
|
-
import Icon from "./Icon";
|
|
6
|
-
import { stylesModal } from "./RecommendationModal";
|
|
7
|
-
import { FONTS, ICONS } from "./styles/fonts";
|
|
8
|
-
import Text from "./Text";
|
|
9
|
-
const { TwoOptionModalTestIds } = Testing.Id;
|
|
10
|
-
/** Display a modal with two buttons for the user to choose between. */
|
|
11
|
-
export default class TwoOptionModal extends React.Component {
|
|
12
|
-
/** Compose a JSX element for displaying the modal. */
|
|
13
|
-
render() {
|
|
14
|
-
const { rowAsButtonLayout, isCancelable } = this.props;
|
|
15
|
-
return (<View style={modalStyle.container}>
|
|
16
|
-
<StatusBar backgroundColor={colors.transparentLightBlue}/>
|
|
17
|
-
<View style={modalStyle.modalContainer}>
|
|
18
|
-
{isCancelable && (<TouchableOpacity onPress={this.props.onClose} testID={TwoOptionModalTestIds.ExitButton} style={modalStyle.iconWrapper}>
|
|
19
|
-
<Icon iconIdentifier={`Ionicons/ios-close-circle-outline`} style={modalStyle.icon}/>
|
|
20
|
-
</TouchableOpacity>)}
|
|
21
|
-
|
|
22
|
-
<View style={isCancelable ? modalStyle.textContainer : modalStyle.textContainerNotCancelable}>
|
|
23
|
-
<Text style={rowAsButtonLayout ? modalStyle.titleRowLayout : modalStyle.titleColumnLayout}>
|
|
24
|
-
{this.props.title}
|
|
25
|
-
</Text>
|
|
26
|
-
<Text style={modalStyle.message}>{this.props.message}</Text>
|
|
27
|
-
</View>
|
|
28
|
-
<View style={rowAsButtonLayout ? modalStyle.buttonContainerRow : modalStyle.buttonContainerColumn}>
|
|
29
|
-
<TouchableOpacity testID={TwoOptionModalTestIds.FirstOption} onPress={this.props.firstOption} style={rowAsButtonLayout ? modalStyle.buttonRow : modalStyle.firstButtonColumn}>
|
|
30
|
-
<Text style={rowAsButtonLayout ? modalStyle.textButtonRow : modalStyle.textFirstButtonColumn}>
|
|
31
|
-
{this.props.textFirstOption}
|
|
32
|
-
</Text>
|
|
33
|
-
</TouchableOpacity>
|
|
34
|
-
<TouchableOpacity testID={TwoOptionModalTestIds.SecondOption} onPress={this.props.secondOption} style={rowAsButtonLayout ? modalStyle.buttonRow : modalStyle.secondButtonColumn}>
|
|
35
|
-
<Text style={rowAsButtonLayout ? modalStyle.textButtonRow : modalStyle.textSecondButtonColumn}>
|
|
36
|
-
{this.props.textSecondOption}
|
|
37
|
-
</Text>
|
|
38
|
-
</TouchableOpacity>
|
|
39
|
-
</View>
|
|
40
|
-
</View>
|
|
41
|
-
</View>);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
const { height, width } = Dimensions.get(`screen`);
|
|
45
|
-
/** @internal */
|
|
46
|
-
export const modalStyle = StyleSheet.create({
|
|
47
|
-
container: {
|
|
48
|
-
...StyleSheet.absoluteFillObject,
|
|
49
|
-
justifyContent: `center`,
|
|
50
|
-
backgroundColor: colors.transparentBlack,
|
|
51
|
-
},
|
|
52
|
-
modalContainer: {
|
|
53
|
-
margin: `4%`,
|
|
54
|
-
backgroundColor: colors.semiDarkBlue,
|
|
55
|
-
borderRadius: width / 25,
|
|
56
|
-
},
|
|
57
|
-
iconWrapper: {
|
|
58
|
-
alignSelf: `flex-end`,
|
|
59
|
-
marginRight: `4%`,
|
|
60
|
-
marginTop: `3%`,
|
|
61
|
-
},
|
|
62
|
-
icon: {
|
|
63
|
-
...ICONS.XXXL,
|
|
64
|
-
color: colors.fadeBlue,
|
|
65
|
-
},
|
|
66
|
-
textContainer: {
|
|
67
|
-
marginHorizontal: `4%`,
|
|
68
|
-
marginBottom: `5%`,
|
|
69
|
-
marginTop: `2%`,
|
|
70
|
-
alignSelf: `flex-start`,
|
|
71
|
-
},
|
|
72
|
-
textContainerNotCancelable: {
|
|
73
|
-
marginHorizontal: `4%`,
|
|
74
|
-
marginVertical: `5%`,
|
|
75
|
-
alignSelf: `flex-start`,
|
|
76
|
-
},
|
|
77
|
-
titleRowLayout: {
|
|
78
|
-
...FONTS.Poppins.bold_2XL,
|
|
79
|
-
color: colors.white,
|
|
80
|
-
textAlign: `center`,
|
|
81
|
-
marginBottom: `10%`,
|
|
82
|
-
},
|
|
83
|
-
titleColumnLayout: {
|
|
84
|
-
...FONTS.Poppins.bold_2XL,
|
|
85
|
-
color: colors.white,
|
|
86
|
-
textAlign: `center`,
|
|
87
|
-
marginBottom: `5%`,
|
|
88
|
-
},
|
|
89
|
-
message: {
|
|
90
|
-
...FONTS.Poppins.bold_LG,
|
|
91
|
-
color: colors.lightBlue,
|
|
92
|
-
textAlign: `center`,
|
|
93
|
-
},
|
|
94
|
-
buttonContainerRow: {
|
|
95
|
-
flexDirection: `row`,
|
|
96
|
-
justifyContent: `space-around`,
|
|
97
|
-
marginHorizontal: `4%`,
|
|
98
|
-
marginVertical: `6%`,
|
|
99
|
-
},
|
|
100
|
-
buttonContainerColumn: {
|
|
101
|
-
flexDirection: `column`,
|
|
102
|
-
justifyContent: `space-around`,
|
|
103
|
-
margin: `4%`,
|
|
104
|
-
},
|
|
105
|
-
buttonRow: {
|
|
106
|
-
...stylesModal.okButton,
|
|
107
|
-
height: height / 16,
|
|
108
|
-
marginTop: 0,
|
|
109
|
-
},
|
|
110
|
-
firstButtonColumn: {
|
|
111
|
-
...stylesModal.okButton,
|
|
112
|
-
height: height / 18,
|
|
113
|
-
width: width / 1.5,
|
|
114
|
-
marginTop: 0,
|
|
115
|
-
backgroundColor: colors.teal,
|
|
116
|
-
},
|
|
117
|
-
secondButtonColumn: {
|
|
118
|
-
alignSelf: `center`,
|
|
119
|
-
justifyContent: `center`,
|
|
120
|
-
height: height / 18,
|
|
121
|
-
width: width / 1.5,
|
|
122
|
-
marginTop: `2%`,
|
|
123
|
-
},
|
|
124
|
-
textButtonRow: {
|
|
125
|
-
...FONTS.Poppins.bold_Base,
|
|
126
|
-
textAlign: `center`,
|
|
127
|
-
color: colors.teal,
|
|
128
|
-
},
|
|
129
|
-
textFirstButtonColumn: {
|
|
130
|
-
...FONTS.Poppins.bold_LG,
|
|
131
|
-
textAlign: `center`,
|
|
132
|
-
paddingHorizontal: 15,
|
|
133
|
-
color: colors.darkBlue,
|
|
134
|
-
},
|
|
135
|
-
textSecondButtonColumn: {
|
|
136
|
-
...FONTS.Poppins.bold_Base,
|
|
137
|
-
textAlign: `center`,
|
|
138
|
-
color: colors.teal,
|
|
139
|
-
},
|
|
140
|
-
});
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|