htmlcompressor 0.0.2

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.
Files changed (130) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +13 -0
  4. data/README.md +83 -0
  5. data/Rakefile +2 -0
  6. data/htmlcompressor.gemspec +21 -0
  7. data/lib/htmlcompressor.rb +6 -0
  8. data/lib/htmlcompressor/compressor.rb +785 -0
  9. data/lib/htmlcompressor/rack.rb +54 -0
  10. data/lib/htmlcompressor/version.rb +3 -0
  11. data/test/compressor_test.rb +254 -0
  12. data/test/resources/html/.svn/all-wcprops +275 -0
  13. data/test/resources/html/.svn/entries +1558 -0
  14. data/test/resources/html/.svn/prop-base/testRemoveHttpProtocol.html.svn-base +5 -0
  15. data/test/resources/html/.svn/prop-base/testRemoveHttpProtocolResult.html.svn-base +5 -0
  16. data/test/resources/html/.svn/prop-base/testRemoveHttpsProtocol.html.svn-base +5 -0
  17. data/test/resources/html/.svn/prop-base/testRemoveHttpsProtocolResult.html.svn-base +5 -0
  18. data/test/resources/html/.svn/prop-base/testRemoveSpacesInsideTags.html.svn-base +5 -0
  19. data/test/resources/html/.svn/prop-base/testRemoveSpacesInsideTagsResult.html.svn-base +5 -0
  20. data/test/resources/html/.svn/prop-base/testSurroundingSpaces.html.svn-base +5 -0
  21. data/test/resources/html/.svn/prop-base/testSurroundingSpacesResult.html.svn-base +5 -0
  22. data/test/resources/html/.svn/text-base/testCompress.html.svn-base +10 -0
  23. data/test/resources/html/.svn/text-base/testCompressCss.html.svn-base +11 -0
  24. data/test/resources/html/.svn/text-base/testCompressCssResult.html.svn-base +6 -0
  25. data/test/resources/html/.svn/text-base/testCompressJavaScript.html.svn-base +24 -0
  26. data/test/resources/html/.svn/text-base/testCompressJavaScriptClosureResult.html.svn-base +7 -0
  27. data/test/resources/html/.svn/text-base/testCompressJavaScriptYuiResult.html.svn-base +7 -0
  28. data/test/resources/html/.svn/text-base/testCompressResult.html.svn-base +1 -0
  29. data/test/resources/html/.svn/text-base/testEnabled.html.svn-base +1 -0
  30. data/test/resources/html/.svn/text-base/testEnabledResult.html.svn-base +1 -0
  31. data/test/resources/html/.svn/text-base/testPreserveLineBreaks.html.svn-base +11 -0
  32. data/test/resources/html/.svn/text-base/testPreserveLineBreaksResult.html.svn-base +5 -0
  33. data/test/resources/html/.svn/text-base/testPreservePatterns.html.svn-base +7 -0
  34. data/test/resources/html/.svn/text-base/testPreservePatternsResult.html.svn-base +1 -0
  35. data/test/resources/html/.svn/text-base/testRemoveComments.html.svn-base +17 -0
  36. data/test/resources/html/.svn/text-base/testRemoveCommentsResult.html.svn-base +4 -0
  37. data/test/resources/html/.svn/text-base/testRemoveFormAttributes.html.svn-base +1 -0
  38. data/test/resources/html/.svn/text-base/testRemoveFormAttributesResult.html.svn-base +1 -0
  39. data/test/resources/html/.svn/text-base/testRemoveHttpProtocol.html.svn-base +1 -0
  40. data/test/resources/html/.svn/text-base/testRemoveHttpProtocolResult.html.svn-base +1 -0
  41. data/test/resources/html/.svn/text-base/testRemoveHttpsProtocol.html.svn-base +1 -0
  42. data/test/resources/html/.svn/text-base/testRemoveHttpsProtocolResult.html.svn-base +1 -0
  43. data/test/resources/html/.svn/text-base/testRemoveInputAttributes.html.svn-base +1 -0
  44. data/test/resources/html/.svn/text-base/testRemoveInputAttributesResult.html.svn-base +1 -0
  45. data/test/resources/html/.svn/text-base/testRemoveIntertagSpaces.html.svn-base +5 -0
  46. data/test/resources/html/.svn/text-base/testRemoveIntertagSpacesResult.html.svn-base +1 -0
  47. data/test/resources/html/.svn/text-base/testRemoveJavaScriptProtocol.html.svn-base +1 -0
  48. data/test/resources/html/.svn/text-base/testRemoveJavaScriptProtocolResult.html.svn-base +1 -0
  49. data/test/resources/html/.svn/text-base/testRemoveLinkAttributes.html.svn-base +5 -0
  50. data/test/resources/html/.svn/text-base/testRemoveLinkAttributesResult.html.svn-base +1 -0
  51. data/test/resources/html/.svn/text-base/testRemoveMultiSpaces.html.svn-base +1 -0
  52. data/test/resources/html/.svn/text-base/testRemoveMultiSpacesResult.html.svn-base +1 -0
  53. data/test/resources/html/.svn/text-base/testRemoveQuotes.html.svn-base +7 -0
  54. data/test/resources/html/.svn/text-base/testRemoveQuotesResult.html.svn-base +1 -0
  55. data/test/resources/html/.svn/text-base/testRemoveScriptAttributes.html.svn-base +6 -0
  56. data/test/resources/html/.svn/text-base/testRemoveScriptAttributesResult.html.svn-base +1 -0
  57. data/test/resources/html/.svn/text-base/testRemoveSpacesInsideTags.html.svn-base +1 -0
  58. data/test/resources/html/.svn/text-base/testRemoveSpacesInsideTagsResult.html.svn-base +1 -0
  59. data/test/resources/html/.svn/text-base/testRemoveStyleAttributes.html.svn-base +3 -0
  60. data/test/resources/html/.svn/text-base/testRemoveStyleAttributesResult.html.svn-base +1 -0
  61. data/test/resources/html/.svn/text-base/testSimpleBooleanAttributes.html.svn-base +1 -0
  62. data/test/resources/html/.svn/text-base/testSimpleBooleanAttributesResult.html.svn-base +1 -0
  63. data/test/resources/html/.svn/text-base/testSimpleDoctype.html.svn-base +2 -0
  64. data/test/resources/html/.svn/text-base/testSimpleDoctypeResult.html.svn-base +1 -0
  65. data/test/resources/html/.svn/text-base/testSurroundingSpaces.html.svn-base +1 -0
  66. data/test/resources/html/.svn/text-base/testSurroundingSpacesResult.html.svn-base +1 -0
  67. data/test/resources/html/testCompress.html +10 -0
  68. data/test/resources/html/testCompressCss.html +11 -0
  69. data/test/resources/html/testCompressCssResult.html +6 -0
  70. data/test/resources/html/testCompressJavaScript.html +24 -0
  71. data/test/resources/html/testCompressJavaScriptClosureResult.html +7 -0
  72. data/test/resources/html/testCompressJavaScriptYuiResult.html +7 -0
  73. data/test/resources/html/testCompressResult.html +1 -0
  74. data/test/resources/html/testEnabled.html +1 -0
  75. data/test/resources/html/testEnabledResult.html +1 -0
  76. data/test/resources/html/testPreserveLineBreaks.html +11 -0
  77. data/test/resources/html/testPreserveLineBreaksResult.html +5 -0
  78. data/test/resources/html/testPreservePatterns.html +7 -0
  79. data/test/resources/html/testPreservePatternsResult.html +1 -0
  80. data/test/resources/html/testRemoveComments.html +17 -0
  81. data/test/resources/html/testRemoveCommentsResult.html +4 -0
  82. data/test/resources/html/testRemoveFormAttributes.html +1 -0
  83. data/test/resources/html/testRemoveFormAttributesResult.html +1 -0
  84. data/test/resources/html/testRemoveHttpProtocol.html +1 -0
  85. data/test/resources/html/testRemoveHttpProtocolResult.html +1 -0
  86. data/test/resources/html/testRemoveHttpsProtocol.html +1 -0
  87. data/test/resources/html/testRemoveHttpsProtocolResult.html +1 -0
  88. data/test/resources/html/testRemoveInputAttributes.html +1 -0
  89. data/test/resources/html/testRemoveInputAttributesResult.html +1 -0
  90. data/test/resources/html/testRemoveIntertagSpaces.html +5 -0
  91. data/test/resources/html/testRemoveIntertagSpacesResult.html +1 -0
  92. data/test/resources/html/testRemoveJavaScriptProtocol.html +1 -0
  93. data/test/resources/html/testRemoveJavaScriptProtocolResult.html +1 -0
  94. data/test/resources/html/testRemoveLinkAttributes.html +5 -0
  95. data/test/resources/html/testRemoveLinkAttributesResult.html +1 -0
  96. data/test/resources/html/testRemoveMultiSpaces.html +1 -0
  97. data/test/resources/html/testRemoveMultiSpacesResult.html +1 -0
  98. data/test/resources/html/testRemoveQuotes.html +7 -0
  99. data/test/resources/html/testRemoveQuotesResult.html +1 -0
  100. data/test/resources/html/testRemoveScriptAttributes.html +6 -0
  101. data/test/resources/html/testRemoveScriptAttributesResult.html +1 -0
  102. data/test/resources/html/testRemoveSpacesInsideTags.html +1 -0
  103. data/test/resources/html/testRemoveSpacesInsideTagsResult.html +1 -0
  104. data/test/resources/html/testRemoveStyleAttributes.html +3 -0
  105. data/test/resources/html/testRemoveStyleAttributesResult.html +1 -0
  106. data/test/resources/html/testSimpleBooleanAttributes.html +1 -0
  107. data/test/resources/html/testSimpleBooleanAttributesResult.html +1 -0
  108. data/test/resources/html/testSimpleDoctype.html +2 -0
  109. data/test/resources/html/testSimpleDoctypeResult.html +1 -0
  110. data/test/resources/html/testSurroundingSpaces.html +1 -0
  111. data/test/resources/html/testSurroundingSpacesResult.html +1 -0
  112. data/test/resources/xml/.svn/all-wcprops +53 -0
  113. data/test/resources/xml/.svn/entries +300 -0
  114. data/test/resources/xml/.svn/text-base/testCompress.xml.svn-base +11 -0
  115. data/test/resources/xml/.svn/text-base/testCompressResult.xml.svn-base +5 -0
  116. data/test/resources/xml/.svn/text-base/testEnabled.xml.svn-base +1 -0
  117. data/test/resources/xml/.svn/text-base/testEnabledResult.xml.svn-base +1 -0
  118. data/test/resources/xml/.svn/text-base/testRemoveComments.xml.svn-base +5 -0
  119. data/test/resources/xml/.svn/text-base/testRemoveCommentsResult.xml.svn-base +4 -0
  120. data/test/resources/xml/.svn/text-base/testRemoveIntertagSpaces.xml.svn-base +11 -0
  121. data/test/resources/xml/.svn/text-base/testRemoveIntertagSpacesResult.xml.svn-base +5 -0
  122. data/test/resources/xml/testCompress.xml +11 -0
  123. data/test/resources/xml/testCompressResult.xml +5 -0
  124. data/test/resources/xml/testEnabled.xml +1 -0
  125. data/test/resources/xml/testEnabledResult.xml +1 -0
  126. data/test/resources/xml/testRemoveComments.xml +5 -0
  127. data/test/resources/xml/testRemoveCommentsResult.xml +4 -0
  128. data/test/resources/xml/testRemoveIntertagSpaces.xml +11 -0
  129. data/test/resources/xml/testRemoveIntertagSpacesResult.xml +5 -0
  130. metadata +332 -0
@@ -0,0 +1 @@
1
+ <form method = post> <form method = get> <form method="get"> <form method='get' name="name">
@@ -0,0 +1 @@
1
+ <form method=post> <form> <form> <form name="name">
@@ -0,0 +1 @@
1
+ <link href="http://leave" rel='alternate external'><link href="http://leave" rel=external><link href="http://leave" rel="external"><link href="http://example.com/style.css"/><script src = 'https://www.example.com/script.js'></script><a href= "//google.com"></a><img src = "/pic.jpg"><img alt="http://leave" src = "https://img"/>
@@ -0,0 +1 @@
1
+ <link href="http://leave" rel='alternate external'><link href="http://leave" rel=external><link href="http://leave" rel="external"><link href="//example.com/style.css"/><script src='https://www.example.com/script.js'></script><a href="//google.com"></a><img src="/pic.jpg"><img alt="http://leave" src="https://img"/>
@@ -0,0 +1 @@
1
+ <link href="https://leave" rel='alternate external'><link href="https://leave" rel=external><link href="https://leave" rel="external"><link href="http://example.com/style.css"/><script src = 'https://www.example.com/script.js'></script><a href= "//google.com"></a><img src ="/pic.jpg"><img alt="http://leave" src = "https://img"/>
@@ -0,0 +1 @@
1
+ <link href="https://leave" rel='alternate external'><link href="https://leave" rel=external><link href="https://leave" rel="external"><link href="http://example.com/style.css"/><script src='//www.example.com/script.js'></script><a href="//google.com"></a><img src="/pic.jpg"><img alt="http://leave" src="//img"/>
@@ -0,0 +1 @@
1
+ <input type="password"> <input type="text"/> <input type = text id="id"> <input type='text' id='id'/>
@@ -0,0 +1 @@
1
+ <input type="password"> <input/> <input id="id"> <input id='id'/>
@@ -0,0 +1,5 @@
1
+ <a b="1"> <b> <c/>
2
+ <d />
3
+ <pre a = " 1 "> <x /> <y> </pre>
4
+
5
+ <!--[if lt IE 7 ]> <body class="ie6"> <![endif]--> <!--[if lt IE 7 ]> <body class="ie6"> <![endif]-->
@@ -0,0 +1 @@
1
+ <a b="1"><b><c/><d/><pre a=" 1 "> <x /> <y> </pre><!--[if lt IE 7 ]><body class="ie6"><![endif]--><!--[if lt IE 7 ]><body class="ie6"><![endif]-->
@@ -0,0 +1 @@
1
+ <a onclick="javascript: alert()" onmousemove="move()" onmouseenter="javascript:alert();" href="javascript:alert()">
@@ -0,0 +1 @@
1
+ <a onclick="alert()" onmousemove="move()" onmouseenter="alert();" href="javascript:alert()">
@@ -0,0 +1,5 @@
1
+ <link type = "text/css"></link>
2
+ <link type = "text/plain" rel="stylesheet"></link>
3
+ <link type = text/css rel=stylesheet></link>
4
+ <link type = 'text/plain' rel='alternate stylesheet'></link>
5
+ <link rel=stylesheet></link>
@@ -0,0 +1 @@
1
+ <link type="text/css"></link> <link rel="stylesheet"></link> <link rel=stylesheet></link> <link rel='alternate stylesheet'></link> <link rel=stylesheet></link>
@@ -0,0 +1 @@
1
+ <a s="1 2" style="a : 1 ;"><a><b/><c/><d><pre a=" 1 "> <x /> <y> </pre>
@@ -0,0 +1 @@
1
+ <a s="1 2" style="a : 1 ;"><a><b/><c/><d><pre a=" 1 "> <x /> <y> </pre>
@@ -0,0 +1,7 @@
1
+ <a xxx="asd 123" ccc = 'eee' />
2
+ <a xxx="123" style="a:1;b:2" ccc = 'eee'/>
3
+ <a xxx="123" ccc = 'eee'
4
+ />
5
+ <a xxx="123" ccc = "eee" >
6
+ <a xxx="123" ccc = 'eaa"e"eaa'>
7
+ <a xxx="123" ccc = 'eee'>
@@ -0,0 +1 @@
1
+ <a xxx="asd 123" ccc=eee /> <a xxx=123 style="a:1;b:2" ccc=eee /> <a xxx=123 ccc=eee /> <a xxx=123 ccc=eee> <a xxx=123 ccc='eaa"e"eaa'> <a xxx=123 ccc=eee>
@@ -0,0 +1,6 @@
1
+ <script type = "text/javascript" language="javascript"></script>
2
+ <script type=text/javascript language ='javascript' src=""></script>
3
+ <script type='text/javascript' language = javascript></script>
4
+ <script
5
+ type = application/javascript
6
+ ></script>
@@ -0,0 +1 @@
1
+ <script></script> <script src=""></script> <script></script> <script></script>
@@ -0,0 +1 @@
1
+ <a href="a"/> qwe = eee <a href ="x" /> <a href= "x"/> <a href = "x" > <input value="test" /> <input value=test /> <input value=test > <br />
@@ -0,0 +1 @@
1
+ <a href="a"/> qwe = eee <a href="x"/> <a href="x"/> <a href="x"> <input value="test"/> <input value=test /> <input value=test> <br/>
@@ -0,0 +1,3 @@
1
+ <style type = "text/style"></style>
2
+ <style type=text/style ></style>
3
+ <style type='text/style' ></style>
@@ -0,0 +1 @@
1
+ <style></style> <style></style> <style></style>
@@ -0,0 +1 @@
1
+ <input checked> <input checked="checked"> checked="checked" <input selected = ''> <input disabled=disabled> <input readonly='true' id="id"/>
@@ -0,0 +1 @@
1
+ <input checked> <input checked> checked="checked" <input selected> <input disabled> <input readonly id="id"/>
@@ -0,0 +1,2 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
@@ -0,0 +1 @@
1
+ <!DOCTYPE html>
@@ -0,0 +1 @@
1
+ aaa <br> <p style=""> bbbb <br/> ccccccc </p> <b> ddddd </b> eeeeeeee
@@ -0,0 +1 @@
1
+ aaa<br><p style="">bbbb<br/>ccccccc</p><b> ddddd </b> eeeeeeee
@@ -0,0 +1,53 @@
1
+ K 25
2
+ svn:wc:ra_dav:version-url
3
+ V 46
4
+ /svn/!svn/ver/167/trunk/src/test/resources/xml
5
+ END
6
+ testRemoveCommentsResult.xml
7
+ K 25
8
+ svn:wc:ra_dav:version-url
9
+ V 75
10
+ /svn/!svn/ver/167/trunk/src/test/resources/xml/testRemoveCommentsResult.xml
11
+ END
12
+ testRemoveComments.xml
13
+ K 25
14
+ svn:wc:ra_dav:version-url
15
+ V 69
16
+ /svn/!svn/ver/167/trunk/src/test/resources/xml/testRemoveComments.xml
17
+ END
18
+ testRemoveIntertagSpacesResult.xml
19
+ K 25
20
+ svn:wc:ra_dav:version-url
21
+ V 81
22
+ /svn/!svn/ver/167/trunk/src/test/resources/xml/testRemoveIntertagSpacesResult.xml
23
+ END
24
+ testEnabledResult.xml
25
+ K 25
26
+ svn:wc:ra_dav:version-url
27
+ V 68
28
+ /svn/!svn/ver/167/trunk/src/test/resources/xml/testEnabledResult.xml
29
+ END
30
+ testCompressResult.xml
31
+ K 25
32
+ svn:wc:ra_dav:version-url
33
+ V 69
34
+ /svn/!svn/ver/167/trunk/src/test/resources/xml/testCompressResult.xml
35
+ END
36
+ testEnabled.xml
37
+ K 25
38
+ svn:wc:ra_dav:version-url
39
+ V 62
40
+ /svn/!svn/ver/167/trunk/src/test/resources/xml/testEnabled.xml
41
+ END
42
+ testRemoveIntertagSpaces.xml
43
+ K 25
44
+ svn:wc:ra_dav:version-url
45
+ V 75
46
+ /svn/!svn/ver/167/trunk/src/test/resources/xml/testRemoveIntertagSpaces.xml
47
+ END
48
+ testCompress.xml
49
+ K 25
50
+ svn:wc:ra_dav:version-url
51
+ V 63
52
+ /svn/!svn/ver/167/trunk/src/test/resources/xml/testCompress.xml
53
+ END
@@ -0,0 +1,300 @@
1
+ 10
2
+
3
+ dir
4
+ 183
5
+ http://htmlcompressor.googlecode.com/svn/trunk/src/test/resources/xml
6
+ http://htmlcompressor.googlecode.com/svn
7
+
8
+
9
+
10
+ 2011-08-28T17:49:59.611277Z
11
+ 167
12
+ serg472
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+ dfb84964-0bab-11de-a6e9-d320b29efae0
28
+
29
+ testRemoveCommentsResult.xml
30
+ file
31
+
32
+
33
+
34
+
35
+ 2012-03-20T10:41:20.000000Z
36
+ 444932bb0c56400e29c89bebd662e53a
37
+ 2011-08-28T17:49:59.611277Z
38
+ 167
39
+ serg472
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+ 61
62
+
63
+ testRemoveComments.xml
64
+ file
65
+
66
+
67
+
68
+
69
+ 2012-03-20T10:41:20.000000Z
70
+ 4f9552ae75e616807153661da674195f
71
+ 2011-08-28T17:49:59.611277Z
72
+ 167
73
+ serg472
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ 90
96
+
97
+ testRemoveIntertagSpacesResult.xml
98
+ file
99
+
100
+
101
+
102
+
103
+ 2012-03-20T10:41:20.000000Z
104
+ 248dbd4699ae9e45472edc9f6348bac7
105
+ 2011-08-28T17:49:59.611277Z
106
+ 167
107
+ serg472
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+ 146
130
+
131
+ testEnabledResult.xml
132
+ file
133
+
134
+
135
+
136
+
137
+ 2012-03-20T10:41:20.000000Z
138
+ 6f348e7cdf36f669882ee0fd8633d7f7
139
+ 2011-08-28T17:49:59.611277Z
140
+ 167
141
+ serg472
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+ 28
164
+
165
+ testCompressResult.xml
166
+ file
167
+
168
+
169
+
170
+
171
+ 2012-03-20T10:41:20.000000Z
172
+ 248dbd4699ae9e45472edc9f6348bac7
173
+ 2011-08-28T17:49:59.611277Z
174
+ 167
175
+ serg472
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+ 146
198
+
199
+ testEnabled.xml
200
+ file
201
+
202
+
203
+
204
+
205
+ 2012-03-20T10:41:20.000000Z
206
+ 6f348e7cdf36f669882ee0fd8633d7f7
207
+ 2011-08-28T17:49:59.611277Z
208
+ 167
209
+ serg472
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+ 28
232
+
233
+ testRemoveIntertagSpaces.xml
234
+ file
235
+
236
+
237
+
238
+
239
+ 2012-03-20T10:41:20.000000Z
240
+ 0ce21d7cb44f490e3da22d38ff002ed8
241
+ 2011-08-28T17:49:59.611277Z
242
+ 167
243
+ serg472
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+ 182
266
+
267
+ testCompress.xml
268
+ file
269
+
270
+
271
+
272
+
273
+ 2012-03-20T10:41:20.000000Z
274
+ 0ce21d7cb44f490e3da22d38ff002ed8
275
+ 2011-08-28T17:49:59.611277Z
276
+ 167
277
+ serg472
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+ 182
300
+