You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@joshua.apache.org by mj...@apache.org on 2016/06/01 02:51:04 UTC

[09/94] [abbrv] [partial] incubator-joshua git commit: Pulled JOSHUA-252 changes and Resolved Merge Conflicts

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/scripts/merge_lms_test.py
----------------------------------------------------------------------
diff --git a/src/test/resources/scripts/merge_lms_test.py b/src/test/resources/scripts/merge_lms_test.py
new file mode 100644
index 0000000..88701af
--- /dev/null
+++ b/src/test/resources/scripts/merge_lms_test.py
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import unittest
+from mock import Mock
+import os, sys
+sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "scripts", "support"))
+from merge_lms import parse_lambdas, construct_merge_cmd
+
+
+class TestScript(unittest.TestCase):
+
+    def test_should_return_list_of_strings(self):
+        best_mix_result = '13730 non-oov words, best lambda (0.456124 0.220317 0.0663619 0.117041 0.140156)'
+        expect = ['0.456124', '0.220317', '0.0663619', '0.117041', '0.140156']
+        actual = parse_lambdas(best_mix_result)
+        self.assertEqual(expect, actual)
+
+    def test_should_return_merge_cmd(self):
+        args = Mock()
+        args.input_lms = [
+                'lm-0.gz',
+                'lm-1.gz',
+                'lm-2.gz',
+                'lm-3.gz',
+                'lm-4.gz',
+        ]
+        args.merged_lm_path = 'mixed_lm.gz'
+        args.srilm_bin = 'srilm'
+        lambdas = ['0.456124', '0.220317', '0.0663619', '0.117041', '0.140156']
+        expect = ' '.join(
+                'srilm/ngram -order 5 -unk '
+                '-lm      lm-0.gz     -lambda  0.456124 '
+                '-mix-lm  lm-1.gz '
+                '-mix-lm2 lm-2.gz -mix-lambda2 0.0663619 '
+                '-mix-lm3 lm-3.gz -mix-lambda3 0.117041 '
+                '-mix-lm4 lm-4.gz -mix-lambda4 0.140156 '
+                '-write-lm mixed_lm.gz'.split()
+        )
+        actual = construct_merge_cmd(lambdas, args)
+        self.assertEqual(expect, actual)

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/scripts/normalization/.gitignore
----------------------------------------------------------------------
diff --git a/src/test/resources/scripts/normalization/.gitignore b/src/test/resources/scripts/normalization/.gitignore
new file mode 100644
index 0000000..d937c7f
--- /dev/null
+++ b/src/test/resources/scripts/normalization/.gitignore
@@ -0,0 +1,2 @@
+diff
+output

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/scripts/normalization/data/train.en
----------------------------------------------------------------------
diff --git a/src/test/resources/scripts/normalization/data/train.en b/src/test/resources/scripts/normalization/data/train.en
new file mode 100644
index 0000000..48053cf
--- /dev/null
+++ b/src/test/resources/scripts/normalization/data/train.en
@@ -0,0 +1,21 @@
+hello : ;
+
+\u2018word \u2018no\u2019 do?\u2019
+
+\u2018word \u2018no\u2019 do?\u2019
+
+�word �no� do?�
+
+ain\u2019t
+
+ain't
+
+uh\u2026
+
+           something after nbspaces
+
+secretary\ufdd3general
+
+duraci�n
+
+espa�a

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/scripts/normalization/data/train.en.norm
----------------------------------------------------------------------
diff --git a/src/test/resources/scripts/normalization/data/train.en.norm b/src/test/resources/scripts/normalization/data/train.en.norm
new file mode 100644
index 0000000..408297e
--- /dev/null
+++ b/src/test/resources/scripts/normalization/data/train.en.norm
@@ -0,0 +1,21 @@
+hello:;
+
+"word "no" do?"
+
+"word "no" do?"
+
+'word 'no' do?'
+
+ain't
+
+ain't
+
+uh...
+
+ something after nbspaces
+
+secretary-general
+
+duraci�n
+
+espa�a

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/scripts/normalization/test.sh
----------------------------------------------------------------------
diff --git a/src/test/resources/scripts/normalization/test.sh b/src/test/resources/scripts/normalization/test.sh
new file mode 100644
index 0000000..a286efb
--- /dev/null
+++ b/src/test/resources/scripts/normalization/test.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set -u
+
+cat data/train.en | $JOSHUA/scripts/preparation/normalize.pl en > output
+diff -U 1 output data/train.en.norm > diff
+
+if [[ $? -eq 0 ]]; then
+	rm -f output diff
+	exit 0
+else
+	exit 1
+fi

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/scripts/run_bundler_test.py
----------------------------------------------------------------------
diff --git a/src/test/resources/scripts/run_bundler_test.py b/src/test/resources/scripts/run_bundler_test.py
new file mode 100644
index 0000000..08cf8c3
--- /dev/null
+++ b/src/test/resources/scripts/run_bundler_test.py
@@ -0,0 +1,378 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import unittest
+from mock import Mock
+import os, sys
+sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "scripts", "support"))
+from run_bundler import ConfigLine
+from run_bundler import CopyFileConfigLine
+from run_bundler import JOSHUA_PATH
+from run_bundler import abs_file_path
+from run_bundler import clear_non_empty_dir
+from run_bundler import config_line_factory
+from run_bundler import filter_through_copy_config_script
+from run_bundler import handle_args
+from run_bundler import main
+from run_bundler import make_dest_dir
+from run_bundler import processed_config_line
+
+
+class TestRunBundler_cli(unittest.TestCase):
+
+    def test_force(self):
+        args = handle_args(["--force",
+                            "/dev/null",
+                            "/dev/null",
+                            "haitian5-bundle"])
+        self.assertIsInstance(args.config, file)
+
+    def test_no_force(self):
+        args = handle_args(["/dev/null",
+                            "/dev/null",
+                            "haitian5-bundle"])
+        self.assertIsInstance(args.config, file)
+
+    def test_copy_config_options(self):
+        """
+        For --copy_config_options, Space-separated options surrounded by a pair
+        of quotes should not be split.
+        """
+        args = handle_args(["/dev/null",
+                            "/dev/null",
+                            "haitian5-bundle",
+                            "--copy-config-options",
+                            "-grammar grammar.gz"])
+        self.assertIsInstance(args.config, file)
+        self.assertEqual("-grammar grammar.gz", args.copy_config_options)
+
+    def test_copy_config_options__empty(self):
+        """
+        An error should result from --copy-config-options with no options.
+        """
+        with self.assertRaises(SystemExit):
+            handle_args(["/dev/null",
+                         "/dev/null",
+                         "haitian5-bundle",
+                         "--copy-config-options"])
+
+
+class TestRunBundler_bundle_dir(unittest.TestCase):
+
+    def setUp(self):
+        self.test_dest_dir = "newdir"
+        self.config_line_abs = 'tm = thrax pt 12 /home/hltcoe/lorland/expts/haitian-creole-sms/runs/5/data/test/grammar.filtered.gz'
+        self.config_line_rel = 'lm = berkeleylm 5 false false 100 lm.berkeleylm'
+
+        # Create the destination directory an put a file in it.
+        if not os.path.exists(self.test_dest_dir):
+            os.mkdir(self.test_dest_dir)
+        temp_file_path = os.path.join(self.test_dest_dir, 'temp')
+        open(temp_file_path, 'w').write('test text')
+
+    def tearDown(self):
+        if os.path.exists(self.test_dest_dir):
+            clear_non_empty_dir(self.test_dest_dir)
+        pass
+
+    def test_clear_non_empty_dir(self):
+        clear_non_empty_dir(self.test_dest_dir)
+        self.assertFalse(os.path.exists(self.test_dest_dir))
+
+    def test_force_make_dest_dir__extant_not_empty(self):
+        # The existing directory should be removed and a new empty directory
+        # should be in its place.
+        make_dest_dir(self.test_dest_dir, True)
+        self.assertTrue(os.path.exists(self.test_dest_dir))
+        self.assertEqual([], os.listdir(self.test_dest_dir))
+
+    def test_make_dest_dir__non_extant(self):
+        # Set up by removing (existing) directory.
+        clear_non_empty_dir(self.test_dest_dir)
+        # A new empty directory should be created.
+        make_dest_dir(self.test_dest_dir, False)
+        self.assertTrue(os.path.exists(self.test_dest_dir))
+
+
+class TestProcessedConfigLine_blank(unittest.TestCase):
+
+    def setUp(self):
+        self.args = handle_args(['/dev/null', '/dev/null', '/dev/null'])
+
+    def test_output_is_input(self):
+        """
+        The resulting processed config line of a comment line is that same
+        comment line.
+        """
+        cl_object = processed_config_line('', self.args)
+        expect = ''
+        actual = cl_object.result()
+        self.assertEqual(expect, actual)
+
+
+class TestProcessedConfigLine_comment(unittest.TestCase):
+
+    def setUp(self):
+        self.line = '# This is the location of the file containing model weights.'
+        self.args = handle_args(['/dev/null', '/dev/null', '/dev/null'])
+
+    def test_line_type(self):
+        cl_object = processed_config_line(self.line, self.args)
+        self.assertIsInstance(cl_object, ConfigLine)
+
+    def test_output_is_input(self):
+        """
+        The resulting processed config line of a comment line is that same
+        comment line.
+        """
+        expect = '# This is the location of the file containing model weights.'
+        actual = processed_config_line(expect, self.args).result()
+        self.assertEqual(expect, actual)
+
+
+class TestProcessedConfigLine_copy1(unittest.TestCase):
+
+    def setUp(self):
+        self.line = 'weights-file = test/parser/weights # foo bar'
+        self.args = Mock()
+        self.args.origdir = JOSHUA_PATH
+        self.args.destdir = '/tmp/testdestdir'
+        if os.path.exists(self.args.destdir):
+            clear_non_empty_dir(self.args.destdir)
+        os.mkdir(self.args.destdir)
+
+    def tearDown(self):
+        if os.path.exists(self.args.destdir):
+            clear_non_empty_dir(self.args.destdir)
+
+    def test_line_type(self):
+        cl_object = config_line_factory(self.line, self.args)
+        self.assertIsInstance(cl_object, ConfigLine)
+
+    def test_output_is_input(self):
+        """
+        The resulting processed config line of a comment line is that same
+        comment line.
+        """
+        expect = '# This is the location of the file containing model weights.'
+        actual = processed_config_line(expect, self.args).result()
+        self.assertEqual(expect, actual)
+
+
+class TestProcessedConfigLine_copy2(unittest.TestCase):
+
+    def setUp(self):
+        self.line = 'weights-file = test/parser/weights # foo bar'
+        args = Mock()
+        self.args = args
+        args.origdir = JOSHUA_PATH
+        args.destdir = './testdestdir'
+        self.destdir = args.destdir
+        # Create the destination directory.
+        if not os.path.exists(args.destdir):
+            os.mkdir(args.destdir)
+        self.cl_object = processed_config_line(self.line, args)
+        self.expected_source_file_path = os.path.abspath(os.path.join(args.origdir,
+                    'test', 'parser', 'weights'))
+        self.expected_dest_file_path = os.path.abspath(os.path.join(args.destdir, 'weights'))
+        CopyFileConfigLine.clear_file_name_counts()
+
+    def tearDown(self):
+        if not os.path.exists(self.destdir):
+            os.mkdir(self.destdir)
+
+    def test_line_source_path(self):
+        actual = self.cl_object.source_file_path
+        self.assertEqual(self.expected_source_file_path, actual)
+
+    def test_line_parts(self):
+        cl_object = processed_config_line(self.line, self.args)
+        expect = {"command": ['weights-file', '=', 'test/parser/weights'],
+                  "comment": '# foo bar'}
+        actual = cl_object.line_parts
+        self.assertEqual(expect["command"], actual["command"])
+
+    def test_line_dest_path(self):
+        actual = self.cl_object.dest_file_path
+        self.assertEqual(self.expected_dest_file_path, actual)
+
+    def test_line_copy_file(self):
+        self.assertTrue(os.path.exists(self.cl_object.dest_file_path))
+
+
+class TestProcessedConfigLine_copy_dirtree(unittest.TestCase):
+
+    def setUp(self):
+        # N.B. specify a path to copytree that is not inside you application.
+        # Otherwise it ends with an infinite recursion.
+        self.line = 'tm = thrax pt 12 example # foo bar'
+        self.args = Mock()
+        self.args.origdir = os.path.join(JOSHUA_PATH, 'examples')
+        self.args.destdir = './testdestdir'
+        # Create the destination directory.
+        if os.path.exists(self.args.destdir):
+            clear_non_empty_dir(self.args.destdir)
+        os.mkdir(self.args.destdir)
+        CopyFileConfigLine.clear_file_name_counts()
+
+    def tearDown(self):
+        if os.path.exists(self.args.destdir):
+            clear_non_empty_dir(self.args.destdir)
+
+    def test_line_parts(self):
+        cl_object = processed_config_line(self.line, self.args)
+        expect = {"command": ['tm', '=', 'thrax', 'pt', '12', 'example'],
+                  "comment": '# foo bar'}
+        actual = cl_object.line_parts
+        self.assertEqual(expect["command"], actual["command"])
+
+    def test_line_copy_dirtree(self):
+        processed_config_line(self.line, self.args)
+        expect = os.path.join(self.args.destdir, 'example', 'joshua.config')
+        self.assertTrue(os.path.exists(expect))
+
+    def test_line_copy_dirtree_result(self):
+        cl_object = processed_config_line(self.line, self.args)
+        expect = 'tm = thrax pt 12 example # foo bar'
+        actual = cl_object.result()
+        self.assertEqual(expect, actual)
+
+
+class TestMain(unittest.TestCase):
+
+    def setUp(self):
+        CopyFileConfigLine.clear_file_name_counts()
+        self.line = 'weights-file = weights # foo bar\noutput-format = %1'
+        self.origdir = '/tmp/testorigdir'
+        self.destdir = '/tmp/testdestdir'
+        for d in [self.origdir, self.destdir]:
+            if os.path.exists(d):
+                clear_non_empty_dir(d)
+        # Create the destination directory.
+        os.mkdir(self.origdir)
+        os.mkdir(self.destdir)
+        # Write the files to be processed.
+        config_file = os.path.join(self.origdir, 'joshua.config')
+        with open(config_file, 'w') as fh:
+            fh.write(self.line)
+        with open(os.path.join(self.origdir, 'weights'), 'w') as fh:
+            fh.write("grammar data\n")
+        self.args = ['thisprogram', '-f', config_file, self.origdir,
+                     self.destdir]
+
+    def tearDown(self):
+        for d in [self.origdir, self.destdir]:
+            if os.path.exists(d):
+                clear_non_empty_dir(d)
+
+    def test_main(self):
+        main(self.args)
+        actual = os.path.exists(os.path.join(self.destdir, 'weights'))
+        self.assertTrue(actual)
+        with open(os.path.join(self.destdir, 'joshua.config')) as fh:
+            actual = fh.read().splitlines()
+        expect = ['weights-file = weights # foo bar', 'output-format = %1']
+        self.assertEqual(expect, actual)
+
+    def test_main_with_copy_config_options(self):
+        """
+        For --copy_config_options, Space-separated options surrounded by a pair
+        of quotes should not be split.
+        """
+        main(self.args + ["--copy-config-options", "-topn 1"])
+        with open(os.path.join(self.destdir, 'joshua.config')) as fh:
+            actual = fh.read().splitlines()
+        expect = ['weights-file = weights # foo bar', 'output-format = %1',
+                  "topn = 1"]
+        self.assertEqual(expect, actual)
+        self.assertEqual(3, len(actual))
+
+
+class TestFilterThroughCopyConfigScript(unittest.TestCase):
+
+    def test_method(self):
+        expect = ["# hello", "topn = 1"]
+        actual = filter_through_copy_config_script(["# hello"], "-topn 1")
+        self.assertEqual(expect, actual)
+
+
+class TestAbsFilePath(unittest.TestCase):
+
+    def test_abs_file_path_path_in_file_token_1(self):
+        """
+        A file token that is already an absolute path outside the origdir should not be changed.
+        """
+        dir_path = '/foo'
+        file_token = '/bar/file.txt'
+        expect = file_token
+        actual = abs_file_path(dir_path, file_token)
+        self.assertEqual(expect, actual)
+
+    def test_abs_file_path_path_in_file_token_2(self):
+        """
+        A file token that is already an absolute path inside the origdir should not be changed.
+        """
+        dir_path = '/bar'
+        file_token = '/bar/file.txt'
+        expect = file_token
+        actual = abs_file_path(dir_path, file_token)
+        self.assertEqual(expect, actual)
+
+    def test_rel_file_path_path_in_file_token_2(self):
+        """
+        Relative file path should get the dir_path prepended.
+        """
+        dir_path = '/foo'
+        file_token = 'bar/file.txt'
+        expect = '/foo/bar/file.txt'
+        actual = abs_file_path(dir_path, file_token)
+        self.assertEqual(expect, actual)
+
+
+class TestUniqueFileNames(unittest.TestCase):
+
+    def setUp(self):
+        self.args = Mock()
+        self.args.origdir = '/dev/null'
+        self.args.destdir = '/dev/null'
+        CopyFileConfigLine.clear_file_name_counts()
+
+    def test_2_files_same_name__without_filename_extension(self):
+        line = 'weights-file = weights'
+        cl = config_line_factory(line, self.args)
+        self.assertEqual('weights-file = weights', cl.result())
+        # Another file with the same name appears.
+        line = 'weights-file = otherdir/weights'
+        cl = config_line_factory(line, self.args)
+        self.assertEqual('weights-file = weights-1', cl.result())
+
+    def test_2_files_same_name__with_filename_extension(self):
+        line = 'tm = blah blah blah grammar.packed'
+        cl = config_line_factory(line, self.args)
+        self.assertEqual('tm = blah blah blah grammar.packed', cl.result())
+        # Another file with the same name appears.
+        line = 'tm = blah blah blah otherdir/grammar.packed'
+        cl = config_line_factory(line, self.args)
+        self.assertEqual('tm = blah blah blah grammar-1.packed', cl.result())
+
+    def test_clear_file_name_counts(self):
+        line = 'tm = blah blah blah grammar.packed'
+        cl = config_line_factory(line, self.args)
+        cl = config_line_factory(line, self.args)
+        CopyFileConfigLine.clear_file_name_counts()
+        cl = config_line_factory(line, self.args)
+        self.assertEqual('tm = blah blah blah grammar.packed', cl.result())
+
+

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/scripts/support/moses_grammar/input
----------------------------------------------------------------------
diff --git a/src/test/resources/scripts/support/moses_grammar/input b/src/test/resources/scripts/support/moses_grammar/input
new file mode 100644
index 0000000..532b66e
--- /dev/null
+++ b/src/test/resources/scripts/support/moses_grammar/input
@@ -0,0 +1,10 @@
+! ! ! " \u9898\u76ee [X] ||| questions were [X] ||| 0.000629742 8.23907e-14 0.0206241 0.000385206 ||| 4-0 4-1 ||| 32.75 1 1 ||| |||
+! ! ! [X] ||| ! ! ! [X] ||| 0.0206241 0.265467 0.0206241 0.0277773 ||| 0-0 0-1 1-1 1-2 2-2 ||| 1 1 1 ||| |||
+! ! ! [X][X] , [X] ||| [X][X] , [X] ||| 2.59611e-09 5.90069e-10 0.0206241 0.488999 ||| 3-0 4-1 ||| 662017 0.0833333 0.0833333 ||| |||
+! ! ! [X][X] \u516c\u5e03 [X] ||| [X][X] published [X] ||| 2.61822e-06 7.87304e-11 0.0206241 0.0407651 ||| 3-0 4-1 ||| 875.235 0.111111 0.111111 ||| |||
+! ! ! [X][X] \u7acb\u523b [X] ||| [X][X] they immediately [X] ||| 7.08771e-05 4.22904e-11 0.0206241 0.0106107 ||| 3-0 4-1 4-2 ||| 13.2265 0.0454545 0.0454545 ||| |||
+! ! ! \u4e86 , [X] ||| , has weakened [X] ||| 0.000927618 5.79717e-11 0.0108156 3.40604e-07 ||| 3-2 4-0 ||| 3.17619 0.272412 0.142857 ||| |||
+! ! ! \u4e86 , [X] ||| , has weakened unity [X] ||| 0.00114296 5.79717e-11 0.00582378 7.32299e-12 ||| 3-2 4-0 ||| 1.38803 0.272412 0.0769231 ||| |||
+! ! ! \u4e86 , [X] ||| , has weakened unity among [X] ||| 0.000853088 5.79717e-11 0.00398469 4.12504e-15 ||| 3-2 4-0 ||| 1.27241 0.272412 0.0526316 ||| |||
+! ! ! \u4e86 [X] ||| has weakened [X] ||| 0.000759167 8.63793e-11 0.00343734 6.96533e-07 ||| 3-1 ||| 27.1667 6 1 ||| |||
+! ! ! \u4e86 [X] ||| has weakened unity [X] ||| 0.00412481 8.63793e-11 0.00343734 1.49755e-11 ||| 3-1 ||| 5 6 1 ||| |||

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/scripts/support/moses_grammar/output.expected
----------------------------------------------------------------------
diff --git a/src/test/resources/scripts/support/moses_grammar/output.expected b/src/test/resources/scripts/support/moses_grammar/output.expected
new file mode 100644
index 0000000..74fb473
--- /dev/null
+++ b/src/test/resources/scripts/support/moses_grammar/output.expected
@@ -0,0 +1,10 @@
+[X] ||| ! ! ! " \u9898\u76ee ||| questions were ||| 7.37020 30.12730 3.88129 7.86173 ||| 4-0 4-1
+[X] ||| ! ! ! ||| ! ! ! ||| 3.88129 1.32626 3.88129 3.58354 ||| 0-0 0-1 1-1 1-2 2-2
+[X] ||| ! ! ! [X,1] , ||| [X,1] , ||| 19.76925 21.25078 3.88129 0.71539 ||| 3-0 4-1
+[X] ||| ! ! ! [X,1] \u516c\u5e03 ||| [X,1] published ||| 12.85302 23.26499 3.88129 3.19993 ||| 3-0 4-1
+[X] ||| ! ! ! [X,1] \u7acb\u523b ||| [X,1] they immediately ||| 9.55456 23.88646 3.88129 4.54589 ||| 3-0 4-1 4-2
+[X] ||| ! ! ! \u4e86 , ||| , has weakened ||| 6.98289 23.57107 4.52677 14.89255 ||| 3-2 4-0
+[X] ||| ! ! ! \u4e86 , ||| , has weakened unity ||| 6.77413 23.57107 5.14581 25.64000 ||| 3-2 4-0
+[X] ||| ! ! ! \u4e86 , ||| , has weakened unity among ||| 7.06665 23.57107 5.52530 33.12170 ||| 3-2 4-0
+[X] ||| ! ! ! \u4e86 ||| has weakened ||| 7.18329 23.17227 5.67306 14.17715 ||| 3-1
+[X] ||| ! ! ! \u4e86 ||| has weakened unity ||| 5.49074 23.17227 5.67306 24.92461 ||| 3-1

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/scripts/support/moses_grammar/test.sh
----------------------------------------------------------------------
diff --git a/src/test/resources/scripts/support/moses_grammar/test.sh b/src/test/resources/scripts/support/moses_grammar/test.sh
new file mode 100755
index 0000000..ef85625
--- /dev/null
+++ b/src/test/resources/scripts/support/moses_grammar/test.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+cat input | $JOSHUA/scripts/support/moses2joshua_grammar.pl > output
+
+diff -u output output.expected > diff
+
+if [ $? -eq 0 ]; then
+  rm -f diff output
+  exit 0
+else
+  exit 1
+fi
+
+

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/server/http/expected
----------------------------------------------------------------------
diff --git a/src/test/resources/server/http/expected b/src/test/resources/server/http/expected
new file mode 100644
index 0000000..622c646
--- /dev/null
+++ b/src/test/resources/server/http/expected
@@ -0,0 +1,15 @@
+{
+  "data": {
+    "translations": [
+      {
+        "translatedText": "I_OOV love_OOV it_OOV when_OOV I_OOV get_OOV the_OOV house_OOV clean_OOV before_OOV the_OOV weekend_OOV ",
+        "raw_nbest": [
+          {
+            "hyp": "I_OOV love_OOV it_OOV when_OOV I_OOV get_OOV the_OOV house_OOV clean_OOV before_OOV the_OOV weekend_OOV",
+            "totalScore": 0.0
+          }
+        ]
+      }
+    ]
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/server/http/test.sh
----------------------------------------------------------------------
diff --git a/src/test/resources/server/http/test.sh b/src/test/resources/server/http/test.sh
new file mode 100755
index 0000000..c0ae90e
--- /dev/null
+++ b/src/test/resources/server/http/test.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# This test case starts a server and then throws 10 threads at it to make sure threading is working.
+
+$JOSHUA/bin/decoder -threads 4 -server-port 9010 -server-type http -mark-oovs true > server.log 2>&1 &
+serverpid=$!
+sleep 1
+
+curl -s http://localhost:9010/?q=I%20love%20it%20when%20I%20get%20the%20house%20clean%20before%20the%20weekend > output
+
+kill -15 $serverpid 2> /dev/null
+
+diff -u output expected > diff
+
+if [[ $? -eq 0 ]]; then
+  rm -f server.log output log diff
+  exit 0
+else
+  exit 1
+fi

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/server/tcp-text/expected
----------------------------------------------------------------------
diff --git a/src/test/resources/server/tcp-text/expected b/src/test/resources/server/tcp-text/expected
new file mode 100644
index 0000000..fe7f422
--- /dev/null
+++ b/src/test/resources/server/tcp-text/expected
@@ -0,0 +1,9 @@
+0 ||| this_OOV	0 ||| this_OOV	0 ||| this_OOV	0 ||| this_OOV	0 ||| this_OOV	0 ||| this_OOV	0 ||| this_OOV	0 ||| this_OOV	0 ||| this_OOV	0 ||| this_OOV
+1 ||| that_OOV	1 ||| that_OOV	1 ||| that_OOV	1 ||| that_OOV	1 ||| that_OOV	1 ||| that_OOV	1 ||| that_OOV	1 ||| that_OOV	1 ||| that_OOV	1 ||| that_OOV
+2 ||| these_OOV	2 ||| these_OOV	2 ||| these_OOV	2 ||| these_OOV	2 ||| these_OOV	2 ||| these_OOV	2 ||| these_OOV	2 ||| these_OOV	2 ||| these_OOV	2 ||| these_OOV
+3 ||| 	3 ||| 	3 ||| 	3 ||| 	3 ||| 	3 ||| 	3 ||| 	3 ||| 	3 ||| 	3 ||| 
+4 ||| those_OOV	4 ||| those_OOV	4 ||| those_OOV	4 ||| those_OOV	4 ||| those_OOV	4 ||| those_OOV	4 ||| those_OOV	4 ||| those_OOV	4 ||| those_OOV	4 ||| those_OOV
+5 ||| mine_OOV	5 ||| mine_OOV	5 ||| mine_OOV	5 ||| mine_OOV	5 ||| mine_OOV	5 ||| mine_OOV	5 ||| mine_OOV	5 ||| mine_OOV	5 ||| mine_OOV	5 ||| mine_OOV
+6 ||| his_OOV	6 ||| his_OOV	6 ||| his_OOV	6 ||| his_OOV	6 ||| his_OOV	6 ||| his_OOV	6 ||| his_OOV	6 ||| his_OOV	6 ||| his_OOV	6 ||| his_OOV
+7 ||| yours_OOV	7 ||| yours_OOV	7 ||| yours_OOV	7 ||| yours_OOV	7 ||| yours_OOV	7 ||| yours_OOV	7 ||| yours_OOV	7 ||| yours_OOV	7 ||| yours_OOV	7 ||| yours_OOV
+8 ||| hers_OOV	8 ||| hers_OOV	8 ||| hers_OOV	8 ||| hers_OOV	8 ||| hers_OOV	8 ||| hers_OOV	8 ||| hers_OOV	8 ||| hers_OOV	8 ||| hers_OOV	8 ||| hers_OOV

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/server/tcp-text/test.sh
----------------------------------------------------------------------
diff --git a/src/test/resources/server/tcp-text/test.sh b/src/test/resources/server/tcp-text/test.sh
new file mode 100755
index 0000000..f37edf2
--- /dev/null
+++ b/src/test/resources/server/tcp-text/test.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# This test case starts a server and then throws 10 threads at it to make sure threading is working.
+
+$JOSHUA/bin/decoder -threads 4 -server-port 9010 -output-format "%i ||| %s" -mark-oovs true > server.log 2>&1 &
+serverpid=$!
+sleep 2
+
+for num in $(seq 0 9); do
+  echo -e "this\nthat\nthese\n\nthose\nmine\nhis\nyours\nhers" | nc localhost 9010 > output.$num 2> log.$num &
+  pids[$num]=$!
+done
+
+for num in $(seq 0 9); do
+  wait ${pids[$num]}
+done
+
+kill -15 $serverpid 2> /dev/null
+
+paste output.* > output
+
+diff -u output expected > diff
+
+if [[ $? -eq 0 ]]; then
+  rm -f server.log output output.* log.* diff
+  exit 0
+else
+  exit 1
+fi

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/testng.xml
----------------------------------------------------------------------
diff --git a/src/test/resources/testng.xml b/src/test/resources/testng.xml
new file mode 100644
index 0000000..4908ed1
--- /dev/null
+++ b/src/test/resources/testng.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- test suite for joshua -->
+
+<suite name="Joshua" verbose="2">
+
+  <test name="Visualization">
+    <packages>
+      <package name="org.apache.joshua.ui.tree_visualizer.tree" />
+    </packages>
+  </test>
+
+</suite>

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/thrax/.gitignore
----------------------------------------------------------------------
diff --git a/src/test/resources/thrax/.gitignore b/src/test/resources/thrax/.gitignore
new file mode 100644
index 0000000..80685e0
--- /dev/null
+++ b/src/test/resources/thrax/.gitignore
@@ -0,0 +1,5 @@
+thrax.log
+thrax
+.grammar.crc
+hadoop-0.20.2
+grammar

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/thrax/extraction/input/thrax.conf
----------------------------------------------------------------------
diff --git a/src/test/resources/thrax/extraction/input/thrax.conf b/src/test/resources/thrax/extraction/input/thrax.conf
new file mode 100644
index 0000000..f9f6624
--- /dev/null
+++ b/src/test/resources/thrax/extraction/input/thrax.conf
@@ -0,0 +1,71 @@
+# this is an example Thrax configuration file
+# <- this symbol indicates a comment
+# each line should be a key-value pair separated by whitespace
+
+###
+### GRAMMAR OPTIONS
+###
+
+grammar     hiero   # or samt
+reverse     false
+source-is-parsed    false
+target-is-parsed    false
+# default-nt    X   # X is the default anyway
+
+min-rule-count 1
+
+# the number of reducers
+reducers 16
+
+# not only do these next six options have the suggested values as given
+# in Chiang's "Hierarchical Phrase-based Translation" (CL), they are also
+# Thrax's default values! You could comment them out and the resulting grammar
+# would be identical.
+
+initial-phrase-length   10  # maximum length of initial phrase pairs
+arity                   2   # maximum number of NTs in a rule
+lexicality              1   # minimum number of aligned terminals in a rule
+adjacent-nts    false   # allow adjacent nonterminals on source side
+loose           false   # allow unaligned words at boundaries of phrases
+
+allow-abstract-rules    false
+allow-nonlexical-x      false
+allow-full-sentence-rules   false
+
+nonlex-source-length    5
+nonlex-target-length    5
+nonlex-source-words     5
+nonlex-target-words     5
+
+allow-double-plus    false
+
+rule-span-limit         12
+
+phrase-penalty  2.718
+
+# a whitespace seperated list of features
+# in this example, the features are phrase translation probability,
+# lexical probability, and phrase penalty
+# features        phrase-penalty e2fphrase f2ephrase lexprob lexical abstract adjacent x-rule source-terminals-without-target target-terminals-without-source monotonic glue-rule rarity target-word-count unaligned-count
+features        e2fphrase f2ephrase lexprob x-rule rarity target-word-count
+
+
+output-format   joshua  # the only option and default
+                        # later we will want to add formats for other decoders
+                        # such as moses and cdec, if they use other formats
+
+label-feature-scores false   # label feature scores?
+                            # each score will be output as name=score
+
+amazon-work s3://edu.jhu.cs.jonny/wmt11/fr-en/hiero
+amazon-jar  s3://edu.jhu.cs.jonny/thrax.jar
+amazon-num-instances    15
+# the format should be:
+# foreign sentence ||| english sentence ||| alignment
+# where the english is either parsed or not depending on whether you want
+# SAMT or you want Hiero.
+
+max-split-size  8388608
+#input-file  s3://edu.jhu.cs.jonny/wmt11/corpus.fr-en
+#
+input-file input/train.thrax

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/thrax/extraction/input/train.a
----------------------------------------------------------------------
diff --git a/src/test/resources/thrax/extraction/input/train.a b/src/test/resources/thrax/extraction/input/train.a
new file mode 100644
index 0000000..f59a66f
--- /dev/null
+++ b/src/test/resources/thrax/extraction/input/train.a
@@ -0,0 +1,100 @@
+46-34 0-0 22-25 29-18 33-27 13-4 26-13 44-37 45-37 10-5 23-15 34-31 9-7 3-9 11-11 2-3 0-1 42-33 39-10 38-29 7-8 15-22 5-8 17-22 36-28 40-16 32-26 47-35 28-17 43-36 37-30 25-16 16-20 24-14 35-32 1-2 27-24 8-6 18-22 6-6 
+12-6 7-8 10-5 4-8 11-5 11-4 3-6 5-7 0-1 13-0 8-8 
+22-25 12-2 4-7 44-29 39-34 11-0 41-31 17-21 43-31 6-11 35-35 13-5 8-13 37-37 9-9 28-27 16-17 6-8 33-38 14-3 18-24 20-24 31-33 42-30 38-36 21-26 40-32 7-12 8-10 3-6 29-28 34-36 17-18 
+0-0 3-4 10-6 12-5 5-9 8-10 11-7 13-11 6-7 4-3 1-1 2-2 9-8 
+0-0 15-16 18-23 22-18 8-5 6-11 19-21 14-13 7-7 3-3 1-1 13-15 17-19 16-17 4-8 10-17 11-12 3-10 5-6 20-20 9-4 12-14 2-2 16-18 21-22 
+15-10 0-0 7-8 17-10 3-1 2-4 11-6 13-7 1-2 8-10 4-5 6-7 9-6 5-4 7-9 3-3 
+0-0 11-9 15-23 35-27 23-18 30-11 18-25 31-23 9-7 25-21 36-31 34-29 17-15 1-3 5-5 6-5 1-1 17-24 14-22 36-28 29-19 22-17 26-10 19-26 3-10 35-30 39-13 10-8 8-6 24-20 13-10 7-6 4-4 
+0-0 1-1 
+3-4 4-0 5-2 1-3 2-2 1-1 
+6-1 12-2 3-1 2-0 13-7 5-0 9-3 10-3 1-5 8-6 7-4 
+23-17 1-0 0-16 19-5 21-14 0-3 15-8 13-11 11-7 20-18 12-12 10-9 11-10 3-2 5-4 2-2 6-5 7-6 9-8 
+29-18 5-0 25-25 9-7 25-21 0-1 1-3 24-23 12-13 14-15 10-11 6-5 5-8 28-19 31-26 30-17 2-4 18-14 11-12 0-2 23-22 13-14 9-10 17-16 27-20 7-6 4-4 
+38-27 0-0 9-5 10-5 22-21 37-31 29-23 40-25 31-29 26-21 32-27 17-15 35-29 14-13 15-15 7-7 4-3 1-1 39-28 25-19 6-8 19-17 30-26 34-24 36-30 21-18 23-20 10-10 8-6 13-12 5-4 3-2 33-28 16-14 18-16 
+13-9 8-5 1-0 9-7 6-3 12-4 2-6 10-8 5-2 0-1 
+11-2 8-1 10-7 7-3 2-5 9-9 8-6 0-1 4-5 12-10 8-8 5-4 
+22-25 12-9 2-0 28-20 29-20 7-14 6-16 26-21 9-13 0-1 20-19 23-23 10-11 27-21 5-15 14-10 19-17 21-24 3-4 17-20 15-6 1-2 24-22 11-8 13-10 16-18 
+10-2 3-4 0-0 11-2 1-7 12-3 9-2 7-10 6-9 5-6 4-5 
+4-1 5-0 0-8 6-13 7-11 1-4 10-5 12-5 11-4 2-3 8-6 14-18 14-14 3-2 13-15 
+0-0 5-5 4-3 4-4 2-2 1-1 
+2-7 29-18 12-9 6-2 0-7 22-18 32-23 5-3 13-11 25-23 21-19 23-21 14-13 11-11 3-5 16-15 19-17 10-12 26-22 27-22 30-1 9-10 20-18 22-20 15-14 31-24 7-6 4-4 18-16 
+0-0 23-25 13-11 17-15 9-9 5-7 6-7 15-15 28-27 3-3 3-1 18-17 19-14 22-22 25-24 26-24 20-18 27-26 12-12 10-10 24-26 16-16 8-8 7-6 4-4 2-2 
+0-0 2-0 3-1 18-13 25-8 26-16 20-15 5-6 10-14 7-4 1-3 4-2 6-7 8-8 9-11 12-10 
+24-12 23-11 17-17 3-4 20-1 0-3 22-13 21-16 1-2 18-18 10-7 2-5 16-15 9-9 15-14 19-19 4-5 6-4 11-10 5-5 7-7 8-8 18-16 
+31-34 4-7 10-0 15-25 39-39 24-27 11-19 21-21 35-37 2-28 37-37 35-31 17-15 30-35 5-5 8-9 1-1 29-33 16-17 3-8 23-24 32-16 13-20 38-36 9-12 12-18 20-14 14-26 25-28 22-22 34-32 5-6 0-2 7-4 36-38 19-16 
+7-8 12-16 11-9 20-17 8-0 0-12 16-0 1-4 5-6 15-14 13-12 4-5 6-7 13-15 1-1 2-2 3-3 11-13 
+3-0 8-14 24-35 16-30 23-25 17-28 20-32 18-30 25-34 30-18 14-7 10-19 6-3 9-13 0-5 13-11 29-21 24-23 27-21 7-15 4-1 1-6 22-24 19-31 21-33 11-20 2-4 25-22 5-2 14-18 12-10 14-12 
+1-0 42-15 40-8 21-9 34-15 26-9 25-11 15-13 24-15 38-18 10-13 3-5 0-1 7-7 4-3 37-6 40-16 41-14 12-15 29-7 22-10 39-17 46-19 45-7 0-2 18-12 2-6 43-13 6-4 44-11 16-14 
+0-0 1-0 
+12-2 3-8 9-14 10-1 0-7 10-3 3-12 8-17 9-0 13-18 2-11 4-6 4-9 7-13 5-7 1-1 
+3-7 19-25 6-0 24-29 24-27 19-21 4-9 1-3 12-13 10-11 22-23 18-24 28-5 15-20 0-4 17-26 25-28 11-14 21-20 7-10 23-22 2-6 26-26 27-26 29-30 13-12 9-8 2-2 
+15-16 21-11 6-2 4-0 25-11 31-23 22-2 10-13 3-9 7-3 11-11 18-19 13-15 5-1 1-8 14-17 20-10 2-10 23-22 8-4 12-12 9-6 16-16 24-20 17-18 
+0-0 1-0 3-2 2-1 
+0-0 19-17 26-9 8-5 15-13 28-8 23-22 10-7 24-21 22-20 21-19 20-18 17-15 11-11 12-12 9-6 5-5 6-6 18-16 16-14 1-1 2-2 3-3 4-4 
+22-11 12-9 3-0 4-1 19-17 17-13 0-3 16-12 9-7 10-7 23-20 21-19 20-18 15-14 8-6 1-3 11-8 5-5 18-16 13-10 2-2 6-5 7-6 
+0-0 1-0 25-17 20-12 16-9 24-7 17-7 12-6 18-14 10-5 11-6 22-13 14-6 20-16 19-15 15-8 9-4 8-4 5-2 6-4 2-1 3-2 
+28-18 21-25 19-25 7-2 24-25 4-21 1-12 9-5 10-5 30-4 8-3 14-11 16-15 22-23 6-1 26-19 5-8 25-17 29-19 2-8 3-22 0-13 11-6 17-26 23-16 12-10 
+1-0 11-9 3-4 0-3 7-12 4-6 10-8 6-7 12-13 2-1 4-3 5-4 9-11 12-10 
+20-23 0-0 9-16 24-13 18-21 15-19 21-14 23-14 16-20 9-7 6-9 2-3 19-22 12-11 13-12 17-18 14-15 3-2 5-5 7-9 8-8 1-1 4-4 
+0-0 2-2 1-1 
+11-2 21-25 16-23 8-2 10-0 0-14 6-11 19-21 4-9 24-23 7-7 25-19 5-8 9-1 9-3 13-17 23-24 1-15 26-22 3-10 7-12 15-18 18-22 25-20 6-6 
+10-2 9-5 1-4 4-8 5-9 7-10 8-3 11-11 0-1 6-7 
+2-7 1-0 1-6 7-2 8-4 3-6 0-1 4-5 6-5 
+0-0 2-2 1-1 
+0-0 6-8 7-1 8-2 9-3 13-1 12-4 5-13 9-5 6-11 11-6 4-10 10-7 3-9 14-14 
+3-0 6-2 39-14 38-13 7-2 21-17 23-6 35-12 40-24 24-7 31-21 28-17 30-18 20-5 18-4 27-8 33-23 32-22 0-10 12-18 11-19 36-11 37-3 1-1 
+3-4 0-0 5-3 4-3 6-5 2-2 1-1 
+0-0 3-1 4-3 2-2 1-1 
+2-7 8-14 33-27 25-18 24-35 22-32 14-4 36-22 16-0 35-25 26-15 10-5 6-11 12-5 29-29 13-5 30-29 0-9 11-7 7-13 31-31 15-3 36-26 26-19 4-8 3-8 1-6 37-23 38-21 41-0 39-23 28-17 18-1 23-33 34-24 42-36 27-16 5-10 32-30 9-6 32-28 
+0-0 2-1 
+0-0 14-16 15-17 6-8 13-9 14-10 22-11 21-12 23-10 19-14 18-13 2-4 10-6 11-7 12-8 17-15 4-3 16-18 1-1 2-2 
+12-6 2-0 13-5 15-9 6-3 5-2 0-1 3-2 8-7 4-4 
+0-0 1-1 
+32-34 4-7 22-11 8-2 14-23 23-18 9-0 13-21 11-21 18-13 33-35 25-29 30-8 1-9 19-13 24-19 0-5 7-3 2-5 28-27 6-5 15-22 28-31 20-12 31-33 7-1 21-10 29-7 12-24 10-25 31-28 26-26 3-6 34-36 27-30 17-14 
+0-0 19-23 21-25 14-21 29-34 15-19 24-27 14-7 31-29 33-31 28-35 37-37 9-9 3-3 1-1 7-8 15-22 30-33 17-22 20-24 27-36 5-13 35-16 13-20 6-12 25-28 34-32 32-30 10-10 14-18 4-4 2-2 23-26 
+0-0 24-11 3-7 8-2 14-19 12-5 21-13 5-9 20-15 26-21 2-1 25-12 4-8 18-17 10-1 9-3 19-14 15-20 11-6 22-14 1-2 16-16 12-10 17-18 19-16 
+5-1 6-8 3-0 0-6 2-5 10-10 4-2 7-9 5-4 
+3-4 0-0 0-3 4-5 2-2 1-1 
+40-29 0-0 47-29 45-27 39-20 37-18 19-2 48-27 36-20 41-27 5-11 10-5 25-15 22-15 30-23 5-9 11-7 8-3 24-17 26-19 3-8 42-28 2-8 35-21 18-1 28-17 34-24 32-22 4-12 6-12 14-6 7-10 9-4 23-16 15-14 27-30 13-10 
+2-14 17-10 3-0 4-1 14-3 19-11 7-1 33-20 35-15 32-17 20-9 33-18 23-7 1-13 28-16 30-16 21-8 15-7 0-5 17-12 5-2 
+15-3 1-0 22-11 27-6 21-9 28-14 24-10 31-15 29-12 26-9 17-4 8-12 20-8 10-6 13-5 14-5 9-7 11-14 18-12 2-6 0-1 3-2 4-3 7-6 
+0-0 14-10 17-1 16-2 7-5 9-12 13-7 10-13 11-14 15-8 5-6 1-3 4-5 11-10 12-11 2-2 6-5 8-9 
+0-0 1-1 
+0-0 1-0 6-1 16-3 23-5 3-0 27-6 24-4 12-3 13-4 18-2 25-6 22-3 17-4 19-3 21-1 20-1 2-3 
+0-0 5-14 6-15 13-16 4-13 8-11 7-12 8-3 3-6 12-7 10-9 11-8 1-1 
+5-1 10-2 17-10 3-0 12-3 16-9 18-5 7-11 13-6 5-11 0-4 14-7 20-13 9-7 6-9 15-12 
+0-0 6-1 12-2 10-6 1-4 9-3 4-6 14-1 3-5 15-1 
+3-0 7-2 16-9 25-6 30-15 23-2 32-23 15-11 9-7 1-5 21-19 34-25 19-19 12-13 28-21 15-3 14-10 4-1 29-16 2-4 18-8 17-8 11-14 20-20 5-2 13-12 31-24 
+0-0 18-23 5-28 37-15 35-13 28-29 6-9 13-11 4-26 31-2 33-2 8-7 1-1 27-21 7-8 14-10 6-27 26-12 23-12 34-12 3-22 28-17 3-25 2-23 30-3 16-20 36-11 15-18 32-1 9-8 
+0-0 1-1 
+0-0 22-11 3-1 6-2 18-9 19-10 21-10 15-4 29-12 27-13 28-13 20-8 30-16 25-15 23-14 13-5 14-6 26-16 16-7 8-3 5-7 7-4 8-6 
+0-0 14-9 20-11 23-10 22-10 24-9 18-7 11-6 19-8 16-8 14-5 9-7 17-12 12-8 13-8 10-8 5-4 1-1 2-2 3-3 
+10-2 16-10 3-14 9-1 11-3 5-0 7-1 17-11 8-0 12-4 1-12 2-13 4-15 16-8 13-5 14-6 17-16 
+17-17 12-9 3-0 4-1 8-15 7-2 9-14 6-0 19-4 21-8 14-6 13-5 16-7 15-6 10-13 5-2 13-12 1-3 11-10 18-16 2-2 
+0-0 
+15-10 14-9 6-8 17-11 3-4 13-7 4-11 1-2 0-5 0-1 2-3 12-11 7-6 8-7 9-8 11-13 
+2-7 5-8 18-10 17-11 15-9 12-4 16-4 7-11 8-11 0-3 10-12 1-2 0-5 3-6 0-1 13-13 11-13 
+7-5 2-7 0-0 11-3 1-8 8-1 4-6 10-4 8-10 5-7 3-5 12-11 
+15-17 1-0 16-17 19-23 1-6 20-24 24-25 0-7 7-14 22-21 21-20 23-19 5-3 14-11 17-16 25-26 3-2 17-18 21-22 
+0-0 13-3 2-14 14-1 3-13 12-0 1-15 15-2 0-16 7-5 3-11 5-12 4-10 10-7 3-9 8-6 11-8 6-4 9-6 16-18 
+0-0 15-5 5-13 3-4 7-11 18-14 10-6 6-12 1-2 10-13 12-8 8-10 11-7 14-11 13-8 4-9 2-3 9-11 
+7-8 0-0 8-5 13-3 3-1 15-9 12-4 9-4 6-7 4-2 
+11-9 6-13 12-0 13-0 3-4 8-12 0-3 1-2 5-6 12-7 7-13 15-14 2-3 10-10 4-5 9-11 
+8-5 1-0 12-2 11-4 9-4 5-2 0-1 6-7 7-6 3-3 2-2 
+0-0 29-18 4-7 22-18 24-25 14-21 16-19 5-11 10-5 28-8 30-29 7-13 21-19 25-27 18-19 3-3 1-1 15-22 11-15 23-24 27-7 27-9 15-20 26-28 17-6 6-12 28-26 10-4 10-10 9-6 8-8 2-2 13-10 
+0-0 6-8 11-3 5-9 1-5 13-11 17-15 2-5 3-6 8-4 16-15 12-12 14-13 15-15 14-14 11-10 7-7 18-16 
+0-0 14-16 37-27 17-11 45-34 44-31 45-33 43-31 40-39 36-25 47-33 28-29 21-21 39-35 9-7 33-31 4-30 22-19 37-37 16-15 23-23 12-13 8-9 6-5 3-3 1-1 27-31 15-17 19-10 42-35 39-26 11-12 46-32 24-28 41-38 22-22 5-6 20-20 13-14 8-4 29-30 8-8 2-2 
+0-0 15-8 10-9 11-8 11-10 12-11 14-12 5-5 6-6 1-1 2-2 3-3 4-4 7-6 8-7 
+5-0 7-2 0-7 1-8 7-1 9-3 0-11 2-10 3-11 1-11 4-10 10-13 8-4 6-6 
+0-0 8-14 16-9 17-11 10-12 4-12 15-7 5-3 9-13 13-8 14-12 5-4 12-13 13-10 1-1 2-2 6-5 7-6 11-13 
+7-5 0-0 5-8 4-7 11-9 9-4 6-6 8-7 3-3 2-2 1-1 
+0-0 10-16 18-9 20-7 29-25 23-21 28-25 13-13 1-3 12-13 6-5 7-8 5-1 36-28 11-17 9-15 19-10 32-24 2-4 16-8 24-22 22-20 27-26 4-2 14-12 30-24 
+7-11 3-4 10-6 2-0 10-5 4-0 9-7 6-9 0-2 2-3 8-9 1-1 
+0-0 19-11 10-15 11-16 12-17 20-10 21-9 8-21 23-7 22-8 16-13 9-19 5-3 18-12 14-18 17-14 5-4 15-12 1-1 2-2 6-5 7-6 
+0-0 3-1 5-3 4-2 2-1 6-5 
+0-0 3-3 2-2 1-1 
+2-0 0-7 7-1 15-4 16-5 13-6 12-5 17-8 14-5 16-7 6-3 8-3 4-2 5-5 
+0-0 7-2 6-6 5-5 2-1 8-7 4-4 3-3 
+2-7 0-0 6-2 1-6 7-1 5-3 3-5 4-4 
+1-0 17-17 11-22 12-21 8-5 10-12 20-20 18-18 21-19 7-3 0-1 19-19 14-14 15-15 16-16 9-11 22-23 2-2 
+8-5 7-1 6-3 3-6 7-4 

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/thrax/extraction/input/train.en
----------------------------------------------------------------------
diff --git a/src/test/resources/thrax/extraction/input/train.en b/src/test/resources/thrax/extraction/input/train.en
new file mode 100644
index 0000000..6feba6c
--- /dev/null
+++ b/src/test/resources/thrax/extraction/input/train.en
@@ -0,0 +1,100 @@
+even though kublai khan had had enough after the first attack but he had not decided to back down completely from the mission , and therefore attacked in 1291 through the chinese navy which also included the korean navy
+in these times economy is called as political economy
+because of the volume of both parties and the flexibility in the laws in the members the opinion of members most of the time differs from party and you can not estimate the party just because of its name
+china 's development history came in to existence after many years .
+but this terminology were not used in the history of china continuously and in different times it has given different political and society demands
+therefore the people of medina also accepted you as the caliph
+chong goa move quickly and added southern areas to his territory , and as a result the entire area became a political alliance which consisted of the river yengter and river pearl
+abbasi movement
+allah innformed of tjis happenning
+this language is used in china also .
+after that jarkanar name one more group from south east to mangols and defeat him and become a king
+it seems apparent from senai that word lifts it 's predecessor word sino and sen , which was traditionally used for china men and for china .
+zahkodian named cave , which is near to beijing , has seen fasil mean mutahjir witnesses , which shown with the current scientist that these are 3 to 5.5 lac years old
+asper chinese first kingdom was arrested on saba kingdom .
+this dynasty rule was from 206 bc till 220 ad .
+in eighteenth century ad china had got the clear technological dominance over the nations of central asia with whom china was fighting wars from many centuries
+according to estimates , 3 billion people died during this war
+after the death of uwan chekai with the normal way the chineese where not in a good condition .
+peoples democratic china or democratic china
+it included war against the terrorism , imprisonment for the politic opponents and journalist , price control , suppressing the supporters and reformers of religion
+republic of china 's claim over the mainland states , tibet and mongolia has now ceased , and people 's republic of china now secures this claim .
+manchoo has wing to become a king and after that public chineese government has take over .
+result of big including yandtiz river which is central river , there was so many river from west to east
+in the west there are fertile lands of china and on the south there are fertile land consisting of lime stone and himalaya is also situated on this side , the highest mountain in the world is mount everest .
+these blows not only reach south china and taiwan but also reach the west beach of america .
+this sacrifice and forfeiture of imam hussain is such a radiant chapter in the islamic history that it is a great model for the path bearers of their goal of fervor and love and for the freedom lovers
+during this time the present group maintain there name and they call them self with its name of group .
+content
+this language is used a the official level , by the media , and also by the government .
+if the borders of egypt are seen the libya lies west , sudan in south , red sea in the east , palestine in north-east and mediterranean ocean in north .
+one third or 33 percent of population of republic of china consists of different religious beliefs that include traditional and other such beliefs .
+worship of ancestors
+turkey -lrb- official name : turkiye cumhuriyeti -rrb- is spread towards south western island shaped antoli and south eastern europe 's balkan areas
+other forms of buddhism such as heraweda buddhism and tibetan buddhism are also practiced on a big scale by minorities .
+chathiltikhyok , chaiyona , nevali , jori are the area names was occupied by the early men .
+the philosophy of confuscionism was given official support during the kings rule in china , and no person could work for the kingdom without completely mastering it
+the great central sulaimiah mosque of adriana , a beautiful memoir of ottoman age
+democratic republic of china first leader was born in old era and there was impression on him for the 4 may revolution and changes
+mustafa kamal ataturk
+after the inclusion of the turkish army in the united nations army in the korean problem , turkey also became a member of nato in 1952
+hand writing is assumed to be a big branch of art .
+in 1982 new in was established in turkey
+games and picnic .
+china is believed to be the sports power in asia and in the world .
+turkey 's 14th general election was the first election in its history to combine local , council and parliamentary elections on the same day .
+blast oven -lrb- for steel -rrb-
+net of fish hunting
+to support their government in various economic and practical policies and ensure financial stability at lower level , they managed a gross loan of 10 billion $ from various international monetary fund by may , 2001 .
+piston pump
+2002 and 2007 election winner party judiciary and development party has got the simple majority in the final election
+in this season cheif minister give presidentpost abdulla gull .
+toilet paper
+in the search of a fair and unanimous agreement , many efforts for dialogue have been done under the supervision of the united nations after 1974 but until now , this purpose has not been achieved .
+pascal 's triangle , known as ' yang hoi 's triangle ' in china , was discovered by chia hsen , yang hoi , xao shiji and lou juxia five hundred years before the birth of pascal .
+but the 1999 earthquake that hit both turkey and greece helped them to extend the hand of friendship towards each other .
+turkey lodged a formal request for this purpose in 1987 .
+mother board -lrb- mother board -rrb-
+turkey announced to give five years visa to islamabad 's chamber 's executive and those have these sort of visa can go turkey any time and do whatever business they like
+in today 's world the most effective tool which has increased the speed of life is indeed the inception of microprocessor
+prime minister selected committee on vote of confidence and usually winning party would be head .
+it is been reached to bahem in special form , expresses on order or program
+armed forces
+keyboard is use for input device .
+mostly , the name of the province is identical to the name of its provincial capital .
+.we ca n't say any device that it is the first invented computer .
+turkey is asia 's a biggest continent
+the computer reads those instructions by means of its memory and then it does the execution in the same order in which they were given .
+turkey 's geographical area is due to rotation of earth which has been shaped as a line before thousands of years & presently it is facing major earth quakes different
+demographic specification .
+some bedbugs are search there his presents we can not feel they are called benign bedbugs .
+and these binary codes which are used for programming are called assembly language
+osama al-kini and sheikh ahmed salim swedan had lost their lives in an american drone strike .
+intelligence organizations of pakistan captured seven terrorists who were involved in july 7 london bomb explosions from peshawar
+feburary 10
+february 15 - pakistan taliban declare stop war in swat area for 10 days
+march 11 - 17 year student of german school killed 15 students by firing
+long march was done for restoration of judiciary on 16 march .
+on the 2nd of april , the g20 nations held a conference on the economic downturn in which in order to tackle the economic downturn 1 .
+80 people were killed in a suicide attack in the city of baghdad , iraq on 23rd april .
+28th april - pakistan army killed about 50 terrorists during attack on buner valley .
+1st may-pakistan army announced the killing of 60 terrorists .
+30th of may - pakistan army have taken clear sawat and mingora from terrorists .
+june 21 , greenland got freedom from denmark
+23rd june - 180 people were killed in makeen in an american drone attack . this attack was done to kill baitullah masood , but he survived this attack .
+15th of july , a passenger airplane crashed in iran , in which 168 passengers died .
+4 august - north koran president , kim jong il after meeting former american president , bill clinton , frees two american journalists who were captured when they entered north korea unlawfully and were given a 12 year prison sentence
+14 august - pakistan 's first international train from islamabad to istanbul starts
+60 persons killed in an earth quake recorder 1 on the richter scale .
+20 october - europes expert astrologists have discovered 32 new planets in the solar system
+13 november - nasa disclosed presence on the moon .
+it was agreed in this that attack on french capitol paris would be along with northern coast and it would be similar to an expanded arms reaper attack .
+even the english general haig could not fight against the german generals
+16 december - europes expert astrologists have proclaimed the presence of water on a planet 40 light years away from the earth
+lord alan bouy is among english
+category : gregorian almanac
+english conquered turkey & decided to divide it .
+its length is approximately fifteen hundred miles .
+you were born in agra in december 1797
+in 1919 hitler become the member of german workers party , who called national socialist german workers party -lrb- nazi -rrb- in 1920 .
+a poetic review of aain e akbari

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/thrax/extraction/input/train.ps
----------------------------------------------------------------------
diff --git a/src/test/resources/thrax/extraction/input/train.ps b/src/test/resources/thrax/extraction/input/train.ps
new file mode 100644
index 0000000..da65a80
--- /dev/null
+++ b/src/test/resources/thrax/extraction/input/train.ps
@@ -0,0 +1,100 @@
+\u0627\u06af\u0631\u0686\u06d2 \u0642\u064f\u0628\u0644\u0627\u0626\u0649 \u062e\u0627\u0646 \u067e\u06c1\u0644\u06cc \u06cc\u0644\u063a\u0627\u0631 \u06a9\u06cc \u0646\u0627\u06a9\u0627\u0645\u06cc \u067e\u0631 \u062a\u06be\u06a9 \u06af\u06cc\u0627 \u062a\u06be\u0627 \u0644\u06cc\u06a9\u0646 \u0645\u0646\u06af\u0648\u0644\u0648\u06ba \u0646\u06d2 \u0627\u067e\u0646\u06d2 \u0645\u0634\u0646 \u0633\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u06c1\u0679\u0646\u06d2 \u06a9\u0627 \u0627\u0628\u06be\u06cc \u067e\u0648\u0631\u06cc \u0637\u0631\u062d \u0641\u06cc\u0635\u0644\u06c1 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062a\u06be\u0627 \u0627\u0648\u0631 \u0633\u0646\u06c1 1281 \u06a9\u06d2 \u0645\u0648\u0633\u0645 \u0628\u06c1\u0627\u0631 \u0645\u06cc\u06ba \u0686\u06cc\u0646\u06cc \u0628\u062d\u0631\u06cc \u0628\u06cc\u0691\u06d2 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062d\u0645\u0644\u06c1 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u062c\u0633 \u0645\u06cc\u06ba \u06a9\u0648\u0631\u06cc\u0627\u0626\u0649 \u0628\u06cc\u0691\u0627 \u0628\u06be\u06cc \u0634\u0627\u0645\u0644 \u062a\u06be\u0627 \u06d4
+\u0627\u0633 \u0648\u0642\u062a \u0645\u0639\u0627\u0634\u06cc\u0627\u062a \u06a9\u0648 \u0645\u0639\u06cc\u0634\u062a\u0650 \u0633\u06cc\u0627\u0633\u06cc -lrb- political economy -rrb- \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u062a\u06be\u0627 \u06d4
+\u062a\u0627\u06c1\u0645 \u067e\u0627\u0631\u0679\u06cc\u0648\u06ba \u06a9\u06d2 \u062d\u062c\u0645 \u0627\u0648\u0631 \u0627\u0646 \u06a9\u06d2 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0645\u06cc\u06ba \u0644\u0686\u06a9 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u062f\u0648\u0646\u0648\u06ba \u067e\u0627\u0631\u0679\u06cc\u0648\u06ba \u06a9\u06d2 \u0627\u0631\u0627\u06a9\u06cc\u0646 \u06a9\u06cc \u0631\u0627\u0626\u06d2 \u0628\u06c1\u062a \u0645\u0631\u062a\u0628\u06c1 \u067e\u0627\u0631\u0679\u06cc \u0633\u06d2 \u0645\u062e\u062a\u0644\u0641 \u0628\u06be\u06cc \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0622\u067e \u0645\u062d\u0636 \u067e\u0627\u0631\u0679\u06cc \u06a9\u06d2 \u0646\u0627\u0645 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u0627\u0633 \u06a9\u06d2 \u0631\u0627\u0626\u06d2 \u06a9\u0627 \u0627\u0646\u062f\u0627\u0632\u06c1 \u0646\u06c1\u06cc\u06ba \u0644\u06af\u0627 \u0633\u06a9\u062a\u06d2 \u06d4
+\u0686\u06cc\u0646 \u06a9\u06cc \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u06a9\u06cc \u062a\u0627\u0631\u06cc\u062e \u06a9\u0648\u0626\u06cc \u0686\u06be \u06c1\u0632\u0627\u0631 \u0633\u0627\u0644 \u0642\u0628\u0644 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u062a\u06cc \u06c1\u06d2 \u06d4
+\u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0627\u0635\u0637\u0644\u0627\u062d \u0686\u06cc\u0646\u06cc \u062a\u0627\u0631\u06cc\u062e \u0645\u06cc\u06ba \u0628\u0627\u0642\u0627\u0639\u062f\u06af\u06cc \u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0626\u06cc \u0627\u0648\u0631 \u0645\u062e\u062a\u0644\u0641 \u0627\u0648\u0642\u0627\u062a \u0645\u06cc\u06ba \u0627\u0633 \u06a9\u0648 \u0645\u062e\u062a\u0644\u0641 \u0633\u0645\u0627\u062c\u06cc \u0627\u0648\u0631 \u0633\u06cc\u0627\u0633\u06cc \u0645\u0637\u0627\u0644\u0628 \u062f\u06d2 \u06af\u0626\u06d2 \u06d4
+\u0686\u0646\u0627\u0646\u0686\u06c1 \u0627\u06c1\u0644 \u0645\u062f\u06cc\u0646\u06c1 \u0646\u06d2 \u0628\u06be\u06cc \u062c\u0644\u062f \u0622\u067e \u06a9\u0648 \u062e\u0644\u06cc\u0641\u06c1 \u062a\u0633\u0644\u06cc\u0645 \u06a9\u0631 \u0644\u06cc\u0627 \u0627\u0648\u0631 \u0622\u067e \u06a9\u06cc \u0628\u06cc\u0639\u062a \u06a9\u0631 \u0644\u06cc \u06d4
+\u0686\u0648\u0646\u06af \u06af\u064e\u0648\u0627 \u0646\u06d2 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u062d\u0631\u06a9\u062a \u06a9\u0631\u06a9\u06d2 \u0645\u0632\u06cc\u062f \u062c\u0646\u0648\u0628\u06cc \u0639\u0644\u0627\u0642\u0648\u06ba \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0633\u0627\u062a\u06be \u0645\u0644\u0627 \u0644\u06cc\u0627 \u062c\u0633 \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u06cc\u06c1 \u0633\u0627\u0631\u0627 \u0639\u0644\u0627\u0642\u06c1 \u0627\u06cc\u06a9 \u0633\u06cc\u0627\u0633\u06cc \u0627\u06a9\u0627\u0626\u06cc / \u0648\u062d\u062f\u062a \u0628\u0646 \u06af\u06cc\u0627 \u062c\u0648 \u062f\u0631\u06cc\u0627\u0626\u06d2 \u06cc\u0646\u06af\u062a\u0632 \u0627\u0648\u0631 \u062f\u0631\u06cc\u0627\u0626\u06d2 \u067e\u0631\u0644 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u062a\u06be\u0627 \u06d4
+\u0639\u0628\u0627\u0633\u06cc \u062a\u062d\u0631\u06cc\u06a9
+\u0627\u0633 \u0648\u0627\u0642\u0639\u06c1 \u06a9\u06cc \u062e\u0628\u0631 \u0627\u0644\u0644\u06c1 \u0646\u06d2 \u062d\u0636\u0648\u0631 \u06a9\u0648 \u06a9\u0631 \u062f\u06cc \u062a\u06be\u06cc \u06d4
+\u0644\u0641\u0638 \u0686\u06cc\u0646 \u06cc\u0627 \u0686\u0627\u0626\u0646\u0627 \u06a9\u0648 \u0627\u0646 \u0645\u0639\u0646\u0648\u06ba \u0645\u06cc\u06ba \u0628\u06be\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0633\u06a9\u062a\u0627 \u06c1\u06d2 :
+\u0627\u0633\u06d2 \u0628\u0639\u062f \u0627\u0632\u0627\u06ba \u062c\u0631\u06a9\u0646\u0632 \u0646\u0627\u0645\u06cc \u0627\u06cc\u06a9 \u0627\u0648\u0631 \u06af\u0631\u0648\u06c1 \u0646\u06d2 \u0634\u0645\u0627\u0644 \u0645\u0634\u0631\u0642 \u0633\u06d2 \u0627\u0648\u0631 \u0645\u0646\u06af\u0648\u0644\u0648\u06ba \u0646\u06d2 \u0634\u0645\u0627\u0644 \u0633\u06d2 \u06c1\u0679\u0627 \u06a9\u0631 \u062e\u0648\u062f \u0628\u0627\u062f\u0634\u0627\u06c1\u062a \u0633\u0646\u0628\u06be\u0627\u0644 \u0644\u06cc \u06d4
+\u0633\u06cc\u0646\u0627\u0626 \u0633\u06d2 \u0628\u0638\u0627\u06c1\u0631 \u06cc\u06c1\u06cc \u0644\u06af\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0644\u0641\u0638 \u0627\u067e\u0646\u06d2 \u067e\u06cc\u0634\u0631\u0648 \u0644\u0641\u0638 \u0633\u06cc\u0646\u0648 \u0627\u0648\u0631 \u0633\u06cc\u0646 \u0633\u06d2 \u0646\u06a9\u0644\u0627 \u06c1\u0648\u06af\u0627 \u062c\u0648 \u0631\u0648\u0627\u0626\u06cc\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0686\u06cc\u0646 \u06a9\u06d2 \u0628\u0627\u0634\u0646\u062f\u0648\u06ba \u0627\u0648\u0631 \u0686\u06cc\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u062a\u0627 \u062a\u06be\u0627 \u06d4
+\u0698\u06c1\u0648\u06a9\u0648\u0688\u06cc\u0627\u0646 \u0646\u0627\u0645\u06cc \u0627\u06cc\u06a9 \u063a\u0627\u0631 \u060c \u062c\u0648 \u0628\u06cc\u062c\u0646\u06af \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u0648\u0627\u0642\u0639 \u06c1\u06d2 \u060c \u0645\u06cc\u06ba \u0641\u0627\u0633\u0644 \u06cc\u0639\u0646\u06cc \u0645\u062a\u062d\u062c\u0631 \u0634\u06c1\u0627\u062f\u062a\u06cc\u06ba \u0645\u0644\u06cc \u06c1\u06cc\u06ba \u062c\u0648 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0633\u0627\u0626\u0646\u0633\u06cc \u062a\u06a9\u0646\u06cc\u06a9\u0648\u06ba \u06a9\u06cc \u0645\u062f\u062f \u0633\u06d2 \u067e\u062a\u06c1 \u0686\u0644\u0627 \u06c1\u06d2 \u06a9\u06c1 \u062a\u06cc\u0646 \u0644\u0627\u06a9\u06be \u0633\u06d2 \u0633\u0627\u0691\u06be\u06d2 \u067e\u0627\u0646\u0686 \u0644\u0627\u06a9\u06be \u0633\u0627\u0644 \u067e\u06c1\u0644\u06d2 \u062a\u06a9 \u067e\u0631\u0627\u0646\u06cc \u06c1\u06cc\u06ba \u06d4
+\u0686\u06cc\u0646\u06cc \u0630\u0631\u0627\u0626\u0639 \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u060c \u067e\u06c1\u0644\u06cc \u0628\u0627\u062f\u0634\u0627\u06c1\u062a \u06a9\u0627 \u0622\u063a\u0627\u0632 \u0698\u06cc\u0627 \u0628\u0627\u062f\u0634\u0627\u06c1\u062a \u0633\u06d2 \u06c1\u0648\u0627 \u06d4
+\u06c1\u0646 \u0628\u0627\u062f\u0634\u0627\u06c1\u062a 206 \u0642\u0628\u0644 \u0645\u0633\u06cc\u062d \u0633\u06d2 \u0644\u06d2 \u06a9\u0631 220 \u0639\u06cc\u0633\u0648\u06cc \u062a\u06a9 \u0631\u06c1\u06cc \u06d4
+\u0627\u0679\u06be\u0627\u0631\u06c1\u0648\u06cc\u06ba \u0635\u062f\u06cc \u0645\u06cc\u06ba \u0686\u06cc\u0646 \u06a9\u0648 \u0645\u0631\u06a9\u0632\u06cc \u0627\u06cc\u0634\u06cc\u0627 \u06a9\u06cc \u0627\u0646 \u0627\u0642\u0648\u0627\u0645 \u067e\u0631 \u0648\u0627\u0636\u062d \u0679\u06cc\u06a9\u0646\u0627\u0644\u0648\u062c\u06cc\u06cc\u06a9\u0644 \u0628\u0631\u062a\u0631\u06cc \u062d\u0627\u0633\u0644 \u06c1\u0648 \u0686\u06a9\u06cc \u062a\u06be\u06cc \u062c\u0646 \u0633\u06d2 \u0686\u06cc\u0646 \u06a9\u0626\u06cc \u0635\u062f\u06cc\u0648\u06ba \u0633\u06d2 \u062c\u0646\u06af\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u0686\u0644\u0627 \u0622\u0631\u06c1\u0627 \u062a\u06be\u0627 \u06d4
+\u0628\u0639\u0636 \u0627\u0646\u062f\u0627\u0632\u0648\u06ba \u0645\u06cc\u06ba \u062a\u06cc\u0646 \u06a9\u0631\u0648\u0691 \u0627\u0641\u0631\u0627\u062f \u0627\u0633 \u062c\u0646\u06af \u0645\u06cc\u06ba \u0644\u0642\u0645\u06c1 \u0627\u062c\u0644 \u0628\u0646\u06d2 \u06d4
+\u06cc\u0648\u0622\u0646 \u0634\u06cc\u06a9\u0627\u0626\u06cc \u06a9\u06cc \u0645\u0648\u062a \u06a9\u06d2 \u0628\u0639\u062f \u0633\u06cc\u0627\u0633\u06cc \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0686\u06cc\u0646 \u0645\u0646\u0642\u0633\u0645 \u06be\u0648 \u0686\u06a9\u0627 \u062a\u06be\u0627 \u06d4
+\u0639\u0648\u0627\u0645\u06cc \u062c\u0645\u06c1\u0648\u0631\u06cc\u06c1 \u0686\u06cc\u0646 \u0627\u0648\u0631 \u062c\u0645\u06c1\u0648\u0631\u06cc \u0686\u06cc\u0646
+\u0645\u062b\u0627\u0644\u0648\u06ba \u0645\u06cc\u06ba \u062f\u06be\u0634\u062a \u06af\u0631\u062f\u06cc \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u062c\u0646\u06af \u060c \u0633\u06cc\u0627\u0633\u06cc \u0645\u062e\u0627\u0644\u0641\u06cc\u0646 \u0627\u0648\u0631 \u0635\u062d\u0627\u0641\u06cc\u0648\u06ba \u06a9\u0648 \u062c\u06cc\u0644 \u0628\u06be\u06cc\u062c\u0646\u0627 \u060c \u067e\u0631\u06cc\u0633 \u067e\u0631 \u06a9\u0646\u0679\u0631\u0648\u0644 \u060c \u0645\u0630\u0627\u06c1\u0628 \u06a9\u06cc \u0627\u0635\u0644\u0627\u062d \u0627\u0648\u0631 \u0622\u0632\u0627\u062f\u06cc \u06a9\u06cc \u062d\u0627\u0645\u06cc \u062a\u062d\u0627\u0631\u06cc\u06a9 \u06a9\u0648 \u06a9\u0686\u0644\u0646\u0627 \u0634\u0627\u0645\u0644 \u06be\u06d2 \u06d4
+\u0627\u0628 \u062c\u0645\u06c1\u0648\u0631\u06cc \u0686\u06cc\u0646 \u06a9\u0627 \u062f\u0639\u0648\u0670\u06cc \u0645\u06cc\u0646 \u0644\u06cc\u0646\u0688 \u06a9\u06cc \u0631\u06cc\u0627\u0633\u062a\u0648\u06ba \u060c \u062a\u0628\u062a \u06cc\u0627 \u0645\u0646\u06af\u0648\u0644\u06cc\u0627 \u0633\u06d2 \u062e\u062a\u0645 \u06be\u0648 \u06af\u06cc\u0627 \u06be\u06d2 \u0627\u0648\u0631 \u0627\u0628 \u0639\u0648\u0627\u0645\u06cc \u062c\u0645\u06c1\u0648\u0631\u06cc \u0686\u06cc\u0646 \u06cc\u06c1 \u062f\u0639\u0648\u0670\u06cc \u0645\u062d\u0641\u0648\u0638 \u0631\u06a9\u06be\u062a\u06cc \u06be\u06d2 \u06d4
+\u0645\u0627\u0646\u0686\u0648 \u06a9\u06cc \u0628\u0646\u0627\u0626\u06cc \u06c1\u0648\u0626\u06cc \u0642\u0646\u06af \u0628\u0627\u062f\u0634\u0627\u06c1\u062a \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0628\u0639\u062f \u0622\u0646\u06d2 \u0648\u0627\u0644\u0648\u06ba \u06cc\u0639\u0646\u06cc \u0639\u0648\u0627\u0645\u06cc \u062c\u0645\u06c1\u0648\u0631\u06cc\u06c1 \u0686\u06cc\u0646 \u0627\u0648\u0631 \u062c\u0645\u06c1\u0648\u0631\u06cc\u06c1 \u0686\u06cc\u0646 \u0646\u06d2 \u0627\u0646 \u0631\u06cc\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0633\u0627\u062a\u06be \u0645\u0644\u0627 \u0644\u06cc\u0627 \u06d4
+\u0646\u062a\u06cc\u062c\u062a\u0627 \u0628\u0691\u06d2 \u062f\u0631\u06cc\u0627 \u0628\u0634\u0645\u0648\u0644 \u06cc\u0646\u06af\u062a\u0632 \u062f\u0631\u06cc\u0627 \u06a9\u06d2\u062c\u0648 \u06a9\u06c1 \u0645\u0631\u06a9\u0632\u06cc \u062f\u0631\u06cc\u0627 \u06c1\u06d2 \u060c \u06c1\u0648\u0627\u0646\u06af \u06c1\u06cc \u0627\u0648\u0631 \u0622\u0645\u0648\u0631 \u062f\u0631\u06cc\u0627 \u0645\u063a\u0631\u0628 \u0633\u06d2 \u0645\u0634\u0631\u0642 \u06a9\u06cc \u0637\u0631\u0641 \u0628\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u06d4
+\u0645\u063a\u0631\u0628 \u06a9\u06cc \u0637\u0631\u0641 \u0686\u06cc\u0646 \u06a9\u06d2 \u0632\u0631\u062e\u06cc\u0632 \u0645\u06cc\u062f\u0627\u0646 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u062c\u0646\u0648\u0628 \u0645\u06cc\u06ba \u0686\u0648\u0646\u06d2 \u06a9\u06d2 \u067e\u062a\u06be\u0631 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u0627\u0648\u0646\u0686\u06d2 \u0632\u0631\u062e\u06cc\u0632 \u0645\u06cc\u062f\u0627\u0646 \u0645\u0648\u062c\u0648\u062f \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u06c1\u0645\u0627\u0644\u06cc\u0627 \u0628\u06be\u06cc \u0627\u0633\u06cc \u0637\u0631\u0641 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u062f\u0646\u06cc\u0627 \u06a9\u06cc \u0633\u0628 \u0633\u06d2 \u0628\u0644\u0646\u062f \u0686\u0648\u0679\u06cc \u0645\u0627\u0624\u0646\u0679 \u0627\u06cc\u0648\u0631\u0633\u0679 \u06c1\u06d2 \u06d4
+\u06cc\u06c1 \u0622\u0646\u062f\u06be\u06cc\u0627\u06ba \u0646\u06c1 \u0635\u0631\u0641 \u062c\u0646\u0648\u0628\u06cc \u0686\u06cc\u0646 \u0627\u0648\u0631 \u062a\u0627\u0626\u06cc\u0648\u0627\u0646 \u062a\u06a9 \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u0628\u0644\u06a9\u06c1 \u0627\u0645\u0631\u06cc\u06a9\u06c1 \u06a9\u06d2 \u0645\u063a\u0631\u0628\u06cc \u0633\u0627\u062d\u0644 \u062a\u06a9 \u067e\u06c1\u0646\u0686 \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u06d4
+\u0627\u0645\u0627\u0645 \u062d\u0633\u06cc\u0646 \u06a9\u0627 \u06cc\u06c1 \u0627\u06cc\u062b\u0627\u0631 \u0627\u0648\u0631 \u0642\u0631\u0628\u0627\u0646\u06cc \u062a\u0627\u0631\u06cc\u062e \u0627\u0633\u0644\u0627\u0645 \u06a9\u0627 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u062f\u0631\u062e\u0634\u0646\u062f\u06c1 \u0628\u0627\u0628 \u06c1\u06d2 \u062c\u0648 \u0631\u06c1\u0631\u0648\u0627\u0646 \u0645\u0646\u0632\u0644 \u0634\u0648\u0642 \u0648 \u0645\u062d\u0628\u062a \u0627\u0648\u0631 \u062d\u0631\u06cc\u062a \u067e\u0633\u0646\u062f\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0627\u0639\u0644\u06cc\u0670 \u062a\u0631\u06cc\u0646 \u0646\u0645\u0648\u0646\u06c1 \u06c1\u06d2 \u06d4
+\u0627\u0633\u06cc \u062f\u0648\u0631\u0627\u0646 \u06c1\u0646 \u06af\u0631\u0648\u06c1 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0645\u0648\u062c\u0648\u062f \u0628\u06c1\u062a \u0633\u06d2 \u0686\u06be\u0648\u0679\u06d2 \u06af\u0631\u0648\u06c1\u0648\u06ba \u0646\u06d2 \u0627\u067e\u0646\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u0648 \u0627\u0644\u06af \u0633\u06d2 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0627 \u06c1\u0648\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0646 \u06a9\u06cc \u0627\u067e\u0646\u06cc \u0644\u0633\u0627\u0646\u06cc \u0627\u0648\u0631 \u062b\u0642\u0627\u0641\u062a\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06c1\u06cc\u06ba \u0644\u06cc\u06a9\u0646 \u0648\u06c1 \u0627\u0628\u06be\u06cc \u0628\u06be\u06cc \u0627\u067e\u0646\u06d2 \u0622\u067e \u06a9\u0648 \u06c1\u0646 \u06af\u0631\u0648\u06c1 \u06a9\u06d2 \u0646\u0627\u0645 \u0633\u06d2 \u06c1\u06cc \u0645\u062a\u0639\u0627\u0631\u0641 \u06a9\u0631\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u06d4
+\u062d\u0648\u0627\u0644\u06c1 \u062c\u0627\u062a
+\u06cc\u06c1\u06cc \u0632\u0628\u0627\u0646 \u0645\u06cc\u0688\u06cc\u0627 \u060c \u0633\u0631\u06a9\u0627\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u0648\u0631 \u062d\u06a9\u0648\u0645\u062a \u0628\u06be\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06d4
+\u0645\u0635\u0631 \u06a9\u06cc \u0633\u0631\u062d\u062f\u0648\u06ba \u06a9\u0648 \u062f\u06cc\u06a9\u06be\u0627 \u062c\u0627\u0626\u06d2 \u062a\u0648 \u0645\u063a\u0631\u0628 \u0645\u06cc\u06ba \u0644\u06cc\u0628\u06cc\u0627 \u060c \u062c\u0646\u0648\u0628 \u0645\u06cc\u06ba \u0633\u0648\u0688\u0627\u0646 \u060c \u0645\u0634\u0631\u0642 \u0645\u06cc\u06ba \u0628\u062d\u06cc\u0631\u06c1 \u0627\u062d\u0645\u0631 \u060c \u0634\u0645\u0627\u0644 \u0645\u0634\u0631\u0642 \u0645\u06cc\u06ba \u0641\u0644\u0633\u0637\u06cc\u0646 \u0634\u0645\u0627\u0644 \u0645\u06cc\u06ba \u0628\u062d\u06cc\u0631\u06c1 \u0631\u0648\u0645 \u06c1\u06cc\u06ba \u06d4
+\u0639\u0648\u0627\u0645\u06cc \u062c\u0645\u06c1\u0648\u0631\u06cc\u06c1 \u0686\u06cc\u0646 \u06a9\u06cc \u0627\u06cc\u06a9 \u062a\u06c1\u0627\u0626\u06cc \u06cc\u0639\u0646\u06cc \u062a\u06cc\u062a\u0646\u0633 \u0641\u06cc\u0635\u062f \u0622\u0628\u0627\u062f\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0639\u062a\u0642\u0627\u062f\u0627\u062a \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u062c\u0633\u06d2 \u0631\u0648\u0627\u06cc\u062a\u06cc \u060c \u067e\u0631\u0627\u0646\u06d2 \u0686\u06cc\u0646\u06cc \u0627\u0639\u062a\u0642\u0627\u062f\u0627\u062a \u06cc\u0627 \u0645\u062d\u0636 \u062f\u06cc\u06af\u0631 \u0627\u0639\u062a\u0642\u0627\u062f\u0627\u062a \u06a9\u0627 \u0646\u0627\u0645 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06d4
+\u0622\u0628\u0627\u0624 \u0627\u062c\u062f\u0627\u062f \u06a9\u06cc \u067e\u0631\u0633\u062a\u0634
+\u062a\u0631\u06a9\u06cc -lrb- \u0633\u0631\u06a9\u0627\u0631\u06cc \u0646\u0627\u0645 : t�rkiye cumhuriyeti \u06cc\u0639\u0646\u06cc \u062a\u0631\u06a9\u06cc\u06c1 \u062c\u0645\u06c1\u0648\u0631\u06cc\u062a\u06cc -rrb- \u062c\u0646\u0648\u0628 \u0645\u063a\u0631\u0628\u06cc \u0627\u06cc\u0634\u06cc\u0627 \u0645\u06cc\u06ba \u062c\u0632\u06cc\u0631\u06c1 \u0646\u0645\u0627 \u0627\u0646\u0627\u0637\u0648\u0644\u06cc\u06c1 \u0627\u0648\u0631 \u062c\u0646\u0648\u0628\u06cc \u0645\u0634\u0631\u0642\u06cc \u06cc\u0648\u0631\u067e \u06a9\u06d2 \u0639\u0644\u0627\u0642\u06c1 \u0628\u0644\u0642\u0627\u0646 \u062a\u06a9 \u067e\u06be\u06cc\u0644\u0627 \u06c1\u0648\u0627 \u06c1\u06d2 \u06d4
+\u0628\u062f\u06be \u0645\u062a \u06a9\u06cc \u062f\u0648\u0633\u0631\u06cc \u0634\u06a9\u0644\u06cc\u06ba \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u062a\u06be\u06cc\u0631\u0627 \u0648\u06cc\u0688\u0627 \u0628\u062f\u06be \u0645\u062a \u0627\u0648\u0631 \u062a\u0628\u062a\u06cc\u0646 \u0628\u062f\u06be \u0645\u062a \u06a9\u0648 \u0628\u06be\u06cc \u0627\u0642\u0644\u06cc\u062a\u06cc\u06ba \u0628\u0691\u06d2 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0645\u0627\u0646\u062a\u06cc \u06c1\u06cc\u06ba \u06d4
+\u0686\u062a\u0644 \u062e\u06cc\u0648\u06a9 \u060c \u0686\u0627\u06cc\u0648\u0646\u0648 \u060c \u0646\u06cc\u0648\u0627\u0644\u06cc \u062c\u0648\u0631\u06cc \u060c \u062e\u0627\u062c\u06cc \u0644\u0631 \u060c \u06af\u0648\u0628\u06a9\u0644\u06cc \u062a\u067e\u06c1 \u0627\u0648\u0631 \u0645\u0631\u0633\u06cc\u0646 \u06a9\u06d2 \u0639\u0644\u0627\u0642\u06d2 \u0627\u0646\u0633\u0627\u0646 \u06a9\u06cc \u0627\u0648\u0644\u06cc\u0646 \u0622\u0628\u0627\u062f\u06cc\u0648\u06ba \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06cc\u06ba \u06d4
+\u0686\u06cc\u0646 \u0645\u06cc\u06ba \u062f\u0648\u0631 \u0628\u0627\u062f\u0634\u0627\u06c1\u062a \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u06a9\u0646\u0641\u06cc\u0648\u0634\u0632\u0645 \u06a9\u06d2 \u0641\u0644\u0633\u0641\u06c1 \u06a9\u0648 \u06a9\u0648 \u0633\u0631\u06a9\u0627\u0631\u06cc \u0633\u0631\u067e\u0631\u0633\u062a\u06cc \u062d\u0627\u0635\u0644 \u0631\u06c1\u06cc \u062a\u06be\u06cc \u0627\u0648\u0631 \u0627\u0633 \u067e\u0631 \u0639\u0628\u0648\u0631 \u062d\u0627\u0635\u0644 \u06a9\u0626\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u0648\u0626\u06cc \u0628\u0646\u062f\u06c1 \u0634\u0627\u06c1\u06cc \u0645\u0644\u0627\u0632\u0645\u062a \u062d\u0627\u0635\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u0633\u06a9\u062a\u0627 \u062a\u06be\u0627 \u06d4
+\u0627\u062f\u0631\u0646\u06c1 \u06a9\u06cc \u0639\u0638\u06cc\u0645 \u062c\u0627\u0645\u0639 \u0633\u0644\u06cc\u0645\u06cc\u06c1 \u0645\u0633\u062c\u062f \u060c \u0639\u062b\u0645\u0627\u0646\u06cc \u062f\u0648\u0631 \u06a9\u06cc \u0627\u06cc\u06a9 \u062e\u0648\u0628\u0635\u0648\u0631\u062a \u06cc\u0627\u062f\u06af\u0627\u0631
+\u0639\u0648\u0627\u0645\u06cc \u062c\u0645\u06c1\u0648\u0631\u06cc\u06c1 \u0686\u06cc\u0646 \u06a9\u06d2 \u067e\u06c1\u0644\u06d2 \u0631\u06c1\u0646\u0645\u0627 \u067e\u0631\u0627\u0646\u06d2 \u0645\u0639\u0627\u0634\u0631\u06d2 \u0645\u06cc\u06ba \u067e\u06cc\u062f\u0627 \u06c1\u0648\u0626\u06d2 \u062a\u06be\u06d2 \u0627\u0648\u0631 \u0627\u0646 \u067e\u0631 \u0686\u0627\u0631 \u0645\u0626\u06cc \u06a9\u06cc \u062a\u062d\u0631\u06cc\u06a9 \u0627\u0648\u0631 \u0627\u0635\u0644\u0627\u062d\u06cc \u0631\u06c1\u0646\u0645\u0627\u0624\u06ba \u06a9\u0627 \u0627\u062b\u0631 \u062a\u06be\u0627 \u06d4
+\u0645\u0635\u0637\u0641\u06cc \u06a9\u0645\u0627\u0644 \u0627\u062a\u0627\u062a\u0631\u06a9
+\u06a9\u0648\u0631\u06cc\u0627\u0626\u06cc \u062a\u0646\u0627\u0632\u0639 \u0645\u06cc\u06ba \u0627\u0642\u0648\u0627\u0645 \u0645\u062a\u062d\u062f\u06c1 \u06a9\u06cc \u0627\u0641\u0648\u0627\u062c \u0645\u06cc\u06ba \u0634\u0631\u06a9\u062a \u06a9\u06d2 \u0628\u0639\u062f 1952\u0621 \u0645\u06cc\u06ba \u062a\u0631\u06a9\u06cc \u0646\u06d2 \u0634\u0645\u0627\u0644\u06cc \u0627\u0648\u0642\u06cc\u0627\u0646\u0648\u0633\u06cc \u0645\u0639\u0627\u06c1\u062f\u06d2 \u06a9\u06cc \u062a\u0646\u0638\u06cc\u0645 -lrb- \u0646\u06cc\u0679\u0648 -rrb- \u0645\u06cc\u06ba \u0634\u0645\u0648\u0644\u06cc\u062a \u0627\u062e\u062a\u06cc\u0627\u0631 \u06a9\u06cc \u06d4
+\u062e\u0637\u0627\u0637\u06cc \u06a9\u0648 \u0686\u06cc\u0646 \u0645\u06cc\u06ba \u0641\u0646 \u06a9\u06cc \u0628\u0691\u06cc \u0634\u0627\u062e \u06af\u0631\u062f\u0627\u0646\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06d4
+1982\u0621 \u0645\u06cc\u06ba \u062a\u0631\u06a9\u06cc \u0645\u06cc\u06ba \u0646\u06cc\u0627 \u0622\u0626\u06cc\u0646 \u0646\u0627\u0641\u0630 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06d4
+\u06a9\u06be\u06cc\u0644 \u0627\u0648\u0631 \u062a\u0641\u0631\u06cc\u062d
+\u0686\u06cc\u0646 \u0627\u0633 \u0648\u0642\u062a \u0627\u06cc\u0634\u06cc\u0627 \u0627\u0648\u0631 \u062f\u0646\u06cc\u0627 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0633\u067e\u0648\u0631\u0679\u0633 \u06a9\u06cc \u0637\u0627\u0642\u062a \u0645\u0627\u0646\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06d4
+\u0627\u0633 \u06a9\u06d2 \u0628\u0627\u0639\u062b \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0633\u06cc\u0627\u0633\u06cc \u0627\u06a9\u06be\u0627\u0691 \u067e\u0686\u06be\u0627\u0691 \u06a9\u0627 \u0633\u0628 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0641\u0627\u0626\u062f\u06c1 \u0628\u0644\u0646\u062f \u0627\u06cc\u062c\u0648\u062a \u06a9\u06cc \u062c\u0645\u06c1\u0648\u0631\u06cc \u0628\u0627\u0626\u06cc\u06ba \u067e\u0627\u0631\u0679\u06cc \u06a9\u0648 \u06c1\u0648\u0627 \u0627\u0648\u0631 \u0627\u0646\u06c1\u0648\u06ba \u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u0645\u0627\u062f\u0631 \u0648\u0637\u0646 \u067e\u0627\u0631\u0679\u06cc \u0627\u0648\u0631 \u0622\u06af\u06d2 \u0686\u0644 \u06a9\u06d2 \u0631\u0627\u06c1 \u062d\u0642 \u067e\u0627\u0631\u0679\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u062a\u062d\u0627\u062f\u06cc \u062d\u06a9\u0648\u0645\u062a\u06cc \u0628\u0646\u0627\u0626\u06cc \u06d4
+\u0628\u0644\u0627\u0633\u0679 \u0628\u06be\u0679\u06cc -lrb- \u0633\u0679\u06cc\u0644 \u06a9\u06d2 \u0644\u0626\u06d2 -rrb-
+\u0645\u0686\u06be\u0644\u06cc \u06a9\u06d2 \u0634\u06a9\u0627\u0631 \u06a9\u06cc \u0628\u0646\u0633\u06cc
+\u0645\u062a\u0639\u062f\u062f \u0627\u0642\u062a\u0635\u0627\u062f\u06cc \u0648 \u0639\u0645\u0644\u06cc \u0627\u0635\u0637\u0644\u0627\u062d\u0627\u062a \u0627\u0648\u0631 \u0646\u0686\u0644\u06cc \u0633\u0637\u062d \u067e\u0631 \u0627\u0642\u062a\u0635\u0627\u062f\u06cc \u0627\u0633\u062a\u062d\u06a9\u0627\u0645 \u0627\u0648\u0631 \u0645\u06cc\u0632\u0627\u0646\u06cc\u06c1 \u0633\u0627\u0632\u06cc \u0645\u06cc\u06ba \u062d\u06a9\u0648\u0645\u062a \u06a9\u0648 \u0633\u06c1\u0627\u0631\u0627 \u062f\u06cc\u0646\u06d2 \u06a9\u06d2 \u0644\u0626\u06d2 \u0627\u0646\u06c1\u0648\u06ba \u0646\u06d2 \u0645\u0626\u06cc 2001\u0621 \u062a\u06a9 \u0645\u062c\u0645\u0648\u0639\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0628\u06cc\u0646 \u0627\u0644\u0627\u0642\u0648\u0627\u0645\u06cc \u0645\u0627\u0644\u06cc\u0627\u062a\u06cc \u0641\u0646\u0688 \u0633\u06d2 10 \u0627\u0631\u0628 \u0688\u0627\u0644\u0631\u0632 \u06a9\u06d2 \u0642\u0631\u0636\u0648\u06ba \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0645 \u06a9\u06cc\u0627 \u06d4
+\u067e\u0633\u0679\u0646 \u0648\u0627\u0644\u0627 \u067e\u0645\u067e
+2002\u0621 \u0627\u0648\u0631 2007\u0621 \u06a9\u06d2 \u0627\u0646\u062a\u062e\u0627\u0628\u0627\u062a \u0645\u06cc\u06ba \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0639\u062f\u0627\u0644\u062a \u0648 \u062a\u0631\u0642\u06cc \u067e\u0627\u0631\u0679\u06cc \u0646\u06d2 \u0622\u062e\u0631\u06cc \u0627\u0646\u062a\u062e\u0627\u0628\u0627\u062a \u0645\u06cc\u06ba \u0633\u0627\u062f\u06c1 \u0627\u06a9\u062b\u0631\u06cc\u062a \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0644\u06cc \u06c1\u06d2 \u06d4
+\u0627\u0633 \u062f\u0648\u0631 \u0645\u06cc\u06ba \u0633\u0627\u0628\u0642 \u0648\u0632\u06cc\u0631 \u062e\u0627\u0631\u062c\u06c1 \u0639\u0628\u062f \u0627\u0644\u0644\u06c1 \u06af\u0644 \u06a9\u0648 \u0635\u062f\u0627\u0631\u062a \u06a9\u0627 \u0639\u06c1\u062f\u06c1 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u06d4
+\u0679\u0627\u0626\u0644\u0679 \u067e\u06cc\u067e\u0631
+\u0645\u0646\u0635\u0641\u0627\u0646\u06c1 \u060c \u062f\u06cc\u0631\u067e\u0627 \u0627\u0648\u0631 \u06c1\u0645\u06c1 \u06af\u06cc\u0631 \u0633\u0645\u062c\u06be\u0648\u062a\u06d2 \u06a9\u06cc \u062a\u0644\u0627\u0634 \u0645\u06cc\u06ba 1974\u0621 \u06a9\u06d2 \u0628\u0639\u062f \u0633\u06d2 \u0627\u0642\u0648\u0627\u0645 \u0645\u062a\u062d\u062f\u06c1 \u06a9\u06cc \u0632\u06cc\u0631 \u0646\u06af\u0631\u0627\u0646\u06cc \u0645\u0630\u0627\u06a9\u0631\u0627\u062a \u06a9\u06cc \u06a9\u0626\u06cc \u06a9\u0648\u0634\u0634\u06cc\u06ba \u06a9\u06cc \u062c\u0627\u0686\u06a9\u06cc \u06c1\u06cc\u06ba \u062a\u0627\u06c1\u0645 \u06cc\u06c1 \u0645\u0642\u0635\u062f \u062a\u0627\u062d\u0627\u0644 \u062d\u0627\u0635\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627\u0633\u06a9\u0627 \u06d4
+\u067e\u0627\u0633\u06a9\u0644 \u06a9\u06cc \u0645\u062b\u0644\u062b \u060c \u062c\u0633\u06d2 \u0686\u06cc\u0646 \u0645\u06cc\u06ba \u06cc\u0627\u0646\u06af \u06c1\u0648\u0626\u06cc \u06a9\u06cc \u0645\u062b\u0644\u062b \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u060c \u0686\u06cc\u0627 \u06c1\u0632\u06cc\u0646 \u060c \u06cc\u0627\u0646\u06af \u06c1\u0648\u0626\u06cc \u060c \u0632\u0627\u0624 \u0634\u06cc \u062c\u06cc \u0627\u0648\u0631 \u0644\u06cc\u0648 \u062c\u0648\u0652\u06c1\u0632\u06cc\u06c1 \u0646\u06d2 \u067e\u0627\u0633\u06a9\u0644 \u06a9\u06cc \u067e\u06cc\u062f\u0627\u0626\u0634 \u06a9\u06d2 \u067e\u0627\u0646\u0686 \u0633\u0648 \u0633\u0627\u0644 \u0642\u0628\u0644 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u06cc \u06d4
+\u0644\u06cc\u06a9\u0646 1999\u0621 \u0645\u06cc\u06ba \u062a\u0631\u06a9\u06cc \u0627\u0648\u0631 \u06cc\u0648\u0646\u0627\u0646 \u0645\u06cc\u06ba \u0622\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0632\u0644\u0632\u0644\u06d2 \u0646\u06d2 \u062f\u0648\u0646\u0648\u06ba \u0645\u0644\u06a9\u0648\u06ba \u06a9\u0648 \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u06cc \u062c\u0627\u0646\u0628 \u062f\u0648\u0633\u062a\u06cc \u06a9\u0627 \u06c1\u0627\u062a\u06be \u0628\u0691\u06be\u0627\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u0641\u0631\u0627\u06c1\u0645 \u06a9\u06cc \u06d4
+\u0627\u0633 \u06a9\u06d2 \u0644\u0626\u06d2 \u062a\u0631\u06a9\u06cc \u0646\u06d2 1987\u0621 \u0645\u06cc\u06ba \u0631\u0633\u0645\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062f\u06cc \u06d4
+\u062a\u062e\u062a\u06c2 \u0627\u0645 -lrb- \u0645\u062f\u0631\u0628\u0648\u0631\u0688 -rrb-
+\u062a\u0631\u06a9\u06cc \u0646\u06d2 \u0627\u0633\u0644\u0627\u0645 \u0622\u0628\u0627\u062f \u0686\u06cc\u0645\u0628\u0631 \u06a9\u06d2 \u0627\u06cc\u06af\u0632\u06cc\u06a9\u0679\u06cc\u0648 \u0645\u0645\u0628\u0631\u0627\u0646 \u06a9\u0648 \u067e\u0627\u0646\u0686 \u0633\u0627\u0644 \u062a\u06a9 \u06a9\u0627 \u0645\u0644\u0679\u06cc\u067e\u0644 \u0648\u06cc\u0632\u0627 \u062f\u06cc\u0646\u06d2 \u06a9\u0627 \u0628\u06be\u06cc \u0627\u0639\u0644\u0627\u0646 \u06a9\u06cc\u0627 \u062c\u0646 \u06a9\u06d2 \u067e\u0627\u0633 \u0627\u06cc\u0633\u06d2 \u0648\u06cc\u0632\u06d2 \u06a9\u06cc\u0644\u0626\u06d2 \u067e\u0627\u0633\u067e\u0648\u0631\u0679 \u0645\u0648\u062c\u0648\u062f \u06c1\u0648\u06ba \u062a\u0627 \u06a9\u06c1 \u0648\u06c1 \u062a\u0631\u06a9\u06cc \u0645\u06cc\u06ba \u062c\u0628 \u0686\u0627\u06c1\u06cc\u06ba \u0622\u0633\u0627\u0646\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062c\u0627 \u06a9\u0631 \u0648\u06c1\u0627\u06ba \u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06d2 \u0645\u0632\u06cc\u062f \u0645\u0648\u0627\u0642\u0639 \u062a\u0644\u0627\u0634 \u06a9\u0631 \u0633\u06a9\u06cc\u06ba \u06d4
+\u0622\u062c \u06a9\u06cc \u0632\u0646\u062f\u06af\u06cc \u0645\u06cc\u06ba \u0634\u0645\u0627\u0631\u0646\u062f\u06d2 \u06a9\u06cc \u062d\u06cc\u062b\u06cc\u062a \u0639\u0645\u0648\u0645\u06cc \u0645\u0642\u0627\u0635\u062f \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u06d2 \u067e\u0631\u0632\u06d2 -lrb- tool -rrb- \u06a9\u06cc \u06c1\u06d2 \u062c\u0648 \u06a9\u06c1 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u06cc\u06a9 \u062e\u0648\u0631\u062f \u0639\u0627\u0645\u0644 -lrb- microprocessor -rrb- \u067e\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06d4
+\u0648\u0632\u06cc\u0631 \u0627\u0639\u0638\u0645 \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u062c\u0644\u0633 \u0645\u06cc\u06ba \u0627\u0631\u0627\u06a9\u06cc\u0646 \u06a9\u06d2 \u0627\u0638\u06c1\u0627\u0631 \u0627\u0639\u062a\u0645\u0627\u062f \u06a9\u06cc \u0631\u0627\u0626\u06d2 -lrb- vote of confidence -rrb- \u067e\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0639\u0645\u0648\u0645\u0627\u064b \u0627\u0646\u062a\u062e\u0627\u0628\u0627\u062a \u0645\u06cc\u06ba \u062c\u06cc\u062a\u0646\u06d2 \u0648\u0627\u0644\u06cc \u062c\u0645\u0627\u0639\u062a \u06a9\u0627 \u0633\u0631\u0628\u0631\u0627\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u06d4
+\u06cc\u06c1 \u0645\u062e\u0635\u0648\u0635 \u0627\u0646\u062f\u0627\u0632 \u0648 \u062a\u0631\u062a\u06cc\u0628 \u0645\u06cc\u06ba \u0628\u06c1\u0645 \u067e\u06c1\u0646\u0686\u0627\u0626\u06cc \u06af\u0626\u06cc \u06c1\u062f\u0627\u06cc\u0627\u062a \u06cc\u0627 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0632 \u067e\u0631 \u0627\u067e\u0646\u0627 \u0631\u062f\u0639\u0645\u0644 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2
+\u0645\u0633\u0644\u062d \u0627\u0641\u0648\u0627\u062c
+\u06a9\u0644\u06cc\u062f\u06cc \u062a\u062e\u062a\u06c1 -lrb- keyboard -rrb- \u062c\u0648 \u06a9\u06c1 \u0634\u0645\u0627\u0631\u0646\u062f\u06d2 \u0645\u06cc\u06ba \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0648 \u062f\u0627\u062e\u0644 -lrb- input -rrb- \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d3 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 -lrb- \u0634\u06a9\u0644 \u0627 : 9 -rrb-
+\u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0635\u0648\u0628\u06c1 \u0627\u067e\u0646\u06d2 \u0635\u0648\u0628\u0627\u0626\u06cc \u062f\u0627\u0631\u0627\u0644\u062d\u06a9\u0648\u0645\u062a \u06a9\u06d2 \u0646\u0627\u0645 \u067e\u0631 \u06c1\u06cc \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u06d4
+\u06a9\u0633\u06cc \u0628\u06be\u06cc \u0627\u06cc\u06a9 \u0627\u062e\u062a\u0631\u0627\u0639 \u06cc\u0627 \u0688\u06cc\u0648\u0627\u0626\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06cc\u06c1 \u0646\u06c1\u06cc\u06ba \u06a9\u06c1\u0627 \u062c\u0627\u0633\u06a9\u062a\u0627 \u06a9\u06c1 \u06cc\u06c1 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u06a9\u06cc \u067e\u06c1\u0644\u06cc \u0634\u06a9\u0644 \u062a\u06be\u06cc \u06d4
+\u062a\u0631\u06a9\u06cc \u0627\u06cc\u06a9 \u0628\u06cc\u0646 \u0627\u0644\u0628\u0631 \u0627\u0639\u0638\u0645\u06cc \u0645\u0644\u06a9 \u06c1\u06d2 \u062a\u0627\u06c1\u0645 \u0627\u0633 \u06a9\u0627 \u0628\u06cc\u0634\u062a\u0631 \u062d\u0635\u06c1 \u0627\u06cc\u0634\u06cc\u0627 \u0645\u06cc\u06ba \u0648\u0627\u0642\u0639 \u06c1\u06d2 \u06d4
+\u0634\u0645\u0627\u0631\u0646\u062f\u06c1 \u0627\u0646 \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u0648 \u0634\u0645\u0627\u0631\u0646\u062f\u06cc \u06cc\u0627\u062f\u0627\u0634\u062a -lrb- memory -rrb- \u06a9\u06cc \u0645\u062f\u062f \u0633\u06d2 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u0646\u06a9\u0627 \u0627\u0633 \u06c1\u06cc \u062a\u0631\u062a\u06cc\u0628 \u0645\u06cc\u06ba \u0627\u062c\u0631\u0627\u0621 -lrb- execution -rrb- \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u062c\u0633 \u0645\u06cc\u06ba \u0627\u0646\u06a9\u0648 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u0648 \u06d4
+\u062a\u0631\u06a9\u06cc \u06a9\u0627 \u06cc\u06c1 \u0645\u062a\u0646\u0648\u0639 \u062c\u063a\u0631\u0627\u0641\u06cc\u06c1 \u062f\u0631\u0627\u0635\u0644 \u0632\u0645\u06cc\u0646 \u06a9\u06cc \u067e\u0631\u062a\u0648\u06ba \u06a9\u06cc \u062d\u0631\u06a9\u062a \u06a9\u0627 \u0646\u062a\u06cc\u062c\u06c1 \u06c1\u06d2 \u062c\u0648 \u06c1\u0632\u0627\u0631\u0648\u06ba \u0633\u0627\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0627\u0633 \u062e\u0637\u06d2 \u06a9\u0648 \u06cc\u06c1 \u0634\u06a9\u0644 \u062f\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0628 \u0628\u06be\u06cc \u06cc\u06c1\u0627\u06ba \u06a9\u0627 \u0639\u0644\u0627\u0642\u06c1 \u0632\u0644\u0632\u0644\u0648\u06ba \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u06a9\u0631\u062a\u0627 \u0631\u06c1\u062a\u0627 \u06c1\u06d2 \u06d4
+\u0622\u0628\u0627\u062f\u06cc\u0627\u062a\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a
+\u0628\u0639\u0636 \u0627\u0648\u0642\u0627\u062a \u06cc\u06c1 \u06a9\u06be\u0679\u0645\u0644 \u0627\u06cc\u0633\u06d2 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u0646\u06a9\u06cc \u0645\u0648\u062c\u0648\u062f\u06af\u06cc \u06a9\u06d2 \u0628\u0627\u0648\u062c\u0648\u062f \u0628\u0631\u0646\u0627\u0645\u062c \u06a9\u06cc \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u067e\u0631 \u06a9\u0648\u0626\u06cc \u0627\u062b\u0631 \u0646\u06c1\u06cc\u06ba \u067e\u0691\u062a\u0627 \u0627\u06cc\u0633\u06d2 \u06a9\u06be\u0679\u0645\u0644\u0648\u06ba \u06a9\u0648 \u062d\u0644\u06cc\u0645 -lrb- benign -rrb- \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06d4
+\u0627\u0648\u0631 \u0627\u0646 \u0627\u0633\u0645\u0627\u062a \u062d\u0641\u0638\u06cc \u06a9\u0648 \u062c\u0648 \u0634\u0645\u0627\u0631\u0646\u062f\u06cc \u0628\u0631\u0646\u0627\u0645\u062c \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d3 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u06d3 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u060c \u0627\u062c\u062a\u0645\u0627\u0639\u06cc \u0632\u0628\u0627\u0646 -lrb- assembly language -rrb- \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06d4
+- \u0627\u06cc\u06a9 \u0627\u0645\u0631\u06cc\u06a9\u06cc \u0688\u0631\u0648\u0646 \u062d\u0645\u0644\u06d2 \u0645\u06cc\u06ba\u0627\u0644\u0642\u0627\u0639\u062f\u06c1 \u06a9\u06d2 \u0631\u0627\u06c1\u0646\u0645\u0627 \u0627\u0633\u0627\u0645\u06c1 \u0627\u0644\u0642\u06cc\u0646\u06cc \u0627\u0648\u0631 \u0634\u06cc\u062e \u0627\u062d\u0645\u062f \u0633\u0644\u06cc\u0645 \u0633\u06cc\u062f\u0627\u0646 \u06c1\u0644\u0627\u06a9 \u06c1\u0648\u06af\u0626\u06d2 \u06d4
+- \u067e\u0627\u06a9\u0633\u062a\u0627\u0646 \u06a9\u06d2 \u062d\u0633\u0627\u0633 \u0627\u062f\u0627\u0631\u0648\u06ba \u0646\u06d2 7\u062c\u0648\u0644\u0627\u0626\u06cc \u06a9\u06d2 \u0644\u0646\u062f\u0646 \u0628\u0645 \u062f\u06be\u0645\u0627\u06a9\u0648\u06ba \u0645\u06cc\u06ba \u0645\u0644\u0648\u062b \u0633\u0627\u062a \u062f\u06c1\u0634\u062a \u06af\u0631\u062f\u0648\u06ba \u06a9\u0648 \u067e\u0634\u0627\u0648\u0631 \u0633\u06d2 \u06af\u0631\u0641\u062a\u0627\u0631 \u06a9\u06cc\u0627 \u06d4
+10\u0641\u0631\u0648\u0631\u06cc
+15\u0641\u0631\u0648\u0631\u06cc - \u067e\u0627\u06a9\u0633\u062a\u0627\u0646\u06cc \u0637\u0627\u0644\u0628\u0627\u0646 \u0646\u06d2 \u0633\u0648\u0627\u062a \u0645\u06cc\u06ba \u062c\u0627\u0631\u06cc \u062c\u0646\u06af \u0645\u06cc\u06ba \u062f\u0633 \u0631\u0648\u0632 \u06a9\u06cc\u0644\u0626\u06d2 \u062c\u0646\u06af \u0628\u0646\u062f\u06cc \u06a9\u0627 \u0627\u0639\u0644\u0627\u0646 \u06a9\u06cc\u0627 \u06d4
+11\u0645\u0627\u0631\u0686 - \u062c\u0631\u0645\u0646\u06cc \u06a9\u06d2 \u0627\u06cc\u06a9 \u0633\u06a9\u0648\u0644 \u0645\u06cc\u06ba 17\u0633\u0627\u0644\u06c1 \u0637\u0627\u0644\u0628 \u0639\u0644\u0645 \u0646\u06d2 \u0641\u0627\u0626\u0631\u0646\u06af \u06a9\u0631 \u06a9\u06d215\u0637\u0627\u0644\u0628 \u0639\u0644\u0645 \u06c1\u0644\u0627\u06a9 \u06a9\u0631 \u062f\u06cc\u06d2 \u06d4
+16\u0645\u0627\u0631\u0686 \u06a9\u0648 \u0639\u062f\u0644\u06cc\u06c1 \u0628\u062d\u0627\u0644\u06cc \u06a9\u06d2 \u0633\u0644\u0633\u0644\u06d2 \u0645\u06cc\u06ba \u0644\u0627\u0646\u06af \u0645\u0627\u0631\u0686 \u0634\u0631\u0648\u0639 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06d4
+2\u0627\u067e\u0631\u06cc\u0644 \u06a9\u0648 \u062c\u06cc \u0679\u0648\u0646\u0679\u06cc \u0645\u0645\u0627\u0644\u06a9 \u06a9\u06cc \u0639\u0627\u0644\u0645\u06cc \u0645\u0639\u0627\u0634\u06cc \u0628\u062d\u0631\u0627\u0646 \u06a9\u06d2 \u062d\u0648\u0627\u0644\u06d2 \u0633\u06d2 \u0644\u0646\u062f\u0646 \u0645\u06cc\u06ba \u06a9\u0627\u0646\u0641\u0631\u0646\u0633 \u06c1\u0648\u0626\u06cc \u062c\u0633 \u0645\u06cc\u06ba \u0639\u0627\u0644\u0645\u06cc \u0645\u0639\u0627\u0634\u06cc \u0628\u062d\u0631\u0627\u0646 \u0633\u06d2 \u0646\u0645\u0679\u0646\u06d2 \u06a9\u06cc\u0644\u0626\u06d2 1 .
+23\u0627\u067e\u0631\u06cc\u0644 \u06a9\u0648 \u0639\u0631\u0627\u0642 \u06a9\u06d2 \u0634\u06c1\u0631 \u0628\u063a\u062f\u0627\u062f \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u062e\u0648\u062f \u06a9\u0634 \u062d\u0645\u0644\u06d2 \u0645\u06cc\u06ba 80\u0627\u0641\u0631\u0627\u062f \u06c1\u0644\u0627\u06a9 \u06c1\u0648 \u06af\u0626\u06d2 \u06d4
+28\u0627\u067e\u0631\u06cc\u0644 - \u067e\u0627\u06a9\u0633\u062a\u0627\u0646\u06cc \u0641\u0648\u062c \u0646\u06d2 \u0648\u0627\u062f\u06cc \u0628\u0648\u0646\u06cc\u0631 \u067e\u0631 \u062d\u0645\u0644\u06d2 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u064650\u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u062f\u06c1\u0634\u062a \u06af\u0631\u062f\u0648\u06ba \u06a9\u0648 \u06c1\u0644\u0627\u06a9 \u06a9\u0631 \u062f\u06cc\u0627 \u06d4
+\u06cc\u06a9\u0645 \u0645\u0626\u06cc - \u067e\u0627\u06a9\u0633\u062a\u0627\u0646\u06cc \u0641\u0648\u062c \u0646\u06d2 60 \u062f\u06c1\u0634\u062a \u06af\u0631\u0648\u062f\u06ba \u06a9\u0648 \u06c1\u0644\u0627\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u0639\u0644\u0627\u0646 \u06a9\u06cc\u0627 \u06d4
+30 \u0645\u0626\u06cc - \u067e\u0627\u06a9\u0633\u062a\u0627\u0646\u06cc \u0641\u0648\u062c \u0646\u06d2 \u062f\u06c1\u0634\u062a \u06af\u0631\u062f\u0648\u06ba \u0633\u06d2 \u0645\u06cc\u0646\u06af\u0648\u0631\u06c1 \u0627\u0648\u0631 \u0633\u0648\u0627\u062a \u062e\u0627\u0644\u06cc \u06a9\u0631\u0648\u0627 \u0644\u06cc\u0627 \u06d4
+21 \u062c\u0648\u0646 - \u06af\u0631\u06cc\u0646 \u0644\u06cc\u0646\u0688 \u0646\u06d2 \u0688\u0646\u0645\u0627\u0631\u06a9 \u0633\u06d2 \u0622\u0632\u0627\u062f\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0644\u06cc \u06d4
+23 \u062c\u0648\u0646 - \u0645\u06a9\u06cc\u0646 \u0645\u06cc\u06ba \u0627\u0645\u0631\u06cc\u06a9\u06cc \u0688\u0631\u0648\u0646 \u062d\u0645\u0644\u06d2 \u0645\u06cc\u06ba80\u0627\u0641\u0631\u0627\u062f \u06c1\u0644\u0627\u06a9 \u06c1\u0648\u0626\u06d2 \u06cc\u06c1 \u062d\u0645\u0644\u06c1 \u0628\u06c1\u062a \u0627\u0644\u0644\u06c1 \u0645\u062d\u0633\u0648\u062f \u06a9\u0648 \u06c1\u0644\u0627\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u0626\u06d2 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u0645\u06af\u0631 \u0648\u06c1 \u0627\u0633 \u062d\u0645\u0644\u06d2 \u0645\u06cc\u06ba \u0628\u0686 \u06af\u06cc\u0627 \u06d4
+15 \u062c\u0648\u0644\u0627\u0626\u06cc-\u0627\u06cc\u06a9 \u0645\u0633\u0627\u0641\u0631 \u0628\u0631\u062f\u0627\u0631 \u0637\u06cc\u0627\u0631\u06c1 \u0627\u06cc\u0631\u0627\u0646 \u0645\u06cc\u06ba \u06af\u0631 \u06a9\u0631 \u062a\u0628\u0627\u06c1 \u06c1\u0648 \u06af\u06cc\u0627 \u062c\u0633 \u0645\u06cc\u06ba 168\u0645\u0633\u0627\u0641\u0631 \u06c1\u0644\u0627\u06a9 \u06c1\u0648 \u06af\u0626\u06d2 \u06d4
+4 \u0627\u06af\u0633\u062a - \u0634\u0645\u0627\u0644\u06cc \u06a9\u0648\u0631\u06cc\u0627 \u06a9\u06d2 \u0635\u062f\u0631 \u06a9\u0645 \u062c\u0627\u0646\u06af \u0627\u0644 \u0646\u06d2 \u0633\u0627\u0628\u0642 \u0627\u0645\u0631\u06cc\u06a9\u06cc \u0635\u062f\u0631 \u0628\u0644 \u06a9\u0644\u0646\u0679\u0646 \u0633\u06d2 \u0645\u0644\u0627\u0642\u0627\u062a \u06a9\u06d2 \u0628\u0639\u062f \u062f\u0648 \u0627\u0645\u0631\u06cc\u06a9\u06cc \u0635\u062d\u0627\u0641\u06cc\u0648\u06ba \u06a9\u0648 \u0645\u0639\u0627\u0641 \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0646\u06c1\u06cc\u06ba \u0634\u0645\u0627\u0644\u06cc \u06a9\u0648\u0631\u06cc\u0627 \u0645\u06cc\u06ba \u063a\u06cc\u0631 \u0642\u0627\u0646\u0648\u0646\u06cc \u062f\u0627\u062e\u0644\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u06af\u0631\u0641\u062a\u0627\u0631 \u06a9\u0631 \u0644\u06cc\u0627 \u062a\u06be\u0627 \u0627\u0648\u063112\u0633\u0627\u0644 \u0642\u06cc\u062f \u06a9\u06cc \u0633\u0632\u0627 \u0633\u0646\u0627\u0626\u06cc \u06af\u0626\u06cc \u062a\u06be\u06cc \u06d4
+14 \u0627\u06af\u0633\u062a - \u067e\u0627\u06a9\u0633\u062a\u0627\u0646 \u06a9\u06cc \u067e\u06c1\u0644\u06cc \u0628\u06cc\u0646 \u0627\u0644\u0627\u0642\u0648\u0627\u0645\u06cc \u0679\u0631\u06cc\u0646 \u0627\u0633\u0644\u0627\u0645 \u0622\u0628\u0627\u062f \u0633\u06d2 \u0627\u0633\u062a\u0646\u0628\u0648\u0644 \u06a9\u0627 \u0627\u0641\u062a\u062a\u0627\u062d \u06c1\u0648\u0627 \u06d4
+1\u0631\u06cc\u06a9\u0679\u0631 \u0633\u06a9\u06cc\u0644 \u06a9\u06d2 \u0632\u0644\u0632\u0644\u06d2 \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba60\u0627\u0641\u0631\u0627\u062f \u06c1\u0644\u0627\u06a9 \u06c1\u0648 \u06af\u0626\u06d2 \u06d4
+20 \u0627\u06a9\u062a\u0648\u0628\u0631 - \u06cc\u0648\u0631\u067e \u06a9\u06d2 \u0645\u0627\u06c1\u0631\u06cc\u0646 \u0641\u0644\u06a9\u06cc\u0627\u062a \u0646\u06d2 \u0646\u0638\u0627\u0645 \u0634\u0645\u0633\u06cc \u06a9\u06d2 \u0628\u0627\u06c1\u0631 32\u0646\u0626\u06d2 \u0633\u06cc\u0627\u0631\u0648\u06ba \u06a9\u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u06cc\u0627 \u06d4
+13 \u0646\u0648\u0645\u0628\u0631 - \u0646\u0627\u0633\u0627 \u0646\u06d2 \u0686\u0627\u0646\u062f \u067e\u0631 \u0645\u0648\u062c\u0648\u062f\u06af\u06cc \u06a9\u0627 \u0627\u0646\u06a9\u0634\u0627\u0641 \u06a9\u06cc\u0627 \u06d4
+\u0627\u0633 \u0645\u06cc\u06ba \u06cc\u06c1 \u0642\u0631\u0627\u0631 \u067e\u0627\u06cc\u0627 \u062a\u06be\u0627 \u06a9\u06c1 \u0641\u0631\u0627\u0646\u0633 \u06a9\u06d2 \u0634\u0645\u0627\u0644\u06cc \u0633\u0627\u062d\u0644 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0627\u062a\u06be \u06c1\u0648 \u06a9\u0631 \u0641\u0631\u0627\u0646\u0633 \u06a9\u06cc \u0631\u0627\u062c\u062f\u06be\u0627\u0646\u06cc \u067e\u06cc\u0631\u0633 \u067e\u0631 \u0627\u0633 \u0637\u0631\u062d \u062d\u0645\u0644\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u062c\u06cc\u0633\u06d2 \u067e\u06be\u06cc\u0644\u06d2 \u06c1\u0648\u0626\u06d2 \u06c1\u0648\u0626\u06d2 \u0628\u0627\u0632\u0648 \u06a9\u06cc \u062f\u0631\u0627\u0646\u062a\u06cc \u0648\u0627\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06d4
+\u0627\u0646\u06af\u0631\u06cc\u0632\u0648\u06ba \u06a9\u0627 \u062c\u0631\u0646\u06cc\u0644 \u06c1\u06cc\u06af \u0628\u06be\u06cc \u062c\u0631\u0645\u0646\u0648\u06ba \u06a9\u06d2 \u062c\u0631\u0646\u06cc\u0644\u0648\u06ba \u06a9\u0627 \u0645\u0642\u0627\u0628\u0644\u06c1 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u062a\u06be\u0627 \u06d4
+16 \u062f\u0633\u0645\u0628\u0631 - \u06cc\u0648\u0631\u067e \u06a9\u06d2 \u0645\u0627\u06c1\u0631\u06cc\u0646 \u0641\u0644\u06a9\u06cc\u0627\u062a \u0646\u06d2 \u0632\u0645\u06cc\u0646 \u0633\u06d2 40 \u0646\u0648\u0631\u06cc \u0633\u0627\u0644 \u06a9\u06d2 \u0641\u0627\u0635\u0644\u06d2 \u067e\u0631 \u0627\u06cc\u06a9 \u0633\u06cc\u0627\u0631\u06d2 \u067e\u0631 \u067e\u0627\u0646\u06cc \u06a9\u06cc \u0645\u0648\u062c\u0648\u062f\u06af\u06cc \u06a9\u0627 \u0627\u0646\u06a9\u0634\u0627\u0641 \u06a9\u06cc\u0627 \u06d4
+\u0627\u0646\u06af\u0631\u0632\u06cc\u0648\u06ba \u0645\u06cc\u06ba \u0644\u0627\u0631\u0688 \u0627\u06cc\u0644\u0646 \u0628\u0627\u0626\u06cc \u06c1\u06d2 \u06d4
+\u0632\u0645\u0631\u06c1 : \u06af\u0631\u06cc\u06af\u0648\u0631\u06cc\u0646 \u062a\u0642\u0648\u06cc\u0645
+\u0628\u0639\u062f \u0645\u06cc\u06ba \u0627\u0646\u06af\u0631\u06cc\u0632\u0648\u06ba \u0646\u06d2 \u062a\u0631\u06a9\u06cc \u067e\u0631 \u0628\u06be\u06cc \u0642\u0628\u0636\u06c1 \u06a9\u0631 \u0644\u06cc\u0627 \u0627\u0648\u0631 \u062a\u0631\u0642\u06cc \u06a9\u06cc \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0627 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u06cc\u0627 \u06d4
+\u0627\u0633 \u06a9\u06cc \u0644\u0645\u0628\u0627\u0626\u06cc \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u067e\u0646\u062f\u0631\u06c1 \u0633\u0648 \u0645\u06cc\u0644 \u06c1\u06d2 \u06d4
+\u0622\u067e \u062f\u0633\u0645\u0628\u0631 1797\u0621 \u0645\u06cc\u06ba \u0622\u06af\u0631\u06c1 \u0645\u06cc\u06ba \u067e\u06cc\u062f\u0627 \u06c1\u0648\u0626\u06d2 \u06d4
+1919\u0621 \u0645\u064a\u06ba \u06c1\u0679\u0644\u0631 \u062c\u0631\u0645\u0646\u06cc \u0643\u064a \u0648\u0631\u0643\u0631\u0632 \u067e\u0627\u0631\u0679\u06cc \u0643\u0627 \u0631\u0643\u0646 \u0628\u0646\u0627 \u062c\u0648 1920\u0621 \u0645\u064a\u06ba \u0646\u064a\u0634\u0646\u0644 \u0633\u0648\u0634\u0644\u0633\u0679 \u062c\u0631\u0645\u0646 \u0648\u0631\u0643\u0631\u0632 \u067e\u0627\u0631\u0679\u06cc -lrb- \u0646\u0627\u0632\u06cc -rrb- \u0643\u06c1\u0644\u0627\u0626\u06cc \u06d4
+" " \u0622\u0626\u06cc\u0646 \u0627\u06a9\u0628\u0631\u06cc " " \u06a9\u06cc \u0645\u0646\u0638\u0648\u0645 \u062a\u0642\u0631\u06cc\u0638

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/thrax/extraction/test.sh
----------------------------------------------------------------------
diff --git a/src/test/resources/thrax/extraction/test.sh b/src/test/resources/thrax/extraction/test.sh
new file mode 100644
index 0000000..ea9e410
--- /dev/null
+++ b/src/test/resources/thrax/extraction/test.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Tests that Hadoop works, in standalone mode.
+
+set -u
+
+if [[ -z $HADOOP ]]; then
+  exit 0
+fi
+
+$JOSHUA/scripts/training/run_thrax.py -f input/thrax.conf input/train.{ps,en,a} 2> thrax.log
+
+size=$(perl -e "print +(stat('grammar.gz'))[7] . $/")
+
+if [[ $size -eq 106851 ]]; then
+  rm -rf thrax.log grammar.gz
+  exit 0
+else
+  exit 1
+fi

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/ef91969a/src/test/resources/thrax/filtering/dev.hi-en.hi.1
----------------------------------------------------------------------
diff --git a/src/test/resources/thrax/filtering/dev.hi-en.hi.1 b/src/test/resources/thrax/filtering/dev.hi-en.hi.1
new file mode 100644
index 0000000..c36916f
--- /dev/null
+++ b/src/test/resources/thrax/filtering/dev.hi-en.hi.1
@@ -0,0 +1 @@
+\u0910\u0938\u093e \u092e\u093e\u0928\u093e \u091c\u093e\u0924\u093e \u0939\u0948 \u0915\u093f \u0906\u091c \u0915\u0940 \u0906\u0927\u0941\u0928\u093f\u0915 \u0926\u093f\u0932\u094d\u0932\u0940 \u092c\u0928\u0928\u0947 \u0938\u0947 \u092a\u0939\u0932\u0947 \u0926\u093f\u0932\u094d\u0932\u0940 \u0938\u093e\u0924 \u092c\u093e\u0930 \u0909\u091c\u0921\u093c\u0940 \u0914\u0930 \u0935\u093f\u092d\u093f\u0928\u094d\u0928 \u0938\u094d\u0925\u093e\u0928\u094b\u0902 \u092a\u0930 \u092c\u0938\u0940 \u091c\u093f\u0928\u0915\u0947 \u0915\u0941\u091b \u0905\u0935\u0936\u0947\u0937 \u0905\u092c \u092d\u0940 \u0926\u0947\u0916\u0947 \u091c\u093e \u0938\u0915\u0924\u0947 \u0939\u0948\u0902\u0964