Acton (905-216-4016) Wet Leaky Basement Solutions, Ajax (289-240-5501) Wet Leaky Basement Solutions, Ancaster (905-383-3550) Wet Leaky Basement Solutions ,Allanburg (1-800-334-6290) Wet Leaky Basement Solutions, Alliston(1-800-334-6290) Wet Leaky Basement Solutions, Almira (1-800-334-6290) Wet Leaky Basement Solutions, Aurora (905-918-5033) Wet Leaky Basement Solutions, Aylmer (1-800-334-6290) Wet Leaky Basement Solutions, Angus (705-734-9900) Wet Leaky Basement Solutions, Arthur (1-800-334-6290) Wet Leaky Basement Solutions, Baldwin (1-800-334-6290) Wet Leaky Basement Solutions, Bancroft (1-800-334-6290) Wet Leaky Basement Solutions, Barrie (705-734-9900) Wet Leaky Basement Solutions, Barrys Bay (1-800-334-6290) Wet Leaky Basement Solutions, Batterwood (1-800-334-6290) Wet Leaky Basement Solutions, Baxter(1-800-334-6290) Wet Leaky Basement Solutions, Beamsville (1-800-334-6290) Wet Leaky Basement Solutions, Beeton (1-800-334-6290) Wet Leaky Basement Solutions, Belleville (613-902-0155) Wet Leaky Basement Solutions, Bethany (289-240-5501) Wet Leaky Basement Solutions, Bobcaygeon (1-800-334-6290) Wet Leaky Basement Solutions, Bolton (905-918-5033) Wet Leaky Basement Solutions, Bowmanville (289-240-5501) Wet Leaky Basement Solutions, Bracebridge (1-800-334-6290) Wet Leaky Basement Solutions, Bradford (1-800-334-6290) Wet Leaky Basement Solutions, Brampton (905-216-4016) Wet Leaky Basement Solutions, Brantford (905-383-3550) Wet Leaky Basement Solutions, Brechin (1-800-334-6290) Wet Leaky Basement Solutions, Brooklin (289-240-5501) Wet Leaky Basement Solutions, Brougham (1-800-334-6290) Wet Leaky Basement Solutions, Burlington (905-383-3550) Wet Leaky Basement Solutions, Binbrook, Borden (1-800-334-6290) Wet Leaky Basement Solutions, Brighten (1-800-334-6290) Wet Leaky Basement Solutions, Brockville (1-800-334-6290) Wet Leaky Basement Solutions, Buckhorn (705-616-0626) Wet Leaky Basement Solutions, Caeserea (289-240-5501) Wet Leaky Basement Solutions, Caledon (905-216-4016) Wet Leaky Basement Solutions, Caledon East (905-216-4016) Wet Leaky Basement Solutions, Caledonia (1-800-334-6290) Wet Leaky Basement Solutions, Callowood (1-800-334-6290) Wet Leaky Basement Solutions, Cambridge (905-383-3550) Wet Leaky Basement Solutions, Campbellford (1-800-334-6290) Wet Leaky Basement Solutions, Cannington (1-800-334-6290) Wet Leaky Basement Solutions, Cedar Valley (1-800-334-6290) Wet Leaky Basement Solutions, Chatham (1-800-334-6290) Wet Leaky Basement Solutions, Churchill (1-800-334-6290) Wet Leaky Basement Solutions, Clarington (289-240-5501) Wet Leaky Basement Solutions, Collingwood (705-734-9900) Wet Leaky Basement Solutions, Cobourg (705-616-0626) Wet Leaky Basement Solutions, Colborne (1-800-334-6290) Wet Leaky Basement Solutions, Coldwater (1-800-334-6290) Wet Leaky Basement Solutions, Cookstown (705-734-9900) Wet Leaky Basement Solutions, Courtice (289-240-5501) Wet Leaky Basement Solutions, Coboconk (1-800-334-6290) Wet Leaky Basement Solutions, Collingwood (705-734-9900) Wet Leaky Basement Solutions, Darlington (289-240-5501) Wet Leaky Basement Solutions, Deerhurst (1-800-334-6290) Wet Leaky Basement Solutions, Dundalk (1-800-334-6290) Wet Leaky Basement Solutions, Dundas (905-383-3550) Wet Leaky Basement Solutions, Dunnville (1-800-334-6290) Wet Leaky Basement Solutions, Dunsford (1-800-334-6290) Wet Leaky Basement Solutions, Durham (1-800-334-6290) Wet Leaky Basement Solutions, Durham Region (1-800-334-6290) Wet Leaky Basement Solutions, Don Mills (416-626-8111) Wet Leaky Basement Solutions, Dorchester (1-800-334-6290) Wet Leaky Basement Solutions, Douro (1-800-334-6290) Wet Leaky Basement Solutions, East Gwillumbury (1-800-334-6290) Wet Leaky Basement Solutions, East York (416-626-8111) Wet Leaky Basement Solutions, Elgin (1-800-334-6290) Wet Leaky Basement Solutions, Elmira (1-800-334-6290) Wet Leaky Basement Solutions, Enniskillen (1-800-334-6290) Wet Leaky Basement Solutions, Etobicoke (416-626-8111) Wet Leaky Basement Solutions, Erin (905-216-4016) Wet Leaky Basement Solutions, Fairmount (1-800-334-6290) Wet Leaky Basement Solutions, Fenelon Falls (1-800-334-6290) Wet Leaky Basement Solutions, Fenwick (1-800-334-6290) Wet Leaky Basement Solutions, Fergus (1-800-334-6290) Wet Leaky Basement Solutions, Flamborough (905-383-3550) Wet Leaky Basement Solutions, Fleetwood (705-616-0626) Wet Leaky Basement Solutions, Font Hill (905-228-7778) Wet Leaky Basement Solutions, Fruitland (1-800-334-6290) Wet Leaky Basement Solutions, Georgetown(905-216-4016) Wet Leaky Basement Solutions, Georgina (705-734-9900) Wet Leaky Basement Solutions, Gravenhurst (1-800-334-6290) Wet Leaky Basement Solutions, Grimsby (905-383-3550) Wet Leaky Basement Solutions, Guelph (905-216-4016) Wet Leaky Basement Solutions, Georgian Bay (1-800-334-6290) Wet Leaky Basement Solutions, Haliburton (1-800-334-6290) Wet Leaky Basement Solutions, Halton (905-216-4016) Wet Leaky Basement Solutions, Halton Hills (905-216-4016) Wet Leaky Basement Solutions, Hamilton (905-383-3550) Wet Leaky Basement Solutions, Hampton (289-240-5501) Wet Leaky Basement Solutions, Harwood (1-800-334-6290) Wet Leaky Basement Solutions, Hastings (1-800-334-6290) Wet Leaky Basement Solutions, Haydon (1-800-334-6290) Wet Leaky Basement Solutions, Huntsville (1-800-334-6290) Wet Leaky Basement Solutions, Ingersoll (705-734-9900) Wet Leaky Basement Solutions, Inglewood (1-800-334-6290) Wet Leaky Basement Solutions, Keene (1-800-334-6290) Wet Leaky Basement Solutions, Keswick (705-734-9900) Wet Leaky Basement Solutions, King City (905-918-5033) Wet Leaky Basement Solutions, Kingston (1-800-334-6290) Wet Leaky Basement Solutions, Kinmount (1-800-334-6290) Wet Leaky Basement Solutions, Kitchener(905-383-3550) Wet Leaky Basement Solutions, Kleinburg (905-918-5033) Wet Leaky Basement Solutions, Lakeshore (1-800-334-6290) Wet Leaky Basement Solutions, Lindsay (705-616-0626) Wet Leaky Basement Solutions, Listowel (1-800-334-6290) Wet Leaky Basement Solutions, London (519-488-6337) Wet Leaky Basement Solutions, Lovekin (1-800-334-6290) Wet Leaky Basement Solutions, Malton (905-216-4016) Wet Leaky Basement Solutions, Manilla (1-800-334-6290) Wet Leaky Basement Solutions, Maple (905-918-5033) Wet Leaky Basement Solutions, Markham (905-918-5033) Wet Leaky Basement Solutions, Meyersburg (1-800-334-6290) Wet Leaky Basement Solutions, Midland (1-800-334-6290) Wet Leaky Basement Solutions, Millbrook (705-616-0626) Wet Leaky Basement Solutions, Milton (905-216-4016) Wet Leaky Basement Solutions, Mississauga (905-216-4016) Wet Leaky Basement Solutions, Mount Albert (1-800-334-6290) Wet Leaky Basement Solutions, Newcastle (289-240-5501) Wet Leaky Basement Solutions, Newmarket (905-918-5033) Wet Leaky Basement Solutions,Newtonville (289-240-5501) Wet Leaky Basement Solutions, Niagara Falls (905-228-7778) Wet Leaky Basement Solutions, Niagara on the Lake (905-228-7778) Wet Leaky Basement Solutions, Nobleton (905-918-5033) Wet Leaky Basement Solutions, Norland (1-800-334-6290) Wet Leaky Basement Solutions, North York (416-626-8111) Wet Leaky Basement Solutions, Norwich (1-800-334-6290) Wet Leaky Basement Solutions, Oakridges (905-918-5033) Wet Leaky Basement Solutions, Oakville (905-216-4016) Wet Leaky Basement Solutions, Ontario (1-800-334-6290) Wet Leaky Basement Solutions, Orangeville (905-216-4016) Wet Leaky Basement Solutions, Orillia (705-734-9900) Wet Leaky Basement Solutions, Orono (289-240-5501) Wet Leaky Basement Solutions,Oshawa (289-240-5501) Wet Leaky Basement Solutions, Owen Sound (1-800-334-6290) Wet Leaky Basement Solutions, Paris (1-800-334-6290) Wet Leaky Basement Solutions, Parry Sound (1-800-334-6290) Wet Leaky Basement Solutions, Peel (905-216-4016) Wet Leaky Basement Solutions, Peel Region (905-216-4016) Wet Leaky Basement Solutions, Pickering (416-626-8111) Wet Leaky Basement Solutions, Pontypool (289-240-5501) Wet Leaky Basement Solutions, Port (1-800-334-6290) Wet Leaky Basement Solutions, Port Bolster (1-800-334-6290) Wet Leaky Basement Solutions, Port Britain (1-800-334-6290) Wet Leaky Basement Solutions, Port Granby (1-800-334-6290) Wet Leaky Basement Solutions, Port Hope (289-240-5501) Wet Leaky Basement Solutions, Port Perry (289-240-5501) Wet Leaky Basement Solutions, Peterborough (705-616-0626) Wet Leaky Basement Solutions, Picton (1-800-334-6290) Wet Leaky Basement Solutions, Port  Colborne (905-228-7778) Wet Leaky Basement Solutions, Richmond Hill (905-918-5033) Wet Leaky Basement Solutions, Rosehill (1-800-334-6290) Wet Leaky Basement Solutions, Rosemary Hill (1-800-334-6290) Wet Leaky Basement Solutions,Scarborough (416-626-8111) Wet Leaky Basement Solutions, Scugog (289-240-5501) Wet Leaky Basement Solutions, Shelburne (1-800-334-6290) Wet Leaky Basement Solutions, Schomberg (1-800-334-6290) Wet Leaky Basement Solutions,Simcoe (1-800-334-6290) Wet Leaky Basement Solutions, Stratford (519-488-6337) Wet Leaky Basement Solutions, Strathroy (1-800-334-6290) Wet Leaky Basement Solutions, Smithville (1-800-334-6290) Wet Leaky Basement Solutions, Stoney Creek (905-383-3550) Wet Leaky Basement Solutions, Stroud (705-734-9900) Wet Leaky Basement Solutions, Sunderland (1-800-334-6290) Wet Leaky Basement Solutions, Sutton (705-734-9900) Wet Leaky Basement Solutions, St Catharines (905-228-7778) Wet Leaky Basement Solutions, St Marys (519-488-6337) Wet Leaky Basement Solutions, St Thomas (519-488-6337) Wet Leaky Basement Solutions, Stayner (1-800-334-6290) Wet Leaky Basement Solutions, Stouffville (905-918-5033) Wet Leaky Basement Solutions, Thornhill (416-626-8111) Wet Leaky Basement Solutions, Thornton (1-800-334-6290) Wet Leaky Basement Solutions, Thorold (905-228-7778) Wet Leaky Basement Solutions, Tillsonburg (1-800-334-6290) Wet Leaky Basement Solutions, Toronto (416-626-8111) Wet Leaky Basement Solutions, Tottenhan (1-800-334-6290) Wet Leaky Basement Solutions,Trenton (613-902-0155) Wet Leaky Basement Solutions, Tweed (1-800-334-6290) Wet Leaky Basement Solutions, Tyrone (1-800-334-6290) Wet Leaky Basement Solutions, Unionville (905-918-5033) Wet Leaky Basement Solutions, Uxbridge (1-800-334-6290) Wet Leaky Basement Solutions, Vaughan (905-918-5033) Wet Leaky Basement Solutions, Vineland (1-800-334-6290) Wet Leaky Basement Solutions, Wainfleet (1-800-334-6290) Wet Leaky Basement Solutions, Wasaga Beach (1-800-334-6290) Wet Leaky Basement Solutions, Waterdown (905-383-3550) Wet Leaky Basement Solutions, Waterloo (1-800-334-6290) Wet Leaky Basement Solutions, Welland (905-228-7778) Wet Leaky Basement Solutions, Weston (416-626-8111) Wet Leaky Basement Solutions, Whitchurch-Stouffville (1-800-334-6290) Wet Leaky Basement Solutions,Whitby (289-240-5501) Wet Leaky Basement Solutions, Woodbridge (905-918-5033) Wet Leaky Basement Solutions, Woodstock (519-488-6337) Wet Leaky Basement Solutions, Willowdale (416-626-8111) Wet Leaky Basement Solutions, York Region (1-800-334-6290) Wet Leaky Basement Solutions , Zion (1-800-334-6290) Wet Leaky Basement Solutions
Basement Leak Repair/Foundation Leak Repair/Basement Leak Solutions in.....Hydro Electrical Panel Leak...... Wet Leaky Basement Repair/Wet Leaky Foundation Repair/Wet Leaky Basement Solutions in......Electrical Hydro Panel Leak......Basement Concrete Crack Repair/Foundation Concrete Crack Repair/Epoxy Polyurethane Concrete Wall Crack Repair by Injections in.....Basement Backed Up Window Well And Drain Repairs; Installation/Foundation Backed Up Window Well; Drain Repairs; Installation in.....Basement Inside Weeping Tile Drainage Systems Installation/Foundation Inside Weeping Tile Drainage Systems Installation in.....Basement Exterior Excavation And Waterproofing/Foundation Exterior Excavation And Waterproofing in......Stone Brick Concrete Masonry Sealing in......French Drains Drywells Sump Pumps Installations in......How To Fix Repair Basement Concrete Wall Cracks/Foundation Concrete Wall Cracks ? in.....Basement Waterproofing Contractors/Foundation Waterproofing Contractors in......Basement Wall Concrete Crack Repair/Foundation Wall Concrete Crack Repair in.....How To Install Weeping Tile ? in......How To Waterproof My Basement? in.....Inspection For Damp Wet Leaky Basement; in.....How To Fix Wet Leaky Basement Leaks in.....Looking for a Basement Waterproofing Contractor Specialist in....
ashpark
Ashpark's Blogger Account Ashpark's Facebook Acount Ashpark's Twitter Acount Ashpark's Linkedin Account

dial 1-800-334-6290



Acton

Ajax

Ancaster

Aldershot

Alton

Allanburg

Alliston

Almira

Aurora

Baldwin

Bancroft

Barrie

Barrys Bay

Batterwood

Baxter

Beaches

Beamsville

Beaverton

Beeton

Bethany

Bewdley

Blackstock

Belleville

Bobcaygeon

Bolton

Bowmanville

Bracebridge

Bradford

Brampton

Brant

Brantford

Brooklin

Burlington

Binbrook

Bronte

Borden

Bridgenorth

Burford

Brighton

Brockville

Blue Mountain

Caledonia

Caledon

Callowood

Cambridge

Cambellford

Cannington

Clarington

Clarkson

Colborne

Coldwater

Collingwood

Cobourg

Concord

Cookstown

Courtice

Coboconk

Dundas

Durham Region

Don Mills

East Gwilumbury

Etobicoke

Erin

Fenelon Falls

Fergus

Flamborough

Font Hill

Fruitland

Georgetown

Georgina

Gormley

Grimbsy

Guelph

GTA

Halton Hills

Hamilton

Hillsburgh

Huntsville

Holland Landing

Innisfil

Kawartha Lakes

Keswick

Kingston

King City

Kleinburg

Lakefield

Lake Simcoe

Lake Scugog

Lindsay

London

Malton

Maple

Markham

Milton

Mississauga

Mount Albert

Newcastle

Newmarket

Niagara Falls

Nobleton

North York

Oakridges

Oakville

Orangeville

Orillia

Oshawa

Peel Region

Pickering

Port Hope

Port Perry

Peterborough

Richmond Hill

Scarborough

Scugog

Shelburne

Stratford

Strathroy

Streetsville

Stoney Creek

Stroud

Sutton

St Catherines

St Marys

St Thomas

Stouffville

Stayner

Thornhill

Thorold

Toronto

Tottenham

Trenton

Unionville

Uxbridge

Vaughan

Wasaga Beach

Waterdown

Welland

Whitby

Willowdale

Woodbridge

Woodstock

Willowdale

Whitchurch-Stouffville

York Region

Basement Weeping Tile Cleaning / Jetting

Over time weeping tile systems can become clogged with clay, minerals, sediment or soil that has seeped through the filtration process. Instead of taking the more expensive approach of replacing the entire weeping tile system, we may suggest the excavation and cleaning of your weeping tile by sending 3000 psi at 5.6 gpm of water through the weeping tile and flush out all the clogged particles. Depending on the age of your house will depend on which type of weeping tile your house will have and which tactic we would use to clean it out. If your home is built before 1973, it most likely has a clay pipe weeping tile system with a 90 degree "elbow" shaped pipe at each corner.

Do to the angle of the pipe, sending the line around the corner of your house is difficult, so in order to flush the pipe efficiently we excavate at opposite corners of your home and feed the line in from those locations. If you home has Big "O" weeping tile, feeding the line around the corners of the home is a breeze.

Brick / Masonry / Stone Sealed

Masonry & Brick Sealer should be breathable and allows water vapor to escape. Liquid water, especially from wind driven rains, will stay out of the brick and masonry. Sealing of masonry can resolve brick flashing issues if done by a most reputable waterproofing contractor.Sealing masonry or stone will stop water vapor from the interior of the building, or from the underside of pavers can escape. This will reduce efflorescence, spalling and scaling that can occur from water being trapped inside the brick substrate and freezing during cold weather. Penetrating commercial grade sealers leaves no surface film to wear away and maintains surface textures. Please further note if non-professional’s applications are applied to any substrates it then will be too late to hire a professional.

sitemap
Web Design by Addicting Weaver
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #