class NiftySectoralIndices:
    indices_list = ["Nifty Auto", "Nifty Bank", "Nifty Chemicals", "Nifty Financial Services", "Nifty FMCG",
                    "Nifty Healthcare", "Nifty IT", "Nifty Media", "Nifty Metal", "Nifty Pharma", "Nifty Private Bank",
                    "Nifty PSU Bank", "Nifty Realty", "Nifty Consumer Durables", "Nifty Oil and Gas",
                    "Nifty500 Healthcare", "Nifty MidSmall Financial Services", "Nifty MidSmall Healthcare",
                    "Nifty MidSmall IT & Telecom"]
    index_constituent_list_urls = {
        "Nifty Auto": "https://www.niftyindices.com/IndexConstituent/ind_niftyautolist.csv",
        "Nifty Bank": "https://www.niftyindices.com/IndexConstituent/ind_niftybanklist.csv",
        "Nifty Chemicals": "https://niftyindices.com/IndexConstituent/ind_niftyChemicals_list.csv",
        "Nifty Financial Services": "https://www.niftyindices.com/IndexConstituent/ind_niftyfinancelist.csv",
        "Nifty FMCG": "https://www.niftyindices.com/IndexConstituent/ind_niftyfmcglist.csv",
        "Nifty Healthcare": "https://www.niftyindices.com/IndexConstituent/ind_niftyhealthcarelist.csv",
        "Nifty IT": "https://www.niftyindices.com/IndexConstituent/ind_niftyitlist.csv",
        "Nifty Media": "https://www.niftyindices.com/IndexConstituent/ind_niftymedialist.csv",
        "Nifty Metal": "https://www.niftyindices.com/IndexConstituent/ind_niftymetallist.csv",
        "Nifty Pharma": "https://www.niftyindices.com/IndexConstituent/ind_niftypharmalist.csv",
        "Nifty Private Bank": "https://www.niftyindices.com/IndexConstituent/ind_nifty_privatebanklist.csv",
        "Nifty PSU Bank": "https://www.niftyindices.com/IndexConstituent/ind_niftypsubanklist.csv",
        "Nifty Realty": "https://www.niftyindices.com/IndexConstituent/ind_niftyrealtylist.csv",
        "Nifty Consumer Durables": "https://www.niftyindices.com/IndexConstituent/ind_niftyconsumerdurableslist.csv",
        "Nifty Oil and Gas": "https://www.niftyindices.com/IndexConstituent/ind_niftyoilgaslist.csv",
        "Nifty500 Healthcare": "https://niftyindices.com/IndexConstituent/ind_nifty500Healthcare_list.csv",
        "Nifty MidSmall Financial Services": "https://www.niftyindices.com/IndexConstituent/ind_niftymidsmallfinancailservice_list.csv",
        "Nifty MidSmall Healthcare": "https://www.niftyindices.com/IndexConstituent/ind_niftymidsmallhealthcare_list.csv",
        "Nifty MidSmall IT & Telecom": "https://www.niftyindices.com/IndexConstituent/ind_niftymidsmallitAndtelecom_list.csv"
    }
    index_factsheet_urls = {
        "Nifty Auto": "https://www.niftyindices.com/Factsheet/ind_nifty_auto.pdf",
        "Nifty Bank": "https://www.niftyindices.com/Factsheet/ind_nifty_bank.pdf",
        "Nifty Chemicals": "https://niftyindices.com/Factsheet/Factsheet_Nifty_Chemicals.pdf",
        "Nifty Financial Services": "https://www.niftyindices.com/Factsheet/ind_Nifty_Financial_Services.pdf",
        "Nifty FMCG": "https://www.niftyindices.com/Factsheet/ind_nifty_FMCG.pdf",
        "Nifty Healthcare": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty_Healthcare_Index.pdf",
        "Nifty IT": "https://www.niftyindices.com/Factsheet/ind_nifty_it.pdf",
        "Nifty Media": "https://www.niftyindices.com/Factsheet/ind_nifty_media.pdf",
        "Nifty Metal": "https://www.niftyindices.com/Factsheet/ind_nifty_metal.pdf",
        "Nifty Pharma": "https://www.niftyindices.com/Factsheet/ind_nifty_pharma.pdf",
        "Nifty Private Bank": "https://www.niftyindices.com/Factsheet/ind_nifty_private_bank.pdf",
        "Nifty PSU Bank": "https://www.niftyindices.com/Factsheet/ind_nifty_psu_bank.pdf",
        "Nifty Realty": "https://www.niftyindices.com/Factsheet/ind_nifty_realty.pdf",
        "Nifty Consumer Durables": "https://www.niftyindices.com/Factsheet/Factsheet_nifty_consumer_durables.pdf",
        "Nifty Oil and Gas": "https://www.niftyindices.com/Factsheet/Factsheet_nifty_oil_and_gas.pdf",
        "Nifty500 Healthcare": "https://niftyindices.com/Factsheet/Factsheet_Nifty500Healthcare.pdf",
        "Nifty MidSmall Financial Services": "https://www.niftyindices.com/Factsheet/Factsheet_NiftyMidSmallFinancialSevices.pdf",
        "Nifty MidSmall Healthcare": "https://www.niftyindices.com/Factsheet/Factsheet_NiftyMidSmallHealthCare.pdf",
        "Nifty MidSmall IT & Telecom": "https://www.niftyindices.com/Factsheet/Factsheet_NiftyMidSmallITAndTelecom.pdf"
    }


class NiftyBroadMarketIndices:
    indices_list = ["Nifty 50", "Nifty Next 50", "Nifty 100", "Nifty 200", "Nifty Total Market", "Nifty 500",
                    "Nifty Midcap150", "Nifty Midcap 50", "Nifty Midcap Select", "Nifty Midcap 100",
                    "Nifty Smallcap 250", "Nifty Smallcap 50", "Nifty Smallcap 100", "Nifty Microcap 250",
                    "Nifty LargeMidcap 250", "Nifty MidSmallcap 400", "Nifty India FPI 150", "India Vix"]
    index_constituent_list_urls = {
        "Nifty 50": "https://nsearchives.nseindia.com/content/indices/ind_nifty50list.csv",
        "Nifty Next 50": "https://nsearchives.nseindia.com/content/indices/ind_niftynext50list.csv",
        "Nifty 100": "https://nsearchives.nseindia.com/content/indices/ind_nifty100list.csv",
        "Nifty 200": "https://nsearchives.nseindia.com/content/indices/ind_nifty200list.csv",
        "Nifty Total Market": "https://nsearchives.nseindia.com/content/indices/ind_niftytotalmarket_list.csv",
        "Nifty 500": "https://nsearchives.nseindia.com/content/indices/ind_nifty500list.csv",
        "Nifty Midcap150": "https://nsearchives.nseindia.com/content/indices/ind_niftymidcap150list.csv",
        "Nifty Midcap 50": "https://nsearchives.nseindia.com/content/indices/ind_niftymidcap50list.csv",
        "Nifty Midcap Select": "https://nsearchives.nseindia.com/content/indices/ind_niftymidcapselect_list.csv",
        "Nifty Midcap 100": "https://nsearchives.nseindia.com/content/indices/ind_niftymidcap100list.csv",
        "Nifty Smallcap 250": "https://nsearchives.nseindia.com/content/indices/ind_niftysmallcap250list.csv",
        "Nifty Smallcap 50": "https://nsearchives.nseindia.com/content/indices/ind_niftysmallcap50list.csv",
        "Nifty Smallcap 100": "https://nsearchives.nseindia.com/content/indices/ind_niftysmallcap100list.csv",
        "Nifty Microcap 250": "https://nsearchives.nseindia.com/content/indices/ind_niftymicrocap250_list.csv",
        "Nifty LargeMidcap 250": "https://nsearchives.nseindia.com/content/indices/ind_niftylargemidcap250list.csv",
        "Nifty MidSmallcap 400": "https://nsearchives.nseindia.com/content/indices/ind_niftymidsmallcap400list.csv",
        "Nifty India FPI 150": "https://niftyindices.com/IndexConstituent/ind_niftyIndiaFPI150_list.csv"
    }
    index_factsheet_urls = {
        "Nifty 50": "https://nsearchives.nseindia.com/content/indices/ind_nifty50.pdf",
        "Nifty Next 50": "https://nsearchives.nseindia.com/content/indices/ind_next50.pdf",
        "Nifty 100": "https://nsearchives.nseindia.com/content/indices/ind_nifty_100.pdf",
        "Nifty 200": "https://nsearchives.nseindia.com/content/indices/ind_nifty_200.pdf",
        "Nifty Total Market": "https://nsearchives.nseindia.com/content/indices/Factsheet_NiftyTotalMarket.pdf",
        "Nifty 500": "https://nsearchives.nseindia.com/content/indices/ind_nifty_500.pdf",
        "Nifty Midcap150": "https://nsearchives.nseindia.com/content/indices/ind_Nifty_Midcap_150.pdf",
        "Nifty Midcap 50": "https://nsearchives.nseindia.com/content/indices/ind_nifty_midcap50.pdf",
        "Nifty Midcap Select": "https://nsearchives.nseindia.com/content/indices/Factsheet_NiftyMidcapSelect.pdf",
        "Nifty Midcap 100": "https://nsearchives.nseindia.com/content/indices/ind_niftymidcap100.pdf",
        "Nifty Smallcap 250": "https://nsearchives.nseindia.com/content/indices/ind_Nifty_Smallcap_250.pdf",
        "Nifty Smallcap 50": "https://nsearchives.nseindia.com/content/indices/ind_niftysmallcap_50.pdf",
        "Nifty Smallcap 100": "https://nsearchives.nseindia.com/content/indices/ind_niftysmallcap100.pdf",
        "Nifty Microcap 250": "https://nsearchives.nseindia.com/content/indices/Factsheet_Nifty_Microcap_250_Index.pdf",
        "Nifty LargeMidcap 250": "https://nsearchives.nseindia.com/content/indices/Factsheet_NIFTY_LargeMidcap_250_Index.pdf",
        "Nifty MidSmallcap 400": "https://nsearchives.nseindia.com/content/indices/ind_Nifty_MidSmallcap_400.pdf",
        "Nifty India FPI 150": "https://niftyindices.com/Factsheet/Factsheet_NiftyIndiaFPI150Index.pdf"
    }


class NiftyThematicIndices:
    indices_list = [
        "Nifty Capital Markets",
        "Nifty Commodities",
        "Nifty Conglomerate 50",
        "Nifty Core Housing",
        "Nifty CPSE",
        "Nifty EV & New Age Automotive",
        "Nifty Energy",
        "Nifty Housing",
        "Nifty India Consumption",
        "Nifty India Defence",
        "Nifty India Digital",
        "Nifty India Infrastructure & Logistics",
        "Nifty India Internet",
        "Nifty India Manufacturing",
        "Nifty India New Age Consumption",
        "Nifty India Railways PSU",
        "Nifty India Tourism",
        "Nifty Infrastructure",
        "Nifty IPO",
        "Nifty Midcap Liquid 15",
        "Nifty MNC",
        "Nifty Mobility",
        "Nifty PSE",
        "Nifty REITs & InvITs",
        "Nifty Rural",
        "Nifty Non-Cyclical Consumer",
        "Nifty Services Sector",
        "Nifty Shariah 25",
        "Nifty100 Liquid 15",
        "Nifty50 Shariah",
        "Nifty500 Shariah",
        "Nifty SME EMERGE",
        "Nifty Waves",
        "Nifty100 ESG",
        "Nifty100 Enhanced ESG",
        "Nifty100 ESG Sector Leaders",
        "Nifty India Corporate Group - Aditya Birla Group",
        "Nifty India Corporate Group - Mahindra Group",
        "Nifty India Corporate Group - Tata Group",
        "Nifty India Select 5 Corporate Groups (MAATR)"
    ]
    index_constituent_list_urls = {
        "Nifty Capital Markets": "https://niftyindices.com/IndexConstituent/ind_niftyCapitalMarkets_list.csv",
        "Nifty Commodities": "https://www.niftyindices.com/IndexConstituent/ind_niftycommoditieslist.csv",
        "Nifty Conglomerate 50": "https://www.niftyindices.com/IndexConstituent/ind_niftyConglomerate50_list.csv",
        "Nifty Core Housing": "https://niftyindices.com/IndexConstituent/ind_niftyCoreHousing_list.csv",
        "Nifty CPSE": "https://www.niftyindices.com/IndexConstituent/ind_niftycpselist.csv",
        "Nifty EV & New Age Automotive": "https://niftyindices.com/IndexConstituent/ind_niftyEv_NewAgeAutomotive_list.csv",
        "Nifty Energy": "https://www.niftyindices.com/IndexConstituent/ind_niftyenergylist.csv",
        "Nifty Housing": "https://www.niftyindices.com/IndexConstituent/ind_niftyhousing_list.csv",
        "Nifty India Consumption": "https://www.niftyindices.com/IndexConstituent/ind_niftyconsumptionlist.csv",
        "Nifty India Defence": "https://www.niftyindices.com/IndexConstituent/ind_niftyindiadefence_list.csv",
        "Nifty India Digital": "https://niftyindices.com/IndexConstituent/ind_niftyindiadigital_list.csv",
        "Nifty India Infrastructure & Logistics": "https://niftyindices.com/IndexConstituent/ind_niftyIndiaInfrastructure_Logistics_list.csv",
        "Nifty India Internet": "https://www.niftyindices.com/IndexConstituent/ind_niftyIndiaInternet_list.csv",
        "Nifty India Manufacturing": "https://www.niftyindices.com/IndexConstituent/ind_niftyindiamanufacturing_list.csv",
        "Nifty India New Age Consumption": "https://niftyindices.com/IndexConstituent/ind_niftyIndiaNewAgeConsumption_list.csv",
        "Nifty India Railways PSU": "https://niftyindices.com/IndexConstituent/ind_niftyIndiaRailwaysPSU_list.csv",
        "Nifty India Tourism": "https://niftyindices.com/IndexConstituent/ind_niftyindiatourism_list.csv",
        "Nifty Infrastructure": "https://www.niftyindices.com/IndexConstituent/ind_niftyinfralist.csv",
        "Nifty IPO": "https://niftyindices.com/IndexConstituent/ind_niftyIPO_list.csv",
        "Nifty Midcap Liquid 15": "https://www.niftyindices.com/IndexConstituent/ind_Nifty_Midcap_Liquid15.csv",
        "Nifty MNC": "https://www.niftyindices.com/IndexConstituent/ind_niftymnclist.csv",
        "Nifty Mobility": "https://www.niftyindices.com/IndexConstituent/ind_niftymobility_list.csv",
        "Nifty PSE": "https://www.niftyindices.com/IndexConstituent/ind_niftypselist.csv",
        "Nifty REITs & InvITs": "https://www.niftyindices.com/IndexConstituent/ind_niftyREITs_InvITs_list.csv",
        "Nifty Rural": "https://niftyindices.com/IndexConstituent/ind_niftyRural_list.csv",
        "Nifty Non-Cyclical Consumer": "https://www.niftyindices.com/IndexConstituent/ind_niftynon-cyclicalconsumer_list.csv",
        "Nifty Services Sector": "https://www.niftyindices.com/IndexConstituent/ind_niftyservicelist.csv",
        "Nifty Shariah 25": "",
        "Nifty100 Liquid 15": "https://www.niftyindices.com/IndexConstituent/ind_Nifty100_Liquid15.csv",
        "Nifty50 Shariah": "",
        "Nifty500 Shariah": "",
        "Nifty SME EMERGE": "https://www.niftyindices.com/IndexConstituent/ind_niftysmelist.csv",
        "Nifty Waves": "https://niftyindices.com/IndexConstituent/ind_niftyWaves_list.csv",
        "Nifty100 ESG": "",
        "Nifty100 Enhanced ESG": "",
        "Nifty100 ESG Sector Leaders": "",
        "Nifty India Corporate Group - Aditya Birla Group": "https://niftyindices.com/IndexConstituent/ind_nifty_adityabirlalist.csv",
        "Nifty India Corporate Group - Mahindra Group": "https://niftyindices.com/IndexConstituent/ind_nifty_mahindralist.csv",
        "Nifty India Corporate Group - Tata Group": "https://niftyindices.com/IndexConstituent/ind_nifty_tatalist.csv",
        "Nifty India Select 5 Corporate Groups (MAATR)": "https://niftyindices.com/IndexConstituent/ind_niftyIndiaSelect5CorporateGroupsMAATR_list.csv"
    }
    index_factsheet_urls = {
        "Nifty Capital Markets": "https://niftyindices.com/Factsheet/Factsheet_NiftyCapitalMarkets.pdf",
        "Nifty Commodities": "https://www.niftyindices.com/Factsheet/ind_nifty_commodities.pdf",
        "Nifty Conglomerate 50": "https://www.niftyindices.com/Factsheet/Factsheet_NiftyConglomerate50.pdf",
        "Nifty Core Housing": "https://niftyindices.com/Factsheet/Nifty_Core_Housing_Factsheet.pdf",
        "Nifty CPSE": "https://www.niftyindices.com/Factsheet/ind_Nifty_CPSE.pdf",
        "Nifty EV & New Age Automotive": "https://niftyindices.com/Factsheet/Factsheet_NiftyEVNewAgeAutomotive.pdf",
        "Nifty Energy": "https://www.niftyindices.com/Factsheet/ind_nifty_energy.pdf",
        "Nifty Housing": "https://www.niftyindices.com/Factsheet/Factsheet_NiftyHousing.pdf",
        "Nifty India Consumption": "https://www.niftyindices.com/Factsheet/ind_Nifty_India_Consumption.pdf",
        "Nifty India Defence": "https://www.niftyindices.com/Factsheet/Factsheet_NiftyIndiaDefence.pdf",
        "Nifty India Digital": "https://niftyindices.com/Factsheet/Factsheet_NiftyIndiaDigital.pdf",
        "Nifty India Infrastructure & Logistics": "https://niftyindices.com/Factsheet/Factsheet_Nifty_India_Infrastructure_and_Logistics.pdf",
        "Nifty India Internet": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty_India_Internet.pdf",
        "Nifty India Manufacturing": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty_India_Manufacturing_Index.pdf",
        "Nifty India New Age Consumption": "https://niftyindices.com/Factsheet/Factsheet_NiftyIndiaNewAgeConsumption.pdf",
        "Nifty India Railways PSU": "https://niftyindices.com/Factsheet/Factsheet_NiftyIndiaRailwaysPSU.pdf",
        "Nifty India Tourism": "https://niftyindices.com/Factsheet/Factsheet_NiftyIndiaTourism.pdf",
        "Nifty Infrastructure": "https://www.niftyindices.com/Factsheet/ind_nifty_infra.pdf",
        "Nifty IPO": "https://niftyindices.com/Factsheet/Factsheet_NiftyIPO.pdf",
        "Nifty Midcap Liquid 15": "https://www.niftyindices.com/Factsheet/Nifty_midcap_liquid_15.pdf",
        "Nifty MNC": "https://www.niftyindices.com/Factsheet/ind_nifty_mnc.pdf",
        "Nifty Mobility": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty_Mobility_Total_Returns_Index.pdf",
        "Nifty PSE": "https://www.niftyindices.com/Factsheet/ind_nifty_pse.pdf",
        "Nifty REITs & InvITs": "https://www.niftyindices.com/Factsheet/Factsheet_REITs_InvITs.pdf",
        "Nifty Rural": "https://niftyindices.com/Factsheet/Factsheet_NiftyRural.pdf",
        "Nifty Non-Cyclical Consumer": "https://www.niftyindices.com/Factsheet/Factsheet_NiftyNonCyclicalConsumer.pdf",
        "Nifty Services Sector": "https://www.niftyindices.com/Factsheet/ind_nifty_services_sector.pdf",
        "Nifty Shariah 25": "https://www.niftyindices.com/Factsheet/Factsheet_nifty_Shariah25.pdf",
        "Nifty100 Liquid 15": "https://www.niftyindices.com/Factsheet/Nifty100_Liquid_15.pdf",
        "Nifty50 Shariah": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty50_Shariah.pdf",
        "Nifty500 Shariah": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty500_Shariah.pdf",
        "Nifty SME EMERGE": "https://www.niftyindices.com/Factsheet/Factsheet_NIFTY_SME_EMERGE_Index.pdf",
        "Nifty Waves": "https://niftyindices.com/Factsheet/Factsheet_Nifty_Waves.pdf",
        "Nifty100 ESG": "https://www.niftyindices.com/Factsheet/Factsheet_NIFTY100_ESG_Index.pdf",
        "Nifty100 Enhanced ESG": "https://www.niftyindices.com/Factsheet/Factsheet_NIFTY100_Enhanced_ESG_Index.pdf",
        "Nifty100 ESG Sector Leaders": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty100_ESG_Sector_Leaders.pdf",
        "Nifty India Corporate Group - Aditya Birla Group": "https://niftyindices.com/Factsheet/ind_NIFTY_ADITYA_BIRLA_GROUP.pdf",
        "Nifty India Corporate Group - Mahindra Group": "https://niftyindices.com/Factsheet/ind_NIFTY_MAHINDRA_GROUP.pdf",
        "Nifty India Corporate Group - Tata Group": "https://niftyindices.com/Factsheet/Ind_NIFTY_TATA_GROUP.pdf",
        "Nifty India Select 5 Corporate Groups (MAATR)": "https://niftyindices.com/Factsheet/Factsheet_NiftyIndiaSelect5CorporateGroupsMAATR.pdf"
    }


class NiftyStrategyIndices:
    indices_list = [
        "Nifty100 Equal Weight",
        "Nifty100 Low Volatility 30",
        "Nifty200 Momentum 30",
        "Nifty200 Alpha 30",
        "Nifty100 Alpha 30",
        "Nifty Dividend Opportunities 50",
        "Nifty Growth Sectors 15",
        "Nifty High Beta 50",
        "Nifty Low Volatility 50",
        "Nifty Top 10 Equal Weight",
        "Nifty Top 15 Equal Weight",
        "Nifty Top 20 Equal Weight",
        "Nifty100 Quality 30",
        "Nifty Midcap150 Momentum 50",
        "Nifty Midcap150 Quality 50",
        "Nifty Alpha 50",
        "Nifty50 Equal Weight",
        "Nifty50 Value 20",
        "Nifty200 Value 30",
        "Nifty500 Flexicap Quality 30",
        "Nifty500 Value 50",
        "Nifty500 Equal Weight",
        "Nifty500 Low Volatility 50",
        "Nifty500 Momentum 50",
        "Nifty500 Quality 50",
        "Nifty500 Multifactor MQVLv 50",
        "Nifty200 Quality 30",
        "Nifty MidSmallcap400 Momentum Quality 100",
        "Nifty Smallcap250 Quality 50",
        "Nifty Total Market Momentum Quality 50"
    ]
    index_constituent_list_urls = {
        "Nifty100 Equal Weight": "https://www.niftyindices.com/IndexConstituent/ind_nifty100list.csv",
        "Nifty100 Low Volatility 30": "https://www.niftyindices.com/IndexConstituent/ind_Nifty100LowVolatility30list.csv",
        "Nifty200 Momentum 30": "https://www.niftyindices.com/IndexConstituent/ind_nifty200Momentum30_list.csv",
        "Nifty200 Alpha 30": "https://www.niftyindices.com/IndexConstituent/ind_nifty200alpha30_list.csv",
        "Nifty100 Alpha 30": "https://www.niftyindices.com/IndexConstituent/ind_nifty100Alpha30list.csv",
        "Nifty Dividend Opportunities 50": "https://www.niftyindices.com/IndexConstituent/ind_niftydivopp50list.csv",
        "Nifty Growth Sectors 15": "https://www.niftyindices.com/IndexConstituent/ind_NiftyGrowth_Sectors15_Index.csv",
        "Nifty High Beta 50": "https://www.niftyindices.com/IndexConstituent/nifty_High_Beta50_Index.csv",
        "Nifty Low Volatility 50": "https://www.niftyindices.com/IndexConstituent/nifty_low_Volatility50_Index.csv",
        "Nifty Top 10 Equal Weight": "https://niftyindices.com/IndexConstituent/ind_niftytop10EqualWeight_list.csv",
        "Nifty Top 15 Equal Weight": "https://niftyindices.com/IndexConstituent/ind_niftytop15EqualWeight_list.csv",
        "Nifty Top 20 Equal Weight": "https://niftyindices.com/IndexConstituent/ind_niftyTop20EqualWeight_list.csv",
        "Nifty100 Quality 30": "https://www.niftyindices.com/IndexConstituent/ind_nifty100Quality30list.csv",
        "Nifty Midcap150 Momentum 50": "https://www.niftyindices.com/IndexConstituent/ind_niftymidcap150momentum50_list.csv",
        "Nifty Midcap150 Quality 50": "https://www.niftyindices.com/IndexConstituent/ind_niftymidcap150quality50list.csv",
        "Nifty Alpha 50": "https://www.niftyindices.com/IndexConstituent/ind_nifty_Alpha_Index.csv",
        "Nifty50 Equal Weight": "https://www.niftyindices.com/IndexConstituent/ind_Nifty50EqualWeight.csv",
        "Nifty50 Value 20": "https://www.niftyindices.com/IndexConstituent/ind_Nifty50_Value20.csv",
        "Nifty200 Value 30": "https://niftyindices.com/IndexConstituent/ind_nifty200Value30_list.csv",
        "Nifty500 Flexicap Quality 30": "https://niftyindices.com/IndexConstituent/ind_nifty500FlexicapQuality30_list.csv",
        "Nifty500 Value 50": "https://www.niftyindices.com/IndexConstituent/ind_nifty500Value50_list.csv",
        "Nifty500 Equal Weight": "https://niftyindices.com/IndexConstituent/ind_nifty500EqualWeight_list.csv",
        "Nifty500 Low Volatility 50": "https://niftyindices.com/IndexConstituent/ind_nifty500LowVolatility50_list.csv",
        "Nifty500 Momentum 50": "https://www.niftyindices.com/IndexConstituent/ind_nifty500Momentum50_list.csv",
        "Nifty500 Quality 50": "https://niftyindices.com/IndexConstituent/ind_nifty500Quality50_list.csv",
        "Nifty500 Multifactor MQVLv 50": "https://niftyindices.com/IndexConstituent/ind_nifty500MultifactorMQVLv50_list.csv",
        "Nifty200 Quality 30": "https://www.niftyindices.com/IndexConstituent/ind_nifty200Quality30_list.csv",
        "Nifty MidSmallcap400 Momentum Quality 100": "https://www.niftyindices.com/IndexConstituent/ind_niftyMidSmallcap400MomentumQuality100_list.csv",
        "Nifty Smallcap250 Quality 50": "https://www.niftyindices.com/IndexConstituent/ind_niftySmallcap250_Quality50_list.csv",
        "Nifty Total Market Momentum Quality 50": "https://niftyindices.com/IndexConstituent/ind_niftyTotalMarketMomentumQuality50_list.csv"
    }
    index_factsheet_urls = {
        "Nifty100 Equal Weight": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty_100_EW_Index.pdf",
        "Nifty100 Low Volatility 30": "https://www.niftyindices.com/Factsheet/Nifty100_LowVolatility30.pdf",
        "Nifty200 Momentum 30": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty200_Momentum30.pdf",
        "Nifty200 Alpha 30": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty200Alpha30.pdf",
        "Nifty100 Alpha 30": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty100_Alpha30.pdf",
        "Nifty Dividend Opportunities 50": "https://www.niftyindices.com/Factsheet/ind_Nifty_Divid_Opp50.pdf",
        "Nifty Growth Sectors 15": "https://www.niftyindices.com/Factsheet/Nifty_Growth_Sectors15.pdf",
        "Nifty High Beta 50": "https://www.niftyindices.com/Factsheet/Factsheet_nifty_High_Beta50.pdf",
        "Nifty Low Volatility 50": "https://www.niftyindices.com/Factsheet/Factsheet_nifty_Low_Volatility50.pdf",
        "Nifty Top 10 Equal Weight": "https://niftyindices.com/Factsheet/Factsheet_NiftyTop10EqualWeight.pdf",
        "Nifty Top 15 Equal Weight": "https://niftyindices.com/Factsheet/Factsheet_NiftyTop15EqualWeight.pdf",
        "Nifty Top 20 Equal Weight": "https://niftyindices.com/Factsheet/Factsheet_NiftyTop20EqualWeight.pdf",
        "Nifty100 Quality 30": "https://www.niftyindices.com/Factsheet/Nifty100_Quality30.pdf",
        "Nifty Midcap150 Momentum 50": "https://www.niftyindices.com/Factsheet/Factsheet_NiftyMidcap150Momentum50.pdf",
        "Nifty Midcap150 Quality 50": "https://www.niftyindices.com/Factsheet/Factsheet_NIFTYMidcap150_Quality50.pdf",
        "Nifty Alpha 50": "https://www.niftyindices.com/Factsheet/Factsheet_Nifty_Alpha50.pdf",
        "Nifty50 Equal Weight": "https://www.niftyindices.com/Factsheet/Factsheet_NIFTY50_Equal_Weight.pdf",
        "Nifty50 Value 20": "https://www.niftyindices.com/Factsheet/Nifty50_Value20.pdf",
        "Nifty200 Value 30": "https://niftyindices.com/Factsheet/Factsheet_Nifty200_Value30.pdf",
        "Nifty500 Flexicap Quality 30": "https://niftyindices.com/Factsheet/Factsheet_Nifty500_Flexicap_Quality_30.pdf",
        "Nifty500 Value 50": "https://www.niftyindices.com/Factsheet/FactsheetNIFTY500Value50.pdf",
        "Nifty500 Equal Weight": "https://niftyindices.com/Factsheet/Factsheet_Nifty_500_Equal_Weight.pdf",
        "Nifty500 Low Volatility 50": "https://niftyindices.com/Factsheet/Factsheet_Nifty500LowVolatility50.pdf",
        "Nifty500 Momentum 50": "https://www.niftyindices.com/Factsheet/FactsheetNifty500Momentum50.pdf",
        "Nifty500 Quality 50": "https://niftyindices.com/Factsheet/Factsheet_Nifty500Quality50.pdf",
        "Nifty500 Multifactor MQVLv 50": "https://niftyindices.com/Factsheet/Factsheet_Nifty500MultifactorMQVLv50.pdf",
        "Nifty200 Quality 30": "https://www.niftyindices.com/Factsheet/Factsheet_NIFTY200_Quality30.pdf",
        "Nifty MidSmallcap400 Momentum Quality 100": "https://www.niftyindices.com/Factsheet/Factsheet_NiftyMidSmallcap400MomentumQuality100.pdf",
        "Nifty Smallcap250 Quality 50": "https://www.niftyindices.com/Factsheet/Factsheet_NiftySmallcap250Quality50.pdf",
        "Nifty Total Market Momentum Quality 50": "https://niftyindices.com/Factsheet/Factsheet_NiftyTotalMarketMomentumQuality50.pdf"
    }
