Spaces:
Sleeping
Sleeping
File size: 87,581 Bytes
d3fdb68 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 |
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "1UhcygQ3Xvl0",
"outputId": "ef65d3a7-2758-4345-8da8-ae899d2a73c1"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting zipfile36\n",
" Downloading zipfile36-0.1.3-py3-none-any.whl.metadata (736 bytes)\n",
"Downloading zipfile36-0.1.3-py3-none-any.whl (20 kB)\n",
"Installing collected packages: zipfile36\n",
"Successfully installed zipfile36-0.1.3\n"
]
}
],
"source": [
"!pip install zipfile36"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ktv3__0PVhvW",
"outputId": "59911ce3-7b6b-4ca1-b518-536d2676fdaa"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
" context \\\n",
"0 Super Bowl 50 was an American football game to... \n",
"1 One of the most famous people born in Warsaw w... \n",
"2 The Normans (Norman: Nourmands; French: Norman... \n",
"3 Nikola Tesla (Serbian Cyrillic: Никола Тесла; ... \n",
"4 Computational complexity theory is a branch of... \n",
"\n",
" question \\\n",
"0 Which NFL team represented the AFC at Super Bo... \n",
"1 What was Maria Curie the first female recipien... \n",
"2 In what country is Normandy located? \n",
"3 In what year was Nikola Tesla born? \n",
"4 What branch of theoretical computer science de... \n",
"\n",
" answer \n",
"0 Denver Broncos \n",
"1 Nobel Prize \n",
"2 France \n",
"3 1856 \n",
"4 Computational complexity theory \n"
]
}
],
"source": [
"import pandas as pd\n",
"import zipfile\n",
"\n",
"# Load the dataset\n",
"def load_data(file_path):\n",
" with zipfile.ZipFile(file_path, 'r') as zip_ref:\n",
" # Get the first JSON file in the archive\n",
" json_file = [f for f in zip_ref.namelist() if f.endswith('.json')][0]\n",
" # Extract the JSON file to memory and load it as a DataFrame\n",
" with zip_ref.open(json_file) as f:\n",
" df = pd.read_json(f)\n",
" return df\n",
"\n",
"\n",
"# Preprocess the dataset\n",
"def preprocess_data(df):\n",
" df['context'] = df['data'].apply(lambda x: x['paragraphs'][0]['context'])\n",
" df['question'] = df['data'].apply(lambda x: x['paragraphs'][0]['qas'][0]['question'])\n",
" df['answer'] = df['data'].apply(lambda x: x['paragraphs'][0]['qas'][0]['answers'][0]['text'])\n",
" return df[['context', 'question', 'answer']]\n",
"\n",
"# Main function for loading and preprocessing\n",
"if __name__ == '__main__':\n",
" file_path = '/content/drive/MyDrive/archive (22).zip'\n",
" df = load_data(file_path)\n",
" df = preprocess_data(df)\n",
" print(df.head())"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "s9iEqWHygwd2",
"outputId": "4b6c523d-8b6c-455b-ad2a-6a44f43854de"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Available topics in the dataset:\n",
"- Roman_Republic\n",
"- Prime_minister\n",
"- Daylight_saving_time\n",
"- Xbox_360\n",
"- Post-punk\n",
"- Database\n",
"- Beer\n",
"- ASCII\n",
"- Southeast_Asia\n",
"- Time\n",
"- Software_testing\n",
"- Classical_music\n",
"- Sumer\n",
"- Race_(human_categorization)\n",
"- Computer\n",
"- Himachal_Pradesh\n",
"- Hindu_philosophy\n",
"- Boston\n",
"- Cubism\n",
"- Pope_John_XXIII\n",
"- Seattle\n",
"- Alsace\n",
"- Ashkenazi_Jews\n",
"- Idealism\n",
"- Edmund_Burke\n",
"- Franco-Prussian_War\n",
"- Pope_Paul_VI\n",
"- Republic_of_the_Congo\n",
"- Montevideo\n",
"- Alexander_Graham_Bell\n",
"- CBC_Television\n",
"- MP3\n",
"- States_of_Germany\n",
"- Mammal\n",
"- 51st_state\n",
"- Hokkien\n",
"- Digestion\n",
"- Cyprus\n",
"- Southampton\n",
"- Russian_Soviet_Federative_Socialist_Republic\n",
"- British_Isles\n",
"- Digimon\n",
"- Anthropology\n",
"- Web_browser\n",
"- Green\n",
"- Mexico_City\n",
"- Slavs\n",
"- Communications_in_Somalia\n",
"- Insect\n",
"- Child_labour\n",
"- Orthodox_Judaism\n",
"- The_Sun_(United_Kingdom)\n",
"- Red\n",
"- Presbyterianism\n",
"- Elevator\n",
"- Punjab,_Pakistan\n",
"- Cardinal_(Catholicism)\n",
"- 2008_Sichuan_earthquake\n",
"- Samurai\n",
"- Association_football\n",
"- Identity_(social_science)\n",
"- Aircraft_carrier\n",
"- Group_(mathematics)\n",
"- United_States_dollar\n",
"- Political_philosophy\n",
"- Airport\n",
"- General_Electric\n",
"- Virgil\n",
"- Flowering_plant\n",
"- Circadian_rhythm\n",
"- Nonprofit_organization\n",
"- Comics\n",
"- The_Blitz\n",
"- Marvel_Comics\n",
"- Gymnastics\n",
"- United_States_Army\n",
"- The_Legend_of_Zelda:_Twilight_Princess\n",
"- Tuvalu\n",
"- Somalis\n",
"- Paris\n",
"- Antibiotics\n",
"- Neolithic\n",
"- Napoleon\n",
"- Treaty\n",
"- Raleigh,_North_Carolina\n",
"- Palermo\n",
"- Central_Intelligence_Agency\n",
"- Miami\n",
"- Pub\n",
"- Southern_Europe\n",
"- Szlachta\n",
"- Internet_service_provider\n",
"- Capacitor\n",
"- Military_history_of_the_United_States\n",
"- Spectre_(2015_film)\n",
"- Biodiversity\n",
"- Houston\n",
"- Arena_Football_League\n",
"- Guinea-Bissau\n",
"- Mary_(mother_of_Jesus)\n",
"- Switzerland\n",
"- Renewable_energy_commercialization\n",
"- Dutch_Republic\n",
"- Namibia\n",
"- Intellectual_property\n",
"- Videoconferencing\n",
"- Jehovah%27s_Witnesses\n",
"- Arsenal_F.C.\n",
"- London\n",
"- Atlantic_City,_New_Jersey\n",
"- Greeks\n",
"- Gamal_Abdel_Nasser\n",
"- YouTube\n",
"- Molotov%E2%80%93Ribbentrop_Pact\n",
"- St._John%27s,_Newfoundland_and_Labrador\n",
"- Hellenistic_period\n",
"- USB\n",
"- Hydrogen\n",
"- Late_Middle_Ages\n",
"- Neoclassical_architecture\n",
"- Somerset\n",
"- Westminster_Abbey\n",
"- Federal_Aviation_Administration\n",
"- Mali\n",
"- Uranium\n",
"- Oklahoma\n",
"- Chinese_characters\n",
"- Alfred_North_Whitehead\n",
"- Multiracial_American\n",
"- The_Bronx\n",
"- Protestantism\n",
"- Nanjing\n",
"- Royal_assent\n",
"- Near_East\n",
"- Adolescence\n",
"- Separation_of_church_and_state_in_the_United_States\n",
"- Infection\n",
"- Data_compression\n",
"- Glass\n",
"- BeiDou_Navigation_Satellite_System\n",
"- IPod\n",
"- Film_speed\n",
"- Estonian_language\n",
"- Universal_Studios\n",
"- Buckingham_Palace\n",
"- United_States_presidential_election,_2004\n",
"- History_of_India\n",
"- Aspirated_consonant\n",
"- Economy_of_Greece\n",
"- Matter\n",
"- Human_Development_Index\n",
"- History_of_science\n",
"- Royal_Institute_of_British_Architects\n",
"- Hunter-gatherer\n",
"- Iranian_languages\n",
"- Thuringia\n",
"- Financial_crisis_of_2007%E2%80%9308\n",
"- LaserDisc\n",
"- Dell\n",
"- Letter_case\n",
"- East_Prussia\n",
"- John_von_Neumann\n",
"- Crucifixion_of_Jesus\n",
"- Carnival\n",
"- Avicenna\n",
"- Northwestern_University\n",
"- Royal_Dutch_Shell\n",
"- Gene\n",
"- Crimean_War\n",
"- Pitch_(music)\n",
"- Materialism\n",
"- Vacuum\n",
"- Antarctica\n",
"- Race_and_ethnicity_in_the_United_States_Census\n",
"- Kathmandu\n",
"- Immaculate_Conception\n",
"- Copyright_infringement\n",
"- Liberal_Party_of_Australia\n",
"- Hunting\n",
"- Translation\n",
"- Elizabeth_II\n",
"- Czech_language\n",
"- Central_African_Republic\n",
"- Humanism\n",
"- Geography_of_the_United_States\n",
"- Rule_of_law\n",
"- Egypt\n",
"- Communication\n",
"- Transistor\n",
"- United_States_Air_Force\n",
"- Saint_Helena\n",
"- Greece\n",
"- San_Diego\n",
"- Mandolin\n",
"- Beyoncé\n",
"- Ottoman_Empire\n",
"- Bern\n",
"- Everton_F.C.\n",
"- Hanover\n",
"- Galicia_(Spain)\n",
"- Great_power\n",
"- Catalan_language\n",
"- Madonna_(entertainer)\n",
"- Brigham_Young_University\n",
"- PlayStation_3\n",
"- Madrasa\n",
"- Great_Plains\n",
"- Israel\n",
"- Pacific_War\n",
"- Cotton\n",
"- Nigeria\n",
"- Ann_Arbor,_Michigan\n",
"- Geological_history_of_Earth\n",
"- Hard_rock\n",
"- Umayyad_Caliphate\n",
"- Oklahoma_City\n",
"- Myanmar\n",
"- Norfolk_Island\n",
"- Florida\n",
"- Dwight_D._Eisenhower\n",
"- Swaziland\n",
"- Annelid\n",
"- Apollo\n",
"- American_Idol\n",
"- Nutrition\n",
"- Ministry_of_Defence_(United_Kingdom)\n",
"- Neptune\n",
"- Hyderabad\n",
"- Animal\n",
"- Valencia\n",
"- Wayback_Machine\n",
"- Exhibition_game\n",
"- Light-emitting_diode\n",
"- Modern_history\n",
"- University_of_Kansas\n",
"- Bird\n",
"- Richard_Feynman\n",
"- Tennessee\n",
"- Party_leaders_of_the_United_States_House_of_Representatives\n",
"- United_Nations_Population_Fund\n",
"- Estonia\n",
"- Sexual_orientation\n",
"- Copper\n",
"- IBM\n",
"- Washington_University_in_St._Louis\n",
"- Imperial_College_London\n",
"- Empiricism\n",
"- Separation_of_powers_under_the_United_States_Constitution\n",
"- Samoa\n",
"- Liberia\n",
"- Muammar_Gaddafi\n",
"- Imamah_(Shia_doctrine)\n",
"- Jews\n",
"- List_of_numbered_streets_in_Manhattan\n",
"- Tibet\n",
"- Serbo-Croatian\n",
"- Railway_electrification_system\n",
"- Pain\n",
"- Alloy\n",
"- Lancashire\n",
"- Law_of_the_United_States\n",
"- Infrared\n",
"- Tuberculosis\n",
"- Tristan_da_Cunha\n",
"- Buddhism\n",
"- John,_King_of_England\n",
"- Premier_League\n",
"- Frédéric_Chopin\n",
"- Phonology\n",
"- Solar_energy\n",
"- Steven_Spielberg\n",
"- Department_store\n",
"- Armenia\n",
"- Genocide\n",
"- Heian_period\n",
"- House_music\n",
"- Strasbourg\n",
"- BBC_Television\n",
"- Incandescent_light_bulb\n",
"- Muslim_world\n",
"- Tucson,_Arizona\n",
"- Nintendo_Entertainment_System\n",
"- Utrecht\n",
"- Bird_migration\n",
"- Arnold_Schwarzenegger\n",
"- Bacteria\n",
"- Melbourne\n",
"- Charleston,_South_Carolina\n",
"- Printed_circuit_board\n",
"- Affirmative_action_in_the_United_States\n",
"- Philadelphia\n",
"- Old_English\n",
"- Sino-Tibetan_relations_during_the_Ming_dynasty\n",
"- Adult_contemporary_music\n",
"- Saint_Barth%C3%A9lemy\n",
"- Eritrea\n",
"- Yale_University\n",
"- Super_Nintendo_Entertainment_System\n",
"- Federalism\n",
"- Rajasthan\n",
"- The_Times\n",
"- Political_party\n",
"- Diarrhea\n",
"- Wood\n",
"- Santa_Monica,_California\n",
"- Zinc\n",
"- Unicode\n",
"- On_the_Origin_of_Species\n",
"- Guam\n",
"- Black_people\n",
"- Richmond,_Virginia\n",
"- 2008_Summer_Olympics_torch_relay\n",
"- Friedrich_Hayek\n",
"- Indigenous_peoples_of_the_Americas\n",
"- Gothic_architecture\n",
"- Institute_of_technology\n",
"- Grape\n",
"- Bermuda\n",
"- Middle_Ages\n",
"- Christian\n",
"- Asthma\n",
"- Bill_%26_Melinda_Gates_Foundation\n",
"- Heresy\n",
"- Chicago_Cubs\n",
"- Mosaic\n",
"- FA_Cup\n",
"- Queen_(band)\n",
"- FC_Barcelona\n",
"- Appalachian_Mountains\n",
"- Dialect\n",
"- Korean_War\n",
"- British_Empire\n",
"- God\n",
"- Georgian_architecture\n",
"- A_cappella\n",
"- Karl_Popper\n",
"- Seven_Years%27_War\n",
"- Kanye_West\n",
"- Predation\n",
"- Josip_Broz_Tito\n",
"- Textual_criticism\n",
"- University\n",
"- Electric_motor\n",
"- New_Delhi\n",
"- England_national_football_team\n",
"- University_of_Notre_Dame\n",
"- Sony_Music_Entertainment\n",
"- Portugal\n",
"- George_VI\n",
"- Asphalt\n",
"- Energy\n",
"- Immunology\n",
"- Pesticide\n",
"- European_Central_Bank\n",
"- Emotion\n",
"- Windows_8\n",
"- Memory\n",
"- North_Carolina\n",
"- Freemasonry\n",
"- Philosophy_of_space_and_time\n",
"- Police\n",
"- Canadian_football\n",
"- Symbiosis\n",
"- Gramophone_record\n",
"- Clothing\n",
"- Poultry\n",
"- Armenians\n",
"- Dog\n",
"- Planck_constant\n",
"- High-definition_television\n",
"- Germans\n",
"- Capital_punishment_in_the_United_States\n",
"- Professional_wrestling\n",
"- Political_corruption\n",
"- Dominican_Order\n",
"- Endangered_Species_Act\n",
"- Zhejiang\n",
"- Canadian_Armed_Forces\n",
"- Pharmaceutical_industry\n",
"- Alaska\n",
"- New_York_City\n",
"- Macintosh\n",
"- Botany\n",
"- Tajikistan\n",
"- Federal_Bureau_of_Investigation\n",
"- Cork_(city)\n",
"- Dissolution_of_the_Soviet_Union\n",
"- Comcast\n",
"- Labour_Party_(UK)\n",
"- New_Haven,_Connecticut\n",
"- Order_of_the_British_Empire\n",
"- Dutch_language\n",
"- Compact_disc\n",
"- Bras%C3%ADlia\n",
"- To_Kill_a_Mockingbird\n",
"- Sichuan\n",
"- John_Kerry\n",
"- Computer_security\n",
"- Sanskrit\n",
"- Detroit\n",
"- Athanasius_of_Alexandria\n",
"- Space_Race\n",
"- Anti-aircraft_warfare\n",
"- Baptists\n",
"- Quran\n",
"- Architecture\n",
"- Myocardial_infarction\n",
"- Eton_College\n",
"- Mesozoic\n",
"- Qing_dynasty\n",
"- Montana\n",
"- Education\n",
"- Literature\n",
"- Comprehensive_school\n",
"- Plymouth\n",
"- Glacier\n",
"- Lighting\n",
"- Turner_Classic_Movies\n",
"- Queen_Victoria\n",
"- Paper\n",
"- East_India_Company\n",
"- Spanish_language_in_the_United_States\n",
"- Han_dynasty\n",
"- Gregorian_calendar\n",
"- Supreme_court\n",
"- Sahara\n",
"- Culture\n",
"- Religion_in_ancient_Rome\n",
"- Chihuahua_(state)\n",
"- Canon_law\n",
"- Kievan_Rus%27\n",
"- National_Archives_and_Records_Administration\n",
"- Marshall_Islands\n",
"- Alps\n",
"- Age_of_Enlightenment\n",
"- War_on_Terror\n",
"- Russian_language\n",
"- Iran\n",
"- Genome\n",
"- Antenna_(radio)\n",
"- Brain\n",
"- Warsaw_Pact\n"
]
}
],
"source": [
"import pandas as pd\n",
"import zipfile\n",
"\n",
"def extract_topics():\n",
" # Load the dataset\n",
" # Instead of directly reading the zip file, extract the relevant JSON file first.\n",
" with zipfile.ZipFile('/content/drive/MyDrive/archive (22).zip', 'r') as zip_ref:\n",
" # Assuming you want to use 'train-v1.1.json', change this if needed.\n",
" json_file = 'train-v1.1.json'\n",
" with zip_ref.open(json_file) as f:\n",
" data = pd.read_json(f)\n",
" topics = set()\n",
"\n",
" # Extract unique topic names from the dataset\n",
" for item in data['data']:\n",
" for paragraph in item['paragraphs']:\n",
" topics.add(item['title']) # Assuming 'title' represents the topic\n",
"\n",
" return topics\n",
"\n",
"if __name__ == \"__main__\":\n",
" topics = extract_topics()\n",
" print(\"Available topics in the dataset:\")\n",
" for topic in topics:\n",
" print(f\"- {topic}\")"
]
},
{
"cell_type": "code",
"source": [
"import pandas as pd\n",
"import random\n",
"import zipfile\n",
"\n",
"def generate_incorrect_options(data, correct_answer, topic):\n",
" \"\"\"Generate plausible incorrect options based on the dataset and the topic context.\"\"\"\n",
" incorrect_options = set()\n",
"\n",
" # Collect all possible answers from the dataset that are related to the topic\n",
" all_answers = []\n",
" for item in data['data']:\n",
" for paragraph in item['paragraphs']:\n",
" for qa in paragraph['qas']:\n",
" if qa['answers']:\n",
" for ans in qa['answers']:\n",
" if topic.lower() in ans['text'].lower(): # Check if the answer is related to the topic\n",
" all_answers.append(ans['text'])\n",
"\n",
" # Remove the correct answer from the list of possible incorrect options\n",
" all_answers = list(set(all_answers)) # Remove duplicates\n",
" if correct_answer in all_answers:\n",
" all_answers.remove(correct_answer)\n",
"\n",
" # Randomly select three unique incorrect options\n",
" while len(incorrect_options) < 3 and all_answers:\n",
" incorrect_option = random.choice(all_answers)\n",
" incorrect_options.add(incorrect_option)\n",
"\n",
" return list(incorrect_options)\n",
"\n",
"def generate_fill_in_the_blank(question, correct_answer):\n",
" \"\"\"Generate a fill-in-the-blank question with a placeholder.\"\"\"\n",
" return question.replace(correct_answer, \"______\")\n",
"\n",
"def generate_true_false_question(question, correct_answer):\n",
" \"\"\"Generate a true/false question.\"\"\"\n",
" return f\"True or False: {question} (Answer: {'True' if correct_answer else 'False'})\"\n",
"\n",
"def generate_quiz_from_dataset(topic, num_questions, question_type):\n",
" # Extract and load the dataset from the zip file\n",
" with zipfile.ZipFile('/content/drive/MyDrive/archive (22).zip', 'r') as zip_ref:\n",
" # Use the 'train-v1.1.json' file within the zip archive\n",
" json_file = 'train-v1.1.json'\n",
" with zip_ref.open(json_file) as f:\n",
" data = pd.read_json(f)\n",
"\n",
" questions = []\n",
"\n",
" # Filter questions based on the topic\n",
" for item in data['data']:\n",
" for paragraph in item['paragraphs']:\n",
" for qa in paragraph['qas']:\n",
" question = qa['question']\n",
" answer = qa['answers'][0]['text'] if qa['answers'] else \"No answer available\"\n",
" if topic.lower() in question.lower():\n",
" questions.append((question, answer))\n",
"\n",
" if not questions:\n",
" print(\"No questions found for this topic.\")\n",
" return\n",
"\n",
" # Shuffle questions and select the specified number\n",
" random.shuffle(questions)\n",
" selected_questions = questions[:num_questions]\n",
"\n",
" for index, (question, answer) in enumerate(selected_questions, start=1):\n",
" if question_type == 'mcq':\n",
" print(f\"Question {index}: {question}\")\n",
"\n",
" # Generate plausible incorrect options based on the dataset and topic context\n",
" incorrect_options = generate_incorrect_options(data, answer, topic)\n",
"\n",
" # Combine correct answer with incorrect options\n",
" options = [answer] + incorrect_options\n",
" random.shuffle(options)\n",
"\n",
" # Format options as A, B, C, D\n",
" for i, option in enumerate(options):\n",
" print(f\"{chr(65 + i)}) {option}\")\n",
"\n",
" # Find the correct answer's position\n",
" correct_index = options.index(answer)\n",
" print(f\"Answer: {chr(65 + correct_index)}) {answer}\")\n",
" print(\"=\" * 50)\n",
"\n",
" elif question_type == 'fill-in-the-blank':\n",
" fill_in_question = generate_fill_in_the_blank(question, answer)\n",
" print(f\"Fill in the blank {index}: {fill_in_question}\")\n",
" print(f\"Answer: {answer}\")\n",
" print(\"=\" * 50)\n",
"\n",
" elif question_type == 'true/false':\n",
" true_false_question = generate_true_false_question(question, answer)\n",
" print(f\"True/False Question {index}: {true_false_question}\")\n",
" print(\"=\" * 50)\n",
"\n",
"if __name__ == \"__main__\":\n",
" topic = input(\"Enter the topic for the quiz: \")\n",
" num_questions = int(input(\"Enter the number of questions to generate: \"))\n",
" question_type = input(\"Enter question type (mcq/fill-in-the-blank/true/false): \").lower()\n",
" generate_quiz_from_dataset(topic, num_questions, question_type)\n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "xklEl5W_jqYM",
"outputId": "35b6b061-037a-4936-aa43-de77cbd6ef77"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Enter the topic for the quiz: Database\n",
"Enter the number of questions to generate: 5\n",
"Enter question type (mcq/fill-in-the-blank/true/false): mcq\n",
"Question 1: What was the name of the database product created by IBM?\n",
"A) SQL/DS, and, later, Database 2 (DB2)\n",
"B) not be placed in the database\n",
"C) unauthorized users from viewing or updating the database\n",
"D) Database Task Group\n",
"Answer: A) SQL/DS, and, later, Database 2 (DB2)\n",
"==================================================\n",
"Question 2: The IANA database works by connecting names to what information about the location?\n",
"A) database is found corrupted\n",
"B) managing personal databases\n",
"C) database related application\n",
"D) historical and predicted clock shifts\n",
"Answer: D) historical and predicted clock shifts\n",
"==================================================\n",
"Question 3: How are today's database systems run?\n",
"A) structured document-oriented database\n",
"B) general-purpose hardware\n",
"C) database technology\n",
"D) SQL/DS, and, later, Database 2 (DB2)\n",
"Answer: B) general-purpose hardware\n",
"==================================================\n",
"Question 4: What database language is the most prominent?\n",
"A) unauthorized users from viewing or updating the database\n",
"B) SQL\n",
"C) relational database management system\n",
"D) database technology\n",
"Answer: B) SQL\n",
"==================================================\n",
"Question 5: What does database access limit?\n",
"A) by a \"database management system\" (DBMS)\n",
"B) who (a person or a certain computer program) is allowed to access what information\n",
"C) database technology\n",
"D) database is found corrupted\n",
"Answer: B) who (a person or a certain computer program) is allowed to access what information\n",
"==================================================\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"import pandas as pd\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"import zipfile\n",
"\n",
"# Load dataset from a URL (replace with your link)\n",
"dataset_url = '/content/drive/MyDrive/archive (22).zip'\n",
"\n",
"json_file = 'train-v1.1.json'\n",
"\n",
"# Extract the JSON file from the zip archive\n",
"with zipfile.ZipFile(dataset_url, 'r') as zip_ref:\n",
" with zip_ref.open(json_file) as f:\n",
" df = pd.read_json(f)\n",
"\n",
"# Preview the dataset\n",
"print(df.head())\n",
"\n",
"\n",
"numerical_df = df[['version']].copy()\n",
"if not numerical_df.empty:\n",
" plt.figure(figsize=(8, 6))\n",
" sns.heatmap(numerical_df.corr(), annot=True, cmap='coolwarm')\n",
" plt.title('Heatmap of Quiz Data Correlations (Numerical Columns)')\n",
" plt.show()\n",
"else:\n",
" print(\"No numerical columns found for correlation analysis.\")\n",
"\n",
"\n",
"plt.figure(figsize=(8, 6))\n",
"question_counts = df['data'].apply(lambda x: len(x['paragraphs'][0]['qas'])).value_counts()\n",
"question_counts.plot(kind='bar')\n",
"plt.title('Bar Plot of Question Frequency')\n",
"plt.xlabel('Number of Questions')\n",
"plt.ylabel('Frequency')\n",
"plt.xticks(rotation=0)\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "x1TC97wS2zJq",
"outputId": "35056826-a310-4873-d048-c77929416a13"
},
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
" data version\n",
"0 {'title': 'University_of_Notre_Dame', 'paragra... 1.1\n",
"1 {'title': 'Beyoncé', 'paragraphs': [{'context'... 1.1\n",
"2 {'title': 'Montana', 'paragraphs': [{'context'... 1.1\n",
"3 {'title': 'Genocide', 'paragraphs': [{'context... 1.1\n",
"4 {'title': 'Antibiotics', 'paragraphs': [{'cont... 1.1\n"
]
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"/usr/local/lib/python3.11/dist-packages/seaborn/matrix.py:202: RuntimeWarning: All-NaN slice encountered\n",
" vmin = np.nanmin(calc_data)\n",
"/usr/local/lib/python3.11/dist-packages/seaborn/matrix.py:207: RuntimeWarning: All-NaN slice encountered\n",
" vmax = np.nanmax(calc_data)\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 800x600 with 2 Axes>"
],
"image/png": "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j4t54n1iGOdfk+PGjXP87Oq1fal6SjIGDRpkfPjhh0b9+vWNgIAAo2XLlsa2bdsMwzCM6dOnGzfddJPh7+9vtG7dukgbeuJ1GxoaagwdOtRECwHn/SkijidOnNDRo0eLpLv6a/L555/XM888o+7du6t///46cuSI3nzzTd1xxx3asmWLQkJCJEmLFi3SmTNn9Oijj6pChQrasGGD3nzzTR04cECLFi2SJD388MP67bfftGLFCr333nsu6zZv3jzl5eVpyJAhys7O1ksvvaTu3burXbt2Wrt2rUaPHq2ffvpJb775ph5//HHNmjXLce2cOXMUGBiopKQkBQYGavXq1Ro7dqxOnjypl19+2ek+x48fV6dOndS9e3f16tVLH374oR599FH5+fnpoYceKrb9+vfvr7lz56pbt24aOXKk1q9fr5SUFO3cuVOffPKJJOm9997TjBkztGHDBr3zzjuSpFatWrksb/fu3crIyFDfvn0VFBTkMk/v3r01btw4ff755+revXux9buc+vXrF2n/nJwcJSUlqVKlSldV9j//+U/NmDFDy5cv15133impZF4br7/+ujp37qzExETl5eVpwYIFuu+++5Samqq77rrrkvXZvXu3du3apYceekjlypW7bP3/+OMPtWnTRj/99JMGDx6sWrVqadGiRerbt69ycnI0bNgwp/yzZ8/W2bNnNXDgQPn7+ys0NNRx7r777lPdunX1wgsvOIa2zL6fXDHTBu+995769++vFi1aaODAgZKkm2666ZJljh8/XhMmTFBcXJweffRRZWRk6K233tLGjRu1bt06p6jT8ePH1bFjR3Xt2lXdu3fXRx99pNGjR6tRo0b6+9//Lkn697//raFDh6pbt24aNmyYzp49q23btmn9+vW6//77L1mPgwcPav/+/WrWrNkl8wwbNkyTJk3S+PHjSzTq+NNPP+n+++/Xww8/rAceeECvvPKK7rnnHk2fPl1PPvmkHnvsMUlSSkqKunfvroyMDPn4nJ+1tGPHDt12222qWrWqxowZo7Jly+rDDz9Uly5dtHjxYv3jH/9wutdjjz2msLAwjR07VqdPn75knebMmaOHHnpIt9xyi5KTkxUSEqItW7Zo2bJljnY0874yy9Pvk6vxzTff6LPPPtOgQYMknf893H333Ro1apSmTZumxx57TMePH9dLL72khx56SKtXr3a6vqRft82aNdO6detK7PnwF3Cte65Xo/Av2+KOCyOOe/fuNXx9fY3nn3/eqZzvv//eKFWqlFP6xX/lGoZhpKSkGDabzdi3b58jbdCgQS7/+i2MHISFhRk5OTmO9OTkZEOS0aRJEyM/P9+R3qtXL8PPz88pyueqDg8//LBxww03OOVr3bq1Icl49dVXHWm5ublGVFSUUalSJSMvL69o4/1/W7duNSQZ/fv3d0p//PHHDUnG6tWrHWl9+vQxypYte8myCi1ZssSQZEyaNKnYfEFBQUazZs0cP19pxPFidrvduPvuu43AwEBjx44dxdbhchHH48ePG5KMf/zjH460q31tuCojLy/PaNiwodGuXbti6/vpp5+aattCkydPNiQZ77//vtO9YmNjjcDAQEc0prBNg4KCjMOHDzuVUdhGvXr1ckp35/3kKipjtg3Kli3r8nVxcWTr8OHDhp+fn9GhQwfj3LlzjnxTpkwxJBmzZs1ypBW+Z959911HWm5urhEREWEkJCQ40u69916XoxaXs3LlSkOS8fnnnxc5d+FISGHkvTDqWBIRR0nGt99+60j78ssvDUlGmTJlnF6fb7/9tiHJEY00DMNo37690ahRI6fPF7vdbrRq1cqoW7dukXvffvvtRUZALq5XTk6OUa5cOSMmJsb4448/nPLa7XbH/5t9X5mJOHrqfWIYVx9x9Pf3d/qdFf4eIiIinO5T+G/FhXk98bodOHCgUaZMGVN5AcMwjD/F4pipU6dqxYoVRY7GjRs75fv4449lt9vVvXt3HT161HFERESobt26WrNmjSNvmTJlHP9/+vRpHT16VK1atZJhGNqyZYvput13330KDg52/BwTEyNJeuCBB5zm9sXExCgvL08HDx50WYfff/9dR48e1d/+9jedOXNGu3btcrpPqVKl9PDDDzt+9vPz08MPP6zDhw8XOwF/6dKlkqSkpCSn9JEjR0qSvvjiC9PPemFdJV32L/1y5co58pakZ599VqmpqZozZ44aNGhwVWUFBgZKklM9S+K1cWEZx48f14kTJ/S3v/1NmzdvLva6kydPSrp82xZaunSpIiIi1KtXL0da6dKlNXToUJ06dUpfffWVU/6EhASFhYW5LOviRR7uvJ9cudI2uJSVK1cqLy9Pw4cPd0TQJGnAgAEKCgoq8loODAzUAw884PjZz89PLVq00C+//OJICwkJ0YEDB7Rx40a36nLs2DFJUvny5YvNN2zYMJUvX75EF1E1aNBAsbGxjp8LP3PatWun6tWrF0kvfN7s7GytXr1a3bt3d3zeHD16VMeOHVN8fLx2797t9PkknW/by81nXLFihX7//XeNGTOmyNzkC7fVKanPXMnz75Or0b59e6etqQp/DwkJCU71vfj3U6ikX7fly5fXH3/8oTNnzlzR8+Cv508xVN2iRQs1b968SHr58uWdhrB3794twzBUt25dl+VcOIy1f/9+jR07Vp999pmOHz/ulO/EiROm63bhB7UkRyeyWrVqLtMvvNeOHTv09NNPa/Xq1Y4PwkvVoUqVKkUWK9x8882Szm/x4WqCviTt27dPPj4+qlOnjlN6RESEQkJCrmj/ucIPv8t1Cn///fcS39tv2bJlmjBhgpKTk5WQkHDV5Z06dUqS8z9AJfHaSE1N1XPPPaetW7c6bflzuf3pCof+zXa49+3bp7p16zp1pKTzw/uF5y9Uq1atS5Z18Tl33k+uXGkbXErhs9SrV88p3c/PT7Vr1y7yrDfeeGORe5UvX17btm1z/Dx69GitXLlSLVq0UJ06ddShQwfdf//9uu2220zVybjMatXg4GANHz5c48aN05YtWy7b0TTjSj9zfvrpJxmGoWeeeUbPPPOMy7IPHz6sqlWrOn4u7vVS6Oeff5aky26NVlKfuZLn3ydX42r+TZBK/nVb+Bq9lntjwlr+FB1Hs+x2u2w2m/7zn/+4/Cu5MLp07tw53XnnncrOztbo0aMVGRmpsmXL6uDBg+rbt6/sdrvpe17qr/FLpRe+iXNyctS6dWsFBQVp4sSJuummmxQQEKDNmzdr9OjRbtXBjJL80CiM8l34QXaxffv26eTJk6pdu/Zl63Du3DlTqzT37NmjxMRE3XnnnXruuefcrLVr27dvlyRHx7okXhvffPONOnfurDvuuEPTpk1T5cqVVbp0ac2ePfuy24NERkZKkr7//vurfDLXLoz6XO6c2feTK1fTBiXlcu9B6XzHISMjQ6mpqVq2bJkWL16sadOmaezYscVGCStUqCCp6D/6rhTOdZwwYYImT55c5Hxx7wtXrvQzp/C1+/jjjys+Pt5l3ov/wCzu9eKOkvzMlTz/PrmQt34/7uRz53V7/Phx3XDDDSX2u8Sf31+q43jTTTfJMAzVqlXLEY1z5fvvv9ePP/6ouXPnqnfv3o70FStWFMnrqb/S1q5dq2PHjunjjz/WHXfc4Ujfs2ePy/y//fZbkS1SfvzxR0kqNqpXo0YN2e127d692/HXtSRlZWUpJyfnivZiq1u3rurVq6clS5bo9ddfdzlc9O6770o6P5RfqHz58srJySmSd9++fU4dTFf++OMPde3aVSEhIfrggw+KRA6uVOHClsJ/SEvitbF48WIFBAToyy+/lL+/vyN99uzZl63PzTffrHr16unTTz/V66+/XmznTDr/+922bZvsdrtTmxROdbiavfbMvp9ccacNzL7HCp8lIyPD6fWSl5enPXv2KC4uzq06Fipbtqx69OihHj16KC8vT127dtXzzz+v5OTkS24LVdhxudT79UKFUcfx48erT58+Rc4XRiFzcnKcFhuV9LfRFLZZ6dKlr7itXClczLR9+/YiHc9C7ryvzPDm+6S4z61ryezrds+ePU6f/cDl/CnmOJrVtWtX+fr6asKECUX+ijMMwzEvqfAvugvzGIah119/vUiZhR01Vx8cV8NVHfLy8jRt2jSX+QsKCpy+AaDwGwHCwsIUHR19yfsUbuJ9caTjtddek6RiV/gWZ9y4cTp+/LgeeeSRIn95p6en61//+peaNm3qWAUonf8H5n//+5/y8vIcaampqaY24H7kkUf0448/6pNPPimR4T5Jmj9/vt555x3Fxsaqffv2kkrmteHr6yubzebULnv37jX97SgTJkzQsWPH1L9/fxUUFBQ5v3z5cqWmpko6//vNzMzUwoULHecLCgr05ptvKjAwUK1btzZ1T1fMvp9ccacNypYta+r9FRcXJz8/P73xxhtO9Zk5c6ZOnDhxRa/li5/Bz89PDRo0kGEYxe4BWLVqVVWrVu2S32p1seHDhyskJEQTJ04scq6w4/X111870k6fPq25c+eaKtusSpUqqU2bNnr77bd16NChIuePHDlyReV26NBB5cqVU0pKis6ePet0rvD35M77yixvvU9uuukmnThxwmmE5dChQ44dKa4Fd163mzdvvuQOGYArf7mI43PPPafk5GTt3btXXbp0Ubly5bRnzx598sknGjhwoB5//HFFRkbqpptu0uOPP66DBw8qKChIixcvdjnsVNgpGzp0qOLj4+Xr66uePXtedV1btWql8uXLq0+fPho6dKhsNpvee++9S86ZqlKliv71r39p7969uvnmm7Vw4UJt3bpVM2bMKHauWZMmTdSnTx/NmDHDMTy+YcMGzZ07V126dFHbtm2vqP69evXSpk2b9Nprr+mHH35QYmKiypcvr82bN2vWrFkKCwvTRx995LRAqH///vroo4/UsWNHde/eXT///LPef//9Yrdfkc4v4Hn33XeVkJCgbdu2OX2ABwYGqkuXLpet70cffaTAwEDHAqUvv/xS69atU5MmTZy2AimJ18Zdd92l1157TR07dtT999+vw4cPa+rUqapTp06xw/uFevTooe+//17PP/+8tmzZ4vhKu2PHjmnZsmVatWqVY7h34MCBevvtt9W3b1+lp6erZs2a+uijj7Ru3TpNnjzZ9OIBV8y+n1xxpw2io6O1cuVKvfbaa6pSpYpq1arlWDhwobCwMCUnJ2vChAnq2LGjOnfurIyMDE2bNk233nqr04ICszp06KCIiAjddtttCg8P186dOzVlyhTdddddl227e++9V5988okMw7hs1DQ4OFjDhg1zOfzdoUMHVa9eXf369dMTTzwhX19fx3to//79bj9TcaZOnarbb79djRo10oABA1S7dm1lZWUpLS1NBw4c0Hfffed2mUFBQZo0aZL69++vW2+9Vffff7/Kly+v7777TmfOnNHcuXPdel+Z5a33Sc+ePTV69Gj94x//0NChQ3XmzBm99dZbuvnmm694odfVMvu6TU9PV3Z2tu69995rUk9YlOcXbnvOlW4AvnjxYuP22283ypYta5QtW9aIjIw0Bg0aZGRkZDjy/PDDD0ZcXJwRGBhoVKxY0RgwYIDx3XffFdkGpqCgwBgyZIgRFhZm2Gw2x/YLrrbVMIz/26z64o2OXT3LunXrjJYtWzo2eR01apRja40Lt9BwtQF4jRo1jClTpphqx/z8fGPChAlGrVq1jNKlSxvVqlUrsgG4YZjfjudCn332mREXF2eEhIQ4bZF0qY3BX331VaNq1aqGv7+/cdtttxmbNm267HY8xW3LZHYD8MIjICDAuPHGG427777bmDVrVpE2MIyrf20YhmHMnDnTqFu3ruHv729ERkYas2fPNr2xcaFVq1YZ9957r1GpUiWjVKlSRlhYmHHPPfcU2aw5KyvLePDBB42KFSsafn5+RqNGjYpsZXSp1+uFbXSpLYvMvJ9cbVlitg127dpl3HHHHUaZMmUMmdgAfMqU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AEtiOx7vI+IIAAAAU4g4AgAAS2KOo/cRcQQAAIApRBwBAIAlMcfR+4g4AgAAwBQijgAAwJLsxrWuwV8PHUcAAGBJDFV7H0PVAAAAMIWIIwAAsCS24/E+Io4AAAAwhYgjAACwJIPFMV5HxBEAAACmEHEEAACWZGdVtdcRcQQAAIApRBwBAIAlsara+4g4AgAASzIMzx2ekp2drcTERAUFBSkkJET9+vXTqVOnir3m7NmzGjRokCpUqKDAwEAlJCQoKyvLcf67775Tr169VK1aNZUpU0b169fX66+/7lTG2rVrZbPZihyZmZlu1Z+IIwAAgJckJibq0KFDWrFihfLz8/Xggw9q4MCBmj9//iWvGTFihL744gstWrRIwcHBGjx4sLp27ap169ZJktLT01WpUiW9//77qlatmr799lsNHDhQvr6+Gjx4sFNZGRkZCgoKcvxcqVIlt+pvMwwWswMAAOtZ/l2ex8ru0MSvxMvcuXOnGjRooI0bN6p58+aSpGXLlqlTp046cOCAqlSpUuSaEydOKCwsTPPnz1e3bt0kSbt27VL9+vWVlpamli1burzXoEGDtHPnTq1evVrS+Yhj27Ztdfz4cYWEhFzxMzBUDQAAcJHc3FydPHnS6cjNzb2qMtPS0hQSEuLoNEpSXFycfHx8tH79epfXpKenKz8/X3FxcY60yMhIVa9eXWlpaZe814kTJxQaGlokPSoqSpUrV9add97piFi6g44jAACwJLvhuSMlJUXBwcFOR0pKylXVNzMzs8jQcKlSpRQaGnrJuYaZmZny8/MrEiUMDw+/5DXffvutFi5cqIEDBzrSKleurOnTp2vx4sVavHixqlWrpjZt2mjz5s1uPQNzHAEAAC6SnJyspKQkpzR/f3+XeceMGaN//etfxZa3c+fOEqtbcbZv3657771X48aNU4cOHRzp9erVU7169Rw/t2rVSj///LMmTZqk9957z3T5dBwBAIAleXI7Hn9/v0t2FC82cuRI9e3bt9g8tWvXVkREhA4fPuyUXlBQoOzsbEVERLi8LiIiQnl5ecrJyXGKOmZlZRW55ocfflD79u01cOBAPf3005etd4sWLfTf//73svkuRMcRAADgKoSFhSksLOyy+WJjY5WTk6P09HRFR0dLklavXi273a6YmBiX10RHR6t06dJatWqVEhISJJ1fGb1//37FxsY6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vffqoYcekiR9+umnatasmQICAlS7dm1NmDBBBQUFjrw2m01vvfWWOnfurLJly+r555/X8ePHlZiYqLCwMJUpU0Z169bV7NmzJbkeqv7qq6/UokUL+fv7q3LlyhozZozTPdq0aaOhQ4dq1KhRCg0NVUREhMaPH++5hgEAFEHHEfiLu++++3Ts2DGtWbPGkZadna1ly5YpMTFR33zzjXr37q1hw4bphx9+0Ntvv605c+bo+eefdypn/Pjx+sc//qHvv/9eDz30kJ555hn98MMP+s9//qOdO3fqrbfeUsWKFV3W4eDBg+rUqZNuvfVWfffdd3rrrbc0c+ZMPffcc0755s6dq7Jly2r9+vV66aWXNHHiRK1YsaLkGwUA4BJD1QDUpUsXVahQQTNnzpR0Pgo5YcIE/frrr+rQoYPat2+v5ORkR/73339fo0aN0m+//SbpfMRx+PDhmjRpkiNP586dVbFiRc2aNavI/fbu3atatWppy5YtioqK0lNPPaXFixdr586dstlskqRp06Zp9OjROnHihHx8fNSmTRudO3dO33zzjaOcFi1aqF27dnrxxRc90i4AAGdEHAEoMTFRixcvVm5urqTzX13Vs2dP+fj46LvvvtPEiRMVGBjoOAYMGKBDhw45fSVW8+bNncp89NFHtWDBAkVFRWnUqFH69ttvL3n/nTt3KjY21tFplKTbbrtNp06d0oEDBxxpjRs3drqucuXKOnz48FU9OwDAPDqOAHTPPffIMAx98cUX+vXXX/XNN98oMTFRknTq1ClNmDBBW7dudRzff/+9du/erYCAAEcZZcuWdSrz73//u/bt26cRI0bot99+U/v27fX4449fVT0vXnBjs9mKzM0EAHgO+2AAUEBAgLp27ap58+bpp59+Ur169dSsWTNJUrNmzZSRkaE6deq4XW5YWJj69OmjPn366G9/+5ueeOIJvfLKK0Xy1a9fX4sXL5ZhGI6o47p161SuXDndeOONV/dwAIASQ8cRgKTzw9V33323duzYoQceeMCRPnbsWN19992qXr26unXr5hi+3r59e5HFKxcaO3asoqOjdcsttyg3N1epqamqX7++y7yPPfaYJk+erCFDhmjw4MHKyMjQuHHjlJSUJB8fBkYA4HrBJzIASVK7du0UGhqqjIwM3X///Y70+Ph4paamavny5br11lvVsmVLTZo0STVq1Ci2PD8/PyUnJ6tx48a644475OvrqwULFrjMW7VqVS1dulQbNmxQkyZN9Mgjj6hfv356+umnS/QZAQBXh1XVAAAAMIWIIwAAAEyh4wgAAABT6DgCAADAFDqOAAAAMIWOIwAAAEyh4wgAAABT6DgCAADAFDqOAAAAMIWOIwAAAEyh4wgAAABT6DgCAADAFDqOAAAAMOX/AYJcRUCKMPKsAAAAAElFTkSuQmCC\n"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 800x600 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArcAAAIjCAYAAAAZajMiAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAATrFJREFUeJzt3XlYFXX///HXAdlEAUEQSMV938o9yz0RzSWt3HJJyha43b3LX3dptrhUpplLdhdqqZV3ZWmJuWKLmWtqKS65C2qaIJiI8Pn90cX5egQ3OICOz8d1zXVxZubM+z1zBngxfM4cmzHGCAAAALAAl8JuAAAAAHAWwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi2AW8aAAQNUrly5wm7DQUpKip544gkFBwfLZrNp6NChhd1SvipXrpwGDBhQ2G0AQK4RbgELmzNnjmw2m8MUFBSkVq1aadmyZQXWR8uWLR168Pf3V8OGDfXhhx8qMzPTKTVef/11LV682CnbunK7c+bM0TPPPKOPPvpIffv2veb66enpeuedd9SwYUMVL15cxYoVU8OGDTVt2jRdunTJ6f3lxk8//aSxY8fq7Nmzhd2KXU7natb0/PPPF3Z7AG4jRQq7AQD5b9y4cSpfvryMMTpx4oTmzJmjDh06aMmSJXrwwQcLpIfSpUtr/PjxkqRTp05p3rx5ioyM1J49ezRhwoQ8b//111/Xww8/rK5du+Z5W5dbvXq1mjRpojFjxlx33dTUVHXs2FFxcXF68MEHNWDAALm4uCg2NlaDBw/W4sWLtWTJEhUtWtSpPd6sn376SS+//LIGDBggPz8/h2Xx8fFycSm86x5Z5+rlatWqVUjdALgdEW6BO0BERIQaNGhgfxwZGalSpUpp4cKFTgm3mZmZunjxojw9Pa+6jq+vrx577DH746eeekpVq1bVu+++q1deeUVubm557iM/nDx5UjVq1LihdYcPH664uDhNmzZN0dHR9vnPPPOMpk+frujoaI0aNUrTp0/Pr3bzzMPDo1DrX3muXsuFCxfk7u5eqGEcwK2HnwjAHcjPz09eXl4qUsTx79s333xT9957rwICAuTl5aX69evrf//7X7bn22w2RUdHa/78+apZs6Y8PDwUGxt7Uz0ULVpUTZo0UWpqqk6dOnXV9VJTUzVixAiVKVNGHh4eqlq1qt58800ZYxz6SU1N1dy5c+3/yr7euNGTJ0/aQ76np6fq1q2ruXPn2pevXbtWNptNBw4c0DfffGPf7sGDB3Pc3tGjR/XBBx+odevWDsE2S1RUlFq1aqXZs2fr2LFjkqSDBw/KZrNpzpw52da32WwaO3asw7xjx45p4MCBKlWqlDw8PFSzZk19+OGH2Z47bdo01axZU0WLFlWJEiXUoEEDLViwQJI0duxYjRo1SpJUvnz5bPuV05jbP/74Q4888oj8/f3tr9s333zjsE7W8frss8/02muvqXTp0vL09FSbNm20b9++HI/Zzcja/ieffKL//Oc/uuuuu1S0aFElJydLkjZs2KD27dvL19dXRYsWVYsWLfTjjz9m284PP/yghg0bytPTUxUrVtR7772nsWPHymaz2dfJj9flZo/Phg0b1KFDB5UoUULe3t6qU6eOpk6dKkmKiYmRzWbT1q1bsz3v9ddfl6urq/0cA+5EXLkF7gBJSUn6888/ZYzRyZMnNW3aNKWkpDhcSZWkqVOnqnPnzurTp48uXryoTz75RI888oiWLl2qjh07Oqy7evVqffbZZ4qOjlbJkiVz9UawP/74Q66urtn+NZ7FGKPOnTtrzZo1ioyMVL169bR8+XKNGjVKx44d09tvvy1J+uijj/TEE0+oUaNGGjRokCSpYsWKV637999/q2XLltq3b5+io6NVvnx5LVq0SAMGDNDZs2c1ZMgQVa9eXR999JGGDRum0qVLa8SIEZKkwMDAHLe5bNkyZWRkqF+/flet269fP61Zs0axsbGKjIy8kUNkd+LECTVp0sT+h0VgYKCWLVumyMhIJScn29/o9v7772vw4MF6+OGHNWTIEF24cEHbt2/Xhg0b1Lt3b3Xr1k179uzRwoUL9fbbb6tkyZLX3K8TJ07o3nvv1fnz5zV48GAFBARo7ty56ty5s/73v//poYceclh/woQJcnFx0ciRI5WUlKRJkyapT58+2rBhww3tZ9a5ermsHiXplVdekbu7u0aOHKm0tDS5u7tr9erVioiIUP369TVmzBi5uLgoJiZGrVu31vfff69GjRpJknbs2KF27dopMDBQY8eO1aVLlzRmzBiVKlXqhnq72vG5kdflZo7PihUr9OCDDyokJERDhgxRcHCwdu3apaVLl2rIkCF6+OGH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vvmm/Q+1y2UdG1dXV4WHh2vx4sU6fPiwffmuXbu0fPlyh+fkx+tyo+655x6VL19eU6ZMyfb6XHl1t06dOqpTp47++9//6vPPP1fPnj2z3d4PuBPxXQDcAZYtW2a/0nby5EktWLBAe/fu1fPPPy8fHx9JUseOHTV58mS1b99evXv31smTJzV9+nRVqlTJ/u/0gtapUye1atVKL7zwgg4ePKi6devqu+++01dffaWhQ4c63O6rfv36WrlypSZPnqzQ0FCVL18+x7GikjRo0CC99957GjBggDZv3qxy5crpf//7n3788UdNmTIl12MWJ0+erN27d+vZZ59VbGys2rdvL0lavny5vvrqK7Vu3VpvvPGGw3OeeOIJTZgwQU888YQaNGigdevWac+ePdm2PWHCBK1Zs0aNGzfWk08+qRo1aujMmTPasmWLVq5cqTNnzkiS2rVrp+DgYDVr1kylSpXSrl279O6776pjx472/apfv74k6YUXXlDPnj3l5uamTp062UPv5Z5//nktXLhQERERGjx4sPz9/TV37lwdOHBAn3/+eaF/gIKLi4v++9//KiIiQjVr1tTjjz+uu+66S8eOHdOaNWvk4+OjJUuWSJJefvllxcbG6v7779ezzz5r/4OmZs2a2c5xZ78uN7M/M2fOVKdOnVSvXj09/vjjCgkJ0e7du/Xbb79lC+L9+vXTyJEjJYkhCUCWQrtPA4B8l9PtlTw9PU29evXMzJkzHW4tZIwxH3zwgalcubLx8PAw1apVMzExMWbMmDHmyh8VkkxUVNQN99GiRYvr3p7KmOy3AjPmn9tODRs2zISGhho3NzdTuXJl88Ybb2Trfffu3aZ58+bGy8vLSLrubcFOnDhhHn/8cVOyZEnj7u5uateuneMtlG70VmBZLl68aKZMmWLq169vihYtaj/u/fv3d7htU5bz58+byMhI4+vra4oXL24effRRc/LkyWy3nMrqOSoqypQpU8a4ubmZ4OBg06ZNGzN79mz7Ou+9955p3ry5CQgIMB4eHqZixYpm1KhRJikpyWFbr7zyirnrrruMi4uLw23BrrwVmDHG7N+/3zz88MPGz8/PeHp6mkaNGpmlS5c6rJN1q6tFixY5zL/WbbUul3Wubty4McflV9t+lq1bt5pu3brZ9zssLMw8+uijZtWqVQ7rxcXFmfr16xt3d3dToUIFM2vWrBzPcWe/Ljd7fH744QfzwAMPmOLFixtvb29Tp04dM23atGz7nZCQYFxdXU2VKlVyPC7AnchmjJNG+QMAsklOTlaLFi20f/9+rVu37qpvekLhGTt2rF5++WWnvemtIP35558KCQnRSy+9pBdffLGw2wFuCYy5BYB85OPjo2XLlqlkyZLq0KFDrm9fBuRkzpw5ysjIUN++fQu7FeCWwZhbAMhnwcHBN/whBsCNWL16tX7//Xe99tpr6tq1a64+/hqwKsItAAC3mXHjxumnn35Ss2bNNG3atMJuB7ilMOYWAAAAlsGYWwAAAFgG4RYAAACWwZhb/fP54MePH1fx4sVv6mMpAQAAUDCMMTp37pxCQ0Ov+QEyhFtJx48fV5kyZQq7DQAAAFzHkSNHVLp06asuJ9xK9o+kPHLkiP2jSAEAAHDrSE5OVpkyZa77EemEW8k+FMHHx4dwCwAAcAu73hBS3lAGAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyjUcDt+/Hg1bNhQxYsXV1BQkLp27ar4+HiHdVq2bCmbzeYwPf300w7rHD58WB07dlTRokUVFBSkUaNG6dKlSwW5KwAAALgFFCnM4nFxcYqKilLDhg116dIl/b//9//Url07/f777/L29rav9+STT2rcuHH2x0WLFrV/nZGRoY4dOyo4OFg//fSTEhIS1K9fP7m5uen1118v0P0BAABA4bIZY0xhN5Hl1KlTCgoKUlxcnJo3by7pnyu39erV05QpU3J8zrJly/Tggw/q+PHjKlWqlCRp1qxZeu6553Tq1Cm5u7tne05aWprS0tLsj5OTk1WmTBklJSXJx8cn2/rlnv8mT/t1cELHPD0fAADgTpecnCxfX9+r5rUst9SY26SkJEmSv7+/w/z58+erZMmSqlWrlkaPHq3z58/bl61fv161a9e2B1tJCg8PV3Jysn777bcc64wfP16+vr72qUyZMvmwNwAAAChohTos4XKZmZkaOnSomjVrplq1atnn9+7dW2FhYQoNDdX27dv13HPPKT4+Xl988YUkKTEx0SHYSrI/TkxMzLHW6NGjNXz4cPvjrCu3AAAAuL3dMuE2KipKO3fu1A8//OAwf9CgQfava9eurZCQELVp00b79+9XxYoVc1XLw8NDHh4eeeoXAAAAt55bYlhCdHS0li5dqjVr1qh06dLXXLdx48aSpH379kmSgoODdeLECYd1sh4HBwfnQ7cAAAC4VRVquDXGKDo6Wl9++aVWr16t8uXLX/c527ZtkySFhIRIkpo2baodO3bo5MmT9nVWrFghHx8f1ahRI1/6BgAAwK2pUIclREVFacGCBfrqq69UvHhx+xhZX19feXl5af/+/VqwYIE6dOiggIAAbd++XcOGDVPz5s1Vp04dSVK7du1Uo0YN9e3bV5MmTVJiYqL+85//KCoqiqEHAAAAd5hCvXI7c+ZMJSUlqWXLlgoJCbFPn376qSTJ3d1dK1euVLt27VStWjWNGDFC3bt315IlS+zbcHV11dKlS+Xq6qqmTZvqscceU79+/RzuiwsAAIA7Q6Feub3eLXbLlCmjuLi4624nLCxM3377rbPaAgAAwG3qlnhDGQAAAOAMhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUUargdP368GjZsqOLFiysoKEhdu3ZVfHy8wzoXLlxQVFSUAgICVKxYMXXv3l0nTpxwWOfw4cPq2LGjihYtqqCgII0aNUqXLl0qyF0BAADALaBQw21cXJyioqL0888/a8WKFUpPT1e7du2UmppqX2fYsGFasmSJFi1apLi4OB0/flzdunWzL8/IyFDHjh118eJF/fTTT5o7d67mzJmjl156qTB2CQAAAIXIZowxhd1EllOnTikoKEhxcXFq3ry5kpKSFBgYqAULFujhhx+WJO3evVvVq1fX+vXr1aRJEy1btkwPPvigjh8/rlKlSkmSZs2apeeee06nTp2Su7v7desmJyfL19dXSUlJ8vHxyba83PPf5Gm/Dk7omKfnAwAA3Omul9ey3FJjbpOSkiRJ/v7+kqTNmzcrPT1dbdu2ta9TrVo1lS1bVuvXr5ckrV+/XrVr17YHW0kKDw9XcnKyfvvttxzrpKWlKTk52WECAADA7e+WCbeZmZkaOnSomjVrplq1akmSEhMT5e7uLj8/P4d1S5UqpcTERPs6lwfbrOVZy3Iyfvx4+fr62qcyZco4eW8AAABQGG6ZcBsVFaWdO3fqk08+yfdao0ePVlJSkn06cuRIvtcEAABA/itS2A1IUnR0tJYuXap169apdOnS9vnBwcG6ePGizp4963D19sSJEwoODrav88svvzhsL+tuClnrXMnDw0MeHh5O3gsAAAAUtkK9cmuMUXR0tL788kutXr1a5cuXd1hev359ubm5adWqVfZ58fHxOnz4sJo2bSpJatq0qXbs2KGTJ0/a11mxYoV8fHxUo0aNgtkRAAAA3BIK9cptVFSUFixYoK+++krFixe3j5H19fWVl5eXfH19FRkZqeHDh8vf318+Pj7617/+paZNm6pJkyaSpHbt2qlGjRrq27evJk2apMTERP3nP/9RVFQUV2cBAADuMIUabmfOnClJatmypcP8mJgYDRgwQJL09ttvy8XFRd27d1daWprCw8M1Y8YM+7qurq5aunSpnnnmGTVt2lTe3t7q37+/xo0bV1C7AQAAgFvELXWf28LCfW4BAABubbflfW4BAACAvCDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAA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0eDBgzV37lyn17oV5HReJSYmyt3dPdsfD/n1M/VK06ZNU40aNVS6dGm5u7urffv2mj59upo3b56vdU+ePKmUlBRNmDBB7du313fffaeHHnpI3bp1U1xcnNPqXO17uXfv3vr444+1Zs0ajR49Wh999JEee+wxp9W9mqw/XEaPHq2//vpLFy9e1MSJE3X06NF8/52WZenSpSpWrJg8PT319ttva8WKFSpZsqRTtm2Jj98tDJdfNatTp44aN26ssLAwffbZZ4qMjMy3ukeOHNGQIUO0YsWKPI8Hyq2qVatq27ZtSkpK0v/+9z/1799fcXFxBR5wC9pHH32kgQMH6q677pKrq6vuuece9erVS5s3b87Xup999pnmz5+vBQsWqGbNmtq2bZuGDh2q0NBQ9e/fP19rX+6DDz5QRESEU8e63qjNmzdr6tSp2rJlS6FcNS4sUVFR2rlzZ4FfScnSs2dP+9e1a9dWnTp1VLFiRa1du1Zt2rQpkB7S09P16KOPyhijmTNn5kuNzMxMNWjQQK+//rok6e6779bOnTs1a9asAv0eKyiFfV7lZNq0afr555/19ddfKywsTOvWrVNUVJRCQ0Pz9T+UmZmZkqQuXbpo2LBhkqR69erpp59+0qxZs9SiRQun1LnaMR80aJD969q1ayskJERt2rTR/v37VbFiRafUzombm5u++OILRUZGyt/fX66urmrbtq0iIiIK5M3KktSqVStt27ZNf/75p95//309+uij2rBhg4KCgvK8ba7cOomfn5+qVKmiffv25WudzZs36+TJk7rnnntUpEgRFSlSRHFxcXrnnXdUpEiRArmi4u7urkqVKql+/foaP3686tatq6lTp+Z73csFBwdLUrZ38p44ccK+zNkqVqyouLg4paSk6MiRI/rll1+Unp6uChUq5Eu9LKNGjbJfva1du7b69u2rYcOGFeiV+0OHDmnlypV64oknCqzm5b7//nudPHlSZcuWtZ/3hw4d0ogRI1SuXLlC6Sm/RUdHa+nSpVqzZo1Kly5d2O1IkipUqKCSJUvm+8+5LFnB9tChQ1qxYkW+XLWVpJCQkGx/nFevXr1Ah5oVlKudV8HBwbp48aLOnj3rsH5+/kzN8vfff+v//b//p8mTJ6tTp06qU6eOoqOj1aNHD7355pv5WrtkyZIqUqRIvr7+N/O93LhxY0kqkO+x+vXra9u2bTp79qwSEhIUGxur06dP5/vvtCze3t6qVKmSmjRpog8++EBFihTRBx984JRtE26dJCUlRfv371dISEi+1mnTpo127Nihbdu22acGDRqoT58+2rZtm1xdXfO1fk4yMzPt43cKSvny5RUcHKxVq1bZ5yUnJ2vDhg35Pv7X29tbISEh+uuvv7R8+XJ16dIlX+udP39eLi6O36qurq72Kw4FISYmRkFBQerYsWOB1bxc3759tX37dofzPjQ0VKNGjdLy5csLpaf8YoxRdHS0vvzyS61evVrly5cv7Jbsjh49qtOnT+f7zznp/4Lt3r17tXLlSgUEBORbrWbNmmW7RdOePXsUFhaWbzUL2vXOq/r168vNzc3hZ2p8fLwOHz6c7z9T09PTlZ6eXig/59zd3dWwYcN8ef1z872cdZvBgvgey+Lr66vAwEDt3btXmzZtyvffaVfjzCzBsIRcGjlypDp16qSwsDAdP35cY8aMkaurq3r16pWvdYsXL55t7J23t7cCAgIKZEze6NGjFRERobJly+rcuXNasGCB1q5dmy8BIyUlxeGv1wMHDmjbtm3y9/dX2bJlNXToUL366quqXLmyypcvrxdffFGhoaHq2rWr03uRpOXLl8sYo6pVq2rfvn0aNWqUqlWrpscffzxf6mXp1KmTXnvtNZUtW1Y1a9bU1q1bNXnyZA0cODBf62bJzMxUTEyM+vfvryJF8u9HxvVe7yvDjZubm4KDg1W1atV8r33mzBkdPnzYfp/VrF+EwcHBTr+qFRUVpQULFuirr75S8eLF7eMdfX195eXl5dRa19pvf39/vfzyy+revbuCg4O1f/9+/fvf/1alSpUUHh6er7VDQkL08MMPa8uWLVq6dKkyMjLsx8Hf31/u7u55rn+5YcOG6d5779Xrr7+uRx99VL/88otmz56t2bNnO7VOTq537jnL9c4rX19fRUZGavjw4fL395ePj4/+9a9/qWnTpmrSpEme619vP1u0aKFRo0bJy8tLYWFhiouL07x58zR58uR8rz1q1Cj16NFDzZs3V6tWrRQbG6slS5Zo7dq1eap7vWO+f/9+LViwQB06dFBAQIC2b9+uYcOGqXnz5k65xef19nvRokUKDAxU2bJltWPHDg0ZMkRdu3Z1ypv4rlU7ICBAr732mjp37qyQkBD9+eefmj59uo4dO+a820w65Z4L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165cb6NmzZpycfm/H4mlSpVS7dq17Y9dXV0VEBCgkydPOjyvadOm9q+LFCmiBg0a2Pv49ddftWbNGhUrVsw+VatWTdI/42Oz1K9f/5q9JScn6/jx42rWrJnD/GbNmuVqn811rsy6u7vf0HZ+/fVX7du3T8WLF7fvn7+/vy5cuKD9+/fL399fAwYMUHh4uDp16qSpU6cqISHhpnrdtWuX6tatK29vb/u8Zs2aKTMzU/Hx8fZ5NWvWlKurq/1xSEiI/bV64IEHFBYWpgoVKqhv376aP3++zp8/f1N9ALh9EG4B3PaaN2+u8PBwjR49OtsyFxeXbGHu8rGYWdzc3Bwe22y2HOdlZmbecF8pKSnq1KmTtm3b5jDt3bvX4d/ilwe3/FSpUiXZbLarBuJdu3YpMDBQfn5+kv7Z32sdu5SUFNWvXz/b/u3Zs0e9e/eWJMXExGj9+vW699579emnn6pKlSr6+eefnb5v13qtihcvri1btmjhwoUKCQnRSy+9pLp16+rs2bNO7wNA4SPcArCECRMmaMmSJVq/fr3D/MDAQCUmJjqENGfem/byoHbp0iVt3rxZ1atXlyTdc889+u2331SuXDlVqlTJYbqZQOvj46PQ0FD9+OOPDvN//PFH1ahR44a3ExAQoAceeEAzZszQ33//7bAsMTFR8+fP14ABA+zzAgMDHa607t271+GK5z333KO9e/cqKCgo2/75+vra17v77rs1evRo/fTTT6pVq5YWLFgg6Z8rxBkZGdfsuXr16vr111+VmprqsN8uLi6qWrXqDe97kSJF1LZtW02aNEnbt2/XwYMHtXr16ht+PoDbB+EWgCXUrl1bffr00TvvvOMwv2XLljp16pQmTZqk/fv3a/r06Vq2bJnT6k6fPl1ffvmldu/eraioKP31118aOHCgpH/uTHDmzBn16tVLGzdu1P79+7V8+XI9/vjj1w11Vxo1apQmTpyoTz/9VPHx8Xr++ee1bds2DRky5Ka28+677yotLU3h4eFat26djhw5otjYWD3wwAOqUqWKXnrpJfu6rVu31rvvvqutW7dq06ZNevrppx2ukPbp00clS5ZUly5d9P333+vAgQNau3atBg8erKNHj+rAgQMaPXq01q9fr0OHDum7777T3r177eG/XLlyOnDggLZt26Y///xTaWlp2frt06ePPD091b9/f+3cuVNr1qzRv/71L/Xt21elSpW6oX1eunSp3nnnHW3btk2HDh3SvHnzlJmZeVPhGMDtg3ALwDLGjRuXbdhA9erVNWPGDE2fPl1169bVL7/8kuOdBHJrwoQJmjBhgurWrasffvhBX3/9tUqWLClJ9qutGRkZateunWrXrq2hQ4fKz8/PYXzvjRg8eLCGDx+uESNGqHbt2oqNjdXXX3+typUr39R2KleurI0bN6pChQp69NFHFRYWpoiICFWpUsV+t4Msb731lsqUKaP7779fvXv31siRI1W0aFH78qJFi2rdunUqW7asunXrpurVqysyMlIXLlyQj4+PihYtqt27d6t79+6qUqWKBg0apKioKD311FOSpO7du6t9+/Zq1aqVAgMDtXDhwmz9Fi1aVMuXL9eZM2fUsGFDPfzww2rTpo3efffdG95nPz8/ffHFF2rdurWqV6+uWbNmaeHChapZs+ZNHTsAtwebud47CwAAljZmzBhNnjxZK1asUJMmTQq7HQDIE8ItAEAxMTFKSkrS4MGDb/qqMgDcSgi3AAAAsAz+PAcAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBl/H+cadoeLKFw0wAAAABJRU5ErkJggg==\n"
},
"metadata": {}
}
]
}
],
"metadata": {
"colab": {
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 0
} |