-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIntra Projects get_next_line Edit.html
364 lines (321 loc) · 22.7 KB
/
Intra Projects get_next_line Edit.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
<!DOCTYPE html>
<!-- saved from url=(0099)file:///home/bnidia/Videos/get_next_line/get_next_line/Intra%20Projects%20get_next_line%20Edit.html -->
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="IE=Edge,chrome=1" http-equiv="X-UA-Compatible">
<meta content="width=device-width,height=device-height,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0" name="viewport">
<meta content="yes" name="mobile-web-app-capable">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="translucent-black" name="apple-mobile-web-app-status-bar-style">
<meta content="Intranet 42" name="apple-mobile-web-app-title">
<meta content="on" http-equiv="cleartype">
<link href="https://cdn.intra.42.fr/" rel="preconnect">
<link href="https://projects.intra.42.fr/assets/42_logo_black-684989d43d629b3c0ff6fd7e1157ee04db9bb7a73fba8ec4e01543d650a1c607.png" rel="icon" type="image/png">
<link href="https://projects.intra.42.fr/assets/42_logo_black-684989d43d629b3c0ff6fd7e1157ee04db9bb7a73fba8ec4e01543d650a1c607.png" rel="shortcut icon" type="image/png">
<link href="https://projects.intra.42.fr/opensearch.xml" rel="search" title="project" type="application/opensearchdescription+xml">
<title>Intra Projects get_next_line Edit</title>
<meta name="csrf-param" content="authenticity_token">
<meta name="csrf-token" content="+7cVl4Ghgp+elZhZ7ytzXqD67q55LCtI66YlR1hKQw539jAM4GZe9rJ1z/3RWNLgAQW9FZ4LchyIK+42EyaAvg==">
<link rel="stylesheet" media="all" href="./Intra Projects get_next_line Edit_files/application-31b144f9da6d315a641470dd4b809c40e2364c659c1e606b5990913f073103de.css">
<style>
.deprecated {
-webkit-filter: grayscale(100%);
filter: grayscale(100%); }
</style>
</head><body class=" ">
<div class="notifications-flash-top-bar">
</div>
<div class="notifications-container hidden-xs" data-flashes-url="https://profile.intra.42.fr/flashes" data-notifications-url="https://profile.intra.42.fr/notifications" style="top: 60px; left: 468.953px;">
<header class="notifications--header">
<span>notifications</span>
<a href="https://profile.intra.42.fr/notifications">See all notifications</a>
</header>
<ul class="menu-drop-list"></ul>
</div>
<div class="main-navbar">
<div class="main-navbar-left">
<div class="main-navbar-logo" data-turbolinks-scaffold="">
<a href="https://profile.intra.42.fr/"><img alt="42" src="./Intra Projects get_next_line Edit_files/42_logo-7dfc9110a5319a308863b96bda33cea995046d1731cebb735e41b16255106c12.svg">
</a></div>
<span class="hidden-sidebars main-menu-trigger lines-button x" data-trigger-menu="">
<span class="fal fa-bars"></span>
</span>
<a class="search-mobile-button hidden-sidebars fal fa-search" href="https://profile.intra.42.fr/searches"></a>
</div>
<div class="main-navbar-user-nav" data-turbolinks-scaffold="">
</div>
</div>
<div class="page">
<div class="page-content" data-turbolinks-scaffold="">
<div class="row">
<div class="main-top-menu">
</div>
<div class="container-item scale-team-container">
<div class="row mt-4">
<div class="scale-section-infos col-sm-12 scale-div">
<h3 class="font-weight-bold text-uppercase text-center mt-4 pt-4">
Scale for project
<a href="https://projects.intra.42.fr/projects/42cursus-get_next_line">get_next_line</a>
</h3>
<h5 class="text-muted text-center">You should evaluate 1 student in this team</h5>
<!-- -------- La liste des personnes du groupe ------- -->
<div class="container-inner-item project-repo pt-0 mt-0">
<div class="input-group">
</div>
</div>
<hr>
<div class="p-0 scale-introduction dancer from-down" id="introduction-11024">
<h3 class="font-weight-bold mb-1">Introduction</h3>
<p>
Please comply with the following rules:<br><br>- Remain polite, courteous, respectful and constructive throughout the <br> evaluation process. The well-being of the community depends on it.<br><br>- Identify with the student or group whose work is evaluated the possible <br> dysfunctions in their project. Take the time to discuss and debate the <br> problems that may have been identified.<br><br>- You must consider that there might be some differences in how your peers <br> might have understood the project's instructions and the scope of its <br> functionalities. Always keep an open mind and grade them as honestly as <br> possible. The pedagogy is useful only and only if the peer-evaluation is <br> done seriously.<br>
</p>
</div>
<div class="p-0 scale-guidelines dancer from-down" id="guidelines-11024">
<h3 class="font-weight-bold mb-1">Guidelines</h3>
<p>
- Only grade the work that was turned in the Git repository of the evaluated <br> student or group.<br><br>- Double-check that the Git repository belongs to the student(s). Ensure that <br> the project is the one expected. Also, check that 'git clone' is used in an <br> empty folder.<br><br>- Check carefully that no malicious aliases was used to fool you and make you <br> evaluate something that is not the content of the official repository.<br><br>- To avoid any surprises and if applicable, review together any scripts used <br> to facilitate the grading (scripts for testing or automation).<br><br>- If you have not completed the assignment you are going to evaluate, you have <br> to read the entire subject prior to starting the evaluation process.<br><br>- Use the available flags to report an empty repository, a non-functioning <br> program, a Norm error, cheating, and so forth. <br> In these cases, the evaluation process ends and the final grade is 0, <br> or -42 in case of cheating. However, except for cheating, student are <br> strongly encouraged to review together the work that was turned in, in order <br> to identify any mistakes that shouldn't be repeated in the future.<br><br>- Remember that for the duration of the defence, no segfault, no other <br> unexpected, premature, uncontrolled or unexpected termination of the <br> program, else the final grade is 0. Use the appropriate flag. <br> You should never have to edit any file except the configuration file if it <br> exists. If you want to edit a file, take the time to explicit the reasons <br> with the evaluated student and make sure both of you are okay with this.<br><br>- You must also verify the absence of memory leaks. Any memory allocated on <br> the heap must be properly freed before the end of execution. <br> You are allowed to use any of the different tools available on the computer, <br> such as leaks, valgrind, or e_fence. In case of memory leaks, tick the <br> appropriate flag.<br>
</p>
</div>
<hr>
<div class="dancer from-down" id="attachments-11024">
<h3 class="font-weight-bold mb-1">Attachments</h3>
<div class="project-attachments-list">
</div>
<div class="project-attachments-list">
<div class="project-attachment-item">
<h4 class="attachment-name">
<span class="icon-file"></span>
<a target="_blank" href="https://cdn.intra.42.fr/pdf/pdf/40198/en.subject.pdf">subject.pdf</a>
</h4>
</div>
</div>
</div>
</div>
<form class="simple_form form-horizontal" novalidate="novalidate" id="edit_scale_team_3850397" action="https://projects.intra.42.fr/projects/42cursus-get_next_line/project_sessions/3313/evaluations/1590/scales/11024/scale_teams/3850397" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓"><input type="hidden" name="_method" value="patch"><input type="hidden" name="authenticity_token" value="+7cVl4Ghgp+elZhZ7ytzXqD67q55LCtI66YlR1hKQw539jAM4GZe9rJ1z/3RWNLgAQW9FZ4LchyIK+42EyaAvg=="><div class="scale-section-answers col-sm-12 scale-div">
<section class="scale-section-item dancer from-down" id="section-31658">
<div class="section-header">
<h3 class="font-weight-bold mb-1">Mandatory Part</h3>
<p class="font-italic"></p>
</div>
<h4 class="scale-question-name">Norminette</h4>
<p class="scale-section-guidelines">
Run the Norminette. If there is an error, the evaluation stops here. <br>You can keep going and discuss the implementation of the code, but the <br>assignment will not be graded.<br>
</p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][0][id]" type="hidden" id="scale_team_answer_id"></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="105815" name="[scale_team][answers_attributes][0][question_id]" type="hidden" id="scale_team_answer_question_id"></div></div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][0][value]" id="radio_[scale_team][answers_attributes][0]_true" type="radio" value="1" checked="checked">
<label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][0]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][0][value]" id="radio_[scale_team][answers_attributes][0]_false" type="radio" value="0">
<label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][0]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
<h4 class="scale-question-name">Error management</h4>
<p class="scale-section-guidelines">
Carry out AT LEAST the following tests to try to stress the error <br>management.<br>- Pass an arbitrary file descriptor to the get_next_line function on<br>which it is not possible to read, for example 42. The function must<br>return NULL.<br>- Check the error returns for read and malloc.<br>If there is an error, the evaluation stops here.<br>You can keep going and discuss the implementation of the code,<br>but the assignment will not be graded.<br>
</p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][1][id]" type="hidden" id="scale_team_answer_id"></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="105816" name="[scale_team][answers_attributes][1][question_id]" type="hidden" id="scale_team_answer_question_id"></div></div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][1][value]" id="radio_[scale_team][answers_attributes][1]_true" type="radio" value="1" checked="checked">
<label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][1]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][1][value]" id="radio_[scale_team][answers_attributes][1]_false" type="radio" value="0">
<label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][1]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
<h4 class="scale-question-name">Testing</h4>
<p class="scale-section-guidelines">
As the evaluator, you are expected to provide a main which will always check:<br>- The return value of the get_next_line is NULL in case of error.<br>- Otherwise, the function returns the line read, always with a \n at the end.<br>Test all the possible combinations of the following rules:<br><br>- Large BUFFER_SIZE (>1024)<br>- Small BUFFER_SIZE (< 8, and 1)<br>- BUFFER_SIZE exactly the length of the line to read<br>- 1 byte variant (+/-) between the line and the BUFFER_SIZE<br><br>- Read on stdin<br>- Read from a file<br><br>- (Multiple/Single) Long line (2k+ characters)<br>- (Multiple/Single) Short line (< 4 characters, even 1)<br>- (Multiple/Single) Empty line<br><br>These tests should enable you to verify the strength of the student's <br>get_next_line.<br>If there is an error, the evaluation stops here.<br>
</p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][2][id]" type="hidden" id="scale_team_answer_id"></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="105817" name="[scale_team][answers_attributes][2][question_id]" type="hidden" id="scale_team_answer_question_id"></div></div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][2][value]" id="radio_[scale_team][answers_attributes][2]_true" type="radio" value="1" checked="checked">
<label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][2]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][2][value]" id="radio_[scale_team][answers_attributes][2]_false" type="radio" value="0">
<label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][2]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
</section>
<section class="scale-section-item dancer from-down" id="section-31659">
<div class="section-header">
<hr>
<h3 class="font-weight-bold mb-1">Bonus part</h3>
<p class="font-italic">Evaluate the bonus part if, and only if, the mandatory part has been
entirely and perfectly done, and the error management handles unexpected
or bad usage. In case all the mandatory points were not passed during the
defense, bonus points must be totally ignored.
</p>
</div>
<h4 class="scale-question-name">Multiple fd reading</h4>
<p class="scale-section-guidelines">
Perform the same tests as you did before, this time launch multiple <br>instances of get_next_line with a different file descriptor on each. Make <br>sure that each get_next_line is returning the correct line. Combine with <br>a non-existing fd to check for errors.<br>
</p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][3][id]" type="hidden" id="scale_team_answer_id"></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="105818" name="[scale_team][answers_attributes][3][question_id]" type="hidden" id="scale_team_answer_question_id"></div></div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][3][value]" id="radio_[scale_team][answers_attributes][3]_true" type="radio" value="1" checked="checked">
<label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][3]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][3][value]" id="radio_[scale_team][answers_attributes][3]_false" type="radio" value="0">
<label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][3]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
<h4 class="scale-question-name">Single static variable</h4>
<p class="scale-section-guidelines">
Check the code and verify if there is indeed only one static variable.<br>Give the points if that's the case.<br>
</p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id"><div class="col-sm-10"><input class="form-control hidden" name="[scale_team][answers_attributes][4][id]" type="hidden" id="scale_team_answer_id"></div></div>
<div class="form-group hidden scale_team_answer_question_id"><div class="col-sm-10"><input class="form-control hidden" value="105819" name="[scale_team][answers_attributes][4][question_id]" type="hidden" id="scale_team_answer_question_id"></div></div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][4][value]" id="radio_[scale_team][answers_attributes][4]_true" type="radio" value="1" checked="checked">
<label class="btn btn-success checkbox-label light-bg" for="radio_[scale_team][answers_attributes][4]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input" name="[scale_team][answers_attributes][4][value]" id="radio_[scale_team][answers_attributes][4]_false" type="radio" value="0">
<label class="btn btn-danger checkbox-label light-bg" for="radio_[scale_team][answers_attributes][4]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
</section>
</div>
<div class="col-sm-12 scale-div pb-4">
<div class="dancer from-down" id="ratings-11024">
<h3 class="font-weight-bold mb-1">Ratings</h3>
<p class="marked-title">Don’t forget to check the flag corresponding to the defense</p>
<div class="btn-group block flags-buttons" data-radio-item="flag-small">
<label class="btn btn-default btn-success label_flag_ok on-active positive" for="scale_team_flag_id_1" name="scale_team[flag_id]">
<span class="iconf-check-4"></span>
Ok
</label>
<label class="btn btn-default btn-success label_flag_outstanding_project on-active positive active" for="scale_team_flag_id_9" name="scale_team[flag_id]">
<span class="iconf-star-1"></span>
Outstanding project
</label>
</div>
<div class="btn-group block flags-buttons" data-radio-item="flag-small">
<label class="btn btn-danger btn-default label_flag_empty_work negative on-active" for="scale_team_flag_id_2" name="scale_team[flag_id]">
<span class="iconf-file-1"></span>
Empty work
</label>
<label class="btn btn-danger btn-default label_flag_no_author_file negative on-active" for="scale_team_flag_id_4" name="scale_team[flag_id]">
<span class="iconf-bubble-attention-4"></span>
No author file
</label>
<label class="btn btn-danger btn-default label_flag_invalid_compilation negative on-active" for="scale_team_flag_id_5" name="scale_team[flag_id]">
<span class="iconf-skull-2"></span>
Invalid compilation
</label>
<label class="btn btn-danger btn-default label_flag_norme negative on-active" for="scale_team_flag_id_6" name="scale_team[flag_id]">
<span class="iconf-receipt-1"></span>
Norme
</label>
<label class="btn btn-danger btn-default label_flag_cheat negative on-active" for="scale_team_flag_id_7" name="scale_team[flag_id]">
<span class="iconf-layers"></span>
Cheat
</label>
<label class="btn btn-danger btn-default label_flag_crash negative on-active" for="scale_team_flag_id_8" name="scale_team[flag_id]">
<span class="iconf-bomb"></span>
Crash
</label>
<label class="btn btn-danger btn-default label_flag_leaks negative on-active" for="scale_team_flag_id_12" name="scale_team[flag_id]">
<span class="iconf-blood"></span>
Leaks
</label>
<label class="btn btn-danger btn-default label_flag_forbidden_function negative on-active" for="scale_team_flag_id_13" name="scale_team[flag_id]">
<span class="iconf-delete-2"></span>
Forbidden function
</label>
</div>
</div>
</div>
<div class="col-sm-12 scale-div">
<h3 class="font-weight-bold mb-1">Conclusion</h3>
<div class="scale-final-evaluation hidden">
<div class="form-group radio_buttons optional scale_team_flag"><label class="col-sm-2 control-label radio_buttons optional">Flag</label><div class="col-sm-10"><input type="hidden" name="scale_team[flag_id]" value=""><span class="radio"><label for="scale_team_flag_id_1"><input class="radio_buttons optional" type="radio" value="1" checked="checked" name="scale_team[flag_id]" id="scale_team_flag_id_1">Ok</label></span><span class="radio"><label for="scale_team_flag_id_2"><input class="radio_buttons optional" type="radio" value="2" name="scale_team[flag_id]" id="scale_team_flag_id_2">Empty work</label></span><span class="radio"><label for="scale_team_flag_id_4"><input class="radio_buttons optional" type="radio" value="4" name="scale_team[flag_id]" id="scale_team_flag_id_4">No author file</label></span><span class="radio"><label for="scale_team_flag_id_5"><input class="radio_buttons optional" type="radio" value="5" name="scale_team[flag_id]" id="scale_team_flag_id_5">Invalid compilation</label></span><span class="radio"><label for="scale_team_flag_id_6"><input class="radio_buttons optional" type="radio" value="6" name="scale_team[flag_id]" id="scale_team_flag_id_6">Norme</label></span><span class="radio"><label for="scale_team_flag_id_7"><input class="radio_buttons optional" type="radio" value="7" name="scale_team[flag_id]" id="scale_team_flag_id_7">Cheat</label></span><span class="radio"><label for="scale_team_flag_id_8"><input class="radio_buttons optional" type="radio" value="8" name="scale_team[flag_id]" id="scale_team_flag_id_8">Crash</label></span><span class="radio"><label for="scale_team_flag_id_9"><input class="radio_buttons optional" type="radio" value="9" name="scale_team[flag_id]" id="scale_team_flag_id_9">Outstanding project</label></span><span class="radio"><label for="scale_team_flag_id_12"><input class="radio_buttons optional" type="radio" value="12" name="scale_team[flag_id]" id="scale_team_flag_id_12">Leaks</label></span><span class="radio"><label for="scale_team_flag_id_13"><input class="radio_buttons optional" type="radio" value="13" name="scale_team[flag_id]" id="scale_team_flag_id_13">Forbidden Function</label></span></div></div>
</div>
<div class="scale-final-comments" id="comments-11024">
<p class="marked-title">Leave a comment on this evaluation</p>
<textarea required="required" label="false" class="text required col-sm-12 mb-4" aria-required="true" name="scale_team[comment]" id="scale_team_comment"></textarea>
</div>
<input id="token" name="token" class="hidden" type="hidden">
</div>
<div class="scale-final-submit">
<input class="btn btn-primary btn-block font-weight-bold" data-disable-with="Finishing evaluation..." name="commit" type="submit" value="Finish evaluation">
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div aria-hidden="true" aria-labelledby="smartModalLabel" class="modal fade" id="smartModal" role="dialog" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button aria-hidden="true" class="close" data-dismiss="modal" type="button">
x
</button>
<h3 id="smartModalLabel">
</h3>
</div>
<div class="modal-body">
<h4 class="note-title"></h4>
</div>
<div class="modal-footer">
<button aria-hidden="true" class="btn" data-dismiss="modal">Cancel</button>
<button class="send btn btn-primary">Send</button>
</div>
</div>
</div>
</div>
<div aria-hidden="true" aria-labelledby="flashModalLabel" class="modal fade" id="flashModal" role="dialog" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button aria-hidden="true" class="close" data-dismiss="modal" type="button">
x
</button>
<h3 id="flashModalLabel"></h3>
</div>
<div class="modal-body">
<h4 class="note-title">Flash modal content (raw)</h4>
</div>
<div class="modal-footer">
<button aria-hidden="true" class="btn btn-block btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div data-cache="true" class="hide"></div>
</body></html>