charlock_holmes-jruby 0.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,131 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ #
4
+ # @author: starenka
5
+ # @email: 'moc]tod[liamg].T.E[0aknerats'[::-1]
6
+
7
+ import warnings, hashlib, simplejson, string
8
+ from os.path import dirname, abspath
9
+
10
+ from flask import Flask, render_template, request
11
+ from flaskext.sqlalchemy import SQLAlchemy
12
+ try:
13
+ from sqlalchemy.exceptions import IntegrityError
14
+ except ImportError:
15
+ from sqlalchemy.exc import IntegrityError
16
+
17
+ #Hey monkey patcher! NLTK's NgramModel is not serializable w/ pickle.HIGHEST_PROTOCOL (2)
18
+ from werkzeug.contrib import cache
19
+ cache.HIGHEST_PROTOCOL = 1
20
+ from werkzeug.contrib.cache import SimpleCache
21
+
22
+ from BeautifulSoup import BeautifulSoup
23
+ import nltk
24
+
25
+ PUNCT = list(unicode(string.punctuation))
26
+
27
+ app = Flask(__name__)
28
+ app.config.from_object('settings')
29
+ cache = SimpleCache()
30
+
31
+ app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///%s/db.sqlite3'%abspath(dirname(__file__))
32
+ db = SQLAlchemy(app)
33
+
34
+ class Sample(db.Model):
35
+ id = db.Column(db.Integer, primary_key=True)
36
+ url = db.Column(db.String(80), unique=True)
37
+ text = db.Column(db.String())
38
+ enabled = db.Column(db.Boolean())
39
+
40
+ def __unicode__(self):
41
+ str = unicode(BeautifulSoup(self.text,convertEntities=BeautifulSoup.HTML_ENTITIES))
42
+ return nltk.clean_html(str)
43
+
44
+ @classmethod
45
+ def get_all(self):
46
+ cached = cache.get('samples')
47
+ if cached is None:
48
+ cached = self.query.filter_by(enabled=True).all()
49
+ cache.set('samples', cached, timeout=app.config['CACHE_MINUTES'] * 60)
50
+ return cached
51
+
52
+ class Output(db.Model):
53
+ id = db.Column(db.Integer, primary_key=True)
54
+ hash = db.Column(db.String(128),unique=True)
55
+ text = db.Column(db.String())
56
+ params = db.Column(db.String(100))
57
+
58
+ def __init__(self,text,**params):
59
+ self.hash = hashlib.sha512(text.encode('utf8')).hexdigest()
60
+ self.text = text
61
+ self.params = simplejson.dumps(params)
62
+
63
+ @app.context_processor
64
+ def base_context():
65
+ return dict(settings=app.config,
66
+ hits = Output.query.count() + app.config['INIT_HITS']
67
+ )
68
+
69
+ @app.errorhandler(404)
70
+ def page_not_found(error):
71
+ return render_template('404.html',title=u"To tady nemáme!"), 404
72
+
73
+ @app.route('/faq')
74
+ def faq():
75
+ return render_template('faq.html',title=u"Často kladené dotazy",samples=Sample.get_all())
76
+
77
+ @app.route('/permalink/<hash>')
78
+ def permalink(hash):
79
+ one = Output.query.filter_by(hash=hash).first_or_404()
80
+ return render_template('generator.html', title=u"Henrykuj!",
81
+ text=one.text, hash=one.hash,
82
+ **simplejson.loads(one.params)
83
+ )
84
+
85
+ @app.route('/')
86
+ def index():
87
+ bigrams = request.args.get('bigrams',False)
88
+ try:
89
+ words = int(request.args.get('words',app.config['WORDS']))
90
+ if words > app.config['MAX_WORDS']:
91
+ words = app.config['MAX_WORDS']
92
+ except ValueError:
93
+ words = app.config['WORDS']
94
+
95
+ out = _generate(words,bigrams)
96
+ output = Output(out,words=words,bigrams=bool(bigrams))
97
+ try:
98
+ db.session.add(output)
99
+ db.session.commit()
100
+ except IntegrityError:
101
+ pass
102
+
103
+ return render_template('generator.html', title=u"Henrykuj!",
104
+ text=out, hash=output.hash,
105
+ words=words, bigrams=bigrams
106
+ )
107
+
108
+ def _get_ngram_model(bigrams):
109
+ #NLTK produces a LOT of warnings - don't mess with my error log
110
+ warnings.simplefilter("ignore")
111
+ cached = cache.get('ngram_model')
112
+ if cached is None:
113
+ samples = Sample.get_all()
114
+ if samples:
115
+ text = [unicode(s) for s in samples]
116
+ tokenizer = nltk.tokenize.WordPunctTokenizer()
117
+ tokenized = tokenizer.tokenize(' '.join(text))
118
+ cached = nltk.NgramModel(3-int(bool(bigrams)), tokenized)
119
+ cache.set('ngram_model', cached, timeout=app.config['CACHE_MINUTES'] * 60)
120
+ return cached
121
+
122
+ def _generate(words,bigrams):
123
+ model = _get_ngram_model(bigrams)
124
+ starts = model.generate(100)[-4:]
125
+ starts = filter(lambda a: a not in PUNCT,starts)
126
+ generated = model.generate(words, starts)
127
+ out = ' '.join(generated).replace(' , ',', ').replace(' . ','. ')
128
+ return '%s%s&hellip;'%(out[0].upper(),out[1:])
129
+
130
+ if __name__ == '__main__':
131
+ app.run()
@@ -0,0 +1,455 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
+ <html>
3
+ <head>
4
+ <title>�����s�D��-���-��ڭn�D--����s�R����̹]�W�Цʭ�-20130412</title>
5
+ <meta name="google-site-verification" content="arf3Ifm5Baa2yhUaastekjcyBdd799KXYQktJanboq4" />
6
+ <meta http-equiv="Content-Type" content="text/html; charset=big5">
7
+ <link rel="shortcut icon" href="../image/favicon.ico">
8
+ <link href = "../css/topmenu.css" rel="stylesheet" type="text/css">
9
+ <link href = "../css/style.css" rel="stylesheet" type="text/css">
10
+ <link href = "../css/slider_style.css" rel="stylesheet" type="text/css">
11
+ <link href = "../css/keywords.css" rel="stylesheet" type="text/css">
12
+
13
+
14
+ <link rel="image_src" href="http://news.mingpao.com/ftp/WebNews2/20130412/ta/ta/12ta501.jpg" />
15
+
16
+
17
+ <script language="javascript" type="text/javascript" src="../js/jquery.js"></script>
18
+ <script language="javascript" type="text/javascript" src="../js/generic.js"></script>
19
+ <script language="JavaScript" type="text/javascript" src="../js/CommonScript2.js"></script>
20
+ <script language="JavaScript">strCurrentChannel="ta";</script>
21
+ <script language="JavaScript" src="../js/Adv/Advert5DFP.js"></script>
22
+ <script language="JavaScript" src="../js/Adv/Advert.js"></script>
23
+ <script type="text/javascript">
24
+ function setNavigation(_target)
25
+ {
26
+ var newPosition = 0;
27
+ var setPosition = 0;
28
+ var nLength = document.getElementById(_target).length;
29
+ var nIndex = document.getElementById(_target).selectedIndex;
30
+
31
+ this.getPrev = function()
32
+ {
33
+ for (var i=0 ; i<nLength; i++)
34
+ {
35
+ if (i < nIndex && i + 1 < nLength)
36
+ {
37
+ newPosition=i+1;
38
+ }
39
+ else if (i == nIndex)
40
+ {
41
+ newPosition=i;
42
+ break;
43
+ }
44
+ }
45
+ setPosition = newPosition;
46
+
47
+ if (setPosition>=0)
48
+ setPosition--;
49
+
50
+ return (setPosition < 0) ? "" : "<a href='" + document.getElementById(_target)[setPosition].value + "' onMouseOut='MM_swapImgRestore()' onMouseOver='MM_swapImage(\"Image_prev1\", \"\", \"../image/b_prev1.gif\", 1)'><img src='../image/b_prev0.gif' name='Image_prev1' width='62' height='18' border='0'></a>";
51
+ }
52
+
53
+ this.getNext = function()
54
+ {
55
+ for (var i=0; i<nLength; i++)
56
+ {
57
+ if(i <= nIndex)
58
+ newPosition = i;
59
+ }
60
+ setPosition = newPosition;
61
+
62
+ if (setPosition < nLength)
63
+ setPosition++;
64
+
65
+ return (setPosition > nLength-1) ? "" : "<a href='" + document.getElementById(_target)[setPosition].value + "' onMouseOut='MM_swapImgRestore()' onMouseOver='MM_swapImage(\"Image_next1\", \"\", \"../image/b_next1.gif\", 1)'><img src='../image/b_next0.gif' name='Image_next1' width='62' height='18' border='0'></a>";
66
+ }
67
+ }
68
+ </script>
69
+ </head>
70
+ <body background="../image/home_body_bkg.jpg" style="background-position: center top; background-repeat: repeat;" onLoad="MM_preloadImages('../image/news_headerbar_menu_update_f2.gif','../image/news_headerbar_menu_print_f2.gif','../image/b_forum_f2.gif','../image/b_reply_f2.gif','../image/b_fd_f2.gif')">
71
+ <div id ="outer_wrapper">
72
+
73
+
74
+
75
+ <script language="JavaScript">strCurrentDisplayDate="2013�~4��12�� �P����";</script>
76
+
77
+ <script language="JavaScript">
78
+ //[top menu]
79
+ sublink = new Array()
80
+ </script>
81
+
82
+ <script language="JavaScript" src="../js/TopMenu/TopPortalMenuMoveover.js"></script>
83
+ <table cellpadding="0" cellspacing="0" border="0" width="100%">
84
+ <tr height="1">
85
+ <td colspan="2"> </td>
86
+ </tr>
87
+ <tr>
88
+ <td background="../image/portals_top_bg2.gif" width="268">
89
+ <div class="grey_weather_line"></div>
90
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" height="30">
91
+ <tr>
92
+ <td><div id="clock"></div></td>
93
+ <td><img src="../image/portals_top_weather.gif" border="0" align="absmiddle" alt="�Ѯ�Ա�"></td>
94
+ <td class="weather"><script language="JavaScript" src="../js/TopMenu/TopWeather1.js"></script></td>
95
+ <td><script language="JavaScript" src="../js/TopMenu/TopWeather2.js"></script></td>
96
+ <td nowrap align="right" class="date">
97
+ <script language="JavaScript">document.write (strCurrentDisplayDate+'&nbsp;<br>');</script>
98
+ </td>
99
+ </tr>
100
+ </table>
101
+ <div class="grey_weather_line"></div>
102
+
103
+ <script language="JavaScript" src="../js/TopMenu/TopLogo.js"></script>
104
+ </td>
105
+ <td background="../image/portals_top_bg2.gif" align="right">
106
+
107
+ <script language="JavaScript" src="../js/Adv/Advert1DFP.js"></script>
108
+ </td>
109
+ </tr>
110
+ </table>
111
+
112
+ <script language="JavaScript" src="../js/TopMenu/TopPortalMenu.js"></script>
113
+
114
+
115
+ <div class = "top_menu_bg clearfix">
116
+ <div class ="ml">
117
+ <div class ="c">
118
+ <div id="rlink" class ="s">
119
+
120
+ <a href="main.htm" class="link" target="_top">�D��</a>�@�@<a href="../cfm/MemberZone1.cfm" class="link" target="_top"><span style="color:red;">�q��M��</span></a>�@�@<a href="gaindex.htm" class="link" target="_top">�n�D</a>�@�@<a href="gbindex.htm" class="link" target="_top">��D</a>�@�@<a href="gfindex.htm" class="link" target="_top">�Ш|</a>�@�@<a href="mrindex.htm" class="link" target="_top">�����E���}</a>�@�@<a href="faindex.htm" class="link" target="_top">�[�I</a>�@�@<a href="caindex.htm" class="link" target="_top">����</a>�@�@<a href="taindex.htm" class="activelink" target="_top">���</a>�@�@<a href="eaindex.htm" class="link" target="_top">�g��</a>�@�@<a href="spindex.htm" class="link" target="_top">��|</a>�@�@<a href="maindex.htm" class="link" target="_top">�v��</a>�@�@<a href="jaindex.htm" class="link" target="_top">�ƥZ</a>�@�@<a href="emindex.htm" class="link" target="_top">�^��</a>
121
+ <script src="../js/TopMenu/TopMenuExt1.js" language="JavaScript"></script>
122
+ </div>
123
+ </div>
124
+ </div>
125
+
126
+
127
+ <script language="JavaScript" src="../js/TopMenu/TopKeyword.js"></script>
128
+ <br><br>
129
+
130
+
131
+
132
+ <script language="JavaScript" src="../js/TopMenu/TopSearchBox.js"></script>
133
+
134
+ </div>
135
+
136
+ <script language="javascript" type="text/javascript" src="../js/init.js"></script>
137
+
138
+
139
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
140
+ <tr>
141
+ <td>
142
+ <div class = "news_bkg">
143
+ <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
144
+ <tr>
145
+ <td valign="top">
146
+ <div class = "news_box left clearfix">
147
+ <div class = "bottom_space">
148
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
149
+ <tr>
150
+ <td background="../image/news_headerbar_bkg.jpg"><img src="../image/news_headerbar_ta.jpg" alt="���" width="228" height="24"></td>
151
+ <td align="right" background="../image/news_headerbar_bkg.jpg"><a href="mailto:inews@mingpao.com?Subject=Ū�̳���" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image34','','../image/news_headerbar_menu_update_f2.gif',1)"><img src="../image/news_headerbar_menu_update.gif" alt="Ū�̳���" name="Image34" width="101" height="24" border="0"></a></td>
152
+ </tr>
153
+ </table>
154
+ </div>
155
+ <table width="100%" border="0">
156
+ <tr>
157
+ <td valign="top">
158
+
159
+ <div class ="left_col">
160
+ <a href="taa1_image1.htm?Mode=1"><img src="ta_12ta501.jpg" width="180" border="0" class="photo" name='contentimg'></a><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><a href="taa1_image1.htm?Mode=1"><img src="../image/mag.gif" alt="��j" width="38" height="13" border="0"></a></td> <td><img src="../image/dot.gif" width="16" height="15"></td> <td align="center"><div class="content_photo">�����Ϥ�(1�i)</div></td> <td align="right"><img src="../image/dot.gif" width="16" height="15"></td> </tr></table><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="../image/photo_bar.gif" width="180" height="6"></td> </tr></table><br>
161
+ </div>
162
+
163
+
164
+
165
+ <div class ="left_col">
166
+ <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr><td><img src="../image/b_extend.gif" alt="�����\Ū" width="180" height="38"></td></tr></table><div class ="left_col"> <div class="extend_t"></div> <div class="extend_m"> <table width="90%" align="center" cellpadding="0" cellspacing="0" class="content_small"> <tr><td> <div class="bullet_arrow"><a href="../cfm/Redirect.cfm?ch=ta&NewsFile=20130412%2Fta%2Fta%2Ftaa2%5Fer%2Etxt" target="_blank"> ��w����d ���o�{���D </a></div><br> </td></tr> </table> </div> <div class ="extend_b"></div></div><br>
167
+ </div>
168
+
169
+
170
+ <div class ="left_col">
171
+ <script language="JavaScript" src="../js/WebNews2/ContentSearchForm1.js"></script>
172
+ <div class = "extend_line"></div>
173
+ <br>
174
+ <script language="JavaScript" src="../js/WebNews2/ContentHotLabel1.js"></script>
175
+ <br>
176
+ <!-- editor choice -->
177
+ <script language="JavaScript" src="../js/WebNews2/ContentEditorChoice1.js"></script>
178
+ <!-- end of editor choice -->
179
+ <!-- ad. -->
180
+ <script type="text/javascript" src="../js/WebNews2/ContentLeft.js"></script>
181
+ <!-- end ad. -->
182
+ </div>
183
+ </td>
184
+ <td valign="top">
185
+ <div class = "content_col">
186
+ <table width="100%" border="0">
187
+ <tr>
188
+ <td>
189
+
190
+ <div class="push" id="supportblock01">
191
+ <table cellpadding="0" cellspacing="0">
192
+ <tr>
193
+ <td><a href="javascript:clickSupport();"><img src="../image/shim.gif" alt="��" width="40" height="25" border="0"></a></td>
194
+ <td><div id="supportcontent01" class="content_push"></div></td>
195
+ </tr>
196
+ </table>
197
+ </div>
198
+
199
+ </td>
200
+ <td align="right">
201
+ <form name="form2">
202
+ <select id="menu1" name="menu1" onChange="if (this.options[this.selectedIndex].value.search(/redirect/i) >= 0) window.open(this.options[this.selectedIndex].value,'redirect','').focus(); else MM_jumpMenu('parent',this,0);">
203
+ <script language="JavaScript" src="insttaoptions.js"></script>
204
+ <option value="taa1.htm" selected>����s�R����̹]�W�Цʭ�</option>
205
+ <option value="../cfm/Redirect.cfm?ch=ta&NewsFile=20130412%2Fta%2Fta%2Ftaa2%5Fer%2Etxt">��w����d ���o�{���D</option>
206
+ <option value="taa3.htm">���a���p 1/10�Ѧa���ìV</option>
207
+ <option value="tab1.htm">���R�¾ɼu���ФW�[ �G�G�ð}</option>
208
+ <option value="tab2.htm">�§L��ҽm����</option>
209
+ <option value="tac1.htm">ù�B�c�F�ڥ����� �M�m�Ȭw��</option>
210
+ <option value="tba1.htm">�Q�����y�|�ڱ��K�Q�l</option>
211
+ <option value="tba2.htm">�^����2000�H�e�l�W��</option>
212
+ <option value="tba3.htm">�Y�g���y�u�y�]�v �P���T�ɱo�o�^�y��</option>
213
+ <option value="tbb1.htm">���ڰ������d���w��� �������|�q�L</option>
214
+ <option value="tbc1.htm">���y���y�R�N���G���k���a�y �H���d�~��� . . .</option>
215
+ <option value="tbd1.htm">���z���G�����������ϰ�</option>
216
+ <option value="tbe1.htm">�Ϲ�u�Q�I�q�vë�i �H�k�v���l�Q��</option>
217
+ <option value="tbt1.htm">���W�K��s�Ѷ}�� ��ѩ��ȩ]��Ѱg</option>
218
+ <option value="tbu1.htm">��j�ǽоǥͭ����\</option>
219
+ <option value="tbv1.htm">�x�~�o�����qĵ���ѥ]</option>
220
+ <option value="tbw1.htm">���`�s�ǤH�A�d�����Ѻ���</option>
221
+
222
+ </select>
223
+ </form>
224
+ </td>
225
+ </tr>
226
+ <tr>
227
+ <td>
228
+ <table width="100%">
229
+ <tr>
230
+ <td align="left"><script src="../js/chfontsize.js"></script></td>
231
+ </tr>
232
+ </table>
233
+ </td>
234
+ <td>
235
+
236
+ <table align="right" cellpadding="0" cellspacing="0" border="0">
237
+ <tr>
238
+ <td align="right"><script type="text/javascript">document.write(new setNavigation("menu1").getPrev());</script></td>
239
+ <td align="right"><script type="text/javascript">document.write(new setNavigation("menu1").getNext());</script></td>
240
+ <tr>
241
+ </table>
242
+
243
+ </td>
244
+ </tr>
245
+ </table>
246
+ <table width="100%" border="0">
247
+ <tr>
248
+ <td>
249
+ <script src="../js/Adv/ContentAdvert1.js"></script>
250
+ </td>
251
+ </tr>
252
+ </table>
253
+ <h1><div id="articleheading">����s�R����̹]�W�Цʭ�<br><br>�æ��ɭˬr�o�ƩҭP �ۭ��c�G</div></h1><br>
254
+
255
+
256
+
257
+ <span id="advenueINTEXT" name="advenueINTEXT">
258
+ <div class="content_medium" id="newscontent01">�i�����M�T�j����@����Ǭ�s���i�o�{�A�J�f���ꪺ�j�̧t�]�q���W�w�������A�i���̪��]����q�i��W�X���ꭹ�~���Ī��޲z���]FDA�^�зǹF120���A��p�����d�v�T�׬ơC���M�a���ܡA����a���~�ӱN���r�o�ưe��o�i����a�B�z�A�ìV�Ů�M�����A���G�O�A���~���ìV�A�˹L�ӥX�f�����v�T����a�CFDA���ܡA�N�N���i�i�}�լd��i�C</div>
259
+ <br>
260
+
261
+ <div id="inewscontent"></div>
262
+
263
+ <div class="content_medium" id="newscontent02"><p>����X�T���j�ǡ]Monmouth University�^���ҤƾDZM�a�q�J�ĥ�]Tsanangurayi Tongesayi�^�դh�A�����ƾǾǷ|�~�|�o����������i�f�j�̪���s���i�C�ثe����j�̦�7%���i�f�j�̡A�ӷ��a�]�A����j���B�x�W�B����B�L�סB�����B�N�j�Q�B�H��C�M���J���a�C��s������U�ӷ��a���j�̼˥��A�����t�]�q�A�A�����ꤣ�P�ڸs�C�饭���i�����j�̤��q�A�p�⤣�P�ڸs���]����q�A�PFDA����ij�i�e�\����q����C</p>
264
+ <p></p>
265
+ <p>��FDA�լd��i</p>
266
+ <p></p>
267
+ <p>��s�o�{�A�j�̼˥����t�]�q�����C����6��12�@�J�A���ݶW�Ф����A�䤤�Ӧۤ���j���Υx�W���j�̧t�]�q�̰��C�Y�i���o�Ǥj�̡A���H�����]����q�N�W�X�i�e�\����q20��40���A�ൣ�h�����W��30��60���A�ܩ�i���j�̤��q���h�����ȸǨൣ�A��W�йF60��120���C</p>
268
+ <p></p>
269
+ <p>�q�J�ĥ�դh���X�A�ھ�FDA��ij�A�]����q�W�йO10���ΥH�W�A�i��O�H�龹�x�Τ��ϯ��g�t�Ψ��l�A��6���H�U�ൣ��i��]�]���r�ӾɭP�o�|��w�Ʀܦ��`�A�]���j�̧t�]�q�W�Ъ����G�O�H���`�C</p>
270
+ <p></p>
271
+ <p>����s���X�A�L�פΤ��굥��a�`�H���g�B�z���ä��A�Ʀܤu�~�o����@�C�ѩ�j�̻ݭn�l���j�q�����A�O�j�̸���L�D�n�A�@��������ìV�C�t�@�譱�A���i��a�N�q�l�o�ƥX�f��o�i����a��m�����G��W�A�O�����a���Y���ìV�A��O�j�̧t�]���D�c�ơC�q�J�ĥ�դh�١A�۫H�j�̬O�b�ѺعL�{�����ìV�C</p>
272
+ <p></p>
273
+ <p>�L�j�աA�H�ӭ��~�������y�ơA�����i��Ӧۥ��y����@�Ө����A�����P�a�Ϫ��ìV���G�U���A�g�`���H�ҩ����C�L��ij�U��F����q���y�ƳW�d�A�[�j���~�Ͳ��ξP�⪺�w���ʺޡA�������F�ѭ��~�ìV���G�C���M�p�X�ꭹ�~�k��e���|�q����ڭ��~�w���зǡA���ѩ�D�����k�W�A���ʬ����O�CFDA���ܱN�լd��i�W�z���i�C</p>
274
+ <p></p>
275
+ <p>�]��X���D�^</p>
276
+ <p></p>
277
+ <p></p></div>
278
+ </span>
279
+ <table width="100%" border="0">
280
+ <tr>
281
+ <td>
282
+
283
+ <div class="push" id="supportblock02">
284
+ <table cellpadding="0" cellspacing="0">
285
+ <tr>
286
+ <td><a href="javascript:clickSupport();"><img src="../image/shim.gif" alt="��" width="40" height="25" border="0"></a></td>
287
+ <td><div id="supportcontent02" class="content_push"></div></td>
288
+ </tr>
289
+ </table>
290
+ </div>
291
+
292
+ </td>
293
+ <td align="right">
294
+ <form name="form2">
295
+ <select id="select" name="select" onChange="if (this.options[this.selectedIndex].value.search(/redirect/i) >= 0) window.open(this.options[this.selectedIndex].value,'redirect','').focus(); else MM_jumpMenu('parent',this,0);">
296
+ <script language="JavaScript" src="insttaoptions.js"></script>
297
+ <option value="taa1.htm" selected>����s�R����̹]�W�Цʭ�</option>
298
+ <option value="../cfm/Redirect.cfm?ch=ta&NewsFile=20130412%2Fta%2Fta%2Ftaa2%5Fer%2Etxt">��w����d ���o�{���D</option>
299
+ <option value="taa3.htm">���a���p 1/10�Ѧa���ìV</option>
300
+ <option value="tab1.htm">���R�¾ɼu���ФW�[ �G�G�ð}</option>
301
+ <option value="tab2.htm">�§L��ҽm����</option>
302
+ <option value="tac1.htm">ù�B�c�F�ڥ����� �M�m�Ȭw��</option>
303
+ <option value="tba1.htm">�Q�����y�|�ڱ��K�Q�l</option>
304
+ <option value="tba2.htm">�^����2000�H�e�l�W��</option>
305
+ <option value="tba3.htm">�Y�g���y�u�y�]�v �P���T�ɱo�o�^�y��</option>
306
+ <option value="tbb1.htm">���ڰ������d���w��� �������|�q�L</option>
307
+ <option value="tbc1.htm">���y���y�R�N���G���k���a�y �H���d�~��� . . .</option>
308
+ <option value="tbd1.htm">���z���G�����������ϰ�</option>
309
+ <option value="tbe1.htm">�Ϲ�u�Q�I�q�vë�i �H�k�v���l�Q��</option>
310
+ <option value="tbt1.htm">���W�K��s�Ѷ}�� ��ѩ��ȩ]��Ѱg</option>
311
+ <option value="tbu1.htm">��j�ǽоǥͭ����\</option>
312
+ <option value="tbv1.htm">�x�~�o�����qĵ���ѥ]</option>
313
+ <option value="tbw1.htm">���`�s�ǤH�A�d�����Ѻ���</option>
314
+
315
+ </select>
316
+ </form>
317
+ </td>
318
+ </tr>
319
+ </table>
320
+
321
+ <div align="right">
322
+ <table cellpadding="0" cellspacing="0" border="0">
323
+ <tr>
324
+ <td><script type="text/javascript">document.write(new setNavigation("select").getPrev());</script></td>
325
+ <td><script type="text/javascript">document.write(new setNavigation("select").getNext());</script></td>
326
+ <td width="5"> </td>
327
+ <tr>
328
+ </table>
329
+ </div>
330
+
331
+
332
+ <br>
333
+
334
+ <div class="lightgrey_line"></div>
335
+ <script language="JavaScript" src="../js/adv/Advert35.js"></script>
336
+ <div class="lightgrey_line"></div>
337
+ <br>
338
+
339
+ <table width="100%" border="0"> <tr> <td> <div class="content_medium_g"> <div class="b">�����峹 <img src="../image/b_round.gif" width="13" height="13"></div> </div> </td> <td align="right"><a href="taindex.htm" class="related_link">[��ܥ����D��]</a></td> </tr></table><div class="green_line"></div><table width="100%"> <tr> <td><ul><li> <a href="taa1.htm" class="orange_link"> ����s�R����̹]�W�Цʭ� </a> </li><div class="grey_dashline"></div><li> <a href="../cfm/Redirect.cfm?ch=ta&NewsFile=20130412%2Fta%2Fta%2Ftaa2%5Fer%2Etxt" target="_blank" class="orange_link"> ��w����d ���o�{���D </a> </li><div class="grey_dashline"></div><li> <a href="taa3.htm" class="orange_link"> ���a���p 1/10�Ѧa���ìV </a> </li><div class="grey_dashline"></div></ul></td> </tr></table><br>
340
+
341
+ <div id="feelblock" style="visibility:hidden;">
342
+ <script language="JavaScript" src="../js/WebNews2/ContentFeelEntry1.js"></script>
343
+ </div>
344
+ <table width="100%">
345
+ <tr>
346
+ <td><table border="0" align="right">
347
+ <tr>
348
+ <td><a href="http://forum.mingpao.com/cfm/Forum1.cfm?OwnerID=1" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image36','','../image/b_forum_f2.gif',1)"><img src="../image/b_forum.gif" alt="�ڭn�Q��" name="Image36" width="89" height="27" border="0"></a><a href="#"></a></td>
349
+ <td><a href="mailto:mpworldnews@mingpao.com?Subject=����s�R����̹]�W�Цʭ�,�æ��ɭˬr�o�ƩҭP �ۭ��c�G(�Фŭק�)" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image37','','../image/b_reply_f2.gif',1)"><img src="../image/b_reply.gif" alt="�ߧY�^��" name="Image37" width="89" height="27" border="0"></a><a href="#"></a></td>
350
+ <td>&nbsp;</td>
351
+ </tr>
352
+ </table>
353
+ <td></td>
354
+ </tr>
355
+ </table>
356
+ <div class="grey_line"></div>
357
+ </div>
358
+ </td>
359
+ </tr>
360
+ </table>
361
+ </div>
362
+ </td>
363
+ <td valign="top" width="300">
364
+ <div class ="side_box right">
365
+
366
+
367
+
368
+ <table width="300" border="0" cellpadding="0" cellspacing="0" style="width:300px">
369
+ <tr><td style="width:300px">
370
+ <script language="JavaScript" src="../js/Adv/Advert44DFP.js"></script>
371
+ </td></tr>
372
+ <tr><td style="width:300px">
373
+ <script language="JavaScript" src="../js/Adv/Advert45DFP.js"></script>
374
+ </td></tr>
375
+ </table>
376
+
377
+
378
+ <div id="keywordcontent" style="visibility:hidden;">
379
+ <table width="100%">
380
+ <tr>
381
+ <td>
382
+ <table width="100%" border="0" cellpadding="0" cellspacing="0" class="grey_gradual">
383
+ <tr>
384
+ <td><div class="content_big">�������</div></td>
385
+ </tr>
386
+ </table>
387
+ <div class="grey_dashline"></div>
388
+ <div class="bottom_space"></div>
389
+ <div id="keywordcontent01" style="visibility:hidden;" class="content_medium_g">���סD���}</div>
390
+ <ul>
391
+ <div id="keywordcontent011" style="visibility:hidden;"></div>
392
+ </ul>
393
+ </div>
394
+ <div id="keywordcontent02" style="visibility:hidden;" class="content_medium_g">�׾�</div>
395
+ <ul>
396
+ <div id="keywordcontent021" style="visibility:hidden;"></div>
397
+ </ul>
398
+ </div>
399
+ <div id="keywordcontent03" style="visibility:hidden;" class="content_medium_g">��������</div>
400
+ <ul>
401
+ <div id="keywordcontent031" style="visibility:hidden;"></div>
402
+ </ul>
403
+ </div>
404
+ </td>
405
+ </tr>
406
+ </table>
407
+ <br>
408
+ </div>
409
+
410
+
411
+ <table width="300" border="0" cellpadding="0" cellspacing="0" style="width:300px">
412
+ <tr><td style="width:300px">
413
+ <script language="JavaScript" src="../js/Adv/Advert31DFP.js"></script>
414
+ </td></tr>
415
+ <tr><td><table width="100%" border="0"><tr><td><script language="JavaScript" src="../js/Adv/Advert32.js"></script></td></tr></table>
416
+ </td></tr>
417
+ <tr><td>
418
+ <script language="JavaScript" src="../js/Adv/Advert33DFP.js"></script>
419
+ </td></tr>
420
+ <tr><td><table width="100%" border="0"><tr><td><script language="JavaScript" src="../js/Adv/Advert34.js"></script></td></tr></table>
421
+ </td></tr>
422
+ </table>
423
+
424
+ </div>
425
+ </td>
426
+ </tr>
427
+ </table>
428
+ </div>
429
+ </td>
430
+ </tr>
431
+ </table>
432
+ <!--footer start-->
433
+ <script language="JavaScript" src="../js/TopMenu/Bottom.js"></script>
434
+ <!--footer end-->
435
+
436
+ <script type="text/javascript">
437
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
438
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
439
+ </script>
440
+ <script type="text/javascript">
441
+ var pageTracker = _gat._getTracker("UA-4717822-6");
442
+ pageTracker._trackPageview();
443
+ </script>
444
+
445
+
446
+
447
+ </div>
448
+ <script language="javascript" src="../js/AdvertPixelMedia1.js"></script>
449
+ <script language="JavaScript" src="../js/Keywords2/mouseover_all.js"></script>
450
+ <script language="JavaScript" src="../js/Keywords21.js"></script>
451
+ <script language="JavaScript" src="../js/Advert2DFP.js"></script>
452
+ <script language="JavaScript" src="../js/AdvertMSIG.js"></script>
453
+ <script language="JavaScript" src="../js/SupportAndFeel.js"></script>
454
+ </body>
455
+ </html>