Commit d06a64b7 by simetk

added simplified usage package

parent 80b16c56
fileCount: 4969
got here
root: hasti
root: rattl
root: currenc
root: few
root: daniel
root: proclam
root: june
root: zone
root: ferdinand
root: trip
root: mainten
root: side
root: guilt
root: curios
root: soldier
root: fresh
root: pump
root: jealou
root: mate
root: fold
root: greec
root: wildli
root: level
root: dog
root: actor
root: yonder
root: relax
root: crook
root: cling
root: steed
root: rejoic
root: lump
root: descend
root: wish
root: next
root: recogn
root: victori
root: b
root: sell
root: bold
root: develop
root: vast
root: contemptu
root: lung
root: sensit
root: wealthi
root: passeng
root: steep
root: stagger
root: corridor
root: nake
root: maid
root: infect
root: dive
root: arriv
root: rifl
root: topic
root: persuas
root: statement
root: frog
root: flesh
root: valuabl
root: audibl
root: charl
root: moder
root: perhap
root: imposs
root: gradual
root: favorit
root: impart
root: useless
root: tropic
root: bestow
root: revolut
root: stroll
root: oper
root: parlor
root: flicker
root: frost
root: incid
root: prof
root: biodivers
>>ozon
root: baron
root: uniti
root: madam
root: swarm
root: capit
root: refresh
root: bag
root: peril
root: court
root: pierr
root: wheel
root: octob
root: mean
root: oyster
root: confid
root: intrigu
root: compet
root: victoria
root: gdp
root: restor
root: selfish
root: radic
root: scott
root: stall
root: attack
root: form
root: between
root: cheer
root: allen
root: high
root: parcel
root: posit
root: assess
root: day
root: show
root: futil
root: grim
root: abstract
root: scrape
root: linen
root: pension
root: deepli
root: face
root: reflect
root: pretend
root: stole
root: weep
root: engin
root: summer
root: lake
root: testifi
root: urgent
root: mayor
root: cargo
root: earthli
root: martyr
root: harsh
root: author
root: altogeth
root: deliber
root: guard
root: justli
root: dreari
root: specif
root: director
root: go
root: mast
root: muse
root: consid
root: render
root: subdu
root: rail
root: tonight
root: servant
root: carv
root: fertil
root: vigor
root: sour
root: amus
root: ripe
root: philadelphia
root: dozen
root: magistr
root: symbol
root: dash
root: iron
root: triumph
root: burn
root: prairi
root: petroleum
root: intellect
root: tranquil
root: slice
root: maiden
root: extravag
root: refrain
root: dish
root: clerk
root: midnight
root: mine
root: mad
root: pinch
root: spice
root: hungari
root: n
root: reel
root: sentenc
root: cart
root: alfr
root: denmark
root: irish
root: mutter
root: wail
root: basi
root: wake
root: pan
root: charg
root: chief
root: altern
root: peak
root: boast
root: price
root: mist
root: anxious
root: quarter
root: appropri
root: ask
root: busi
root: help
root: ed
root: strain
root: awar
root: rumour
root: temptat
root: prevail
root: muscl
root: quick
root: courtyard
root: choru
root: pillow
root: social
root: yesterday
root: applaud
root: wound
root: dedic
root: earth
root: visit
root: blind
root: stifl
root: scrambl
root: rival
root: blanket
root: debt
root: except
root: sacrific
root: divin
root: heart
root: valu
root: philip
root: content
root: share
root: nm
root: persuad
root: forcibl
root: leg
root: affirm
root: garment
root: bubbl
root: cabinet
root: imag
root: g
root: bear
root: behaviour
root: puzzl
root: deiti
root: throng
root: reckon
root: back
root: associ
root: sob
root: boy
root: american
root: ancestor
root: purpl
root: plung
root: assign
root: jerk
root: road
root: motiv
root: polic
root: time
root: unlik
root: formal
root: crawl
root: stool
root: tube
root: castl
root: portion
root: eighth
root: fluid
root: tribe
root: moonlight
root: oil
root: throughout
root: controversi
root: vii
root: step
root: underneath
root: tumbl
root: wholesom
root: woman
root: cup
root: hop
root: extent
root: thunder
root: harbour
root: jove
root: fifth
root: onward
root: unwil
root: reach
root: homeward
root: aspir
root: dispos
root: slip
root: surg
root: excurs
root: neck
root: impetu
root: ever
root: elderli
root: loan
root: absenc
root: frighten
root: pond
root: ceremoni
root: spong
root: shill
root: nest
root: conqueror
root: jersey
root: leon
root: signifi
root: dispatch
root: westminst
root: law
root: kindli
root: diseas
root: approach
root: r
root: conjur
root: cap
root: obey
root: below
root: prodigi
root: thick
root: bell
root: august
root: consol
root: coal
root: reject
root: accumul
root: brilliant
root: bustl
root: conceiv
root: disapprov
root: hitherto
root: sing
root: log
root: trap
root: boston
root: safe
root: strongli
root: round
root: wicked
root: sacr
root: liquid
root: medium
root: wa
root: treat
root: darken
root: inhabit
root: insist
root: carolina
root: float
root: extrem
root: degrad
root: exact
root: comb
root: stuff
root: hymn
root: pint
root: silenc
root: voyag
root: mamma
root: madrid
root: stain
root: volunt
root: peculiar
root: eight
root: poster
root: complic
root: notwithstand
root: sixti
root: tablespoon
root: editor
root: restraint
root: herd
root: poverti
root: perfect
root: testimoni
root: noon
root: instead
root: lamp
root: monsieur
root: apt
root: fervent
root: height
root: eloqu
root: comprehend
root: co
root: misunderstand
root: tongu
root: kent
root: forget
root: news
root: brand
root: econom
root: tragic
root: rush
root: conscienc
root: afford
root: folli
root: twenti
root: pluck
root: violet
root: differ
root: salt
root: idl
root: text
root: shock
root: lift
root: messeng
root: identifi
root: terribl
root: el
root: crush
root: delici
root: graviti
root: apostl
root: singer
root: aw
root: whip
root: fuller
root: act
root: feast
root: pencil
root: instinct
root: formerli
root: prior
root: solitari
root: burst
root: past
root: entrust
root: approxim
root: christ
root: common
root: furiou
root: policeman
root: beg
root: stimul
root: upset
root: format
root: precis
root: furnac
root: infant
root: cape
root: moan
root: disposit
root: tom
root: h
root: henri
root: swan
root: mental
root: cost
root: keeper
root: background
root: british
root: stomach
root: treati
root: exposur
root: forthwith
root: reserv
root: magic
root: communist
root: silent
root: korea
root: bundl
root: alon
root: platform
root: teacher
root: th
root: exclaim
root: matter
root: adorn
root: determin
root: belli
root: necessari
root: acquir
root: collect
root: right
root: incorpor
root: joint
root: falsehood
root: theolog
root: attend
root: longer
root: sale
root: bloom
root: ship
root: cock
root: site
root: id
root: equip
root: win
root: warm
root: un
root: poet
root: partli
root: limb
root: owl
root: threat
root: happen
root: explor
root: pace
root: splendid
root: temporari
root: rim
root: guinea
root: lend
root: willingli
root: particularli
root: heathen
root: feather
root: fame
root: point
root: cruelti
root: proprietor
root: weaken
root: intellectu
root: maria
root: person
root: lion
root: sunni
root: ida
root: volum
root: spot
root: reput
root: countryman
root: indign
root: brahmana
root: limit
root: data
root: guardian
root: spoil
root: reproduc
root: wilson
root: expert
root: dexter
root: murmur
root: banquet
root: hound
root: ounc
root: lodg
root: miller
root: gaili
root: potato
root: bet
root: il
root: syllabl
root: sober
root: seriou
root: shoot
root: rascal
root: blush
root: drunken
root: error
root: iaea
>>ibrd
>>ilo
>>imo
>>icao
>>ifc
>>wmo
>>fao
root: stove
root: entreat
root: threaten
root: sore
root: insid
root: vanquish
root: includ
root: cloth
root: relationship
root: handkerchief
root: suddenli
root: brass
root: mortal
root: thousand
root: chamber
root: interv
root: diver
root: smaller
root: steam
root: carri
root: reli
root: thicken
root: brightli
root: ashor
root: suit
root: stumbl
root: insignific
root: harmless
root: angl
root: yet
root: miser
root: toast
root: lord
root: reaction
root: favour
root: hesit
root: mankind
root: latitud
root: turn
root: pursuit
root: inch
root: shot
root: rabbit
root: esteem
root: student
root: gilbert
root: rain
root: noisi
root: look
root: stage
root: head
root: genial
root: own
root: closet
root: falter
root: report
root: hover
root: uncertainti
root: afflict
root: note
root: freeli
root: contemporari
root: motionless
root: sort
root: corp
root: crime
root: delus
root: physic
root: grin
root: roughli
root: might
root: daughter
root: parson
root: elder
root: ash
root: coast
root: tower
root: attent
root: solitud
root: starv
root: foundat
root: vagu
root: paint
root: dig
root: politician
root: destini
root: counti
root: someon
root: poison
root: occupi
root: infinit
root: unexpect
root: alexand
root: pastor
root: wondrou
root: broad
root: calcul
root: flourish
root: germani
root: white
root: necessarili
root: season
root: count
root: solicit
root: network
root: pride
root: gigant
root: mous
root: resourc
root: weed
root: openli
root: through
root: peac
root: superintend
root: allus
root: absurd
root: seventi
root: cook
root: deepen
root: worth
root: humor
root: git
root: gang
root: scotland
root: rustl
root: elev
root: half
root: calf
root: blood
root: month
root: age
root: usag
root: three
root: forti
root: administr
root: se
root: us
root: q
root: passion
root: mode
root: mi
root: gap
root: ms
root: norway
root: raven
root: impress
root: melt
root: fragrant
root: labor
root: draft
root: sound
root: proud
root: deriv
root: lanc
root: moist
root: consist
root: presum
root: gambl
root: stone
root: worthi
root: tumult
root: abolish
root: diet
root: mighti
root: opinion
root: papa
root: pretext
root: park
root: precaut
root: campbel
root: dot
root: hamlet
root: fulli
root: chair
root: porch
root: agit
root: investig
root: compos
root: beyond
root: carelessli
root: coldli
root: center
root: eastern
root: indebt
root: viii
root: distribut
root: cun
root: footstep
root: turk
root: instanc
root: grow
root: bud
root: gray
root: spite
root: narrow
root: forsak
root: line
root: wors
root: throne
root: horror
root: shop
root: vent
root: prosecut
root: er
root: reviv
root: nostril
root: goodbi
root: whale
root: simultan
root: theme
root: skill
root: eventu
root: scandal
root: friday
root: fain
root: alreadi
root: refer
root: childhood
root: scienc
root: honor
root: escap
root: insol
root: faintli
root: ball
root: ultim
root: popul
root: short
root: liabl
root: water
root: infer
root: unreason
root: candid
root: profound
root: graham
root: arch
root: depart
root: grass
root: discov
root: compel
root: district
root: tell
root: ribbon
root: iii
root: strait
root: angri
root: veget
root: unusu
root: instrument
root: golden
root: cross
root: troop
root: repres
root: invas
root: hopeless
root: democraci
root: claim
root: distanc
root: mess
root: southeast
root: space
root: timid
root: scientif
root: older
root: regard
root: profus
root: token
root: certain
root: effect
root: halt
root: publish
root: isl
root: woe
root: statu
root: alongsid
root: fetch
root: quot
root: wear
root: abruptli
root: fantast
root: meadow
root: everywher
root: ware
root: technic
root: bedroom
root: fill
root: sue
root: richmond
root: concern
root: german
root: recognit
root: box
root: star
root: endow
root: then
root: scarlet
root: lean
root: convinc
root: folk
root: fail
root: temperatur
root: greatli
root: valiant
root: narrat
root: pledg
root: divid
root: sword
root: sow
root: kingdom
root: firm
root: thu
root: big
root: wonder
root: frontier
root: juic
root: denot
root: annoy
root: promis
root: woodland
root: appal
root: about
root: penalti
root: seventh
root: darl
root: prohibit
root: japanes
root: account
root: prejudic
root: dri
root: popular
root: gallop
root: fort
root: beer
root: abund
root: stop
root: sign
root: constantli
root: judg
root: coil
root: cluster
root: wallac
root: unfold
root: twice
root: laugh
root: town
root: presenc
root: cake
root: freez
root: notabl
root: dusk
root: spring
root: sweet
root: middl
root: sister
root: shell
root: sketch
root: sang
root: obtain
root: lee
root: merchant
root: type
root: flag
root: shakespear
root: intercours
root: instantli
root: maker
root: rod
root: intox
root: phenomenon
root: player
root: calm
root: die
root: neighbor
root: domain
root: triumphant
root: umbrella
root: front
root: fatigu
root: distract
root: code
root: disput
root: proceed
root: hero
root: weak
root: rag
root: armi
root: latter
root: repli
root: vacant
root: tremend
root: ampl
root: levi
root: echo
root: bow
root: violenc
root: furious
root: load
root: buri
root: countess
root: decent
root: weapon
root: everi
root: reap
root: studi
root: breakfast
root: shed
root: dislik
root: workman
root: horizont
root: tenth
root: coat
root: niec
root: hous
root: villain
root: thursday
root: classic
root: patron
root: guess
root: sofa
root: item
root: forehead
root: rear
root: retreat
root: tame
root: fat
root: nose
root: thrust
root: terror
root: photograph
root: textil
root: request
root: danc
root: monarchi
root: anyhow
root: rescu
root: return
root: tour
root: test
root: tissu
root: unfortun
root: oft
root: careless
root: ach
root: elabor
root: mark
root: christian
root: screw
root: sum
root: imagin
root: monkey
root: earn
root: proudli
root: growl
root: predict
root: complexion
root: cigar
root: check
root: chest
root: violat
root: bishop
root: bore
root: scholar
root: exclam
root: everlast
root: doctor
root: knowledg
root: ft
root: constabl
root: pastur
root: least
root: spoon
root: structur
root: resign
root: electr
root: birthday
root: dine
root: delicaci
root: thirst
root: asid
root: measur
root: feller
root: translat
root: dismay
root: endeavour
root: mission
root: abid
root: congress
root: reed
root: final
root: fog
root: prudenc
root: delay
root: combat
root: balanc
root: fate
root: eighti
root: mayb
root: orderli
root: generos
root: blank
root: boldli
root: philosoph
root: deck
root: manner
root: wealth
root: catch
root: apprehend
root: costli
root: fundament
root: total
root: north
root: benefit
root: worship
root: defici
root: pertain
root: committe
root: gen
root: sage
root: letter
root: idiot
root: treatment
root: lane
root: cow
root: spear
root: chines
root: assassin
root: fruit
root: nervous
root: true
root: match
root: real
root: bride
root: tobacco
root: sergeant
root: regul
root: rack
root: negoti
root: gentli
root: averag
root: captur
root: third
root: spray
root: proclaim
root: templ
root: prudent
root: inspir
root: elector
root: trace
root: chariti
root: sensibl
root: heed
root: wholli
root: morgan
root: offend
root: stitch
root: monster
root: cautious
root: northwest
root: atlant
root: late
root: rude
root: weight
root: four
root: date
root: seldom
root: keep
root: barbar
root: respect
root: jerusalem
root: ink
root: victor
root: sex
root: commonplac
root: bureau
root: contempl
root: tribut
root: stem
root: pit
root: belong
root: part
root: shriek
root: forbear
root: besid
root: nurseri
root: pitch
root: breach
root: trouser
root: swell
root: subscrib
root: commun
root: juri
root: tread
root: toy
root: recent
root: drink
root: artifici
root: characterist
root: transfer
root: directli
root: drag
root: harbor
root: ingredi
root: bid
root: ascend
root: unicamer
root: week
root: nobodi
root: craft
root: wave
root: senat
root: buck
root: brigad
root: trampl
root: fidel
root: northern
root: barrel
root: honour
root: prophet
root: case
root: lament
root: central
root: son
root: friar
root: hawk
root: psycholog
root: worldli
root: entranc
root: griev
root: affect
root: de
root: skil
root: tailor
root: fleet
root: prop
root: off
root: distinct
root: rang
root: fisherman
root: special
root: stabl
root: embassi
root: dye
root: mari
root: funni
root: famou
root: fact
root: dusti
root: kill
root: percept
root: seat
root: brook
root: cold
root: boundari
root: mourn
root: prevent
root: troublesom
root: lantern
root: estat
root: admir
root: destroy
root: hospit
root: enemi
root: independ
root: dazzl
root: effici
root: navi
root: societi
root: nonsens
root: uncertain
root: great
root: dean
root: johnson
root: tune
root: clergyman
root: organ
root: besieg
root: shoulder
root: bite
root: butt
root: green
root: trembl
root: unexpectedli
root: sternli
root: utmost
root: island
root: hay
root: curtain
root: varieti
root: liber
root: gulf
root: sink
root: estim
root: hope
root: alcohol
root: offens
root: splendor
root: preced
root: secretari
root: speedili
root: fist
root: relat
root: magazin
root: sooner
root: suffici
root: way
root: ga
root: trivial
root: dutch
root: dragon
root: inland
root: vehicl
root: fortnight
root: pretens
root: knot
root: serpent
root: comprehens
root: unfit
root: lash
root: guilti
root: scare
root: testament
root: miracl
root: mason
root: add
root: belt
root: burden
root: fabric
root: frankli
root: termin
root: morn
root: brown
root: drive
root: intimaci
root: exploit
root: jewel
root: vers
root: left
root: retir
root: idol
root: stray
root: forbid
root: dwell
root: mon
root: disgust
root: hollow
root: kid
root: expens
root: spain
root: construct
root: lace
root: mound
root: democrat
root: neat
root: awkward
root: sanction
root: sorri
root: emerg
root: somewhat
root: heap
root: beckon
root: contend
root: sector
root: whatsoev
root: ruler
root: good
root: ore
root: forward
root: oxford
root: surrend
root: ps
root: secret
root: gentl
root: preciou
root: wooden
root: perch
root: arm
root: shabbi
root: sand
root: fasten
root: opposit
root: stoop
root: fuss
root: unpleas
root: definit
root: exactli
root: pant
root: council
root: soap
root: companion
root: corpor
root: desert
root: industri
root: rob
root: firmli
root: commod
root: fall
root: gum
root: cliff
root: dramat
root: food
root: digniti
root: obedi
root: suprem
root: realm
root: african
root: cherish
root: sting
root: revolutionari
root: percentag
root: art
root: fear
root: hatr
root: brief
root: wet
root: gener
root: richli
root: hostil
root: joy
root: distrust
root: need
root: tea
root: exclud
root: or
root: bulk
root: suggest
root: mediterranean
root: character
root: proprieti
root: venic
root: vener
root: tend
root: comrad
root: virtu
root: treatis
root: open
root: gloomi
root: name
root: imf
root: brisk
root: tini
root: cano
root: danger
root: piano
root: avert
root: voic
root: glimps
root: benjamin
root: leader
root: ordinari
root: prey
root: distinguish
root: merit
root: expedit
root: allah
root: artilleri
root: reward
root: bleed
root: initi
root: desper
root: liter
root: pavement
root: giant
root: caress
root: fragment
root: wont
root: frame
root: professor
root: clear
root: plateau
root: copi
root: slim
root: crack
root: republ
root: truth
root: axe
root: coalit
root: stand
root: nanci
root: root
root: countri
root: invest
root: togeth
root: dear
root: oven
root: touch
root: deep
root: obvious
root: stick
root: escort
root: instant
root: sigh
root: mind
root: hear
root: painter
root: fierc
root: wheat
root: whole
root: ecstasi
root: found
root: cypru
root: chapter
root: wretch
root: howl
root: cattl
root: intens
root: impos
root: histor
root: pari
root: scene
root: februari
root: devic
root: amen
root: ie
root: chronicl
root: hire
root: occur
root: australia
root: coin
root: homer
root: dead
root: rebuk
root: supper
root: milton
root: adversari
root: abbey
root: establish
root: viciou
root: scrupl
root: odor
root: plane
root: trunk
root: swim
root: geniu
root: enterpris
root: drain
root: convict
root: sick
root: eighteenth
root: man
root: pictur
root: secretli
root: member
root: battl
root: apolog
root: quickli
root: doctrin
root: footnot
root: mount
root: franc
root: advoc
root: grave
root: race
root: sooth
root: drawer
root: grape
root: uniform
root: damag
root: ladyship
root: exceedingli
root: along
root: submit
root: jest
root: design
root: pen
root: cardin
root: commonli
root: chuckl
root: hill
root: jesu
root: financi
root: worst
root: mention
root: speech
root: exampl
root: rapid
root: factori
root: local
root: sympathet
root: administ
root: ton
root: diffus
root: hither
root: garrison
root: superflu
root: issu
root: nearli
root: attach
root: joke
root: west
root: afraid
root: berri
root: radio
root: sabbath
root: honey
root: nd
root: dread
root: deliv
root: revolv
root: assum
root: envelop
root: fell
root: plate
root: needl
root: bar
root: pat
root: safeti
root: foul
root: fare
root: meanwhil
root: interpret
root: eagerli
root: abandon
root: lb
root: accur
root: play
root: citizen
root: knock
root: texa
root: stare
root: mani
root: freight
root: subtl
root: annual
root: droop
root: apart
root: grief
root: cut
root: naval
root: entreati
root: monday
root: discern
root: custom
root: forese
root: cream
root: betray
root: ben
root: mexican
root: terrifi
root: ticket
root: ala
root: disguis
root: tast
root: rice
root: telegram
root: yield
root: puriti
root: dust
root: diamet
root: prick
root: tight
root: correspond
root: perceiv
root: childish
root: hiss
root: flow
root: nevertheless
root: rout
root: arabl
root: shut
root: screen
root: wash
root: subsid
root: detach
root: farewel
root: sustain
root: origin
root: ambiti
root: branch
root: difficulti
root: receiv
root: silk
root: con
root: jame
root: project
root: embrac
root: congratul
root: reverend
root: vase
root: vacat
root: penni
root: parad
root: carpent
root: transpar
root: bad
root: pay
root: ann
root: sudden
root: shine
root: tyranni
root: wrinkl
root: heavili
root: stress
root: intim
root: mask
root: nowaday
root: baffl
root: summon
root: ad
root: tore
root: absorb
root: lastli
root: morrow
root: kind
root: prescrib
root: englishman
root: just
root: loaf
root: discret
root: dominion
root: process
root: yawn
root: joyou
root: mob
root: remain
root: undertak
root: senior
root: reconcil
root: emphat
root: turkey
root: blue
root: certainti
root: waist
root: overlook
root: parish
root: compens
root: nobl
root: soup
root: struggl
root: limp
root: medic
root: ratifi
root: mix
root: littl
root: blame
root: scriptur
root: advic
root: wine
root: rural
root: swallow
root: preserv
root: signific
root: numer
root: accuraci
root: athen
root: dip
root: appoint
root: studio
root: detail
root: birth
root: fashion
root: sadli
root: spanish
root: trumpet
root: paper
root: santa
root: cruel
root: ladder
root: avenu
root: wing
root: jacob
root: couch
root: reign
root: truli
root: conquest
root: think
root: adequ
root: demand
root: memor
root: soul
root: robber
root: happi
root: talent
root: walter
root: lip
root: gleam
root: accid
root: constitut
root: combin
root: comic
root: logic
root: inde
root: stranger
root: hoof
root: number
root: activ
root: tortur
root: shawl
root: agre
root: both
root: elsewher
root: unjust
root: abroad
root: avail
root: transmit
root: behold
root: interest
root: audienc
root: knit
root: persecut
root: attain
root: allow
root: ratio
root: there
root: chatter
root: solv
root: resum
root: carpet
root: softli
root: mirth
root: collar
root: accordingli
root: scotch
root: subordin
root: cell
root: superb
root: missionari
root: shore
root: explain
root: henceforth
root: complain
root: hedg
root: cheek
root: whi
root: na
root: element
root: fli
root: stock
root: well
root: abound
root: undergo
root: strictli
root: hare
root: sinner
root: suspect
root: soil
root: perfectli
root: fri
root: affection
root: seri
root: releas
root: jackson
root: brow
root: courtesi
root: find
root: adventur
root: consequ
root: term
root: knight
root: integr
root: settl
root: bone
root: patriot
root: defenc
root: deni
root: practic
root: narr
root: view
root: section
root: romant
root: curl
root: regent
root: kindr
root: mute
root: insult
root: conceal
root: repent
root: gloriou
root: whenc
root: tap
root: catherin
root: moral
root: israel
root: enjoy
root: pud
root: acknowledg
root: illumin
root: gold
root: languag
root: latin
root: usual
root: hook
root: bridg
root: maxim
root: place
root: poland
root: toss
root: grumbl
root: steadili
root: impertin
root: south
root: lincoln
root: willow
root: jaw
root: employ
root: hearth
root: fulfil
root: v
root: gratitud
root: petti
root: music
root: mobil
root: variat
root: tough
root: boot
root: traitor
root: lesser
root: record
root: warfar
root: divorc
root: period
root: plump
root: lead
root: gather
root: ingenu
root: sad
root: al
root: footman
root: embodi
root: doubl
root: room
root: spi
root: poss
root: rever
root: faculti
root: much
root: fed
root: expans
root: brush
root: treason
root: goos
root: artist
root: lifetim
root: gaug
root: recept
root: acquaint
root: dug
root: inner
root: ident
root: friendli
root: push
root: meal
root: thread
root: obviou
root: incred
root: errand
root: courtier
root: lit
root: method
root: nun
root: quantiti
root: specul
root: sourc
root: rank
root: alik
root: govern
root: awe
root: uneasi
root: comedi
root: spell
root: ambit
root: angrili
root: red
root: prayer
root: hardli
root: suspici
root: travers
root: notic
root: gravel
root: husband
root: compound
root: ador
root: repeat
root: twain
root: failur
root: silver
root: especi
root: gale
root: poetri
root: car
root: hammer
root: dwarf
root: gown
root: song
root: excess
root: distinctli
root: lemon
root: coloni
root: solemnli
root: encourag
root: ordin
root: litter
root: glanc
root: counten
root: tire
root: rigid
root: jacket
root: marsh
root: life
root: modifi
root: confin
root: disagre
root: cynthia
root: channel
root: program
root: marriag
root: bob
root: draught
root: envi
root: edit
root: orang
root: inform
root: peculiarli
root: sin
root: sit
root: tear
root: rue
root: frank
root: w
root: signatur
root: compromis
root: lid
root: yellow
root: hold
root: far
root: piec
root: wisdom
root: nerv
root: fire
root: shape
root: dismal
root: novel
root: chat
root: counter
root: heir
root: m
root: cradl
root: beard
root: smell
root: around
root: receipt
root: grove
root: contin
root: violent
root: messag
root: command
root: shadow
root: shirt
root: public
root: comfort
root: militari
root: plan
root: agent
root: kettl
root: wage
root: tightli
root: pupil
root: hors
root: whistl
root: ardent
root: strip
root: j
root: cousin
root: rocki
root: veil
root: fish
root: frown
root: crop
root: peopl
root: opcw
root: western
root: primari
root: oak
root: chanc
root: deliver
root: herb
root: ear
root: incens
root: seven
root: straight
root: contradict
root: resent
root: basket
root: puls
root: anger
root: easili
root: bless
root: dismiss
root: opera
root: secondli
root: control
root: celebr
root: brave
root: oppon
root: crimson
root: virgin
root: doorway
root: teeth
root: effectu
root: explos
root: bond
root: wither
root: drum
root: competit
root: subject
root: pin
root: reduc
root: veri
root: soar
root: pennsylvania
root: shade
root: bibl
root: bowl
root: canada
root: gem
root: dimli
root: dilig
root: horribl
root: provok
root: compass
root: pr
root: belov
root: later
root: palac
root: death
root: grandmoth
root: rein
root: unseen
root: withhold
root: raptur
root: europ
root: recal
root: microwav
root: arous
root: fifteen
root: feat
root: invari
root: chase
root: deal
root: bough
root: hamilton
root: column
root: allud
root: while
root: protocol
root: flash
root: suspens
root: tender
root: consider
root: put
root: edward
root: charter
root: feebl
root: stretch
root: wool
root: address
root: confound
root: educ
root: exhaust
root: harvest
root: circl
root: disclos
root: satisfact
root: saddl
root: vessel
root: sailor
root: transform
root: eas
root: spark
root: conspiraci
root: jack
root: rash
root: descript
root: vice
root: upward
root: expenditur
root: grip
root: warmth
root: accustom
root: uk
root: beast
root: deaf
root: fig
root: array
root: austria
root: sampl
root: wilder
root: talk
root: tempest
root: overcom
root: shaft
root: compliment
root: ce
root: connect
root: pursu
root: caution
root: surviv
root: vulgar
root: groan
root: plead
root: articl
root: c
root: superfici
root: introduc
root: neither
root: ford
root: success
root: cellar
root: highli
root: meat
root: gloom
root: despis
root: jew
root: hard
root: austrian
root: astonish
root: circumst
root: england
root: invit
root: preacher
root: trench
root: extract
root: vow
root: sovereign
root: book
root: legend
root: pipe
root: demonstr
root: enlist
root: georgia
root: manufactur
root: run
root: button
root: joseph
root: attorney
root: ordain
root: embarrass
root: door
root: dinner
root: jail
root: coachman
root: heartili
root: row
root: cannon
root: jar
root: one
root: k
root: extend
root: journal
root: plant
root: assault
root: downward
root: bread
root: servic
root: straw
root: decreas
root: sew
root: soak
root: mass
root: colleg
root: jerri
root: glad
root: child
root: convuls
root: uniqu
root: entertain
root: haul
root: imp
root: trick
root: heat
root: boat
root: valley
root: rapidli
root: undo
root: superior
root: enclos
root: fifti
root: vainli
root: away
root: sheet
root: chill
root: china
root: ladi
root: duli
root: detect
root: curiou
root: propos
root: accompani
root: backward
root: drama
root: upstair
root: today
root: statut
root: spread
root: thrill
root: egypt
root: never
root: costum
root: tuck
root: recoveri
root: sunshin
root: esther
root: pronounc
root: acid
root: rite
root: reform
root: teach
root: protest
root: deer
root: overwhelm
root: quart
root: eyebrow
root: evil
root: transact
root: phase
root: chap
root: butcher
root: howev
root: mother
root: accord
root: agoni
root: deem
root: coach
root: sake
root: resist
root: union
root: recruit
root: villa
root: wink
root: store
root: game
root: stab
root: abil
root: offici
root: charlott
root: cover
root: convey
root: therein
root: memoir
root: doll
root: welfar
root: opportun
root: lock
root: experi
root: implor
root: raw
root: track
root: humili
root: advis
root: coward
root: hastili
root: light
root: duke
root: intoler
root: protector
root: literari
root: conscious
root: westward
root: slide
root: peru
root: indic
root: anthoni
root: start
root: commend
root: exit
root: express
root: enthusiast
root: mirror
root: religion
root: more
root: covet
root: charm
root: glass
root: staircas
root: wolf
root: strife
root: mischief
root: guidanc
root: disast
root: matthew
root: shallow
root: shout
root: partak
root: train
root: archbishop
root: highland
root: concert
root: punch
root: hunter
root: fairli
root: warrior
root: staid
root: pa
root: king
root: cours
root: zinc
root: oath
root: pop
root: samuel
root: concret
root: slay
root: presid
root: set
root: panic
root: peep
root: fowl
root: elaps
root: akin
root: harden
root: earl
root: cotton
root: eleven
root: venu
root: tie
root: relish
root: dull
root: growth
root: cave
root: pine
root: la
root: remembr
root: chancellor
root: roman
root: worri
root: lost
root: provid
root: pass
root: mountain
root: layer
root: florenc
root: present
root: unknown
root: surround
root: seek
root: apron
root: boss
root: permit
root: ho
root: twinkl
root: incap
root: properli
root: agreement
root: fortun
root: heavi
root: bacon
root: indispens
root: regist
root: remot
root: curs
root: miner
root: sharpli
root: consecr
root: sweetli
root: realis
root: ocean
root: hunt
root: resort
root: lessen
root: upper
root: hole
root: jamaica
root: discont
root: observ
root: duck
root: miss
root: ring
root: multipli
root: ranch
root: refug
root: grind
root: marvel
root: card
root: bounti
root: floor
root: bush
root: asylum
root: club
root: regular
root: l
root: cf
root: neg
root: flush
root: preach
root: drew
root: sat
root: capabl
root: duti
root: draw
root: famili
root: treasuri
root: extraordinari
root: fox
root: gladli
root: home
root: hazard
root: moistur
root: quaint
root: attract
root: remind
root: mat
root: listen
root: nine
root: shelter
root: promin
root: featur
root: shi
root: ani
root: abov
root: aim
root: republican
root: caus
root: stamp
root: shiver
root: lack
root: hut
root: abus
root: ridg
root: isol
root: procur
root: imperi
root: ward
root: graduat
root: result
root: pretenc
root: sturdi
root: greek
root: unconsci
root: caesar
root: imprison
root: academi
root: fellow
root: lap
root: accept
root: horrid
root: weari
root: elbow
root: amaz
root: pang
root: luck
root: retain
root: inspector
root: moment
root: conjectur
root: previous
root: creation
root: massiv
root: implement
root: harmoni
root: frantic
root: genuin
root: clemen
root: matur
root: thoroughli
root: unabl
root: mare
root: prompt
root: inquiri
root: orlean
root: old
root: crimin
root: hue
root: occup
root: spiritu
root: scent
root: sleep
root: hostess
root: poetic
root: readili
root: choke
root: etern
root: ditch
root: extra
root: flatter
root: exist
root: perpetu
root: lay
root: municip
root: syria
root: upright
root: raini
root: nois
root: d
root: watch
root: greatest
root: repay
root: deposit
root: yacht
root: familiar
root: stroke
root: sweden
root: indulg
root: involv
root: action
root: read
root: mere
root: jump
root: statesman
root: strength
root: inadequ
root: slipper
root: instal
root: nation
root: desk
root: critic
root: owner
root: ride
root: ix
root: persist
root: secur
root: rock
root: ago
root: squar
root: dictat
root: rule
root: anna
root: sphere
root: dissolv
root: drove
root: incur
root: friend
root: increas
root: australian
root: blade
root: enlarg
root: web
root: ghastli
root: reinforc
root: amend
root: sweetheart
root: stir
root: disdain
root: herald
root: menac
root: natur
root: favourit
root: swiftli
root: circuit
root: privileg
root: indefinit
root: guest
root: pull
root: slew
root: therefor
root: patienc
root: wax
root: plank
root: corn
root: base
root: oar
root: sparkl
root: soften
root: endang
root: sec
root: revers
root: angel
root: holiday
root: beach
root: cough
root: notion
root: soda
root: cage
root: jone
root: conscienti
root: argument
root: humour
root: s
root: prais
root: overhead
root: waiter
root: swing
root: access
root: thou
root: gift
root: waver
root: medit
root: thither
root: smooth
root: foam
root: tendenc
root: cherri
root: mostli
root: drown
root: battalion
root: norman
root: represent
root: flee
root: museum
root: dissip
root: anguish
root: percent
root: california
root: rel
root: antiqu
root: marshal
root: lightn
root: chees
root: gratifi
root: festiv
root: km
root: defianc
root: wick
root: stalk
root: vault
root: verili
root: renounc
root: ecclesiast
root: chain
root: facil
root: sometim
root: paul
root: withdraw
root: abraham
root: seiz
root: doom
root: declin
root: thorough
root: clatter
root: spontan
root: nowher
root: vile
root: benevol
root: fenc
root: household
root: gun
root: suspend
root: neglig
root: ghost
root: hate
root: claus
root: friendship
root: insur
root: patch
root: founder
root: juda
root: enorm
root: advantag
root: exhibit
root: picturesqu
root: memori
root: america
root: shame
root: regularli
root: cooper
root: superstit
root: afar
root: band
root: leav
root: lie
root: heav
root: compact
root: discours
root: exceed
root: thought
root: sandwich
root: remnant
root: frock
root: love
root: endless
root: journey
root: chapel
root: loung
root: intern
root: bench
root: wrong
root: twelv
root: heavenli
root: kitchen
root: possess
root: learn
root: aunt
root: hen
root: baker
root: serv
root: aspect
root: energet
root: survey
root: younger
root: essay
root: becom
root: conspicu
root: armour
root: parent
root: appl
root: page
root: shepherd
root: will
root: shortli
root: manifest
root: consciou
root: kitti
root: bonnet
root: dearest
root: tutor
root: bend
root: wist
root: writer
root: aloft
root: fair
root: twig
root: perish
root: cheat
root: sincer
root: commission
root: unnecessari
root: weigh
root: condit
root: exalt
root: tradit
root: handsom
root: sprinkl
root: luxuri
root: scheme
root: alien
root: purchas
root: exclus
root: suppress
root: arrang
root: region
root: mood
root: hood
root: pool
root: plea
root: drunk
root: novelti
root: smith
root: pardon
root: trader
root: provis
root: savag
root: perplex
root: clasp
root: motion
root: conform
root: cambridg
root: subsist
root: hit
root: cabl
root: system
root: vigil
root: thing
root: ascrib
root: batteri
root: reproach
root: scar
root: weav
root: color
root: leisur
root: hoist
root: occasion
root: pier
root: ting
root: debat
root: mouth
root: glitter
root: sultan
root: contain
root: corner
root: unworthi
root: thrive
root: driver
root: halfway
root: previou
root: finger
root: hurl
root: kneel
root: bottom
root: knee
root: tall
root: cavalri
root: loos
root: depress
root: malic
root: regret
root: robert
root: irregular
root: key
root: station
root: wise
root: cathedr
root: abl
root: lust
root: martin
root: meantim
root: forth
root: hush
root: censur
root: beauti
root: similar
root: earli
root: sceneri
root: enchant
root: habitu
root: devis
root: enrich
root: ensu
root: absent
root: ration
root: finer
root: condemn
root: alight
root: ice
root: respons
root: review
root: disord
root: oppress
root: distant
root: bachelor
root: speed
root: sent
root: spare
root: reveng
root: forgiv
root: rope
root: princ
root: lad
root: improv
root: dare
root: fr
root: simpl
root: lumber
root: wast
root: railway
root: frenzi
root: helpless
root: fight
root: charact
root: behind
root: mechan
root: each
root: murray
root: adult
root: bloodi
root: may
root: pet
root: payment
root: rubi
root: russian
root: butter
root: exercis
root: scorn
root: p
root: size
root: whatev
root: despair
root: furnish
root: heaven
root: profession
root: surfac
root: insan
root: scoundrel
root: ornament
root: johnni
root: maintain
root: milk
root: sweep
root: fanci
root: puff
root: pathet
root: guarante
root: shelf
root: plume
root: be
root: dumb
root: clearli
root: adjoin
root: devil
root: fine
root: rider
root: under
root: relay
root: assumpt
root: attribut
root: london
root: goal
root: metal
root: ti
root: former
root: also
root: mystic
root: africa
root: ponder
root: properti
root: panel
root: appli
root: jean
root: conveni
root: post
root: bath
root: hotel
root: bewild
root: thoma
root: bridl
root: saturday
root: treacheri
root: five
root: abod
root: doe
root: simon
root: colleagu
root: wi
root: board
root: glori
root: roll
root: parliament
root: scold
root: cant
root: anticip
root: greet
root: silli
root: none
root: aveng
root: execut
root: march
root: compulsori
root: dose
root: majesti
root: wipe
root: befal
root: stout
root: see
root: heroin
root: vicin
root: outsid
root: ripen
root: window
root: instruct
root: automobil
root: kinsman
root: refin
root: wring
root: sixteen
root: exquisit
root: revis
root: possibl
root: cushion
root: steadi
root: forev
root: coupl
root: hint
root: vanish
root: eagl
root: argu
root: nail
root: hasten
root: da
root: bigger
root: tragedi
root: promot
root: version
root: twin
root: appar
root: solomon
root: hast
root: feel
root: money
root: discipl
root: dirt
root: obstin
root: foliag
root: recognis
root: vale
root: leap
root: emphasi
root: mud
root: shrewd
root: blunder
root: materi
root: slope
root: repetit
root: breath
root: larger
root: david
root: can
root: chosen
root: breadth
root: stephen
root: egg
root: holland
root: depth
root: bed
root: pleasant
root: courag
root: belief
root: mail
root: endur
root: shew
root: theori
root: border
root: exagger
root: tho
root: skin
root: french
root: coars
root: frederick
root: crow
root: abomin
root: laughter
root: salari
root: continent
root: xiv
root: miseri
root: await
root: nelson
root: replac
root: challeng
root: lowest
root: juli
root: gentleman
root: non
root: rhyme
root: vienna
root: liquor
root: honesti
root: foot
root: automat
root: tourism
root: bake
root: sieg
root: polit
root: take
root: fast
root: faith
root: mo
root: conclus
root: twist
root: long
root: rare
root: repair
root: credit
root: wherefor
root: proport
root: visitor
root: eleph
root: remark
root: chang
root: wait
root: ambassador
root: flower
root: restless
root: naught
root: figur
root: advanc
root: packet
root: saint
root: restrict
root: philippin
root: lick
root: rough
root: holi
root: destruct
root: successor
root: punish
root: stump
root: yea
root: daisi
root: likewis
root: gasp
root: restaur
root: christma
root: plantat
root: rous
root: last
root: standard
root: grandeur
root: farm
root: italian
root: cordial
root: alley
root: billi
root: announc
root: gay
root: decid
root: earliest
root: decre
root: historian
root: hurt
root: kiss
root: difficult
root: enter
root: full
root: modif
root: eleg
root: era
root: let
root: landlord
root: aloud
root: afterward
root: geograph
root: mar
root: disadvantag
root: packag
root: exult
root: strike
root: justifi
root: rate
root: pirat
root: tint
root: flight
root: dollar
root: bound
root: hall
root: tiger
root: deplor
root: cane
root: guid
root: chicago
root: pole
root: handl
root: denounc
root: climb
root: occurr
root: cool
root: feed
root: trust
root: suffer
root: prize
root: acut
root: introduct
root: tribun
root: pacif
root: zeal
root: reef
root: inquisit
root: world
root: disappear
root: yoke
root: eu
root: detain
root: permiss
root: principl
root: clutch
root: seemingli
root: saw
root: sea
root: thief
root: pearl
root: hour
root: profit
root: adam
root: mixtur
root: sack
root: quiver
root: economi
root: rubber
root: arthur
root: suck
root: forg
root: tail
root: primit
root: research
root: innumer
root: swear
root: achiev
root: hot
root: fret
root: extinguish
root: jan
root: here
root: altar
root: tavern
root: thorn
root: perman
root: get
root: adher
root: defer
root: creat
root: neatli
root: torrent
root: thenc
root: at
root: flock
root: patient
root: flour
root: brother
root: bargain
root: blast
root: rent
root: insect
root: widow
root: product
root: architectur
root: slight
root: dealer
root: massachusett
root: solut
root: rich
root: delight
root: substanti
root: pain
root: overflow
root: singl
root: rogu
root: governor
root: anxiou
root: reckless
root: fun
root: cleans
root: save
root: salvat
root: deceas
root: dolli
root: provinc
root: often
root: forego
root: stammer
root: list
root: amiabl
root: ireland
root: histori
root: wed
root: deceit
root: insert
root: intellig
root: seventeen
root: tale
root: threshold
root: ohio
root: master
root: literatur
root: split
root: banker
root: galleri
root: launch
root: entitl
root: machin
root: obscur
root: sweat
root: daili
root: black
root: barn
root: beforehand
root: satellit
root: convert
root: primarili
root: rachel
root: comment
root: preliminari
root: financ
root: sublim
root: follow
root: merri
root: strong
root: chop
root: expir
root: snow
root: score
root: parlour
root: celesti
root: recollect
root: crown
root: creator
root: other
root: mend
root: horseback
root: sheer
root: virginia
root: ventur
root: impati
root: lydia
root: self
root: legislatur
root: turner
root: behalf
root: cement
root: cloud
root: sup
root: oh
root: composit
root: lawn
root: area
root: impass
root: wreck
root: vibrat
root: resolv
root: plough
root: supposit
root: who
root: extern
root: frenchman
root: duchess
root: manuscript
root: session
root: foster
root: prostrat
root: ethnic
root: sever
root: describ
root: crest
root: soft
root: jewish
root: bliss
root: redeem
root: male
root: librari
root: barren
root: titl
root: reader
root: obstacl
root: length
root: excit
root: stream
root: crave
root: impli
root: deadli
root: analog
root: enthusiasm
root: normal
root: inconsist
root: fit
root: fan
root: goat
root: funer
root: work
root: ignor
root: breed
root: sovereignti
root: do
root: hereaft
root: creep
root: conflict
root: divers
root: warn
root: nervou
root: beatric
root: balconi
root: slain
root: geographi
root: strand
root: applic
root: publicli
root: mule
root: fortress
root: singular
root: bent
root: batter
root: oliv
root: suffrag
root: landscap
root: murder
root: fieri
root: again
root: ill
root: frequent
root: conserv
root: know
root: prove
root: behav
root: nice
root: divert
root: rub
root: chariot
root: indi
root: arab
root: enforc
root: aliv
root: job
root: human
root: coincid
root: disappoint
root: ugli
root: marbl
root: loss
root: higher
root: collaps
root: conclud
root: stew
root: discourag
root: toe
root: climat
root: build
root: tip
root: postpon
root: horn
root: accomplish
root: induc
root: pleas
root: fugit
root: roar
root: alleg
root: settlement
root: due
root: ruth
root: loui
root: scout
root: marri
root: odd
root: dame
root: parallel
root: fade
root: vigour
root: model
root: utter
root: farmer
root: lesson
root: assist
root: mill
root: oblig
root: kin
root: colour
root: horseman
root: produc
root: paw
root: briefli
root: felt
root: defeat
root: spirit
root: hail
root: cite
root: barrier
root: displeas
root: pickl
root: mock
root: realiz
root: continu
root: fountain
root: group
root: dearli
root: invis
root: plain
root: stripe
root: victim
root: block
root: ancient
root: restrain
root: convent
root: labour
root: candl
root: curious
root: nt
root: switzerland
root: bring
root: injustic
root: intrud
root: gild
root: profess
root: cash
root: plunder
root: shook
root: netherland
root: clean
root: damn
root: hearti
root: ii
root: file
root: document
root: don
root: housekeep
root: shadowi
root: tabl
root: licens
root: ascertain
root: divis
root: prosper
root: owe
root: e
root: lone
root: dress
root: noth
root: event
root: loudli
root: basin
root: hunger
root: bare
root: dark
root: encount
root: separ
root: corps
root: neighbour
root: gross
root: villag
root: passiv
root: harm
root: sunset
root: moreov
root: european
root: bitterli
root: loyalti
root: inspect
root: lame
root: twilight
root: pleasantli
root: copper
root: goodby
root: grace
root: penetr
root: inferior
root: blend
root: sway
root: must
root: creed
root: dignifi
root: rippl
root: splendour
root: brace
root: entir
root: analysi
root: ne
root: youth
root: sermon
root: satisfactori
root: sheriff
root: eye
root: ralli
root: bean
root: yell
root: genu
root: awhil
root: seed
root: field
root: finish
root: market
root: inevit
root: commit
root: relief
root: saloon
root: switch
root: nobleman
root: momentari
root: unit
root: shudder
root: health
root: illustri
root: howard
root: spur
root: string
root: moor
root: bronz
root: wall
root: robin
root: concentr
root: correct
root: hand
root: fascin
root: commerc
root: satir
root: manag
root: problem
root: legion
root: decor
root: allianc
root: steamer
root: begin
root: sky
root: quit
root: recommend
root: stormi
root: onli
root: brethren
root: multitud
root: monoton
root: monstrou
root: john
root: hebrew
root: detest
root: variou
root: lieuten
root: injuri
root: slumber
root: commonwealth
root: plaster
root: resid
root: nomin
root: princess
root: luci
root: secondari
root: assur
root: asleep
root: prefer
root: fund
root: misfortun
root: est
root: provinci
root: william
root: vital
root: low
root: soon
root: citi
root: staff
root: bull
root: fourteen
root: flit
root: wednesday
root: arrest
root: mould
root: righteou
root: anyway
root: succeed
root: surpris
root: captain
root: budget
root: confront
root: steal
root: powder
root: dock
root: meek
root: hideou
root: dryden
root: feminin
root: lover
root: adjust
root: religi
root: nephew
root: waistcoat
root: strang
root: given
root: wale
root: billion
root: explan
root: ma
root: graciou
root: hat
root: team
root: lose
root: hum
root: flora
root: nobil
root: therebi
root: hundr
root: poni
root: vengeanc
root: lurk
root: path
root: au
root: remonstr
root: cheap
root: stern
root: righteous
root: disciplin
root: write
root: pistol
root: want
root: host
root: weather
root: strew
root: unanim
root: lili
root: dew
root: vein
root: medicin
root: ministri
root: plu
root: all
root: not
root: telegraph
root: shrub
root: centuri
root: pie
root: dat
root: borrow
root: partial
root: vex
root: blow
root: brazil
root: down
root: easi
root: anxieti
root: fring
root: order
root: yard
root: breast
root: pave
root: though
root: cure
root: motor
root: fault
root: rev
root: eager
root: contempt
root: regain
root: offenc
root: style
root: dad
root: commiss
root: atom
root: spend
root: compani
root: dougla
root: stay
root: free
root: downstair
root: beget
root: overthrow
root: grade
root: haughti
root: reappear
root: ray
root: display
root: dawn
root: x
root: legal
root: ate
root: qualifi
root: poem
root: girl
root: awaken
root: consum
root: suppli
root: magnific
root: throat
root: partner
root: fairi
root: devot
root: hair
root: majest
root: adapt
root: groom
root: lot
root: incom
root: manli
root: constitu
root: typic
root: modern
root: deed
root: reveal
root: near
root: substitut
root: clench
root: alert
root: purs
root: dispens
root: revenu
root: send
root: respond
root: prolong
root: monk
root: claw
root: contrari
root: bee
root: bind
root: scratch
root: panama
root: tenderli
root: purpos
root: monarch
root: nod
root: yolk
root: pig
root: har
root: decidedli
root: paus
root: meet
root: strengthen
root: blunt
root: solid
root: lime
root: inflict
root: suffic
root: befor
root: dim
root: understand
root: transit
root: petit
root: cigarett
root: depend
root: o
root: earlier
root: recess
root: function
root: beef
root: trial
root: sleepi
root: uncommon
root: excel
root: lordship
root: stake
root: melodi
root: creatur
root: modest
root: prose
root: interpol
root: men
root: symptom
root: circul
root: million
root: confidenti
root: reluct
root: come
root: probabl
root: map
root: attir
root: excus
root: urg
root: break
root: compress
root: apprehens
root: quietli
root: believ
root: decemb
root: minut
root: disturb
root: trim
root: hungri
root: sunlight
root: wade
root: russia
root: eighteen
root: fiction
root: carolin
root: crude
root: trot
root: fool
root: descent
root: advers
root: blot
root: till
root: heroic
root: bottl
root: toil
root: crazi
root: convers
root: pollut
root: shrink
root: aid
root: interpos
root: southern
root: f
root: circular
root: paradis
root: rome
root: proof
root: tri
root: alli
root: torment
root: some
root: desir
root: career
root: colonel
root: butler
root: huge
root: hurriedli
root: cathol
root: lightli
root: merci
root: butterfli
root: splash
root: northward
root: same
root: mose
root: margin
root: surpass
root: pope
root: diamond
root: use
root: complaint
root: jurisdict
root: wild
root: coral
root: demon
root: moon
root: confirm
root: carriag
root: faint
root: magnet
root: harp
root: bird
root: offspr
root: remors
root: orphan
root: repeatedli
root: inclin
root: sail
root: complet
root: shift
root: kick
root: ridicul
root: foremost
root: interior
root: ideal
root: neutral
root: salut
root: orient
root: rug
root: tin
root: marqui
root: romanc
root: grey
root: loyal
root: renew
root: agricultur
root: wagon
root: defect
root: requisit
root: contrast
root: strap
root: agreeabl
root: select
root: ingeni
root: offic
root: robe
root: loath
root: georg
root: vain
root: serious
root: asham
root: justic
root: endeavor
root: witch
root: wherev
root: rais
root: roast
root: insens
root: sarah
root: travel
root: grain
root: iv
root: street
root: grasp
root: farther
root: emperor
root: sens
root: rotten
root: tomorrow
root: andrew
root: slowli
root: river
root: jimmi
root: somebodi
root: shield
root: question
root: somehow
root: glimmer
root: realli
root: southwest
root: flavor
root: port
root: fright
root: salli
root: church
root: sauc
root: machineri
root: inward
root: drop
root: lofti
root: glisten
root: albert
root: fals
root: judici
root: dick
root: pattern
root: thumb
root: contact
root: tyrant
root: domest
root: zealand
root: slow
root: invad
root: repos
root: malici
root: rest
root: across
root: hereditari
root: earnest
root: scatter
root: mistress
root: vari
root: physician
root: fond
root: usher
root: precipit
root: inscript
root: gossip
root: stride
root: impud
root: expect
root: second
root: environ
root: trade
root: fever
root: prospect
root: bodi
root: over
root: further
root: situat
root: contest
root: januari
root: mercuri
root: contribut
root: young
root: thirteen
root: won
root: conceit
root: anchor
root: alway
root: horac
root: enough
root: gain
root: sentiment
root: intend
root: thin
root: assembl
root: wide
root: snap
root: abb
root: curv
root: shake
root: sam
root: particular
root: awak
root: constant
root: slap
root: counsel
root: give
root: ye
root: two
root: anywher
root: hell
root: thereof
root: mistak
root: helen
root: aaron
root: radiant
root: mile
root: bonapart
root: flutter
root: defin
root: chemic
root: accommod
root: vote
root: smile
root: expand
root: heal
root: highway
root: customari
root: brick
root: treasur
root: squadron
root: desertif
root: neighbourhood
root: throw
root: defens
root: unesco
root: summit
root: chimney
root: uncl
root: grandfath
root: stupid
root: newspap
root: bullet
root: acr
root: extens
root: infantri
root: squir
root: quiet
root: sect
root: en
root: locat
root: centr
root: prowess
root: east
root: consumpt
root: mainli
root: rat
root: itali
root: glare
root: word
root: bother
root: pepper
root: exert
root: pair
root: univers
root: musician
root: consul
root: conquer
root: virtuou
root: sight
root: shrill
root: overpow
root: whirl
root: fax
root: major
root: swamp
root: decay
root: entri
root: interrupt
root: addit
root: vision
root: piti
root: melancholi
root: flame
root: compar
root: inquir
root: bade
root: bluff
root: prison
root: immedi
root: buy
root: pot
root: feverish
root: util
root: dimens
root: coven
root: privat
root: territori
root: effort
root: join
root: fur
root: factor
root: contract
root: chicken
root: worm
root: pick
root: renown
root: oxid
root: jolli
root: resembl
root: knife
root: coffe
root: sympathi
root: ivori
root: nourish
root: sir
root: cent
root: formula
root: reduct
root: berlin
root: concept
root: constanc
root: cultur
root: toler
root: bank
root: solemn
root: carbon
root: cord
root: candi
root: brain
root: sixth
root: cabin
root: born
root: skirt
root: scale
root: portrait
root: task
root: saviour
root: promptli
root: storm
root: poor
root: parti
root: air
root: swift
root: moss
root: fatal
root: aboard
root: lazi
root: resolut
root: gate
root: chiefli
root: regiment
root: confus
root: bruis
root: futur
root: discoveri
root: flank
root: ceas
root: lewi
root: beneath
root: camp
root: pound
root: depriv
root: clever
root: jordan
root: foolish
root: reassur
root: import
root: disgrac
root: tuesday
root: certainli
root: after
root: individu
root: michael
root: pressur
root: led
root: hug
root: call
root: orat
root: egyptian
root: novemb
root: capac
root: despatch
root: evid
root: worker
root: tide
root: strict
root: satan
root: even
root: warrant
root: repress
root: confeder
root: parliamentari
root: within
root: sunday
root: state
root: bay
root: wilt
root: affair
root: leagu
root: queer
root: rejoin
root: inherit
root: vest
root: invalid
root: herbert
root: prime
root: pilgrim
root: polish
root: scream
root: hang
root: onion
root: qualiti
root: brutal
root: wander
root: telephon
root: forc
root: export
root: pray
root: movement
root: hoars
root: wrath
root: either
root: temper
root: dream
root: gaze
root: yearn
root: perform
root: attitud
root: priest
root: persever
root: feder
root: napl
root: india
root: bunch
root: dart
root: theatr
root: choic
root: undoubtedli
root: sung
root: beat
root: cast
root: paragraph
root: say
root: trifl
root: neighborhood
root: rebel
root: neglect
root: appear
root: calam
root: ob
root: sulphur
root: avers
root: crowd
root: mathemat
root: exasper
root: daylight
root: print
root: wire
root: clay
root: sport
root: link
root: kindl
root: breez
root: bang
root: drip
root: vaniti
root: sheep
root: proper
root: princip
root: turkish
root: indian
root: lighter
root: quicken
root: campaign
root: chairman
root: traffic
root: winter
root: bead
root: ten
root: bitter
root: desol
root: care
root: move
root: suppos
root: equival
root: evolut
root: fling
root: par
root: betwixt
root: velvet
root: mansion
root: press
root: adopt
root: arnold
root: gallant
root: choos
root: favor
root: peg
root: refus
root: peter
root: decis
root: sullen
root: immort
root: irresist
root: tone
root: jealousi
root: hardi
root: linger
root: washington
root: pretti
root: seal
root: utterli
root: father
root: grate
root: cultiv
root: keenli
root: blaze
root: furnitur
root: arabia
root: signal
root: cat
root: rememb
root: emot
root: embark
root: declar
root: tempera
root: loud
root: pillar
root: harri
root: sandi
root: specimen
root: agenc
root: deleg
root: diana
root: obstruct
root: corrupt
root: pile
root: appeal
root: tempt
root: enlighten
root: live
root: idea
root: almighti
root: english
root: equal
root: navig
root: dale
root: cri
root: accus
root: too
root: dump
root: appetit
root: doubt
root: legitim
root: le
root: brighten
root: prussia
root: dove
root: terrac
root: substanc
root: revolt
root: flat
root: ahead
root: readi
root: creek
root: fanni
root: dirti
root: remov
root: fee
root: despit
root: loosen
root: pure
root: direct
root: scarc
root: rise
root: absolut
root: commerci
root: emin
root: particip
root: forest
root: imaginari
root: reason
root: rose
root: submarin
root: royal
root: attempt
root: canon
root: rosi
root: happili
root: six
root: somewher
root: exchang
root: beam
root: recit
root: strive
root: laboratori
root: small
root: expedi
root: smite
root: scrap
root: defi
root: seren
root: foe
root: illustr
root: particl
root: pack
root: outrag
root: nut
root: portug
root: maritim
root: haunt
root: eve
root: irrit
root: alter
root: honestli
root: champion
root: exil
root: land
root: wife
root: ceil
root: worthless
root: banner
root: admit
root: canva
root: roof
root: gestur
root: night
root: requir
root: coffin
root: lamb
root: lucki
root: vertic
root: sharp
root: newli
root: palm
root: garden
root: teaspoon
root: ha
root: engrav
root: april
root: passag
root: tangl
root: grope
root: expos
root: quarrel
root: enquir
root: war
root: seem
root: remaind
root: steward
root: asia
root: monument
root: accent
root: railroad
root: henc
root: interven
root: new
root: aught
root: practis
root: liberti
root: coordin
root: blossom
root: napoleon
root: enact
root: sugar
root: pilot
root: pocket
root: steer
root: squeez
root: deserv
root: no
root: simplic
root: ground
root: role
root: modesti
root: york
root: alarm
root: drill
root: emigr
root: domin
root: canal
root: impuls
root: congreg
root: atmospher
root: morri
root: cloak
root: queen
root: calmli
root: tax
root: anoth
root: goddess
root: intent
root: overview
root: inconveni
root: earnestli
root: omit
root: closer
root: glove
root: saxon
root: spoke
root: bolt
root: aristocrat
root: compris
root: pierc
root: socialist
root: deceiv
root: clap
root: babe
root: habit
root: nurs
root: search
root: submiss
root: banish
root: essenti
root: beggar
root: u
root: persian
root: bit
root: object
root: peasant
root: tomb
root: imperfect
root: orchard
root: erect
root: nan
root: bodili
root: teas
root: satin
root: complex
root: crust
root: retort
root: rid
root: fuel
root: recov
root: belgium
root: compli
root: sire
root: flood
root: empti
root: discharg
root: globe
root: slaughter
root: dispers
root: seaman
root: loom
root: quest
root: welcom
root: close
root: plenti
root: grant
root: cuba
root: immens
root: revel
root: laps
root: speci
root: bout
root: diplomat
root: imit
root: appreci
root: shrug
root: risk
root: disregard
root: cab
root: eyelid
root: lectur
root: delic
root: simpli
root: thirti
root: wreath
root: warmli
root: mild
root: decad
root: up
root: straighten
root: year
root: extinct
root: spaniard
root: thank
root: slaveri
root: like
root: tool
root: repuls
root: luncheon
root: skull
root: troubl
root: davi
root: overtak
root: shower
root: mantl
root: smart
root: empir
root: wrist
root: most
root: wrap
root: admiss
root: stori
root: nativ
root: injur
root: bright
root: shave
root: diminish
root: answer
root: departur
root: realiti
root: latest
root: voluntari
root: sorrow
root: outlin
root: crystal
root: chanceri
root: eldest
root: elect
root: taylor
root: breathless
root: institut
root: pea
root: interview
root: keen
root: progress
root: nichola
root: pour
root: guy
root: on
root: actual
root: chin
root: foreign
root: speaker
root: honest
root: protect
root: nee
root: apparatu
root: wind
root: carrier
root: boil
root: invent
root: mutual
root: slave
root: assert
root: ass
root: grand
root: prepar
root: casual
root: dc
root: wood
root: slender
root: peer
root: suspicion
root: personag
root: inn
root: tens
root: dens
root: vivid
root: nay
root: devour
root: larg
root: crumb
root: captiv
root: crew
root: accident
root: horizon
root: index
root: babi
root: minor
root: bark
root: crisi
root: cottag
root: healthi
root: leaf
root: mingl
root: brute
root: mademoisel
root: best
root: discu
root: steel
root: rage
root: judgment
root: tray
root: y
root: chocol
root: aggress
root: crash
root: badli
root: sole
root: tree
root: writ
root: satisfi
root: planet
root: conduct
root: class
root: headquart
root: top
root: lower
root: plagu
root: formid
root: vehement
root: humbl
root: beseech
root: destitut
root: walk
root: freedom
root: snake
root: anim
root: fortifi
root: reliev
root: consent
root: glide
root: patent
root: distress
root: edg
root: treacher
root: gospel
root: doubtless
root: degre
root: tract
root: suitabl
root: civil
root: lawyer
root: energi
root: van
root: tenant
root: spectat
root: current
root: marin
root: humil
root: ham
root: rib
root: proce
root: occas
root: streak
root: dome
root: afternoon
root: visibl
root: eat
root: god
root: nw
root: crouch
root: negro
root: japan
root: startl
root: applaus
root: assent
root: perfum
root: fix
root: drift
root: slightli
root: innoc
root: timber
root: surgeon
root: deputi
root: nigh
root: britain
root: consult
root: porter
root: snatch
root: rector
root: cautiou
root: pale
root: emancip
root: school
root: tent
root: shoe
root: width
root: avoid
root: blake
root: hide
root: sensat
root: enabl
root: bruce
root: damp
root: rather
root: pleasur
root: femal
root: spectacl
root: lunch
root: shatter
root: piou
root: approv
root: hinder
root: septemb
root: sneer
root: better
root: hurri
root: offer
root: outward
root: first
root: polici
root: advertis
root: vinegar
root: hardship
root: midst
root: minist
root: confer
root: onc
root: bosom
root: still
root: smash
root: fork
root: outer
root: den
root: fourth
root: prefac
root: conspir
root: rebellion
root: power
root: unhappi
root: philosophi
root: fireplac
root: brandi
root: illus
root: void
root: torch
root: trail
root: wit
root: support
root: dainti
root: throb
root: furi
root: commenc
root: pink
root: otherwis
root: make
root: assail
root: smoke
root: heel
root: speak
root: clock
root: unnatur
root: avow
root: interfer
root: t
root: main
root: essenc
root: discuss
root: crippl
root: vi
root: molli
root: tank
root: manhood
root: propheci
root: drug
root: end
root: vine
root: greater
root: legisl
root: plainli
root: peel
root: confess
root: subsequ
root: armchair
root: amount
root: proposit
root: sleev
root: autumn
root: ruin
root: lent
root: clergi
root: mysteri
root: em
root: whisper
root: engag
root: glow
root: leather
root: influenc
root: indiffer
root: digest
root: si
root: destin
root: now
root: bill
root: stair
root: such
root: aris
root: comparison
root: brood
root: transport
root: spin
root: remedi
root: repel
root: sun
root: rightli
root: plot
root: sure
root: stiff
root: ant
root: elizabeth
root: necess
root: mexico
root: oppos
root: examin
root: contriv
root: phrase
root: uncomfort
root: tramp
root: defend
root: net
root: despot
root: almost
nsquared time:5.299987
total time:6.564752
No preview for this file type
......@@ -2,16 +2,13 @@
#include <stdlib.h>
#include <dirent.h>
#include <time.h>
#define RIVSIZE 5000
#define RIVSIZE 50000
#define CACHESIZE 0
#define NONZEROS 2
#define EPSILON 0.8
#define MINPOINTS 15
#define EPSILON 0.95
#define MINPOINTS 20
#define UNCHECKED 0
#define NOISE -1
#define MINSIZE 3000
#include "RIVtools.h"
......@@ -21,18 +18,18 @@ struct DBnode{
int indexCount;
int status;
}*DBset;
void DBdive(int C, int i);
void directoryToL2s(char *rootString, sparseRIV** fileRIVs, int *fileCount);
int main(int argc, char *argv[]){
clock_t begintotal = clock();
int fileCount = 0;
lexOpen("/run/media/etcart/UUI/lexicon");
lexOpen("/home/drbob/Documents/lexicon8-50");
sparseRIV *fileRIVs = (sparseRIV*) malloc(1*sizeof(sparseRIV));
char rootString[2000];
if(argc <2){
if(argc <2){
printf("give me a directory");
return 1;
}
......@@ -41,7 +38,7 @@ int main(int argc, char *argv[]){
directoryToL2s(rootString, &fileRIVs, &fileCount);
printf("fileCount: %d\n", fileCount);
sparseRIV* fileRIVs_slider = fileRIVs;
sparseRIV* fileRIVs_stop = fileRIVs+fileCount;
DBset = malloc(fileCount*sizeof(struct DBnode));
......@@ -53,33 +50,31 @@ int main(int argc, char *argv[]){
(*DBset_slider).indexCount = 0;
(*DBset_slider++).status = 0;
fileRIVs_slider++;
}
free(fileRIVs);
clock_t beginnsquared = clock();
float cosine;
denseRIV baseDense;
baseDense.values = malloc(RIVSIZE*sizeof(int));
for(int i=0; i<fileCount; i++){
memset(baseDense.values, 0, RIVSIZE*sizeof(int));
baseDense.values = addS2D(baseDense.values, DBset[i].RIV);
baseDense.magnitude = DBset[i].RIV.magnitude;
for(int j=i+1; j<fileCount; j++){
cosine = cosCompare(baseDense, DBset[j].RIV);
if(cosine>EPSILON){
DBset[i].indexes = realloc(DBset[i].indexes, (DBset[i].indexCount+1)*sizeof(int));
DBset[i].indexes[DBset[i].indexCount++] = j;
DBset[j].indexes = realloc(DBset[j].indexes, (DBset[j].indexCount+1)*sizeof(int));
DBset[j].indexes[DBset[j].indexCount++] = i;
}
}
}
......@@ -94,32 +89,32 @@ int main(int argc, char *argv[]){
DBset[i].status = C;
DBdive(C, i);
}
clock_t endnsquared = clock();
double time = (double)(endnsquared - beginnsquared) / CLOCKS_PER_SEC;
printf("\nnsquared time:%lf\n\n", time);
clock_t endtotal = clock();
double time_spent = (double)(endtotal - begintotal) / CLOCKS_PER_SEC;
printf("total time:%lf\n\n", time_spent);
return 0;
}
void DBdive(int C, int i){
printf("starting at: %s\n", DBset[i].RIV.name);
printf("root: %s\n", DBset[i].RIV.name);
struct DBnode *DBnet = malloc(sizeof(struct DBnode));
DBnet[0] = DBset[i];
int nodeCount = 1;
for(int j=0; j<nodeCount; j++){
for(int k=0; k<DBnet[j].indexCount;k++){
int index = DBnet[j].indexes[k];
if(DBset[index].status) continue;
if(DBset[index].status>0) continue;
printf(">>%s\n", DBset[index].RIV.name);
DBset[index].status = C;
if(DBset[index].indexCount> MINPOINTS){
DBnet = realloc(DBnet, (nodeCount+1)*sizeof(struct DBnode));
printf("diving into: %s\n", DBset[index].RIV.name);
DBnet[nodeCount++] = DBset[index];
}
}
......@@ -132,30 +127,28 @@ void directoryToL2s(char *rootString, sparseRIV** fileRIVs, int *fileCount){
char pathString[2000];
DIR *directory;
struct dirent *files = 0;
if(!(directory = opendir(rootString))){
printf("location not found, %s\n", rootString);
return;
}
while((files=readdir(directory))){
if(*(files->d_name) == '.') continue;
if(files->d_type == DT_DIR){
strcpy(pathString, rootString);
strcat(pathString, files->d_name);
strcat(pathString, "/");
directoryToL2s(pathString, fileRIVs, fileCount);
}
denseRIV temp = lexPull(files->d_name);
if(*temp.frequency >2000){
if(*temp.frequency >MINSIZE){
(*fileRIVs) = (sparseRIV*)realloc((*fileRIVs), ((*fileCount)+1)*sizeof(sparseRIV));
(*fileRIVs)[(*fileCount)] = normalize(temp, 500);
strcpy((*fileRIVs)[(*fileCount)].name, files->d_name);
(*fileCount)++;
}
......
#ifndef RIVLOWER_H_
#define RIVLOWER_H_
#include <stdio.h>
......@@ -313,9 +314,9 @@ void lexOpen(char* lexName){
strcpy(RIVKey.lexName, lexName);
/* open a slot at least large enough for worst case handling of
* sparse to dense conversion. may be enlarged by filetoL2 functions */
signal(11, signalSecure);
for(int i=1; i<20; i++){
signal(i, signalSecure);
}
/* open a slot for a cache of dense RIVs, optimized for frequent accesses */
......
#ifndef RIVLOWER_H_
#define RIVLOWER_H_
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <unistd.h>
#include <math.h>
#include <sys/stat.h>
#include <sys/types.h>
/* RIVSIZE macro defines the dimensionality off the RIVs we will use
* 25000 is the standard, but can be redefined specifically
*/
#ifndef RIVSIZE
#define RIVSIZE 25000
#endif
#if RIVSIZE<0
#error "RIVSIZE must be a positive number (preferably a large positive)"
#endif
/* NONZeros macro defines the number of non-zero values that will be generated
* for any level one (barcode) RIV. 2 is simple and lightweight to begin
*/
#ifndef NONZEROS
#define NONZEROS 2
#endif
#if NONZEROS%2 || NONZEROS<1
#error "NONZEROS must be an even, greater than 0 number"
#endif
/* CACHESIZE macro defines the number of RIVs the system will cache.
* a larger cache means more memory consumption, but will also be significantly
* faster in aggregation and reading applications. doesn't affect systems
* that do not use lexpull/push
*/
#ifndef CACHESIZE
#define CACHESIZE 20
#endif
#if CACHESIZE<0
#error "CACHESIZE cannot be a negative number"
#endif
/* the size of the tempBlock used in consolidation and implicit RIVs */
#define TEMPSIZE 3*RIVSIZE
/* the sparseRIV is a RIV form optimized for RIVs that will be mostly 0s
* as this is often an ideal case, it is adviseable as the default
* unless we are doing long term RIV aggregation.
* specifically, a sparseRIV contains a pair of arrays,
* containing locations and values, where pairs are found in like array
* indices.
*/
typedef struct{
char name[100];
int *values;
int *locations;
size_t count;
int frequency;
double magnitude;
int boolean;
int contextSize;
}sparseRIV;
/* the denseRIV is a RIV form optimized for overwhelmingly non-0 vectors
* this is rarely the case, but its primary use is for performing vector
* math, as comparisons and arithmetic between vectors are ideally
* performed between sparse and dense (hetero-arithmetic)
*/
typedef struct{
char name[100];
int* values;
int* frequency;
double magnitude;
int cached;
int *contextSize;
}denseRIV;
/*RIVKey, holds global variables used under the hood, primarily for the lexicon
* it also holds a "temp block" that will be used by the dense to sparse
* conversion and implicit RIV aggregation
*/
struct RIVData{
int h_tempBlock[TEMPSIZE];
int tempSize;
char lexName[255];
denseRIV RIVCache[CACHESIZE];
}static RIVKey;
/* lexOpen is called to "open the lexicon", setting up for later calls to
* lexPush and lexPull. if the lexicon has not been opened before calls
* to these functions, their behavior can be unpredictable, most likely crashing
*/
void lexOpen();
/* lexClose should always be called after the last lex push or lex pull call
* if the lexicon is left open, some vector data may be lost due to
* un-flushed RIV cache
*/
void lexClose();
/*consolidateD2S takes a denseRIV value-set input, and returns a sparse RIV with
* all 0s removed. it does not automatically carry metadata, which must be assigned
* to a denseRIV after the fact. often denseRIVs are only temporary, and don't
* contain any metadata
*/
sparseRIV consolidateD2S(int *denseInput); //#TODO fix int*/denseRIV confusion
/* makeSparseLocations must be called repeatedly in the processing of a
* file to produce a series of locations from the words of the file
* this produces an "implicit" RIV which can be used with the mapI2D function
* to create a denseRIV.
*/
void makeSparseLocations(unsigned char* word, int *seeds, size_t seedCount);
/* fLexPush pushes the data contained in a denseRIV out to a lexicon file,
* saving it for long-term aggregation. function is called by "lexPush",
* which is what users should actually use. lexPush, unlike fLexPush,
* has cache logic under the hood for speed and harddrive optimization
*/
int fLexPush(denseRIV RIVout);
/* flexPull pulls data directly from a file and converts it (if necessary)
* to a denseRIV. function is called by "lexPull" which is what users
* should actually use. lexPull, unlike FlexPull, has cache logic under
* the hood for speed and harddrive optimization
*/
denseRIV fLexPull(FILE* lexWord);
/* creates a standard seed from the characters in a word, hopefully unique */
int wordtoSeed(unsigned char* word);
/* mapI2D maps an "implicit RIV" that is, an array of index values,
* arranged by chronological order of generation (as per makesparseLocations)
* it assigns, in the process of mapping, values according to ordering
*/
int* mapI2D(int *locations, size_t seedCount);
/* highly optimized method for adding vectors. there is no method
* included for adding D2D or S2S, as this system is faster-enough
* to be more than worth using
*/
int* addS2D(int* destination, sparseRIV input);
/*
sparseRIV consolidateI2SIndirect(int *implicit, size_t valueCount);
sparseRIV consolidateI2SDirect(int *implicit, size_t valueCount);
* consolidate I2S is temporarily deprecated. may be brought back.
* in tandem they are much faster, but less careful with RAM */
/* caheDump flushes the RIV cache out to relevant files, backing up all
* data. this is called by the lexClose and signalSecure functions
*/
int cacheDump();
/* adds all elements of an implicit RIV (a sparseRIV represented without values)
* to a denseRIV. used by the file2L2 functions in aggregating a document vector
*/
int* addI2D(int* destination, int* locations, size_t seedCount);
/* allocates a denseRIV filled with 0s
*/
denseRIV denseAllocate();
/* redefines signal behavior to protect cached data against seg-faults etc*/
void signalSecure(int signum);
/* begin definitions */
int* addS2D(int* destination, sparseRIV input){// #TODO fix destination parameter vs calloc of destination
int *locations_slider = input.locations; int *values_slider = input.values;
int *locations_stop = locations_slider+input.count;
/* apply values at an index based on locations */
while(locations_slider<locations_stop){
destination[*locations_slider] += *values_slider;
locations_slider++;
values_slider++;
}
return destination;
}
int* mapI2D(int *locations, size_t valueCount){// #TODO fix destination parameter vs calloc of destination
int *destination = (int*)calloc(RIVSIZE,sizeof(int));
int *locations_slider = locations;
int *locations_stop = locations_slider+valueCount;
/*apply values +1 or -1 at an index based on locations */
while(locations_slider<locations_stop){
destination[*locations_slider] +=1;
locations_slider++;
destination[*locations_slider] -= 1;
locations_slider++;
}
return destination;
}
int* addI2D(int* destination, int *locations, size_t valueCount){// #TODO fix destination parameter vs calloc of destination
int *locations_slider = locations;
int *locations_stop = locations_slider+valueCount;
/*apply values +1 or -1 at an index based on locations */
while(locations_slider<locations_stop){
destination[*locations_slider] +=1;
locations_slider++;
destination[*locations_slider] -= 1;
locations_slider++;
}
return destination;
}
/*
sparseRIV consolidateI2SIndirect(int *implicit, size_t valueCount){
int *denseTemp = mapI2D(implicit, valueCount);
sparseRIV sparseOut = consolidateD2S(denseTemp);
free(denseTemp);
return sparseOut;
}
sparseRIV consolidateI2SDirect(int *implicit, size_t valueCount){
sparseRIV sparseOut;
int *locationsTemp = RIVKey.h_tempBlock+RIVSIZE;
int *valuesTemp = RIVKey.h_tempBlock+2*RIVSIZE;
sparseOut.count = 0;
int add = 1;
int found;
for(int i=0; i<valueCount; i++){
found = 0;
for(int j=0; j<sparseOut.count; j++){
if(implicit[i] == locationsTemp[j]){
valuesTemp[i] += add;
add *= -1;
found = 1;
}
}
if(!found){
locationsTemp[sparseOut.count] = implicit[i];
valuesTemp[sparseOut.count] = add;
sparseOut.count++;
add*= -1;
}
}
sparseOut.locations = (int*)malloc(2*sparseOut.count*sizeof(int));
sparseOut.values = sparseOut.locations+sparseOut.count;
memcpy(sparseOut.locations, locationsTemp, sparseOut.count*sizeof(int));
memcpy(sparseOut.values, valuesTemp, sparseOut.count*sizeof(int));
return sparseOut;
}*/
sparseRIV consolidateD2S(int *denseInput){
sparseRIV output;
output.count = 0;
/* key/value pairs will be loaded to a worst-case sized temporary slot */
int* locations = RIVKey.h_tempBlock+RIVSIZE;
int* values = locations+RIVSIZE;
int* locations_slider = locations;
int* values_slider = values;
for(int i=0; i<RIVSIZE; i++){
/* act only on non-zeros */
if(denseInput[i]){
/* assign index to locations */
*(locations_slider++) = i;
/* assign value to values */
*(values_slider++) = denseInput[i];
/* track size of forming sparseRIV */
output.count++;
}
}
/* a slot is opened for the locations/values pair */
output.locations = (int*) malloc(output.count*2*sizeof(int));
if(!output.locations){
printf("memory allocation failed"); //*TODO enable fail point knowledge and security
}
/* copy locations values into opened slot */
memcpy(output.locations, locations, output.count*sizeof(int));
output.values = output.locations + output.count;
/* copy values into opened slot */
memcpy(output.values, values, output.count*sizeof(int));
return output;
}
void lexOpen(char* lexName){
/* RIVKey.I2SThreshold = sqrt(RIVSIZE);*/ //deprecate?
struct stat st;
if (stat(lexName, &st) == -1) {
mkdir(lexName, 0777);
}
strcpy(RIVKey.lexName, lexName);
/* open a slot at least large enough for worst case handling of
* sparse to dense conversion. may be enlarged by filetoL2 functions */
signal(11, signalSecure);
/* open a slot for a cache of dense RIVs, optimized for frequent accesses */
memset(RIVKey.RIVCache, 0, sizeof(denseRIV)*CACHESIZE);
}
void lexClose(){
if(cacheDump()){
puts("cache dump failed, some lexicon data was lost");
}
}
int wordtoSeed(unsigned char* word){
int i=0;
int seed = 0;
while(*word){
/* left-shift 5 each time *should* make seeds unique to words
* this means letters are taken as characters counted in base 32, which
* should be large enough to hold all english characters plus a few outliers
* */
seed += (*(word))<<(i*5);
word++;
i++;
}
return seed;
}
void makeSparseLocations(unsigned char* word, int *locations, size_t count){
locations+=count;
srand(wordtoSeed(word));
int *locations_stop = locations+NONZEROS;
while(locations<locations_stop){
/* unrolled for speed, guaranteed to be an even number of steps */
*locations = rand()%RIVSIZE;
locations++;
*locations = rand()%RIVSIZE;
locations++;
}
return;
}
int fLexPush(denseRIV RIVout){
char pathString[200] = {0};
/* word data will be placed in a (new?) file under the lexicon directory
* in a file named after the word itself */
sprintf(pathString, "%s/%s", RIVKey.lexName, RIVout.name);
FILE *lexWord = fopen(pathString, "wb");
if(!lexWord){
printf("lexicon push has failed for word: %s\nconsider cleaning inputs", pathString);
return 1;
}
sparseRIV temp = consolidateD2S(RIVout.values);
if(temp.count<(RIVSIZE/2)){
/* smaller stored as sparse vector */
fwrite(&temp.count, 1, sizeof(size_t), lexWord);
fwrite(RIVout.frequency, 1, sizeof(int), lexWord);
fwrite(RIVout.contextSize, 1, sizeof(int), lexWord);
fwrite(&RIVout.magnitude, 1, sizeof(float), lexWord);
fwrite(temp.locations, temp.count, sizeof(int), lexWord);
fwrite(temp.values, temp.count, sizeof(int), lexWord);
// printf("%s, writing as sparse, frequency: %d", RIVout.name, *RIVout.frequency);
}else{
/* saturation is too high, better to store dense */
/* there's gotta be a better way to do this */
temp.count = 0;
fwrite(&temp.count, 1, sizeof(size_t), lexWord);
fwrite(RIVout.frequency, 1, sizeof(int), lexWord);
fwrite(RIVout.contextSize, 1, sizeof(int), lexWord);
fwrite(&RIVout.magnitude, 1, sizeof(float), lexWord);
fwrite(RIVout.values, RIVSIZE, sizeof(int), lexWord);
// printf("%s, writing as dense, frequency: %d", RIVout.name, *RIVout.frequency);
}
fclose(lexWord);
free(RIVout.values);
free(temp.locations);
return 0;
}
denseRIV fLexPull(FILE* lexWord){
denseRIV output = denseAllocate();
size_t typeCheck;
int flag = 0;
/* get metadata for vector */
flag+= fread(&typeCheck, 1, sizeof(size_t), lexWord);
flag+= fread(output.frequency, 1, sizeof(int), lexWord);
flag+= fread(output.contextSize, 1, sizeof(int), lexWord);
flag+= fread(&(output.magnitude), 1, sizeof(float), lexWord);
/* first value stored is the value count if sparse, and 0 if dense */
if (typeCheck){
/* pull as sparseVector */
sparseRIV temp;
/* value was not 0, so it's the value count */
temp.count = typeCheck;
temp.locations = (int*)malloc(temp.count*2*sizeof(int));
temp.values = temp.locations+temp.count;
flag+= fread(temp.locations, temp.count, sizeof(int), lexWord);
flag+=fread(temp.values, temp.count, sizeof(int), lexWord);
addS2D(output.values, temp);
free(temp.locations);
}else{
/* typecheck is thrown away, just a flag in this case */
flag += fread(output.values, RIVSIZE, sizeof(int), lexWord);
}
output.cached = 0;
return output;
}
void signalSecure(int signum){
if(cacheDump()){
puts("cache dump failed, some lexicon data lost");
}else{
puts("cache dumped successfully");
}
signal(signum, SIG_DFL);
exit(1);
}
int cacheDump(){
int flag = 0;
denseRIV* cache_slider = RIVKey.RIVCache;
denseRIV* cache_stop = RIVKey.RIVCache+CACHESIZE;
while(cache_slider<cache_stop){
if((*cache_slider).cached){
flag += fLexPush(*cache_slider);
}
else{
}
cache_slider++;
}
return flag;
}
denseRIV denseAllocate(){
/* allocates a 0 vector */
denseRIV output;
output.values = (int*)calloc(RIVSIZE+2, sizeof(int));
/* for compact memory use, frequency is placed immediately after values */
output.frequency = output.values+RIVSIZE;
output.contextSize = output.frequency+1;
output.magnitude = 0;
output.cached = 0;
return output;
}
/*TODO add a simplified free function*/
#endif
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define CACHESIZE 15000
#define RIVSIZE 50000
#define NONZEROS 8
#include <setjmp.h>
#include <signal.h>
#include "../RIVet/RIVtools.h"
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <dirent.h>
#include <error.h>
void fileGrind(FILE* textFile);
void addS2Ds(denseRIV *denseSet, sparseRIV additive, int RIVCount);
int checkDupe(denseRIV* RIVSet, char* word, int wordCount);
void directoryGrind(char *rootString);
void readdirContingency(int sigNumber);
jmp_buf readdirRecov;
int main(int argc, char *argv[]){
clock_t begintotal = clock();
lexOpen("/home/drbob/Documents/lexicon8-50");
char pathString[1000];
strcpy(pathString, argv[1]);
strcat(pathString, "/");
struct stat st = {0};
if(stat(pathString, &st) == -1) {
return 1;
}
directoryGrind(pathString);
clock_t endtotal = clock();
double time_spent = (double)(endtotal - begintotal) / CLOCKS_PER_SEC;
printf("total time:%lf\n\n", time_spent);
lexClose();
return 0;
}
void addS2Ds(denseRIV *denseSet, sparseRIV additive, int RIVCount){
denseRIV *denseSet_slider = denseSet;
denseRIV *dense_stop = denseSet+RIVCount;
while(denseSet_slider<dense_stop){
addS2D((*denseSet_slider).values, additive);
*(denseSet_slider->contextSize) += additive.frequency;
denseSet_slider++;
}
}
int checkDupe(denseRIV* RIVSet, char* word, int wordCount){
denseRIV* RIVStop = RIVSet+wordCount;
while(RIVSet<RIVStop){
if(!strcmp(word, RIVSet->name)){
return 1;
}
RIVSet++;
}
return 0;
}
void directoryGrind(char *rootString){
char pathString[2000];
DIR *directory;
struct dirent *files = 0;
if(!(directory = opendir(rootString))){
printf("location not found, %s\n", rootString);
return;
}
while((files=readdir(directory))){
if(setjmp(readdirRecov)){
continue;
}
//printf("reclen: %d, d_name pointer: %p, firstDigit, %d", files->d_reclen,files->d_name,*(files->d_name));
while(*(files->d_name)=='.'){
files = readdir(directory);
}
//signal(SIGSEGV, signalSecure);
if(files->d_type == DT_DIR){
strcpy(pathString, rootString);
strcat(pathString, files->d_name);
strcat(pathString, "/");
directoryGrind(pathString);
}
strcpy(pathString, rootString);
strcat(pathString, files->d_name);
printf("%s\n", pathString);
FILE *input = fopen(pathString, "r+");
if(input){
fileGrind(input);
fclose(input);
}
}
}
void fileGrind(FILE* textFile){
sparseRIV aggregateRIV = fileToL2Clean(textFile);
fseek(textFile, 0, SEEK_SET);
int wordCount = 0;
denseRIV *RIVArray = (denseRIV*)malloc(aggregateRIV.frequency*sizeof(denseRIV));
char word[200];
while(fscanf(textFile, "%99s", word)){
if(feof(textFile)) break;
if(!(*word))continue;
if(!isWordClean((char*)word)){
continue;
}
if(checkDupe(RIVArray, word, wordCount)){
continue;
}
RIVArray[wordCount] = lexPull(word);
if(!*((RIVArray[wordCount].name))) break;
*(RIVArray[wordCount].frequency)+= 1;;
//printf("%s, %d, %d\n", RIVArray[wordCount].name, *(RIVArray[wordCount].frequency), *thing);
wordCount++;
}
//printf("%d\n", wordCount);
addS2Ds(RIVArray, aggregateRIV, wordCount);
denseRIV* RIVArray_slider = RIVArray;
denseRIV* RIVArray_stop = RIVArray+wordCount;
while(RIVArray_slider<RIVArray_stop){
lexPush(*RIVArray_slider);
RIVArray_slider++;
}
free(RIVArray);
free(aggregateRIV.locations);
}
void readdirContingency(int sigNumber){
puts("readdir segfaulted, trying to recover");
longjmp(readdirRecov, 1);
}
clean(){
while [ "$1" ]; do
if [ -d "$1" ]; then
clean "$1"/*
else
python shittyballs.py "$1"
./RIVread cleanbooks/
# ./RIVread1 cleanbooks/
./RIVread2 cleanbooks/
#./RIVread3 cleanbooks/
#./RIVread4 cleanbooks/
./RIVread5 cleanbooks/
./RIVread6 cleanbooks/
rm -r cleanbooks/
fi
shift
done
}
clean ../bookCleaner/books/*
import requests
import re
import string
import os
import sys
from subprocess import call
import nltk
from nltk.corpus import wordnet as wn
import pdb
from nltk.stem import PorterStemmer
def adverbFix(word):
if not nltk.pos_tag(word)[0][1] == 'RB':
return word
adjective = word[:-2]
if not nltk.pos_tag(word)[0][1] == 'JJ':
return word;
FILE = open("lexicon/" + word, "w")
FILE.write("2" + temp)
FILE.close()
FILE = open("lexicon/" + adjective, "w")
FILE.write("1")
FILE.close()
return adjective
def strip(word):
for suffix in ['ing', 'ly', 'ed', 'ious', 'ies', 'ive', 'es', 's', 'ment']:
if word.endswith(suffix):
return word[:-len(suffix)]
return word
def cleanWord(word):
#if(len(word) == 0):
#print("\n\n***************\n\n***************\n\n***************\n\n***************\n\n***************\n\n***************\n\n***************\n\n***************\n\n***************\n\n***************\n\n***************\n\n***************\n\n***************\n\n***************\n\n***************")
word = word.lower();
regex = re.compile('[^a-z]+')
word = regex.sub('', word)
#print(word)
return word
def fileCheck(word):
try:
#print("trying")
wordFile = open("lexicon/{}".format(word), "r")
code = int(wordFile.read(1))
except:
#print("file does not exist")
return 0
#print("fileCode{}".format(code))
if code == 2:
word = wordFile.read()
#print("file flipped to: " + word)
wordFile.close()
return word
elif code == 1:
#print("file accepted: " + word)
wordFile.close()
return word
elif code == 0:
wordFile.close()
return -1
def morphyTest(word):
morphyTemp = wn.morphy(word)
if not morphyTemp:
return 0
return morphyTemp;
blacklist = ["a", "an", "the", "so", "as", "how",
"i", "me", "we", "they", "you", "it", "he", "she",
"but", "have", "had",
"for", "by", "in", "out", "as", "not"
"be", "were", "was", "am", "are", "is",
"mr", "mrs", "mr", "and"]
word = {}
ps = PorterStemmer()
sourceString = sys.argv[1]
cutDirectories = sourceString.split('/')[-1]
pathString = cutDirectories.split('.')[0]
pathString = "cleanbooks/" + pathString + "clean/"
print(sourceString + "\n")
if not os.path.exists('cleanbooks'):
os.makedirs('cleanbooks')
# if not os.path.exists('lexicon'):
# os.makedirs('lexicon')
if not os.path.exists(pathString):
os.makedirs(pathString)
#call(["python", "blacklist.py"])
i=0
skip = 1
with open(sourceString, 'U') as fileIn:
text = fileIn.read()
for paragraph in text.split(2*os.linesep):
if not paragraph:
continue
elif "*** START OF " in paragraph or "*END THE SMALL PRINT" in paragraph:
skip = 0
continue
elif "*** END OF " in paragraph:
fileIn.close()
sys.exit()
elif "End of Project Gutenberg's" in paragraph:
fileIn.close()
sys.exit()
elif "End of the Project Gutenberg" in paragraph:
fileIn.close()
sys.exit()
if not skip:
cleanString = ''
i += 1
fileOut = open("{}{}.txt".format(pathString, i), "w")
for line in paragraph.split(os.linesep):
for tempWord in line.split():
word=cleanWord(tempWord)
if not word:
continue
# temp = fileCheck(word)
#
# if temp == -1:
# continue
# if temp == 0:
temp = morphyTest(word)
if temp:
stem = ps.stem(temp)
if stem and not stem in blacklist:
cleanString = cleanString + ' ' + stem
#if temp == 0:
# catchAll(word)
cleanString = cleanString + os.linesep
if len(cleanString.split(' ')) > 10:
fileOut.write(cleanString)
fileOut.close()
else:
fileOut.close()
os.remove("{}{}.txt".format(pathString, i))
i -= 1
if skip==1:
print(sourceString + " was badly parsed, no output");
No preview for this file type
......@@ -17,7 +17,7 @@ int main(int argc, char *argv[]){
int fileCount = 0;
sparseRIV *fileRIVs = (sparseRIV*) malloc(1*sizeof(sparseRIV));
char rootString[2000];
if(argc <2){
if(argc <2){
printf("give me a directory");
return 1;
}
......@@ -62,7 +62,7 @@ int main(int argc, char *argv[]){
if(remove((*comparators_slider).name)){
printf(" well shit");
}
(*comparators_slider).boolean = 0;
(*comparators_slider).boolean = 0;
thing++;
}
......
......@@ -15,7 +15,7 @@ void directoryToL2s(char *rootString, sparseRIV** fileRIVs, int *fileCount);
int main(int argc, char *argv[]){
clock_t begintotal = clock();
int fileCount = 0;
lexOpen("/home/drbob/Documents/lexicon");
lexOpen("/home/drbob/Documents/lexicon2-25");
sparseRIV *fileRIVs = (sparseRIV*) malloc(1*sizeof(sparseRIV));
char rootString[2000];
if(argc <2){
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment