Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
C
crawler
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
backend
crawler
Commits
32f29b2c
Commit
32f29b2c
authored
4 years ago
by
litaolemo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
67a5c17f
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
728 additions
and
0 deletions
+728
-0
es_kocust_tractate.py
locust_test/es_kocust_tractate.py
+728
-0
No files found.
locust_test/es_kocust_tractate.py
0 → 100644
View file @
32f29b2c
# -*- coding:UTF-8 -*-
# @Time : 2020/12/15 17:09
# @File : es_kocust_tractate.py
# @email : litao@igengmei.com
# @author : litao
# -*- coding:UTF-8 -*-
# @Time : 2020/12/15 10:47
# @File : es_locust_answer.py
# @email : litao@igengmei.com
# @author : litao
import
json
import
time
from
locust
import
HttpUser
,
task
from
locust.contrib.fasthttp
import
FastHttpUser
ip
=
'172.16.52.33@elastic:gengmei!@#'
ip
,
auth
=
ip
.
split
(
"@"
,
1
)
query_list
=
{
"鼻综合"
:
22
,
"激光脱面部其他毛发"
:
36
,
"切开双眼皮"
:
85
,
"埋线双眼皮"
:
86
,
"定点双眼皮"
:
87
,
"开内眼角"
:
88
,
"开外眼角"
:
89
,
"内切祛眼袋"
:
90
,
"外切祛眼袋"
:
91
,
"激光祛眼袋"
:
92
,
"吸脂祛眼袋"
:
93
,
"上眼睑下垂矫正"
:
95
,
"玻尿酸填充卧蚕"
:
97
,
"自体脂肪填充泪沟"
:
98
,
"玻尿酸填充泪沟"
:
99
,
"切眉"
:
100
,
"激光祛黑眼圈"
:
101
,
"自体脂肪填充黑眼圈"
:
102
,
"鼻部膨体假体取出"
:
106
,
"驼峰鼻矫正"
:
107
,
"鹰钩鼻矫正"
:
108
,
"歪鼻矫正"
:
109
,
"朝天鼻矫正"
:
110
,
"缩鼻背"
:
111
,
"手术缩鼻头"
:
112
,
"自体脂肪隆鼻"
:
114
,
"玻尿酸隆鼻"
:
115
,
"自体软骨垫鼻尖"
:
116
,
"注射瘦脸"
:
117
,
"吸脂瘦脸"
:
118
,
"自体脂肪丰苹果肌"
:
120
,
"玻尿酸填充丰苹果肌"
:
121
,
"颧骨内推"
:
122
,
"玻尿酸丰下巴"
:
123
,
"下巴前推"
:
124
,
"自体脂肪丰下巴"
:
125
,
"硅胶垫下巴"
:
126
,
"膨体垫下巴"
:
127
,
"缩下巴"
:
129
,
"宽下巴矫正"
:
130
,
"激光溶脂祛双下巴"
:
131
,
"酒窝成形术"
:
134
,
"自体脂肪丰面颊"
:
135
,
"自体脂肪丰太阳穴"
:
136
,
"玻尿酸丰太阳穴"
:
137
,
"硅胶丰太阳穴"
:
138
,
"膨体丰太阳穴"
:
139
,
"自体脂肪丰额头"
:
140
,
"玻尿酸丰额头"
:
141
,
"硅胶丰额头"
:
142
,
"膨体丰额头"
:
143
,
"招风耳矫正"
:
144
,
"大耳缩小术"
:
145
,
"杯状耳矫正"
:
146
,
"唇腭裂修复"
:
150
,
"厚唇改薄术"
:
151
,
"玻尿酸丰唇"
:
152
,
"自体脂肪丰唇"
:
153
,
"处女膜修复"
:
161
,
"包皮手术"
:
164
,
"填充阴唇"
:
165
,
"阴唇整形"
:
167
,
"注射祛腋臭"
:
168
,
"激光祛腋臭"
:
169
,
"激光脱发际线"
:
171
,
"植眉"
:
172
,
"种鬓角"
:
174
,
"植睫毛"
:
175
,
"黑脸娃娃"
:
180
,
"激光脱唇毛"
:
181
,
"激光祛红血丝"
:
186
,
"光子嫩肤"
:
187
,
"激光祛纹身"
:
192
,
"玻尿酸除颈纹"
:
197
,
"自体脂肪除颈纹"
:
198
,
"玻尿酸除法令纹"
:
200
,
"自体脂肪除法令纹"
:
201
,
"玻尿酸除眉间纹"
:
203
,
"胸部失败修复"
:
210
,
"乳房再造"
:
211
,
"假体隆胸"
:
212
,
"吸脂祛副乳"
:
213
,
"手术祛副乳"
:
214
,
"乳头内陷矫正"
:
215
,
"乳头缩小"
:
216
,
"乳晕缩小"
:
217
,
"乳晕漂染"
:
218
,
"乳房缩小"
:
219
,
"胸部下垂矫正"
:
220
,
"中医减肥其他项目"
:
222
,
"吸脂瘦背部"
:
224
,
"自体脂肪丰臀"
:
225
,
"产后塑形"
:
226
,
"腹壁成形术"
:
228
,
"膨体隆鼻"
:
232
,
"硅胶隆鼻"
:
233
,
"自体肋软骨隆鼻"
:
234
,
"激光溶脂瘦脸"
:
236
,
"注射瘦腿"
:
237
,
"吸脂瘦大腿"
:
238
,
"吸脂瘦小腿"
:
239
,
"吸脂瘦手臂"
:
240
,
"自体脂肪隆胸"
:
241
,
"玻尿酸除面部细纹"
:
243
,
"自体脂肪除面部细纹"
:
244
,
"植发际线"
:
251
,
"吸脂祛双下巴"
:
252
,
"鼻翼缩小"
:
253
,
"全瓷牙"
:
255
,
"手术祛腋臭"
:
257
,
"像素激光"
:
258
,
"植胡须"
:
770
,
"吸脂塑臀"
:
774
,
"点阵激光"
:
775
,
"玻尿酸丰面颊"
:
776
,
"玻尿酸祛黑眼圈"
:
777
,
"胶原蛋白填充丰唇"
:
778
,
"胶原蛋白填充祛黑眼圈"
:
780
,
"胶原蛋白注射隆鼻"
:
782
,
"胶原蛋白丰太阳穴"
:
783
,
"胶原蛋白填充丰下巴"
:
784
,
"胶原蛋白填充隆胸"
:
785
,
"胶原蛋白填充丰臀"
:
786
,
"胶原蛋白填充除法令纹"
:
787
,
"胶原蛋白填充丰面颊"
:
788
,
"胶原蛋白填充泪沟"
:
789
,
"下眼睑下至"
:
790
,
"泪腺脱垂整形"
:
792
,
"自体脂肪填充卧蚕"
:
793
,
"真皮填充卧蚕"
:
795
,
"埋线隆鼻"
:
796
,
"鼻中隔软骨垫鼻头"
:
797
,
"注射缩鼻头"
:
798
,
"假体垫鼻基底"
:
803
,
"玻尿酸垫鼻基底"
:
804
,
"自体脂肪垫鼻基底"
:
805
,
"鼻中隔软骨隆鼻"
:
806
,
"鼻孔矫正"
:
810
,
"溶脂针瘦脸"
:
811
,
"颧骨提高"
:
813
,
"凸嘴矫正"
:
816
,
"面部不对称改善"
:
817
,
"人工骨垫下巴"
:
819
,
"胶原蛋白填充苹果肌"
:
820
,
"白瓷娃娃"
:
821
,
"热玛吉"
:
822
,
"PRP自体血清美肤"
:
824
,
"美白针"
:
825
,
"手术祛疤"
:
828
,
"综合祛疤"
:
832
,
"注射祛疤"
:
834
,
"激光点痣"
:
835
,
"射频溶脂瘦手臂"
:
836
,
"小腿神经阻断术"
:
838
,
"假体丰臀"
:
839
,
"吸脂瘦肩"
:
841
,
"注射瘦肩"
:
842
,
"点穴减肥"
:
843
,
"针灸减肥"
:
844
,
"埋线减肥"
:
845
,
"错颌锁颌"
:
850
,
"隐形矫正"
:
851
,
"根管治疗"
:
853
,
"M唇成形术"
:
864
,
"阴茎延长"
:
866
,
"阴茎增粗"
:
867
,
"玻尿酸丰耳垂"
:
868
,
"轮廓修复术"
:
869
,
"胸部假体取出"
:
870
,
"超声提升"
:
872
,
"线雕"
:
873
,
"双眼皮修复"
:
878
,
"眶隔脂肪释放"
:
881
,
"玻尿酸垫眉弓"
:
885
,
"自体脂肪垫眉弓"
:
886
,
"硅胶垫眉弓"
:
887
,
"膨体垫眉弓"
:
888
,
"上眼睑祛脂"
:
890
,
"鼻小柱延长"
:
897
,
"额头缩小"
:
899
,
"人中缩短"
:
901
,
"射频溶脂塑臀"
:
909
,
"漂唇"
:
910
,
"红蓝光祛痘"
:
912
,
"化学剥脱祛斑"
:
915
,
"冷光美白"
:
917
,
"激光祛疤"
:
919
,
"拉皮"
:
926
,
"黄金微针"
:
928
,
"激光除皱"
:
930
,
"埋线除皱"
:
931
,
"放射状角膜切开术"
:
942
,
"准分子激光切削术"
:
943
,
"准分子激光原位角膜磨镶术"
:
944
,
"透明晶体摘除术"
:
945
,
"远视镜片矫正"
:
946
,
"激光屈光性角膜切削术"
:
947
,
"圆柱镜矫正"
:
948
,
"角膜接触镜矫正"
:
949
,
"角膜屈光手术"
:
950
,
"斜视镜片矫正"
:
951
,
"斜视矫正手术"
:
952
,
"眼科检查"
:
953
,
"玻尿酸填充隆胸"
:
954
,
"激光紧缩阴道"
:
960
,
"眼袋修复"
:
964
,
"鼻形态修复"
:
965
,
"鼻部硅胶假体取出"
:
966
,
"激光除妊娠纹"
:
973
,
"黄金微针除妊娠纹"
:
974
,
"冷冻祛腋臭"
:
980
,
"半永久纹眉"
:
1370
,
"水氧活肤"
:
1703
,
"自体脂肪全面部填充"
:
1890
,
"镭射净肤"
:
1966
,
"半永久纹眼线"
:
2057
,
"水光针"
:
2059
,
"无针水光"
:
2060
,
"射频提升"
:
2063
,
"激光脱腋毛"
:
2065
,
"激光脱比基尼部位"
:
2066
,
"激光脱臂毛"
:
2067
,
"激光脱大腿/小腿毛"
:
2068
,
"彩光嫩肤"
:
2072
,
"耳软骨隆鼻"
:
2073
,
"果酸焕肤"
:
2108
,
"身体检查"
:
2213
,
"玻尿酸溶解酶"
:
2412
,
"眼综合"
:
2417
,
"开眼角修复"
:
2429
,
"合金烤瓷牙"
:
2453
,
"二氧化锆烤瓷牙"
:
2454
,
"超声波洗牙"
:
2455
,
"树脂补牙"
:
2456
,
"拔龋齿"
:
2459
,
"拔智齿"
:
2460
,
"嘴角上扬术"
:
2466
,
"口腔检查"
:
2467
,
"孕睫术"
:
2723
,
"玻尿酸精华导入"
:
2778
,
"双颚手术"
:
2818
,
"热拉提"
:
2866
,
"人工骨隆鼻"
:
2924
,
"自体真皮隆鼻"
:
2925
,
"鼻小柱缩短"
:
2926
,
"长鼻矫正"
:
2929
,
"颧弓降低"
:
2932
,
"微针祛痘坑"
:
2935
,
"激光祛斑"
:
2936
,
"皮秒激光"
:
2938
,
"小气泡美肤"
:
2939
,
"微针水光"
:
2941
,
"玻尿酸丰乳头"
:
2944
,
"乳头再造"
:
2945
,
"胶原蛋白注射丰乳晕"
:
2946
,
"提眉修复"
:
2950
,
"卧蚕手术修复"
:
2951
,
"半永久纹发际线"
:
2954
,
"颧骨填充术"
:
3001
,
"微晶瓷隆鼻"
:
3038
,
"激光祛脂肪粒"
:
3041
,
"少女针注射"
:
3043
,
"童颜针注射"
:
3045
,
"假体填充苹果肌"
:
3048
,
"抗敏修复"
:
3049
,
"洗眼线"
:
3050
,
"肤质检测"
:
3052
,
"阴蒂整形"
:
4282
,
"菲洛嘉"
:
4437
,
"HPV检查"
:
4870
,
"全脸整形套餐"
:
5058
,
"V脸套餐"
:
5059
,
"祛斑套餐"
:
5064
,
"美白套餐"
:
5065
,
"补水套餐"
:
5066
,
"皮肤综合管理套餐"
:
5067
,
"洗牙套餐"
:
5070
,
"唇部综合"
:
5071
,
"除皱套餐"
:
5073
,
"玻尿酸注射套餐"
:
5074
,
"乳腺检查"
:
5510
,
"全飞秒"
:
5871
,
"半飞秒"
:
5872
,
"ICL晶体植入"
:
5873
,
"异物取出"
:
5874
,
"美胸套餐"
:
6145
,
"激光脱全身毛发"
:
6160
,
"射频祛眼袋"
:
6163
,
"O型腿矫正"
:
6455
,
"X型腿矫正"
:
6456
,
"G点注射"
:
7091
,
"牙齿瓷贴面"
:
7129
,
"自体软骨垫鼻基底"
:
7151
,
"女性私密检查"
:
7175
,
"阴唇漂红"
:
7176
,
"手术紧缩阴道"
:
7177
,
"性腺激活"
:
7179
,
"种植牙齿"
:
7809
,
"下颌角切除术"
:
7823
,
"玻尿酸丰眼窝"
:
14198
,
"注射去鼻背纹"
:
14209
,
"注射去口周纹"
:
14210
,
"注射去动态纹"
:
14211
,
"注射治疗多汗"
:
14215
,
"注射颏肌放松"
:
14220
,
"美白导入"
:
14225
,
"埋线祛眼袋"
:
14590
,
"光纤溶脂祛眼袋"
:
14591
,
"微针祛黑眼圈"
:
14593
,
"射频祛黑眼圈"
:
14594
,
"眼综合修复"
:
14595
,
"宽鼻矫正"
:
14596
,
"颧骨颧弓整形术"
:
14597
,
"下巴截骨"
:
14598
,
"下巴硅胶假体取出"
:
14599
,
"下巴膨体假体取出"
:
14600
,
"下颚前突/地包天"
:
14601
,
"上颚前突/天包地"
:
14602
,
"下颌角整形"
:
14603
,
"取颊脂垫瘦脸"
:
14605
,
"射频溶脂瘦脸"
:
14606
,
"光纤溶脂瘦脸"
:
14607
,
"冷冻溶脂瘦腹部"
:
14608
,
"冷冻溶脂瘦腰部"
:
14609
,
"冷冻溶脂瘦手臂"
:
14610
,
"冷冻溶脂瘦大腿"
:
14611
,
"冷冻溶脂瘦小腿"
:
14612
,
"冷冻溶脂瘦肩膀"
:
14613
,
"冷冻溶脂瘦背部"
:
14614
,
"冷冻溶脂瘦臀部"
:
14615
,
"射频溶脂瘦大腿"
:
14616
,
"射频溶脂瘦小腿"
:
14617
,
"射频溶脂瘦肩膀"
:
14618
,
"射频溶脂瘦背部"
:
14619
,
"射频溶脂瘦腰部"
:
14620
,
"射频溶脂瘦腹部"
:
14621
,
"超声溶脂瘦手臂"
:
14622
,
"超声溶脂瘦腰部"
:
14623
,
"超声溶脂瘦腹部"
:
14624
,
"超声溶脂瘦大腿"
:
14625
,
"超声溶脂瘦小腿"
:
14626
,
"超声溶脂瘦臀部"
:
14627
,
"超声溶脂瘦背部"
:
14628
,
"超声溶脂瘦肩部"
:
14629
,
"光纤溶脂瘦手臂"
:
14630
,
"光纤溶脂瘦腰部"
:
14631
,
"光纤溶脂瘦腹部"
:
14632
,
"光纤溶脂瘦大腿"
:
14633
,
"光纤溶脂瘦小腿"
:
14634
,
"光纤溶脂瘦背部"
:
14635
,
"光纤溶脂瘦臀部"
:
14636
,
"光纤溶脂瘦肩部"
:
14637
,
"吸脂瘦腰部"
:
14639
,
"吸脂瘦腹部"
:
14640
,
"吸脂瘦全身"
:
14641
,
"吸脂失败修复术"
:
14643
,
"杏仁酸焕肤"
:
14644
,
"水杨酸焕肤"
:
14645
,
"清痘针"
:
14646
,
"冷冻祛痣"
:
14647
,
"手术祛胎记"
:
14648
,
"激光祛胎记"
:
14649
,
"洗眉"
:
14650
,
"小棕瓶美白"
:
14651
,
"水光娃娃"
:
14652
,
"种植面膜"
:
14653
,
"SMAS除皱手术"
:
14654
,
"内窥镜手术提升"
:
14655
,
"小切口手术提升"
:
14656
,
"干细胞疗法"
:
14657
,
"复合隆胸"
:
14658
,
"男性乳房肥大矫正"
:
14659
,
"头顶加密种植"
:
14660
,
"美人尖种植"
:
14661
,
"种植胸毛"
:
14662
,
"种植私密毛发"
:
14663
,
"疤痕种植毛发"
:
14665
,
"防脱理疗"
:
14667
,
"乌发理疗"
:
14668
,
"深层清洁"
:
14669
,
"养发护理"
:
14670
,
}
query_Str_list
=
list
(
query_list
.
keys
())
import
random
print
(
random
.
choice
(
query_Str_list
))
from
locust.exception
import
RescheduleTask
class
QuickstartUser
(
FastHttpUser
):
@task
def
hello_world
(
self
):
query
=
random
.
choice
(
query_Str_list
)
data
=
{
"from"
:
0
,
"size"
:
10
,
"query"
:
{
"function_score"
:
{
"functions"
:
[
{
"filter"
:
{
"bool"
:
{
"should"
:
[
{
"terms"
:
{
"content"
:
[
"水光镇"
,
"有针水光针"
,
"深层水面膜"
,
query
,
"hydrolifting"
,
"水光注射"
,
"水光抗衰"
,
"aqualiftin"
,
"水光针prp"
,
"韩国艺人针"
,
query
]
}
},
{
"terms"
:
{
"author"
:
[
"水光镇"
,
"有针水光针"
,
"深层水面膜"
,
query
,
"hydrolifting"
,
"水光注射"
,
"水光抗衰"
,
"aqualiftin"
,
"水光针prp"
,
"韩国艺人针"
,
query
]
}
},
{
"terms"
:
{
"tractate_tag_name"
:
[
"水光镇"
,
"有针水光针"
,
"深层水面膜"
,
query
,
"hydrolifting"
,
"水光注射"
,
"水光抗衰"
,
"aqualiftin"
,
"水光针prp"
,
"韩国艺人针"
,
query
]
}
},
{
"terms"
:
{
"tractate_tag_name_content"
:
[
"水光镇"
,
"有针水光针"
,
"深层水面膜"
,
query
,
"hydrolifting"
,
"水光注射"
,
"水光抗衰"
,
"aqualiftin"
,
"水光针prp"
,
"韩国艺人针"
,
query
]
}
},
{
"multi_match"
:
{
"query"
:
query
,
"fields"
:
[
"content^6"
,
"author^2"
,
"tractate_tag_name^3"
,
"tractate_tag_name_content^4"
],
"analyzer"
:
"gm_default_index"
,
"operator"
:
"and"
,
"type"
:
"best_fields"
}
}
],
"minimum_should_match"
:
1
}
},
"weight"
:
10000
},
{
"filter"
:
{
"bool"
:
{
"should"
:
[
{
"terms"
:
{
"tractate_tag_name"
:
[
"水光镇"
,
"有针水光针"
,
"深层水面膜"
,
query
,
"hydrolifting"
,
"水光注射"
,
"水光抗衰"
,
"aqualiftin"
,
"水光针prp"
,
"韩国艺人针"
,
query
]
}
},
{
"terms"
:
{
"tractate_tag_name_content"
:
[
"水光镇"
,
"有针水光针"
,
"深层水面膜"
,
query
,
"hydrolifting"
,
"水光注射"
,
"水光抗衰"
,
"aqualiftin"
,
"水光针prp"
,
"韩国艺人针"
,
query
]
}
},
{
"multi_match"
:
{
"query"
:
query
,
"fields"
:
[
"tractate_tag_name^3"
,
"tractate_tag_name_content^4"
],
"analyzer"
:
"gm_default_index"
,
"operator"
:
"and"
,
"type"
:
"best_fields"
}
}
],
"minimum_should_match"
:
1
}
},
"weight"
:
20000
},
{
"filter"
:
{
"bool"
:
{
"should"
:
[
{
"terms"
:
{
"content"
:
[
query
]
}
},
{
"terms"
:
{
"author"
:
[
query
]
}
},
{
"terms"
:
{
"tractate_tag_name"
:
[
query
]
}
},
{
"terms"
:
{
"tractate_tag_name_content"
:
[
query
]
}
},
{
"multi_match"
:
{
"query"
:
query
,
"fields"
:
[
"content^6"
,
"author^2"
,
"tractate_tag_name^3"
,
"tractate_tag_name_content^4"
],
"analyzer"
:
"gm_default_index"
,
"operator"
:
"and"
,
"type"
:
"best_fields"
}
}
],
"minimum_should_match"
:
1
}
},
"weight"
:
500
}
],
"boost_mode"
:
"replace"
,
"score_mode"
:
"sum"
,
"query"
:
{
"bool"
:
{
"must"
:
[
{
"term"
:
{
"is_online"
:
True
}
},
{
"range"
:
{
"content_level"
:
{
"gte"
:
3
}
}
}
],
"must_not"
:
[
{
"term"
:
{
"status"
:
4
}
}
],
"should"
:
[
{
"multi_match"
:
{
"query"
:
query
,
"fields"
:
[
"content^6"
,
"author^2"
,
"tractate_tag_name^3"
,
"tractate_tag_name_content^4"
],
"analyzer"
:
"gm_default_index"
,
"operator"
:
"or"
,
"type"
:
"best_fields"
}
}
],
"minimum_should_match"
:
1
}
}
}
},
"sort"
:
[
{
"content_simi_bol_show"
:
{
"order"
:
"desc"
}
},
{
"_score"
:
{
"order"
:
"desc"
}
},
{
"search_new_smr"
:
{
"order"
:
"desc"
}
}
],
"_source"
:
{
"include"
:
[
"id"
,
"highlight"
,
"keynote_sentence"
]
},
"highlight"
:
{
"fields"
:
{
"keynote_sentence"
:
{
"highlight_query"
:
{
"bool"
:
{
"must"
:
{
"terms"
:
{
"keynote_sentence"
:
[
query
]
}
}
}
}
}
},
"fragment_size"
:
10000
,
"pre_tags"
:
[
"<ems>"
],
"post_tags"
:
[
"</ems>"
]
}
}
# heasers = {
# "Content-Type": "application/x-www-form-urlencoded"
# }
with
self
.
client
.
post
(
'/gm-dbmw-tractate-read/_search'
,
json
=
data
,
verify
=
False
,
auth
=
tuple
(
auth
.
split
(
':'
,
1
)),
timeout
=
1
,
catch_response
=
True
)
as
response
:
if
response
.
status_code
!=
200
:
response
.
failure
(
"Got wrong response"
)
raise
RescheduleTask
()
if
"Failed"
in
response
.
text
:
response
.
failure
(
"Got wrong response"
)
# response = requests.post('http://172.16.52.25/gm-dbmw-service-read/_search', json=query, verify=False,auth=("elastic","elastic:gengmei!@#"))
# print(response.text)
# self.client.get("/hello")
# self.client.get("/world")
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment