Z>ddl?m@Z@e@jAZBddlCmDZDeEZFejddkrdZGqddlHZHeHjIdddZGndZ dZ eJfZ eeKfZeejLfZeMZe ZdZeZdZdZdZeZe Z ddlNm"Z"m$Z$yddlOm&Z&Wn!ePk rddl&m&Z&nXe&Z'ddl*Z*dd lQm,Z,m7Z7m8Z8m-Z-m.Z.m/Z/m1Z1m2Z2m3Z3m4Z4dd!lRm0Z0m:Z:m;Z;m<Z<m5Z5d"eSfd#YZTd$eSfd%YZUejVjWdeUdd&l?mXZXmYZYeYdZZeYd'dZ[d(eXfd)YZBeBZBeFZFeEZGddl\Z\ddl]Z]ddlOZOd*dLd+YZ^ddl_Z`ddlaZbdd,lCmcZcd-eSfd.YZDe rdd/lHmdZddd0lemfZfdd1lNmgZgmhZhd2eifd3YZ>nddl=m>Z>d4Zjd5Zkd6Zlydd7lmmZmWnePk rd8ZmnXgZnejojpd9rDd:d;d<d=gZnnd>d?d@dAgZndBZqdCZrddlsZsddlZdDZtyddElumuZvWn?ePk ryddElwmuZvWqePk retZvqXnXdFZxdGZydHZzdIZ{dJZ|dS(Mi(tabsolute_importtprint_functionN(twrapsiiicC@s |jdS(Nslatin-1(tencode(ts((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pytbscC@s|S(N((R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pytuscC@s |jjS(N(t__self__t __class__(tmeth((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt!stkeystvaluestitems(treload( turlopent ProxyHandlert build_openertinstall_openert getproxiestHTTPPasswordMgrWithDefaultRealmtProxyBasicAuthHandlertProxyDigestAuthHandlertRequestt url2pathname(t HTTPErrortURLError(t quote_plust unquote_plust urlencode(tCounter(ttimezone(tTemporaryDirectoryicC@s t|fS(N(tbytes(ti((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pytint2byteAstto_bytestbigcC@s|S(N((R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyRIscC@s t|dS(Ntunicode_escape(tunicode(R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyRLscC@s|jS(N(tim_class(R ((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR Tstiterkeyst itervaluest iteritems(timaptizip(tStringIO( RRRRRRRRRR(RRRRRtTkinterPackagecB@seZdZdZRS(cC@std|_dg|_dS(NtTkintertnltk_py2_tkinter_package_path(t __import__tmodt__path__(tself((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt__init__mscC@st|j|S(N(tgetattrR3(R5tname((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt __getattr__qs(t__name__t __module__R6R9(((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR/ls t TkinterLoadercB@s&eZdZddZdZRS(cC@s)idd6dd6dd6dd6|_dS( NR0ttkintert tkFileDialogstkinter.filedialogttkFonts tkinter.fontt tkMessageBoxstkinter.messagebox(t module_map(R5((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR6us cC@s||jkr|SdS(N(RA(R5R8tpath((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt find_module~scC@sU|tjkrJ|dkr't}nt|j|}|tj|(tformatRR:R8(R5((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt__repr__scC@s|jS(N(R8(R5((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt __enter__scC@s|jr|j ry|j|jWnQttfk rz}dt|krWntdj||dtj dSXt |_|r|j dj|t qndS(NRGs"ERROR: {!r} while cleaning up {!r}tfilesImplicitly cleaning up {!r}( R8Rpt_rmtreet TypeErrortAttributeErrortstrtprintRtRDtstderrtTruet_warntResourceWarning(R5Rtex((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pytcleanups  cC@s|jdS(N(R(R5texctvaluettb((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt__exit__scC@s|jdtdS(NR(RR~(R5((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt__del__scC@sx|j|D]}|j||}y#|j|oG|j| }Wntk rdt}nX|r{|j|qy|j|Wqtk rqXqWy|j|Wntk rnXdS(N( t_listdirt _path_joint_isdirt_islinktOSErrorRoRxt_removet_rmdir(R5RBR8tfullnametisdir((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyRx s #    N(R:R;RQRGR6RuRvRoRRRt staticmethodt_ostlistdirRRBtjoinRRRtislinkRtremoveRtrmdirRt _warningstwarnRRx(((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR s       (t itemgetter(tnlargest(trepeattifilterRcB@seZdZddZdZddZdZeddZ ddZ dZ dZ d Z d Zd Zd Zd ZRS(s"Dict subclass for counting hashable objects. Sometimes called a bag or multiset. Elements are stored as dictionary keys and their counts are stored as dictionary values. >>> Counter('zyzygy') Counter({'y': 3, 'z': 2, 'g': 1}) cK@s|j||dS(s1Create a new, empty Counter object. And if given, count elements from an input iterable. Or, initialize the count from another mapping of elements to their counts. >>> Counter() # a new, empty counter >>> Counter('gallahad') # a new counter from an iterable >>> Counter({'a': 4, 'b': 2}) # a new counter from a mapping >>> Counter(a=4, b=2) # a new counter from keyword args N(tupdate(R5titerableR`((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR61s cC@sdS(Ni((R5tkey((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt __missing__>scC@sM|dkr.t|jdtddtSt||jdtdS(s List the n most common elements and their counts from the most common to the least. If n is None, then list all element counts. >>> Counter('abracadabra').most_common(3) [('a', 5), ('r', 2), ('b', 2)] RitreverseN(RGtsortedR+RR~R(R5tn((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt most_commonAs "cc@s@x9|jD]+\}}xtd|D] }|Vq)Wq WdS(sVIterator over elements repeating each as many times as its count. >>> c = Counter('ABCABC') >>> sorted(c.elements()) ['A', 'A', 'B', 'B', 'C', 'C'] If an element's count has been set to zero or is a negative number, elements() will ignore it. N(R+RRG(R5telemtcountt_((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pytelementsMs cC@stddS(Ns@Counter.fromkeys() is undefined. Use Counter(iterable) instead.(tNotImplementedError(tclsRtv((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pytfromkeys_scK@s|dk rt|drt|ra|j}xD|jD]#\}}||d|||>> c = Counter('which') >>> c.update('witch') # add elements from another iterable >>> d = Counter('watch') >>> c.update(d) # add elements from another counter >>> c['h'] # four 'h' in which, witch, and watch 4 R+iiN(RGthasattrtgetR+tdictR(R5RR`tself_getRR((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyRds    cC@s t|S(sBLike dict.copy() but returns a Counter instance instead of a dict.(R(R5((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pytcopyscC@s#||krtj||ndS(sGLike dict.__delitem__() but does not raise KeyError for missing values.N(Rt __delitem__(R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyRs cC@sI|sd|jjSdjtdj|j}d|jj|fS(Ns%s()s, s%r: %rs%s({%s})(RR:Rtmapt__mod__R(R5R ((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyRus!cC@slt|tstSt}xIt|t|BD]1}||||}|dkr3|||>> Counter('abbb') + Counter('bcc') Counter({'b': 4, 'c': 2, 'a': 1}) i(RbRtNotImplementedtset(R5tothertresultRtnewcount((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt__add__s  cC@slt|tstSt}xIt|t|BD]1}||||}|dkr3|||>> Counter('abbbc') - Counter('bccd') Counter({'b': 2, 'a': 1}) i(RbRRR(R5RRRR((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt__sub__s  cC@swt|tstSt}t}xNt|t|BD]6}|||||}|dkr9|||>> Counter('abbb') | Counter('bcc') Counter({'b': 3, 'c': 2, 'a': 1}) i(RbRRtmaxR(R5Rt_maxRRR((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt__or__s  cC@st|tstSt}t}t|t|krJ||}}nxJt|j|D]6}|||||}|dkr]|||>> Counter('abbb') & Counter('bcc') Counter({'b': 1}) i(RbRRtmintlenRt __contains__(R5Rt_minRRR((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt__and__s  N(R:R;RQRGR6RRRt classmethodRRRRRuRRRR(((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR's         cC@st|tS(s1Return an iterator over the keys of a dictionary.(R7t _iterkeys(td((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR)scC@st|tS(s3Return an iterator over the values of a dictionary.(R7t _itervalues(R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR*scC@st|tS(s?Return an iterator over the (key, value) pairs of a dictionary.(R7t _iteritems(R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR+s(ttotal_orderingcC@sKiddfddfddfgd6ddfdd fdd fgd6dd fdd fdd fgd6ddfddfddfgd6}tt|t|@}|stdnt|}xU||D]I\}}||kr||_tt|j|_t|||qqW|S(s6Class decorator that fills in missing ordering methodst__gt__cS@s||kp||k S(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR st__le__cS@s||kp||kS(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR st__ge__cS@s ||k S(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR st__lt__cS@s||k p||kS(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR scS@s||ko||k S(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR scS@s ||k S(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR scS@s||kp||k S(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR scS@s||kp||kS(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR scS@s ||k S(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR scS@s||k p||kS(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR scS@s||ko||k S(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR scS@s ||k S(N((R5R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR ss6must define at least one ordering operation: < > <= >=( RRst ValueErrorRR:R7tintRQtsetattr(Rtconverttrootstroottopnametopfunc((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyRs0            twinschunkers\maxent_ne_chunkers help agsetss"taggers\maxent_treebank_pos_taggerstokenizers\punktschunkers/maxent_ne_chunkers help/tagsetss"taggers/maxent_treebank_pos_taggerstokenizers/punktcC@strxtD]}|t|kr dt|kr |j|t|}|||d!dkrt|d7}n|| d||}Pq q Wn|S(Ns/PY3is.zip(tPY3t_PY3_DATA_UPDATESR{tindexR(RBtitemtpos((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt add_py3_data#s $  c@sfd}t|S(Nc@s/|dt|df|d}||S(Niii(R(targstkwargs(t init_func(s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt _decorator2s"(R(RR((Rs]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pytpy3_data1sc@sSt|tr!|jd}ntjdjfdtjd|DS(NtasciiRmc3@s'|]}|dkr|VqdS(tMnN((t.0tc(tcategory(s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pys DstNFKD(RbR!Rgt unicodedataRRt normalize(ttext((Rs]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pytremove_accents=s  (t unidecodecC@st|tstdnt|js]|j|_ts]tt|j|_q]nt|j s|j |_ tst|j |_ qn|S(s This decorator defines __unicode__ method and fixes __repr__ and __str__ methods under Python 2. To support Python 2 and 3 with a single code base, define __str__ and __repr__ methods returning unicode text and apply this decorator to the class. Original __repr__ and __str__ would be available as unicode_repr and __unicode__ (under both Python 2 and Python 3). s1This decorator doesn't work for old-style classes( t issubclasstobjectRt _was_fixedt__str__t __unicode__Rt_7bitt_transliteratedRut unicode_repr(tklass((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pytpython_2_unicode_compatibleWs   cC@sPtrt|St|dr)|jSt|trFt|dSt|S(s0 For classes that was fixed with @python_2_unicode_compatible ``unicode_repr`` returns ``obj.unicode_repr()``; for unicode strings the result is returned without "u" letter (to make output the same under Python 2.x and Python 3.x); for other variables it is the same as ``repr``. Ri(RtreprRRRbR'(tobj((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyR|s  c@sSfd}tj|ddgtdrFj|_nt|_|S(Nc@st|S(N(t transliterate(R5(tmethod(s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pytwrappersR:RQt_nltk_compat_7bit(t functoolstupdate_wrapperRRR~t_nltk_compat_transliterated(RR((Rs]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyRs  c@sSfd}tj|ddgtdrFj|_nt|_|S(Nc@s|jddS(NRtbackslashreplace(R(R5(R(s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyRsR:RQR(RRRRR~R(RR((Rs]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyRs  cC@s"t|dtp!t|dtS(NRR(R7Ro(R((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyRs(ii((}t __future__RRRDttypesRRt version_infoRtPY26RRR{t string_typesRt integer_typesttypet class_typest text_typeR!t binary_typetmaxsizetMAXSIZEt get_im_classtrangetxrangeRRRtimpRtinputt raw_inputRR,tzipR-tioR.tBytesIOt html.entitiestentitiesthtmlentitydefsturllib.requestRRRRRRRRRRt urllib.errorRRt urllib.parseRRRt collectionsRtdatetimeRtutcRKttempfileR tchrtunichrR#toperatort methodcallerRctlongt ClassTypeR't itertoolsRVt ImportErrorturllib2turllibRR/R<t meta_pathtinsertRHRIRLtHOURRXR[RRtwarningsRtosRRlRtheapqRRRRR)R*R+RRtplatformt startswithRRRRRRttext_unidecodeRRRRR(((s]/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/nltk/nltk/compat.pyt s            F          F(     !  S     "          %