[macsplit~macsplit-code:1] Adding initial source code
- From: pitthipalkul@kenai.com
- To: commits@macsplit.kenai.com
- Subject: [macsplit~macsplit-code:1] Adding initial source code
- Date: Thu, 10 Sep 2009 22:07:34 +0000
Project: macsplit
Repository: macsplit-code
Revision: 1
Author: pitthipalkul
Date: 2009-09-10 22:07:31 UTC
Link:
Log Message:
------------
Adding initial source code
Revisions:
----------
1
Added Paths:
------------
MacSplit/MacSplit.xcodeproj/frank.pbxuser
MacSplit/fakemain.c
MacSplit/Info.plist
MacSplit/main.m
MacSplit/MacSplit.xcodeproj
MacSplit/MacSplit.xcodeproj/frank.mode1v3
MacSplit/uoff_t.h
MacSplit
MacSplit/config.h
MacSplit/func.c
MacSplit/MacSplit.xcodeproj/TemplateIcon.icns
MacSplit/MainViewController.m
MacSplit/Credits.rtf
MacSplit/merge.h
MacSplit/MainViewController.h
MacSplit/func.h
MacSplit/merge.c
MacSplit/English.lproj/MainMenu.xib
MacSplit/split.c
MacSplit/English.lproj
MacSplit/split.h
MacSplit/MacSplit_Prefix.pch
MacSplit/MacSplit.xcodeproj/project.pbxproj
MacSplit/version.plist
MacSplit/English.lproj/InfoPlist.strings
MacSplit/MacSplit.icns
Diffs:
------
Index: MacSplit/version.plist
===================================================================
--- MacSplit/version.plist (revision 0)
+++ MacSplit/version.plist (revision 1)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>BuildVersion</key>
+ <string>3</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>ProductBuildVersion</key>
+ <string>9M2729</string>
+ <key>ProjectName</key>
+ <string>DevToolsWizardTemplates</string>
+ <key>SourceVersion</key>
+ <string>11600000</string>
+</dict>
+</plist>
Index: MacSplit/main.m
===================================================================
--- MacSplit/main.m (revision 0)
+++ MacSplit/main.m (revision 1)
@@ -0,0 +1,19 @@
+//
+// main.m
+// MacSplit
+//
+// Created by Frank on 8/18/09.
+// Copyright __MyCompanyName__ 2009. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+extern char *split_err;
+extern char *merge_err;
+
+int main(int argc, char *argv[])
+{
+ split_err = (char *)malloc(sizeof(char) * 256);
+ merge_err = (char *)malloc(sizeof(char) * 256);
+ return NSApplicationMain(argc, (const char **) argv);
+}
Index: MacSplit/merge.c
===================================================================
--- MacSplit/merge.c (revision 0)
+++ MacSplit/merge.c (revision 1)
@@ -0,0 +1,219 @@
+/*
+ * $Id: merge.c,v 1.9 2008/02/02 08:03:55 sezero Exp $
+ * This file is a part of the lxSplit tool sources.
+ *
+ * Copyright (c) 2001 Richard Stellingwerff <remenic@gmail.com>
+ * Copyright (c) 2008 O. Sezer <sezero@users.sourceforge.net>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to:
+ *
+ * Free Software Foundation, Inc.
+ * 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+
+#include "config.h"
+#include "func.h"
+#include "merge.h"
+
+char *merge_err;
+
+int merge_files (const char *filename)
+{
+ FILE *fp_split,
+ *fp_merged;
+
+ size_t len, bytes_read;
+ uoff_t merged_size,
+ split_size,
+ split_pos;
+
+ int filenr,
+ amount,
+ startnr;
+
+ char *merged_fname,
+ *split_fname,
+ *orig_fname,
+ *missing_fname,
+ *c_bytes,
+ *split_sfname;
+
+ struct stat buf;
+
+
+ len = strlen(filename);
+ if (len < 5 || filename[len - 4] != '.')
+ {
+ sprintf(merge_err, "Erroneous filename. Please supply the
extension.\n"
+ "Must end with .000 or .001\n");
+ return 1;
+ }
+
+ switch (filename[len - 1])
+ {
+ case '0':
+ startnr = 0;
+ break;
+ case '1':
+ startnr = 1;
+ break;
+ default:
+ sprintf(merge_err, "Erroneous filename. Please supply the
extension.\n"
+ "Must end with .000 or .001\n");
+ return 1;
+ }
+
+ orig_fname = (char *)malloc((len - 4 + 1) * sizeof(char));
+ split_fname = (char *)malloc((len + 1) * sizeof(char));
+
+ strncpy(orig_fname, filename, len - 4);
+ orig_fname[len - 4] = '\0';
+
+ merged_fname = orig_fname;
+
+ amount = 0;
+ merged_size = 0;
+ missing_fname = NULL;
+
+ for (filenr = startnr; filenr < 1000; filenr++)
+ {
+ if (filenr < 10)
+ sprintf(split_fname, "%s.00%d", orig_fname, filenr);
+ else if (filenr < 100)
+ sprintf(split_fname, "%s.0%d", orig_fname, filenr);
+ else /* if (filenr < 1000) 999 is hardcoded above already. */
+ sprintf(split_fname, "%s.%d", orig_fname, filenr);
+
+ if (stat(split_fname, &buf) == -1)
+ {
+ if (filenr == startnr)
+ {
+ sprintf(merge_err, "Can't find `%s'\n",
split_fname);
+ return 1;
+ }
+ else
+ {
+ if (missing_fname == NULL)
+ missing_fname = strdup(split_fname);
+ }
+ }
+ else
+ {
+ if (!S_ISREG(buf.st_mode))
+ {
+ sprintf(merge_err, "Can't find `%s'\n",
split_fname);
+ return 1;
+ }
+ else
+ {
+ if (missing_fname != NULL)
+ {
+ sprintf(merge_err, "Missing file `%s'
!\n", missing_fname);
+ return 1;
+ }
+ merged_size += buf.st_size;
+ amount++;
+ }
+ }
+ }
+
+ printf("Creating merged file `%s'.\nComplete size: %" _PRI_ULL_ " in
%d files.\n",
+ merged_fname,
merged_size, amount);
+
+ if (stat(merged_fname, &buf) == 0)
+ {
+ sprintf(merge_err, "%s already exists! Aborting...\n",
merged_fname);
+ return 1;
+ }
+
+ fp_merged = fopen(merged_fname, "w");
+ if (fp_merged == NULL)
+ {
+ sprintf(merge_err, "cannot create output file");
+ return 1;
+ }
+
+ c_bytes = (char *)malloc(READ_BUFSIZE * sizeof(char));
+
+ for (filenr = startnr; filenr <= amount + (startnr - 1); filenr++)
+ {
+ if (filenr < 10)
+ sprintf(split_fname, "%s.00%d", orig_fname, filenr);
+ else if (filenr < 100)
+ sprintf(split_fname, "%s.0%d", orig_fname, filenr);
+ else if (filenr < 1000)
+ sprintf(split_fname, "%s.%d", orig_fname, filenr);
+
+ split_sfname = shorten_path(split_fname);
+ printf("Processing file `%s' ...\n", split_sfname);
+
+ if (stat(split_fname, &buf) == -1)
+ {
+ sprintf(merge_err, "cannot stat input file");
+ goto _err_in;
+ }
+
+ split_size = buf.st_size;
+
+ fp_split = fopen(split_fname, "r");
+ if (fp_split == NULL)
+ {
+ sprintf(merge_err, "cannot open input file");
+ goto _err_in;
+ }
+
+ split_pos = 0;
+
+ while (split_pos < split_size)
+ {
+ bytes_read = fread(c_bytes, 1, READ_BUFSIZE,
fp_split);
+ if (bytes_read != READ_BUFSIZE && !feof(fp_split))
+ {
+ sprintf(merge_err, "error while reading input
file");
+ goto _err_io;
+ }
+ len = fwrite(c_bytes, 1, bytes_read, fp_merged);
+ if (len != bytes_read)
+ {
+ sprintf(merge_err, "error while writing to
output file");
+ goto _err_io;
+ }
+ split_pos += bytes_read;
+ }
+
+ fclose(fp_split);
+ if (split_sfname != split_fname)
+ free (split_sfname);
+ }
+
+ printf("Done!\n");
+ fclose(fp_merged);
+ return 0;
+
+_err_io:
+ fclose(fp_split);
+_err_in:
+ fclose(fp_merged);
+ return 1;
+}
+
Index: MacSplit/split.h
===================================================================
--- MacSplit/split.h (revision 0)
+++ MacSplit/split.h (revision 1)
@@ -0,0 +1,33 @@
+/*
+ * $Id: split.h,v 1.4 2008/02/02 08:03:55 sezero Exp $
+ * This file is a part of the lxSplit tool sources.
+ *
+ * Copyright (c) 2001 Richard Stellingwerff <remenic@gmail.com>
+ * Copyright (c) 2008 O. Sezer <sezero@users.sourceforge.net>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to:
+ *
+ * Free Software Foundation, Inc.
+ * 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef __SPLIT_H
+#define __SPLIT_H
+
+int split_file (const char *filename, uoff_t _s);
+
+#endif /* __SPLIT_H */
+
Index: MacSplit/func.h
===================================================================
--- MacSplit/func.h (revision 0)
+++ MacSplit/func.h (revision 1)
@@ -0,0 +1,37 @@
+/*
+ * $Id: func.h,v 1.6 2008/07/02 17:15:56 sezero Exp $
+ * This file is a part of the lxSplit tool sources.
+ *
+ * Copyright (c) 2001 Richard Stellingwerff <remenic@gmail.com>
+ * Copyright (c) 2008 O. Sezer <sezero@users.sourceforge.net>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to:
+ *
+ * Free Software Foundation, Inc.
+ * 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef __FUNC_H
+#define __FUNC_H
+
+#if 0
+uintmax_t available_diskspace (const char *path);
+#endif
+char *strip_path (const char *filename);
+char *shorten_path (const char *cfilename);
+
+#endif /* __FUNC_H */
+
Index: MacSplit/Info.plist
===================================================================
--- MacSplit/Info.plist (revision 0)
+++ MacSplit/Info.plist (revision 1)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>NSHumanReadableCopyright</key>
+ <string>Copyright (c) 2009 Paween Itthipalkul</string>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string>MacSplit.icns</string>
+ <key>CFBundleIdentifier</key>
+ <string>net.frankitt.${PRODUCT_NAME:identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>MainMenu</string>
+ <key>NSPrincipalClass</key>
+ <string>NSApplication</string>
+</dict>
+</plist>
Index: MacSplit/merge.h
===================================================================
--- MacSplit/merge.h (revision 0)
+++ MacSplit/merge.h (revision 1)
@@ -0,0 +1,33 @@
+/*
+ * $Id: merge.h,v 1.3 2008/02/02 07:45:30 sezero Exp $
+ * This file is a part of the lxSplit tool sources.
+ *
+ * Copyright (c) 2001 Richard Stellingwerff <remenic@gmail.com>
+ * Copyright (c) 2008 O. Sezer <sezero@users.sourceforge.net>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to:
+ *
+ * Free Software Foundation, Inc.
+ * 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef __MERGE_H
+#define __MERGE_H
+
+int merge_files (const char *filename);
+
+#endif /* __MERGE_H */
+
Index: MacSplit/Credits.rtf
===================================================================
--- MacSplit/Credits.rtf (revision 0)
+++ MacSplit/Credits.rtf (revision 1)
@@ -0,0 +1,384 @@
+{\rtf1\adeflang1025\ansi\ansicpg10000\uc1\adeff31507\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\upr{\fonttbl{\f0\fbidi
\fnil\fcharset0\fprq2{\*\panose 02020603050405020304}Times New
Roman;}{\f6\fbidi \fnil\fcharset0\fprq2{\*\panose
02000500000000000000}Courier;}
+{\flomajor\f31500\fbidi \fnil\fcharset0\fprq2{\*\panose
020b0604020202020204}Arial;}{\fdbmajor\f31501\fbidi
\fnil\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhimajor\f31502\fbidi \fnil\fcharset0\fprq2{\*\panose
020f0502020204030204}Calibri;}{\fbimajor\f31503\fbidi
\fnil\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\flominor\f31504\fbidi \fnil\fcharset0\fprq2{\*\panose
02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi
\fnil\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhiminor\f31506\fbidi \fnil\fcharset0\fprq2{\*\panose
02040503050406030204}Cambria;}{\fbiminor\f31507\fbidi
\fnil\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+}{\*\ud{\fonttbl{\f0\fbidi \fnil\fcharset0\fprq2{\*\panose
02020603050405020304}Times New Roman;}{\f6\fbidi
\fnil\fcharset0\fprq2{\*\panose
02000500000000000000}Courier;}{\flomajor\f31500\fbidi
\fnil\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
+{\fdbmajor\f31501\fbidi \fnil\fcharset0\fprq2{\*\panose
02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi
\fnil\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
+{\fbimajor\f31503\fbidi \fnil\fcharset0\fprq2{\*\panose
02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi
\fnil\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fdbminor\f31505\fbidi \fnil\fcharset0\fprq2{\*\panose
02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi
\fnil\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}
+{\fbiminor\f31507\fbidi \fnil\fcharset0\fprq2{\*\panose
02020603050405020304}Times New
Roman;}}}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
+\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp
\f31506\fs24
+}{\*\defpap \ql
\li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
}\noqfpromote {\stylesheet{\ql
\li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\rtlch\fcs1 \af31507\afs24\alang1033
+\ltrch\fcs0 \f31506\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
\snext0 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
+\ql
\li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\rtlch\fcs1 \af31506\afs24\alang1033 \ltrch\fcs0
\f31506\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11
\ssemihidden Normal Table;}}
+{\*\rsidtbl
\rsid4014342\rsid6110843\rsid8331390}{\mmathPr\mmathFont0\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef0\mlMargin0\mrMargin0\mwrapRight0\mintLim0\mnaryLim0}{\info{\author
Paween Itthipalkul}{\operator Paween Itthipalkul}
+{\creatim\yr2009\mo8\dy18\hr14\min39}{\revtim\yr2009\mo8\dy18\hr14\min40}{\version3}{\edmins0}{\nofpages8}{\nofwords2158}{\nofchars12301}{\nofcharsws15106}{\vern33025}{\*\saveprevpict}}{\*\xmlnstbl
{\xmlns1 http://schemas.microsoft.com/office/word/2003/wo
+rdml}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect
+\ftnbj\aenddoc\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
+\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace360\dgvspace360\dghorigin1800\dgvorigin1440\dghshow0\dgvshow0
+\jexpand\viewkind1\viewscale150\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
+\asianbrkrule\rsidroot6110843\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal
\nouicompat \fet0
+{\*\wgrffmtfilter
013f}\nofeaturethrottle1\ilfomacatclnup0\stylesortmethod0\ltrpar \sectd
\ltrsect\linex0\endnhere\sectdefaultcl\sectrsid6110843\sftnbj
{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2
+\pnucltr\pnstart1\pnindent720\pnhang {\pntxta
.}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta
.}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta
)}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta
)}}{\*\pnseclvl6
+\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta
)}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta
)}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta
)}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang
+{\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\qc
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
\rtlch\fcs1 \af31507\afs24\alang1033 \ltrch\fcs0
\f31506\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
\af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 GNU GENERAL PUBLIC
LICENSE
+\par Version 2, June 1991
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,}{\rtlch\fcs1 \af6
\ltrch\fcs0
+\f6\fs26\insrsid6110843
+\par }{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA}{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843
+\par }{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
Everyone is permitted to copy and distribute verbatim copies}{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 of this license document, but
changing it is not allowed.
+\par
+\par }\pard \ltrpar\qc
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 Preamble
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 The
licenses for most software are designed to take away your}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 freedom to share and change it. By
contrast, the GNU General Public}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 License is intended to
guarantee your freedom to share and change free}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843
+software--to make sure the software is free for all its users.
This}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 General Public
License applies to most of the Free Software}
+{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 Foundation's software and
to any other program whose authors commit to}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843
+ using it. (Some }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 other Free Software Foundation
software is covered by}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
}{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 the GNU Lesser General Public
License instead.) You}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
c}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 an
apply it to}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 your programs, too.
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 When we
speak of free software, we are referring to freedom, not}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 price. Our General Public Licenses
are designed to make sure that you}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 have the
free}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 dom to
d}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
istribute copies of free software (and charge for}{
+\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 this service if you
wish), that you receive source code or }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 c}{\rtlch\fcs1
+\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 an get
it}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+if you want it, that you can change the software or use pieces of
it}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+in new free programs; and that you know you can do these things.
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 To
protect your rights, we need to make restrictions that forbid}{\rtlch\fcs1
\af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 anyone to deny you these rights or to
ask you to surrender the rights.}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 These restrictions
translate to certain responsibilities for you if you}{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843
+distribute copies of the software, or if you modify it.
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 For
example, if you distribute copies of such a program, whether}{\rtlch\fcs1
\af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 gratis or for a fee, you must give
the recipients all the rights that}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 you have. You must make
sure that they, too, receive or can get the}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843
+source code. And you must show them these terms so they know
their}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 rights.
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 We
protect your rights with two steps: (1) copyright the software,
and}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 (2) offer you this license which
gives you legal permission to copy,}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 distribute and/or modify
the software.
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 Also,
for each author's protection and ours, we want to make certain}{\rtlch\fcs1
\af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 that everyone understands that there
is no warranty for this free}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 software. If the
software is modified by someone else and passed on, we}{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843
+want its recipients to know that what they have is not the original,
so}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+that any problems introduced by others will not reflect on the
original}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 authors' reputations.
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
Finally, any free program is threatened constantly by software}{\rtlch\fcs1
\af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 patents. We wish to avoid the danger
that redistributors of a free}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 pr}{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843 ogram will individually o}{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 btain patent
licenses, in effect making the}{
+\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 program proprietary. To
prevent this, we have made it clear that any}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{
+\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 patent
must be licensed for everyone's free use or not licensed at all.
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 The
precise terms and conditions for copying, distribution and}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 modification follow.
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
+\par }\pard \ltrpar\qc
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 GNU
GENERAL PUBLIC LICENSE}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
+\par }{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 0. This
License applies to any program or other work which contains}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 a notice placed by the copyright
holder saying it may be distributed}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 under the terms of this
General Public License. The "Program", below,}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843
+refers to any such program or work, and a "work based on the
Program"}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 means either
the Program or any d}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843
+erivative work under copyright law:}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 that is to say, a work containing the
Program or a portion of it,}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 either verbatim or with modifications
and/or translated into another}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 language. (Hereinafter,
translation is included without limitation in}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843
+the term }{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
modification}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 ".) Each licensee is addressed as
"you".
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par Activities other than copying, distribution and modification are
not}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+covered by this License; they are outside its scope. The act
of}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 running the Progr
+am is not restricted, and the output from the Program}{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 is covered only if its contents
constitute a work based on the}{
+\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 Program (independent of
having been made by running the Program).}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{
+\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 Whether
that is true depends on what the Program does.
+\par
+\par 1. You may copy and distribute verbatim copies of the
Program's}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 source
code as you receive it, in any medium, provided that you}{
+\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 conspicuously and
appropriately}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
}{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 publish on each copy an
appropriate}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+copyright notice and disclaimer of warranty; keep intact all
the}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+notices that refer to this License and to the absence of any
warranty;}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+and give any other recipients of the Program a copy of this
License}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 along with the
Program.
+\par
+\par You may charg}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 e a
fee for the physical act of t}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 ransferring a copy, and}{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{
+\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 you may
at your option offer warranty protection in exchange for a fee.
+\par
+\par 2. You may modify your copy or copies of the Program or any
portion}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 of it, thus forming
a work based on the}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 Program, and copy and}{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 distribute such modifications or
work under the terms of Section 1}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 above, p
+rovided that you also meet all of these conditions:
+\par
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 a) You
must cause the modified files to carry prominent notices}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 stating that you changed the files
and the date of any change.
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 b) You
must cause any work that you distribute or publish, that in}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 whole or
+ in part contains or is derived from the Program or any part thereof, to be
licensed as a whole at no charge to all third parties under the terms of
this License.
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 c) If
the modified program normally reads commands interactively}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 when run, you must cause it, when
started running for such}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 i}{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 nteractive use in the most ordinary
way, to print or display an announcement including an appropriate copyright
notice and a}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
}{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 notice that there is no warranty (or
else, saying that you provide a warranty) and that users m
+ay redistribute the program under these conditions, and telling the user how
to view a copy of this License. (Exception: if the Program itself is
interactive but}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
}{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 does not normally print such an
announcement, your work based on the Program is not required to print an
announcement.)
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par These requirements apply to the modified work as a whole.
If}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+identifiable sections of that work are not derived from the
Program,}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+and can be reasonably considered independent and separate works
in}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 themselves, then
this}{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843 License, and its terms, do not }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 apply to
those}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 sections when you distribute them as
separate works. But when you}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 distribute the same }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843
+sections as part of a whole which is a work based}{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 on the Program, the distribution of
the whole must be on the terms of}{
+\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 this License, whose
permissions for other licensees extend to the}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{
+\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 entire
whole, and thus to each and every part regardless of who wrote it.
+\par
+\par Thus, it is not the intent of this section to claim rights or
contest}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 your rights to work
written entirely by you; rather, the
+ intent is to}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
exercise the right to control the distribution of derivative or}{\rtlch\fcs1
\af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 collective works based on the Program.
+\par
+\par In addition, mere aggregation of another work not based on the
Program}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+with the Program (or with a work based on the Program) on a volume
of}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 a storage or
}{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843 d}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 istribution medium does not bring the
other work under}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
}{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 the scope of this License.
+\par
+\par 3. You may copy and distribute the Program (or a work based on
it,}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 und}{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843
+er Section 2) in object code or }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 executable form under the terms
of}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 Sections 1 and 2 above provided that
you also do one of the following:
+\par
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+a) Accompany it with the complete corresponding machine-readable source
code, which must be distributed under the terms of Sections}{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 1 and 2 above on a medium
customarily used for software interchange; or,
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 b)
Accompany it with a written offer, valid for at least three}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 years, to give any third party, for a
charge no more than your}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 c}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 ost of physically
performing source distribution, a complete machine-readable copy of the
corresponding source code, to be distributed under the terms of Sections 1
and 2 above on a medium}{\rtlch\fcs1
+\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 customarily used for software
interchange; or,
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par }\pard \ltrpar\ql
\fi720\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 c)
Accompany it with the information you received as to the offer}{\rtlch\fcs1
\af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 to distribute corresponding source
code. (This alternative is allowed only for noncommercial distribution and
only if you}{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 received the program in object code
or executable form with such an offer, in accord with Subsection b above.)
+\par }\pard \ltrpar\ql
\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6110843
{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+\par The source code for a work means the preferred form of the work
for}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+making modifications to it. For an executable work, complete
source}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+code means all the source code for all modules it contains, plus
any}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+associated interface definition files, plus the scripts used to}{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 control compila}{\rtlch\fcs1 \af6
\ltrch\fcs0
+\f6\fs26\insrsid6110843 tion and installation of the }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 executable. However, as
a}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 special exception, the source code
distributed need not include}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843
+anything that is normally distributed (in either source or
binary}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+form) with the major components (compiler, kernel, and so on) of
the}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 o
+perating system on which the executable runs, unless that
component}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843
}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 itself
accompanies the executable.
+\par
+\par If distribution of executable or object code is made by
offering}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 access to copy from
a designated place, then offering equivalent
+}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 access to copy the source
code from the same place counts as}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{
+\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
distribution of the source code, even though third parties are
not}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 compelled to copy the source along
with the object code.
+\par
+\par 4. You may not copy, modify, sublicense, or distribute the
Program}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 except as expressly
provided under this License. Any attempt}
+{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 otherwise to copy,
modify, sublicense or distribute the Program is}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{
+\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 void,
and will automatically terminate your rights under this License.
+\par However, parties who have received copies, or rights, from you
under}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 this License will
not have their }{\rtlch\fcs1 \af6
+\ltrch\fcs0 \f6\fs26\insrsid6110843 l}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 icenses terminated so long as
such}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 parties remain in full compliance.
+\par
+\par 5. You are not required to accept this License, since you have
not}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+signed it. However, nothing else grants you permission to modify
or}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 distribute the Program or
i
+ts derivative works. These actions are}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 prohibited by law if you do not
accept this License. Therefore, by
+\par modifying or distributing the Program (or any work based on
the}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+Program), you indicate your acceptance of this License to do so,
and}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 all its terms a
+nd conditions for copying, distributing or modifying}{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 the Program or works based on it.
+\par
+\par 6. Each time you redistribute the Program (or any work based on
the}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+Program), the recipient automatically receives a license from
the}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 original licensor to
copy, distr
+ibute or modify the Program subject to}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 these terms and conditions. You may
not impose any further}{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 restrictions on the recipients'
exercise of the rights granted herein.}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843\charrsid6110843 You are not responsible for
enforcing compliance by third parties to}{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6 \ltrch\fcs0
\f6\fs26\insrsid6110843\charrsid6110843 this License.
+\par
+\par 7. If, as a consequence of a court judgment or allegation of
patent}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+infringement or for any other reason (not limited to patent
issues),}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1
\af6 \ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843
+conditions are imposed on you (whether by court order, agreement
or}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\insrsid6110843 }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 otherwise) that
contradi}{\rtlch\fcs1 \af6 \ltrch\fcs0
+\f6\fs26\insrsid6110843 ct the conditions of this }{\rtlch\fcs1 \af6
\ltrch\fcs0 \f6\fs26\insrsid6110843\charrsid6110843 License, they do
not}{\rtlch\fcs1 \af6 \ltrch\fcs0 \f6\fs26\i
[truncated due to length]
|
[macsplit~macsplit-code:1] Adding initial source code |
pitthipalkul | 09/10/2009 |





