Cheddar's Menu with Prices, Calories and Popular Items
Cheddar’s Scratch Kitchen offers hearty, scratch-made American comfort food at remarkably budget-friendly prices. Known for their warm, complimentary Honey Butter Croissants, hand-breaded chicken tenders, and slow-smoked baby back ribs, this casual dining favorite delivers massive flavor without the massive bill.
This comprehensive guide covers the cheddar's menu, including average regional prices, calorie counts, popular items, and practical ordering tips. Whether you are checking prices before visiting, looking for the best weekday value deals, or verifying allergen details, this guide helps you order smarter. Prices and availability vary by location, local taxes, and delivery platform, so use these estimates as a reliable regional guide.
Menu Snapshot: Quick Answer
Cheddar's Scratch Kitchen serves a full menu of American comfort classics, with entrees typically ranging from $9.99 to $22.99. The most famous items are their Honey Butter Croissants, hand-battered Chicken Tenders, and the signature Painkiller cocktail, with official calories and allergen tools available online.
Official Source Verification
Menus, prices, calories, and availability can vary by location, delivery platform, and time. LatestMenus checks official restaurant sources where available and marks uncertain information clearly.
Latest Cheddar's Menu Prices
Below is a detailed breakdown of the Cheddar's Scratch Kitchen menu, integrating average regional pricing, item descriptions, and exact calorie counts.
Appetizers (Starters)
Dine-in guests are typically welcomed with complimentary Honey Butter Croissants, but ordering extra baskets or sharing a hearty dip is highly popular.
| Menu Item | Category | Price | Calories | Best For | Notes |
|---|---|---|---|---|---|
| Honey Butter Croissants (3 pcs) | Appetizers | $3.49 (Estimated) | 780 cal | Quick starter | Drizzled with house honey butter. |
| Honey Butter Croissants (6 pcs) | Appetizers | $5.99 (Estimated) | 1,560 cal | Sharing | Perfect for larger tables. |
| Santa Fe Spinach Dip | Appetizers | $9.49 (Estimated) | 1,300 cal | Groups | Served with fresh tortilla chips & salsa. |
| Chips & Homemade Queso | Appetizers | $7.49 (Estimated) | 1,030 cal | Groups | Creamy cheese dip with seasoned beef. |
| Wisconsin Cheese Curds | Appetizers | $8.49 (Estimated) | 1,100 cal | Comfort food | Served with ranch dipping sauce. |
| Texas Cheese Fries (Large) | Appetizers | $9.29 (Estimated) | 1,240 cal | Sharing | Fries with melted cheese, bacon, and ranch. |
Chicken & Comfort Classics
Most of these scratch-made entrees are served with your choice of two sides.
| Menu Item | Category | Price | Calories | Best For | Notes |
|---|---|---|---|---|---|
| Hand-Breaded Chicken Tender Platter | Chicken | $14.49 (Estimated) | 1,160 - 1,410 cal | Classic meal | 6 buttermilk-battered tenders & 2 sides. |
| Homemade Chicken Pot Pie | Comfort | $11.99 (Estimated) | 940 cal | Dinner | Served with a house salad. |
| Country Fried Chicken | Chicken | $13.49 (Estimated) | 830 - 1,080 cal | Hearty appetites | Topped with black pepper gravy & 2 sides. |
| Country Fried Steak | Comfort | $14.49 (Estimated) | 1,030 - 1,280 cal | Hearty appetites | Served with black pepper gravy & 2 sides. |
| Lemon Pepper Chicken | Chicken | $12.99 (Estimated) | 540 cal | Lighter meal | Grilled chicken over ginger rice & 2 sides. |
| New Orleans Pasta | Pasta | $15.99 (Estimated) | 1,470 cal | Spicy flavors | Shrimp, chicken, sausage in Cajun cream. |
Steaks, Ribs & Combos
All steaks and ribs include two scratch-made sides. If you're comparing steak options with the Longhorn Steakhouse menu, Cheddar's combos often provide excellent price-per-ounce value.
| Menu Item | Category | Price | Calories | Best For | Notes |
|---|---|---|---|---|---|
| 6 oz. Fire-Grilled Top Sirloin | Steaks | $13.99 (Estimated) | 250 cal (Steak only) | Lighter steak dinner | Center-cut sirloin with 2 sides. |
| 14 oz. Ribeye | Steaks | $22.99 (Estimated) | 890 cal (Steak only) | Steak lovers | Flame-grilled with 2 sides. |
| Half Rack Baby Back Ribs | Ribs | $16.49 (Estimated) | 820 cal | BBQ fans | Slow-smoked with house BBQ sauce. |
| Tenders & Ribs Combo | Combos | $18.99 (Estimated) | 1,090 cal | Big appetites | 4 tenders + half rack of ribs & 2 sides. |
| Sirloin & Tenders Combo | Combos | $19.99 (Estimated) | 980 cal | Maximum value | 6 oz sirloin + 4 tenders & 2 sides. |
Seafood & Burgers
Similar to the scratch-made approach found on the Carrabba's menu with prices, Cheddar's uses fresh ingredients to craft filling burgers and seafood entrees.
| Menu Item | Category | Price | Calories | Best For | Notes |
|---|---|---|---|---|---|
| Grilled Salmon (5 oz) | Seafood | $17.49 (Estimated) | 410 - 540 cal | Healthy choice | Over ginger rice with 2 sides. |
| Cornmeal Catfish | Seafood | $14.49 (Estimated) | 880 - 1,010 cal | Southern flavor | Fried or blackened with 2 sides. |
| The Original LTO Burger | Burgers | $10.49 (Estimated) | 830 cal | Lunch / Budget | Lettuce, tomato, onion, pickles. With fries. |
| The Monte Cristo | Sandwiches | $11.49 (Estimated) | 1,460 cal | Sweet & savory | Batter-fried ham and turkey sandwich. |
Scratch-Made Sides
When ordered à la carte, sides usually cost around $2.79 to $3.49.
| Side Dish | Calories | Price Note | Best For |
|---|---|---|---|
| Broccoli Cheese Casserole | 310 cal | Included in meals | Signature comfort side |
| Idaho Mashed Potatoes | 160 cal | Included in meals | Steak pairing |
| Loaded Baked Potato | 540 cal | $0.99 upcharge may apply | Hearty appetites |
| Fresh Steamed Broccoli | 100 cal | Included in meals | Lighter meals |
| Southern Green Beans | 60 cal | Included in meals | Classic Southern side |
Popular Menu Items
What sets Cheddar's apart is their commitment to hand-prepped cooking. These are the items guests order most.
| Popular Item | Why People Order It | Price Note | Calorie Note |
|---|---|---|---|
| Honey Butter Croissants | Complimentary for dine-in; buttery, warm, and flaky. | $3.49 for 3 to-go | 260 cal per croissant |
| Hand-Breaded Tenders | Fresh, never frozen, buttermilk-battered in-house daily. | $14.49 (Platter) | 1,160+ cal |
| The Monte Cristo | A nostalgic, sweet-and-savory battered sandwich staple. | $11.49 | 1,460 cal |
| Homemade Chicken Pot Pie | A massive, creamy, puff-pastry covered classic made daily. | $11.99 | 940 cal |
Editor Picks: Best Things to Order
These are LatestMenus editorial recommendations based on available menu research, value, popularity, customization potential, and practical ordering usefulness. They are not official restaurant rankings.
Chicken Tender Platter
Cheddar's shines brightest with their buttermilk-battered tenders. Getting six fresh tenders with two sides under $15 is increasingly rare in casual dining.
Sirloin & Tenders Combo
Pairing a steak with fresh tenders would cost near $30 at other chains. Here, you get both proteins and two sides for a price that easily feeds two.
To-Go Family Bundles
Cheddar’s Family Bundles package large portions of meat, multiple family-sized sides, and croissants at a significantly lower cost per head than individual plates.
Lemon Pepper Chicken
A simple, lean dish that delivers great flavor without heavy breading. Pair it with steamed broccoli and green beans for a balanced meal.
The Painkiller
Cheddar's signature rum, coconut, and pineapple cocktail is legendary. It’s so strong and generously poured that most locations limit guests to two.
Honey Butter Croissants
You can't go to Cheddar's and not enjoy these. Even if you get them free for dine-in, taking a half-dozen home is highly recommended.
Cheapest Items and Best Value Picks
If you are dining on a budget, Cheddar’s offers some of the best value-to-portion ratios in the industry.
| Value Pick | Why It Can Be Good Value | Watch Out For | Best Ordering Tip |
|---|---|---|---|
| Weekday Lunch Specials | Smaller portions of entrees start around $8.99. | Only available Mon-Fri, 11 AM - 4 PM. | Ask your server for the specific lunch menu upon seating. |
| The Original LTO Burger | Fresh ground beef burger with fries for around $10. | Bacon and premium cheeses cost extra. | It's cheaper than most fast-food combo meals today. |
| Combos | Steak & Ribs or Tenders & Steak save 20%+ over buying separate plates. | Massive portion sizes. | Share a combo and order an extra side if dining as a couple. |
Calories and Nutrition Notes
Cheddar’s meals are undeniably hearty, but they provide full transparency on calories so you can balance your choices.
| Menu Area | Nutrition Note | Best For | Source Confidence |
|---|---|---|---|
| Grilled Chicken & Seafood | Many options stay under 600 calories before sides. | Lighter dining | High (Official Nutrition PDF) |
| Sides | Broccoli (100 cal) and Green Beans (60 cal) offer low-calorie vegetable choices. | Balancing heavy entrees | High (Official Nutrition PDF) |
| Desserts & Fried Items | The Hot Fudge Cake Sundae tops 2,100 calories. | Sharing only | High (Official Nutrition PDF) |
Allergen and Dietary Notes
Like the comprehensive Cheesecake Factory allergen menu, Cheddar's offers an interactive guide to help navigate severe allergies.
| Dietary Need | What to Check | Important Note |
|---|---|---|
| Gluten-Sensitive | Grilled Salmon, Sirloin (no marinade), Buttered Corn, Mashed Potatoes (no gravy). | Cheddar's does not have a dedicated gluten-free prep area. |
| Vegetarian | Spinach Dip, Cheese Curds, Mac & Cheese, Broccoli Cheese Casserole. | Southern Green Beans contain bacon. Always verify ingredients. |
| Allergen Safety | The interactive allergen filter on Cheddars.com. | Because it is a scratch kitchen baking croissants and breading chicken, airborne flour cross-contact risk is high. |
Special Menu Sections
Kids Menu (12 and Under)
Includes a kids' beverage and one scratch-made side.
| Item or Section | What It Includes | Price/Calorie Note | Best For |
|---|---|---|---|
| Kids Chicken Tenders | 3 buttermilk tenders | $5.99 (Est) / 460 cal | Kids who love fried chicken |
| Kids Mac & Cheese | Bowl of cheesy pasta | $4.99 (Est) / 280 cal | Picky eaters |
| Kids Grilled Cheeseburger | Simple burger patty with cheese | $5.99 (Est) / 450 cal | A filling kid's dinner |
Drinks and Desserts
| Item or Section | What It Includes | Price/Calorie Note | Best For |
|---|---|---|---|
| The Painkiller | Pusser's rum, cream of coconut, fruit juices, toasted coconut rim. | $7.99 (Est) / 350 cal | Signature cocktail |
| Hot Fudge Cake Sundae | Warm fudge cake, ice cream, hot fudge, nuts. | $7.99 (Est) / 2,120 cal | Sharing with the whole table |
| Monsterproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducingproducing |