Help
RSS
API
Feed
Maltego
Contact
Domain > learn.tinkerbrix.cc
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-05-11
52.55.124.12
(
ClassC
)
2025-07-31
34.237.186.171
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Thu, 31 Jul 2025 16:23:28 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveServer: ApacheStrict-Transport-Security: max-age31536000; includeSubdomains; preloadX-Frame-Options: SAMEORIGINPermissions-Policy: camera(*), microphone(*)Location: https://learn.tinkerbrix.cc/Access-Control-Allow-Headers: cache-control,APIKEY,ORGID,ISKONNECT,X-REQUEST-GEOLOCATION,X-REQUEST-USERINFO,X-VIDEO-BACKUP-SERVICE,X-PLATFORM-TYPEX-Content-Type-Options: nosniffContent-Security-Policy: frame-ancestors selfCache-Control: no-cache, no-store, must-revalidate script> window.afterLoadCallback ()>{ }; window.isWindowLoaded 0; /script>!DOCTYPE html>html langen>head> title>Home/title> link relicon typeimage/x-icon hrefhttps://dme2wmiz2suov.cloudfront.net/Institution(187)/Logo/1858122-favicon.png> meta charsetUTF-8> meta http-equivX-UA-Compatible contentIEedge> meta nameviewport contentwidthdevice-width, initial-scale1.0> meta namerobots contentnoindex> meta nametitle contentHome> meta namedescription contentIt is an online integrated software used for creating, delivering, tracking, and reporting educational courses and outcomes. It can be used to support traditional face-to-face instruction, as well as blended/hybrid and distance learning environments.> !-- Open Graph / Facebook --> meta propertyog:type contentwebsite> meta propertyog:url contenthttp://learn.tinkerbrix.cc/> meta propertyog:title contentHome> meta propertyog:description contentIt is an online integrated software used for creating, delivering, tracking, and reporting educational courses and outcomes. It can be used to support traditional face-to-face instruction, as well as blended/hybrid and distance learning environments.> meta propertyog:image contenthttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/icons/seothumbnail.png> !-- Twitter --> meta propertytwitter:card contentsummary_large_image> meta propertytwitter:url contenthttp://learn.tinkerbrix.cc/> meta propertytwitter:title contentHome> meta propertytwitter:description contentIt is an online integrated software used for creating, delivering, tracking, and reporting educational courses and outcomes. It can be used to support traditional face-to-face instruction, as well as blended/hybrid and distance learning environments.> meta propertytwitter:image contenthttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/icons/seothumbnail.png> link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/box/box-flex.css relstylesheet typetext/css /> script> var INST_SETTINGS {institute_id:187,name:Tinkerbrix,api_end_host:lebdu-api.edmingle.com,title:Lebdu,portal_name:lebdu,logo_details:{logo_id:305,logo_institute_id:187,logo_field_id:1979615,logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,logo_type:1,logo_height:null,logo_width:100px,background_color:null,style:margin: -15px 5px 5px 5px;},contact_number:8510044836,address_1:D-66 First Floor-Sector-7 Noida 201301,address_2:,city:Noida,state:null,country:IN,pincode:201301,support_email:support@robospecies.com,portal_link:https:\/\/learn.tinkerbrix.cc,show_courses:0,streams_visible:1,aboutus_visible:1,ios_link:,android_link:,enable_credit_system:0,is_live_classes_enabled:1,is_shopclients_enabled:0,shopclients_authtoken:null,enable_signup:1,payment_gateway:8,max_login_allowed:0,biometric_enabled:0,enable_gst:0,map_owners:0,enable_id_card:0,enable_my_payments:0,enable_buy_now:1,ispring_cloud_enabled:0,facebook_app_id:null,enable_otp_signup:1,show_student_rank:0,enable_video_download_android:0,enable_teacher_calling:1,enable_issue_certificate:0,course_info_buy_blocked:0,enable_fb_login:0,enable_google_login:0,terms_condition_url:null,privacy_policy_url:null,about_us_url:null,enable_student_profile_pic_update:1,institution_subdomain:lebdu,host_name:learn.tinkerbrix.cc,fb_url:https:\/\/www.facebook.com\/connectlebdu,linked_url:https:\/\/www.linkedin.com\/company\/lebdu-com\/,twitter_url:,ig_url:https:\/\/instagram.com\/lebduconnect?igshid1lzjya2dxm7ng,youtube_url:https:\/\/www.youtube.com\/channel\/UCLQ0HRDvtq4ujJ0PrU7sEcg,gplus_url:,favicon_file_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1858122-favicon.png,website_scripts:link rel\stylesheet\ href\https:\/\/maxcdn.bootstrapcdn.com\/font-awesome\/4.5.0\/css\/font-awesome.min.css\>\r\na href\https:\/\/api.whatsapp.com\/send?phone8510044824&textHola%21%20Quisiera%20m%C3%A1s%20informaci%C3%B3n%20sobre%20Varela%202.\ class\float\ target\_blank\>\r\ni class\fa fa-whatsapp my-float\>\/i>\r\n\/a>,website_custom_style:style>\n .home-banner h1.headline{\n font-size: 40px;\n color:#c0504d;\n font-weight: 600;\n margin-bottom: 0;\n }\n .bottom-right{\n bottom: 15px;\n right: 20px;\n position: fixed;\n display: inline-block;\n z-index: 2147483600;\n cursor: pointer;\n }\n p{\n font-size: 16px;\n }\n .home-banner p.sub-head,.home-banner h2.sub-head {\n color: #000;\n font-size: 20px;\n font-weight: 500;\n }\n .label-white .input-with-label span{\n color: #fff;\n }\n inputtype\submit\{\n background: #c0504d;\n }\n .course-item .course-box-details{\n position: absolute;\n padding: 0;\n bottom: 0;\n right:0;\n left:0;\n height: 54%;\n background-color: #c0504d;\n }\n .course-item .course-box-details h5{\n color: #fff;\n font-size: 18px;\n margin-top:0px;\n }\n .course-item .course-partner{\n position: absolute;\n top: 30%;\n padding: 10px;\n background: #fff;\n border-radius: 5px;\n left: 15px;\n z-index: 4;\n border: 2px solid #c0504d;\n }\n .course-item .course-type{\n position: absolute;\n bottom: 10px;\n left: 15px;\n color: #d6d6d6;\n font-size: 12px;\n }\n .course-box-triangle{\n height: 0;\n overflow: hidden;\n margin-top: -60px;\n padding-top: 60px;\n position: absolute;\n right: 0;\n width: 100%;\n z-index: 3;\n }\n .course-box-triangle::before{\n border-style: solid;\n border-width: 0 0 60px 360px;\n border-color: transparent transparent #c0504d;\n content: \\;\n display: block;\n height: 0;\n position: relative;\n top: -60px;\n width: 0;\n }\n .footer-logo{\n width: 60%!important;\n }\n .footer-1{\n background-color: #dcdcdc;\n }\n .footer-1 h6{\n color: #444444!important;\n }\n .footer-1 a{\n color:#444444!important;\n }\n .footer-1 p{\n color:#444444!important;\n }\n .btn {\n border: 2px solid #c0504d;\n }\n .btn-filled {\n background: #c0504d;\n }\n .btn:visited {\n color: #c0504d;\n }\n .btn-filled:visited {\n color: #fff;\n}\n .btn:hover {\n background: #c0504d;\n }\n .pkg-detail p{\n font-size: 14px;\n }\n .enquiry-btn{\n bottom: 15px;\n left: 20px;\n position: fixed;\n display: inline-block;\n z-index: 2147483600;\n cursor: pointer;\n }\n .enquiry-btn .enq-circle{\n background: #c0504d;\n width: 70px;\n height: 70px;\n min-height: 72px;\n min-width: 65px;\n overflow: hidden;\n border-radius: 39px;\n box-shadow: 0 5px 4px 0 rgba(0,0,0,.26);\n }\n\n .image-slider .background-image-holder{\n background-size: contain!important;\n background-repeat: no-repeat!important;\n }\n .menu li a{\n font-size: 15px;\n font-family: \Verdana\;\n font-weight: 100;\n letter-spacing: 0;\n }\n .nav-utility{\n background: rgb(232,119,34);\n }\n h4.section-heading {\n font-size: 25px;\n letter-spacing: 2px;\n font-weight: 600;\n }\n .nav-utility .sub{\n color: #fff;\n font-weight: bold;\n font-size: 15px;\n }\n @media screen and (max-width: 990px){\n\n .nav-bar .module {\n padding: 0px 16px 25px 16px!important;\n }\n }\n .nav-utility .fa-phone, .nav-utility .ti-email{\n color: rgb(85,86,90);\n }\n .contact-us-area .fa {\n color: rgb(232,119,34);\n }\n @media (min-width: 992px){\n .courses-list-home .col-md-3{\n width: 20%;\n }\n }\n .feature.boxed.course-item {\n min-height: 270px;\n}\n.col-md-3 .feature.boxed.course-item {\n min-height: 230px;\n}\n.course-item .course-type.cost-label {\n color: #fff;\n}\n.float{\n\tposition:right;\n\twidth:60px;\n\theight:60px;\n\tbottom:40px;\n\tright:40px;\n\tbackground-color:#007aff;\n\tcolor:#FFF;\n\tborder-radius:50px;\n\ttext-align:center;\n font-size:30px;\n\tbox-shadow: 2px 2px 3px #999;\n z-index:100;\n}\n\n.my-float{\n\tmargin-top:0px;\n}\n\/style>\n,free_enrol_btn_text:ENROLL FOR FREE,is_website_builder_set:1,remove_bottom_edmingle_logo:1,is_ssl_enabled:1,restrict_future_signin:0,allow_admin_virtualclass_signin:0,enable_certificate_tab:0,enable_certificate_verification:0,privacy_policy:null,terms_conditions:null,terms_conditions_url:null,signup_primary_field:1,institution_currency:1,actual_domain:https:\/\/learn.tinkerbrix.cc,client_enabled_gst:0,logout_url:https:\/\/lebdu.edmingle.com,student_logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,tutor_block_confidential_field:0,is_tutor_tnc_enabled:0,tutor_terms_and_conditions:null,enable_course_welcome_invoice_attachment:0,enable_invoice_attachment:null,is_sso_enabled:0,sso_client_url:null,enable_student_mark_material_as_completed:0,inst_base_currency_id:49,inst_international_selling_status:2,allow_course_access_branches:0,enable_website_builder:1,enforce_first_password_reset:0,allow_student_primary_field_edit:1,ms_clarity_admin_script_key:null,ms_clarity_student_script_key:null,enable_azure_ad_login:0,brand_colour:#11e88b,enable_otp_login:0,enable_otp_verification_secondary_contact:0,enable_multi_factor_authentication:0,multi_factor_authentication_status:1,is_saml_sso_enabled:0,is_saml_configured:0,is_dynamic_video_watermark_enabled:0,dynamic_watermarking_duration:10,dynamic_watermarking_interval:20,use_legacy_dashboard:0,student_dashboard_version:1,use_legacy_notification:1,secured_drm_player_type:1,is_tutor_name_hidden_in_course_preview:0,events_enabled:0,membership_enabled:0,blogs_enabled:0,is_full_whitelabeled:0,online_organization_id:305,online_organization_name:TinkerBriX,edmingle_v2_node_url:https:\/\/analytics.edmingle.com,institution_addons:{addon_id:1,addon_key:zoom_users_allowed,addon_value:1,institution_id:187,created_by:58,valid_from:1685621961,valid_till:0},is_private_server:false,is_vyoma_server:false,main_logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,CURRENCY_SYMBOL:₹}; var INST_PAYMENT_SETTINGS {is_edmingle_payment_gateway:0,is_bank_added:false}; localStorage.setItem(lang, en); var countries {country_code_id:1,code:AF,name:Afghanistan,dial_code:+93,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AF.svg},{country_code_id:2,code:AX,name:\u00c5land Islands,dial_code:+358,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AX.svg},{country_code_id:3,code:AL,name:Albania,dial_code:+355,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AL.svg},{country_code_id:4,code:DZ,name:Algeria,dial_code:+213,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DZ.svg},{country_code_id:5,code:AS,name:American Samoa,dial_code:+1 684,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AS.svg},{country_code_id:6,code:AD,name:Andorra,dial_code:+376,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AD.svg},{country_code_id:7,code:AO,name:Angola,dial_code:+244,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AO.svg},{country_code_id:8,code:AI,name:Anguilla,dial_code:+1 264,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AI.svg},{country_code_id:9,code:AQ,name:Antarctica,dial_code:+672,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AQ.svg},{country_code_id:10,code:AG,name:Antigua and Barbuda,dial_code:+1268,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AG.svg},{country_code_id:11,code:AR,name:Argentina,dial_code:+54,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AR.svg},{country_code_id:12,code:AM,name:Armenia,dial_code:+374,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AM.svg},{country_code_id:13,code:AW,name:Aruba,dial_code:+297,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AW.svg},{country_code_id:14,code:AU,name:Australia,dial_code:+61,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AU.svg},{country_code_id:15,code:AT,name:Austria,dial_code:+43,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AT.svg},{country_code_id:16,code:AZ,name:Azerbaijan,dial_code:+994,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AZ.svg},{country_code_id:17,code:BS,name:Bahamas,dial_code:+1 242,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BS.svg},{country_code_id:18,code:BH,name:Bahrain,dial_code:+973,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BH.svg},{country_code_id:19,code:BD,name:Bangladesh,dial_code:+880,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BD.svg},{country_code_id:20,code:BB,name:Barbados,dial_code:+1 246,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BB.svg},{country_code_id:21,code:BY,name:Belarus,dial_code:+375,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BY.svg},{country_code_id:22,code:BE,name:Belgium,dial_code:+32,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BE.svg},{country_code_id:23,code:BZ,name:Belize,dial_code:+501,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BZ.svg},{country_code_id:24,code:BJ,name:Benin,dial_code:+229,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BJ.svg},{country_code_id:25,code:BM,name:Bermuda,dial_code:+1 441,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BM.svg},{country_code_id:26,code:BT,name:Bhutan,dial_code:+975,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BT.svg},{country_code_id:27,code:BO,name:Bolivia, Plurinational State of,dial_code:+591,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BO.svg},{country_code_id:28,code:BQ,name:Bonaire, Sint Eustatius and Saba,dial_code:+599,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BQ.svg},{country_code_id:29,code:BA,name:Bosnia and Herzegovina,dial_code:+387,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BA.svg},{country_code_id:30,code:BW,name:Botswana,dial_code:+267,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BW.svg},{country_code_id:31,code:BV,name:Bouvet Island,dial_code:+47,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BV.svg},{country_code_id:32,code:BR,name:Brazil,dial_code:+55,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BR.svg},{country_code_id:33,code:IO,name:British Indian Ocean Territory,dial_code:+246,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IO.svg},{country_code_id:34,code:BN,name:Brunei Darussalam,dial_code:+673,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BN.svg},{country_code_id:35,code:BG,name:Bulgaria,dial_code:+359,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BG.svg},{country_code_id:36,code:BF,name:Burkina Faso,dial_code:+226,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BF.svg},{country_code_id:37,code:BI,name:Burundi,dial_code:+257,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BI.svg},{country_code_id:38,code:KH,name:Cambodia,dial_code:+855,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KH.svg},{country_code_id:39,code:CM,name:Cameroon,dial_code:+237,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CM.svg},{country_code_id:40,code:CA,name:Canada,dial_code:+1,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CA.svg},{country_code_id:41,code:CV,name:Cape Verde,dial_code:+238,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CV.svg},{country_code_id:42,code:KY,name:Cayman Islands,dial_code:+1 345,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KY.svg},{country_code_id:43,code:CF,name:Central African Republic,dial_code:+236,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CF.svg},{country_code_id:44,code:TD,name:Chad,dial_code:+235,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TD.svg},{country_code_id:45,code:CL,name:Chile,dial_code:+56,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CL.svg},{country_code_id:46,code:CN,name:China,dial_code:+86,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CN.svg},{country_code_id:47,code:CX,name:Christmas Island,dial_code:+61,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CX.svg},{country_code_id:48,code:CC,name:Cocos (Keeling) Islands,dial_code:+61,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CC.svg},{country_code_id:49,code:CO,name:Colombia,dial_code:+57,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CO.svg},{country_code_id:50,code:KM,name:Comoros,dial_code:+269,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KM.svg},{country_code_id:51,code:CG,name:Congo,dial_code:+242,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CG.svg},{country_code_id:52,code:CD,name:Congo, the Democratic Republic of the,dial_code:+243,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CD.svg},{country_code_id:53,code:CK,name:Cook Islands,dial_code:+682,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CK.svg},{country_code_id:54,code:CR,name:Costa Rica,dial_code:+506,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CR.svg},{country_code_id:55,code:CI,name:C\u00f4te dIvoire,dial_code:+225,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CI.svg},{country_code_id:56,code:HR,name:Croatia,dial_code:+385,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HR.svg},{country_code_id:57,code:CU,name:Cuba,dial_code:+53,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CU.svg},{country_code_id:58,code:CW,name:Cura\u00e7ao,dial_code:+599,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CW.svg},{country_code_id:59,code:CY,name:Cyprus,dial_code:+357,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CY.svg},{country_code_id:60,code:CZ,name:Czech Republic,dial_code:+420,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CZ.svg},{country_code_id:61,code:DK,name:Denmark,dial_code:+45,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DK.svg},{country_code_id:62,code:DJ,name:Djibouti,dial_code:+253,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DJ.svg},{country_code_id:63,code:DM,name:Dominica,dial_code:+1 767,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DM.svg},{country_code_id:64,code:DO,name:Dominican Republic,dial_code:+1 849,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DO.svg},{country_code_id:65,code:EC,name:Ecuador,dial_code:+593,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/EC.svg},{country_code_id:66,code:EG,name:Egypt,dial_code:+20,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/EG.svg},{country_code_id:67,code:SV,name:El Salvador,dial_code:+503,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SV.svg},{country_code_id:68,code:GQ,name:Equatorial Guinea,dial_code:+240,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GQ.svg},{country_code_id:69,code:ER,name:Eritrea,dial_code:+291,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ER.svg},{country_code_id:70,code:EE,name:Estonia,dial_code:+372,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/EE.svg},{country_code_id:71,code:ET,name:Ethiopia,dial_code:+251,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ET.svg},{country_code_id:72,code:FK,name:Falkland Islands (Malvinas),dial_code:+500,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FK.svg},{country_code_id:73,code:FO,name:Faroe Islands,dial_code:+298,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FO.svg},{country_code_id:74,code:FJ,name:Fiji,dial_code:+679,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FJ.svg},{country_code_id:75,code:FI,name:Finland,dial_code:+358,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FI.svg},{country_code_id:76,code:FR,name:France,dial_code:+33,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FR.svg},{country_code_id:77,code:GF,name:French Guiana,dial_code:+594,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GF.svg},{country_code_id:78,code:PF,name:French Polynesia,dial_code:+689,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PF.svg},{country_code_id:79,code:TF,name:French Southern Territories,dial_code:+262,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TF.svg},{country_code_id:80,code:GA,name:Gabon,dial_code:+241,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GA.svg},{country_code_id:81,code:GM,name:Gambia,dial_code:+220,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GM.svg},{country_code_id:82,code:GE,name:Georgia,dial_code:+995,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GE.svg},{country_code_id:83,code:DE,name:Germany,dial_code:+49,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DE.svg},{country_code_id:84,code:GH,name:Ghana,dial_code:+233,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GH.svg},{country_code_id:85,code:GI,name:Gibraltar,dial_code:+350,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GI.svg},{country_code_id:86,code:GR,name:Greece,dial_code:+30,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GR.svg},{country_code_id:87,code:GL,name:Greenland,dial_code:+299,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GL.svg},{country_code_id:88,code:GD,name:Grenada,dial_code:+1 473,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GD.svg},{country_code_id:89,code:GP,name:Guadeloupe,dial_code:+590,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GP.svg},{country_code_id:90,code:GU,name:Guam,dial_code:+1 671,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GU.svg},{country_code_id:91,code:GT,name:Guatemala,dial_code:+502,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GT.svg},{country_code_id:92,code:GG,name:Guernsey,dial_code:+44,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GG.svg},{country_code_id:93,code:GN,name:Guinea,dial_code:+224,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GN.svg},{country_code_id:94,code:GW,name:Guinea-Bissau,dial_code:+245,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GW.svg},{country_code_id:95,code:GY,name:Guyana,dial_code:+592,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GY.svg},{country_code_id:96,code:HT,name:Haiti,dial_code:+509,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HT.svg},{country_code_id:97,code:HM,name:Heard Island and McDonald Islands,dial_code:+672,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HM.svg},{country_code_id:98,code:VA,name:Holy See (Vatican City State),dial_code:+379,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VA.svg},{country_code_id:99,code:HN,name:Honduras,dial_code:+504,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HN.svg},{country_code_id:100,code:HK,name:Hong Kong,dial_code:+852,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HK.svg},{country_code_id:101,code:HU,name:Hungary,dial_code:+36,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HU.svg},{country_code_id:102,code:IS,name:Iceland,dial_code:+354,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IS.svg},{country_code_id:103,code:IN,name:India,dial_code:+91,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IN.svg},{country_code_id:104,code:ID,name:Indonesia,dial_code:+62,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ID.svg},{country_code_id:105,code:IR,name:Iran, Islamic Republic of,dial_code:+98,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IR.svg},{country_code_id:106,code:IQ,name:Iraq,dial_code:+964,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IQ.svg},{country_code_id:107,code:IE,name:Ireland,dial_code:+353,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IE.svg},{country_code_id:108,code:IM,name:Isle of Man,dial_code:+44,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IM.svg},{country_code_id:109,code:IL,name:Israel,dial_code:+972,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IL.svg},{country_code_id:110,code:IT,name:Italy,dial_code:+39,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IT.svg},{country_code_id:111,code:JM,name:Jamaica,dial_code:+1 876,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/JM.svg},{country_code_id:112,code:JP,name:Japan,dial_code:+81,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/JP.svg},{country_code_id:113,code:JE,name:Jersey,dial_code:+44,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/JE.svg},{country_code_id:114,code:JO,name:Jordan,dial_code:+962,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/JO.svg},{country_code_id:115,code:KZ,name:Kazakhstan,dial_code:+7 7,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KZ.svg},{country_code_id:116,code:KE,name:Kenya,dial_code:+254,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KE.svg},{country_code_id:117,code:KI,name:Kiribati,dial_code:+686,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KI.svg},{country_code_id:118,code:KP,name:Korea, Democratic Peoples Republic of,dial_code:+850,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KP.svg},{country_code_id:119,code:KR,name:Korea, Republic of,dial_code:+82,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KR.svg},{country_code_id:120,code:KW,name:Kuwait,dial_code:+965,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KW.svg},{country_code_id:121,code:KG,name:Kyrgyzstan,dial_code:+996,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KG.svg},{country_code_id:122,code:LA,name:Lao Peoples Democratic Republic,dial_code:+856,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LA.svg},{country_code_id:123,code:LV,name:Latvia,dial_code:+371,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LV.svg},{country_code_id:124,code:LB,name:Lebanon,dial_code:+961,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LB.svg},{country_code_id:125,code:LS,name:Lesotho,dial_code:+266,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LS.svg},{country_code_id:126,code:LR,name:Liberia,dial_code:+231,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LR.svg},{country_code_id:127,code:LY,name:Libya,dial_code:+218,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LY.svg},{country_code_id:128,code:LI,name:Liechtenstein,dial_code:+423,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LI.svg},{country_code_id:129,code:LT,name:Lithuania,dial_code:+370,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LT.svg},{country_code_id:130,code:LU,name:Luxembourg,dial_code:+352,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LU.svg},{country_code_id:131,code:MO,name:Macao,dial_code:+853,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MO.svg},{country_code_id:132,code:MK,name:Macedonia, the Former Yugoslav Republic of,dial_code:+389,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MK.svg},{country_code_id:133,code:MG,name:Madagascar,dial_code:+261,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MG.svg},{country_code_id:134,code:MW,name:Malawi,dial_code:+265,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MW.svg},{country_code_id:135,code:MY,name:Malaysia,dial_code:+60,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MY.svg},{country_code_id:136,code:MV,name:Maldives,dial_code:+960,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MV.svg},{country_code_id:137,code:ML,name:Mali,dial_code:+223,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ML.svg},{country_code_id:138,code:MT,name:Malta,dial_code:+356,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MT.svg},{country_code_id:139,code:MH,name:Marshall Islands,dial_code:+692,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MH.svg},{country_code_id:140,code:MQ,name:Martinique,dial_code:+596,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MQ.svg},{country_code_id:141,code:MR,name:Mauritania,dial_code:+222,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MR.svg},{country_code_id:142,code:MU,name:Mauritius,dial_code:+230,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MU.svg},{country_code_id:143,code:YT,name:Mayotte,dial_code:+262,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/YT.svg},{country_code_id:144,code:MX,name:Mexico,dial_code:+52,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MX.svg},{country_code_id:145,code:FM,name:Micronesia, Federated States of,dial_code:+691,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FM.svg},{country_code_id:146,code:MD,name:Moldova, Republic of,dial_code:+373,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MD.svg},{country_code_id:147,code:MC,name:Monaco,dial_code:+377,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MC.svg},{country_code_id:148,code:MN,name:Mongolia,dial_code:+976,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MN.svg},{country_code_id:149,code:ME,name:Montenegro,dial_code:+382,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ME.svg},{country_code_id:150,code:MS,name:Montserrat,dial_code:+1664,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MS.svg},{country_code_id:151,code:MA,name:Morocco,dial_code:+212,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MA.svg},{country_code_id:152,code:MZ,name:Mozambique,dial_code:+258,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MZ.svg},{country_code_id:153,code:MM,name:Myanmar,dial_code:+95,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MM.svg},{country_code_id:154,code:NA,name:Namibia,dial_code:+264,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NA.svg},{country_code_id:155,code:NR,name:Nauru,dial_code:+674,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NR.svg},{country_code_id:156,code:NP,name:Nepal,dial_code:+977,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NP.svg},{country_code_id:157,code:NL,name:Netherlands,dial_code:+31,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NL.svg},{country_code_id:158,code:NC,name:New Caledonia,dial_code:+687,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NC.svg},{country_code_id:159,code:NZ,name:New Zealand,dial_code:+64,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NZ.svg},{country_code_id:160,code:NI,name:Nicaragua,dial_code:+505,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NI.svg},{country_code_id:161,code:NE,name:Niger,dial_code:+227,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NE.svg},{country_code_id:162,code:NG,name:Nigeria,dial_code:+234,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NG.svg},{country_code_id:163,code:NU,name:Niue,dial_code:+683,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NU.svg},{country_code_id:164,code:NF,name:Norfolk Island,dial_code:+672,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NF.svg},{country_code_id:165,code:MP,name:Northern Mariana Islands,dial_code:+1 670,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MP.svg},{country_code_id:166,code:NO,name:Norway,dial_code:+47,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NO.svg},{country_code_id:167,code:OM,name:Oman,dial_code:+968,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/OM.svg},{country_code_id:168,code:PK,name:Pakistan,dial_code:+92,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PK.svg},{country_code_id:169,code:PW,name:Palau,dial_code:+680,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PW.svg},{country_code_id:170,code:PS,name:Palestine, State of,dial_code:+970,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PS.svg},{country_code_id:171,code:PA,name:Panama,dial_code:+507,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PA.svg},{country_code_id:172,code:PG,name:Papua New Guinea,dial_code:+675,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PG.svg},{country_code_id:173,code:PY,name:Paraguay,dial_code:+595,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PY.svg},{country_code_id:174,code:PE,name:Peru,dial_code:+51,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PE.svg},{country_code_id:175,code:PH,name:Philippines,dial_code:+63,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PH.svg},{country_code_id:176,code:PN,name:Pitcairn,dial_code:+872,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PN.svg},{country_code_id:177,code:PL,name:Poland,dial_code:+48,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PL.svg},{country_code_id:178,code:PT,name:Portugal,dial_code:+351,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PT.svg},{country_code_id:179,code:PR,name:Puerto Rico,dial_code:+1 939,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PR.svg},{country_code_id:180,code:QA,name:Qatar,dial_code:+974,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/QA.svg},{country_code_id:181,code:RE,name:R\u00e9union,dial_code:+262,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/RE.svg},{country_code_id:182,code:RO,name:Romania,dial_code:+40,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/RO.svg},{country_code_id:183,code:RU,name:Russian Federation,dial_code:+7,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/RU.svg},{country_code_id:184,code:RW,name:Rwanda,dial_code:+250,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/RW.svg},{country_code_id:185,code:BL,name:Saint Barth\u00e9lemy,dial_code:+590,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BL.svg},{country_code_id:186,code:SH,name:Saint Helena, Ascension and Tristan da Cunha,dial_code:+290,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SH.svg},{country_code_id:187,code:KN,name:Saint Kitts and Nevis,dial_code:+1 869,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KN.svg},{country_code_id:188,code:LC,name:Saint Lucia,dial_code:+1 758,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LC.svg},{country_code_id:189,code:MF,name:Saint Martin (French part),dial_code:+590,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MF.svg},{country_code_id:190,code:PM,name:Saint Pierre and Miquelon,dial_code:+508,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PM.svg},{country_code_id:191,code:VC,name:Saint Vincent and the Grenadines,dial_code:+1 784,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VC.svg},{country_code_id:192,code:WS,name:Samoa,dial_code:+685,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/WS.svg},{country_code_id:193,code:SM,name:San Marino,dial_code:+378,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SM.svg},{country_code_id:194,code:ST,name:Sao Tome and Principe,dial_code:+239,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ST.svg},{country_code_id:195,code:SA,name:Saudi Arabia,dial_code:+966,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SA.svg},{country_code_id:196,code:SN,name:Senegal,dial_code:+221,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SN.svg},{country_code_id:197,code:RS,name:Serbia,dial_code:+381,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/RS.svg},{country_code_id:198,code:SC,name:Seychelles,dial_code:+248,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SC.svg},{country_code_id:199,code:SL,name:Sierra Leone,dial_code:+232,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SL.svg},{country_code_id:200,code:SG,name:Singapore,dial_code:+65,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SG.svg},{country_code_id:201,code:SX,name:Sint Maarten (Dutch part),dial_code:+721,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SX.svg},{country_code_id:202,code:SK,name:Slovakia,dial_code:+421,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SK.svg},{country_code_id:203,code:SI,name:Slovenia,dial_code:+386,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SI.svg},{country_code_id:204,code:SB,name:Solomon Islands,dial_code:+677,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SB.svg},{country_code_id:205,code:SO,name:Somalia,dial_code:+252,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SO.svg},{country_code_id:206,code:ZA,name:South Africa,dial_code:+27,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ZA.svg},{country_code_id:207,code:GS,name:South Georgia and the South Sandwich Islands,dial_code:+500,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GS.svg},{country_code_id:208,code:SS,name:South Sudan,dial_code:+211,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SS.svg},{country_code_id:209,code:ES,name:Spain,dial_code:+34,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ES.svg},{country_code_id:210,code:LK,name:Sri Lanka,dial_code:+94,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LK.svg},{country_code_id:211,code:SD,name:Sudan,dial_code:+249,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SD.svg},{country_code_id:212,code:SR,name:Suriname,dial_code:+597,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SR.svg},{country_code_id:213,code:SJ,name:Svalbard and Jan Mayen,dial_code:+47,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SJ.svg},{country_code_id:214,code:SZ,name:Swaziland,dial_code:+268,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SZ.svg},{country_code_id:215,code:SE,name:Sweden,dial_code:+46,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SE.svg},{country_code_id:216,code:CH,name:Switzerland,dial_code:+41,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CH.svg},{country_code_id:217,code:SY,name:Syrian Arab Republic,dial_code:+963,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SY.svg},{country_code_id:218,code:TW,name:Taiwan,dial_code:+886,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TW.svg},{country_code_id:219,code:TJ,name:Tajikistan,dial_code:+992,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TJ.svg},{country_code_id:220,code:TZ,name:Tanzania, United Republic of,dial_code:+255,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TZ.svg},{country_code_id:221,code:TH,name:Thailand,dial_code:+66,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TH.svg},{country_code_id:222,code:TL,name:Timor-Leste,dial_code:+670,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TL.svg},{country_code_id:223,code:TG,name:Togo,dial_code:+228,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TG.svg},{country_code_id:224,code:TK,name:Tokelau,dial_code:+690,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TK.svg},{country_code_id:225,code:TO,name:Tonga,dial_code:+676,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TO.svg},{country_code_id:226,code:TT,name:Trinidad and Tobago,dial_code:+1 868,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TT.svg},{country_code_id:227,code:TN,name:Tunisia,dial_code:+216,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TN.svg},{country_code_id:228,code:TR,name:Turkey,dial_code:+90,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TR.svg},{country_code_id:229,code:TM,name:Turkmenistan,dial_code:+993,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TM.svg},{country_code_id:230,code:TC,name:Turks and Caicos Islands,dial_code:+1 649,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TC.svg},{country_code_id:231,code:TV,name:Tuvalu,dial_code:+688,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TV.svg},{country_code_id:232,code:UG,name:Uganda,dial_code:+256,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/UG.svg},{country_code_id:233,code:UA,name:Ukraine,dial_code:+380,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/UA.svg},{country_code_id:234,code:AE,name:United Arab Emirates,dial_code:+971,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AE.svg},{country_code_id:235,code:GB,name:United Kingdom,dial_code:+44,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GB.svg},{country_code_id:236,code:US,name:United States,dial_code:+1,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/US.svg},{country_code_id:237,code:UM,name:United States Minor Outlying Islands,dial_code:+246,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/UM.svg},{country_code_id:238,code:UY,name:Uruguay,dial_code:+598,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/UY.svg},{country_code_id:239,code:UZ,name:Uzbekistan,dial_code:+998,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/UZ.svg},{country_code_id:240,code:VU,name:Vanuatu,dial_code:+678,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VU.svg},{country_code_id:241,code:VE,name:Venezuela, Bolivarian Republic of,dial_code:+58,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VE.svg},{country_code_id:242,code:VN,name:Viet Nam,dial_code:+84,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VN.svg},{country_code_id:243,code:VG,name:Virgin Islands, British,dial_code:+1 284,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VG.svg},{country_code_id:244,code:VI,name:Virgin Islands, U.S.,dial_code:+1 340,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VI.svg},{country_code_id:245,code:WF,name:Wallis and Futuna,dial_code:+681,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/WF.svg},{country_code_id:246,code:EH,name:Western Sahara,dial_code:+212,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/EH.svg},{country_code_id:247,code:YE,name:Yemen,dial_code:+967,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/YE.svg},{country_code_id:248,code:ZM,name:Zambia,dial_code:+260,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ZM.svg},{country_code_id:249,code:ZW,name:Zimbabwe,dial_code:+263,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ZW.svg}; var COUNTRYCODEID 236; if(window.renderEngineClient && window.renderEngineClient.setApiHost){ window.renderEngineClient.setApiHost(INST_SETTINGS); }/script>script srchttp://learn.tinkerbrix.cc/websitebuilder/sharedassets/js/fingerprint.js typemodule>/script>script srchttps://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js integritysha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM crossoriginanonymous>/script>script srchttps://edmingle.b-cdn.net/website/javascript/jquery.min.js>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/axios/0.24.0/axios.min.js integritysha512-u9akINsQsAkG9xjc1cnGF4zw5TFDwkxuc9vUp5dltDWYCSmyd0meygbvgXrlc/z7/o4a19Fb5V0OUE58J7dcyw crossoriginanonymous referrerpolicyno-referrer>/script>script typetext/javascript srchttps://edmingle.b-cdn.net/ejs.min.js>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js>/script>script srchttps://cdn.socket.io/4.6.0/socket.io.min.js crossoriginanonymous >/script> script srchttps://cdn.jsdelivr.net/npm/ua-parser-js/src/ua-parser.min.js crossoriginanonymous referrerpolicyno-referrer >/script>script srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/js/new-commonfile.js?v11.4>/script>script srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/js/new-index.js?v9.21>/script>script typetext/javascript srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/js/RenderEngineClient.js> /script>script typetext/javascript srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/js/classic.js> /script>script typetext/javascript srchttps://cdn.jsdelivr.net/npm/toastify-js>/script>script srchttps://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js>/script>script> var VISITOR_ID null; function showToast(text ,type 1,onClick null, customStyle {},isCustomNode false,emailnull,duration3000) { //type // 1 : Success // 2 : Error const color { 1: #198754, 2: #dc3545 } let toastNode null if(isCustomNode){ toastNode document.createElement(div); if (email) { toastNode.innerHTML ` div>${text.replace(/Contact us at: .+$/, )}/div> div> Contact us at: a hrefmailto:${email} stylecolor: #0d6efd; text-decoration: underline;>${email}/a> /div> `; } else { toastNode.innerHTML `div>${text}/div>`; } } return Toastify({ text: text, ...(isCustomNode && {node:toastNode}), duration: duration, close: close, gravity: top, position: center, style: { color: black, padding: 10px 12px, background: white, border-left: `5px solid ${colortype}`, ...customStyle }, onClick: onClick || function() { console.log(Error) } // Callback after click }).showToast(); } window.addEventListener(load, async () > { //Initialize fingerprint and get device Id VISITOR_ID await initiateFingerPrint(); });/script>script> let socket; let count 0; let disconnectTimer; let isEmitAllowed true; const startDisconnectTimer ()> { disconnectTimer setTimeout(() > { console.log( User inactive for 2 minutes. Disconnecting socket... ); if (socket && socket.connected) { socket.disconnect(); } }, 1 * 60 * 1000); // 1 minute in milliseconds } const resetDisconnectTimer () >{ try { clearTimeout(disconnectTimer); startDisconnectTimer(); } catch (err) { console.log(disconnectTimer , err) } } const runVisibiltyListener () > { if (document.visibilityState hidden) { console.log(Tab is hidden.); resetDisconnectTimer(); } else { console.log(Tab is visible); clearTimeout(disconnectTimer); if (socket && !socket.connected) { console.log(Reconnecting socket...); console.log(count log , count) socket.connect(); } } } document.removeEventListener(visibilitychange, runVisibiltyListener); document.addEventListener(visibilitychange,runVisibiltyListener ); function initiateSocket(usermetaJsonnull){ if(!isEmitAllowed){ console.log(Emit not allowed as old emit/connection not established yet) return } isEmitAllowed false var userAgent navigator.userAgent; const parser new UAParser(userAgent); count+1; var deviceInfo parser.getDevice()?.type || Desktop; var osInfo parser.getOS()?.name || Unknown OS; var browserInfo parser.getBrowser()?.name || Unknown OS; console.log(Device: + deviceInfo); console.log(OS: + osInfo); console.log(Browser: + browserInfo); let sessionInfo localStorage.getItem(sessionInfo) ? JSON.parse(localStorage.getItem(sessionInfo)) : null; if(sessionInfo?.endTime Math.floor(Date.now() /1000)){ sessionInfonull localStorage.removeItem(sessionInfo) } let guest_user_id `${INST_SETTINGSinstitute_id}_${Math.floor(Date.now() /1000)}`; if(localStorage.getItem(guest_user_id)){ guest_user_id localStorage.getItem(guest_user_id); }else{ localStorage.setItem(guest_user_id,guest_user_id) } const userInfo { userId: usermetaJson ? usermetaJson?.user?.user_id : guest_user_id, deviceInfo: deviceInfo, osInfo: osInfo, browserInfo: browserInfo, institutionId: INST_SETTINGSinstitute_id ? INST_SETTINGSinstitute_id : -1, organizationId:localStorage.getItem(curr_org_id) ? localStorage.getItem(curr_org_id) : (INST_SETTINGSonline_organization_id ?? 0), geoLocationInfo:usermetaJson?.geolocation_info ? usermetaJson.geolocation_info : {}, existingSessionId: localStorage.getItem(sessionInfo) ? JSON.parse(localStorage.getItem(sessionInfo))?.sessionId : null, is_guest: usermetaJson ? false : true }; if(INST_SETTINGS && INST_SETTINGSedmingle_v2_node_url){ const connectionUrl INST_SETTINGSedmingle_v2_node_url; let role usermetaJson?.user.org_data0.role; if(!socket || !socket.connected){ if(role student || !usermetaJson){ socket io(connectionUrl,{ transports: websocket, reconnectionAttempts: 3, // Set the maximum number of reconnection attempts reconnectionDelay:10000 //10 secs }); // Change the URL to your Socket.IO server } }else{ if(role student){ socket.emit(userInfo, userInfo); }else{ socket?.disconnect(); } } socket?.off(connect).on(connect, () > { console.log(Connected to server); console.log(emit log , count) isEmitAllowedtrue socket.emit(userInfo, userInfo); socket.on(sessionId, (sessionId) > { console.log(sessionId,sessionId); localStorage.setItem(sessionInfo,JSON.stringify({sessionId , endTime:Math.floor(Date.now() /1000) + 2*60*60})) }) }); socket?.on(disconnect, () > { console.log(Disconnected from server); }); }}/script>!-- SITE BUILDER -->link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/assets/minimalist-blocks/content.css relstylesheet typetext/css />link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/styles/classic.css?v1.8 relstylesheet/>link relstylesheet typetext/css hrefhttps://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css>!-- select -->link hrefhttps://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css relstylesheet /> style> :root{--header-background-color:rgba(255,255,255,1);--header-link-color:rgba(133,133,133,1);--header-link-hover-color:rgba(0,141,227,1);--footer-background-color:rgba(92,92,92,1);--footer-link-color:rgba(255,255,255,1);--footer-link-hover-color:rgba(235,235,235,1);undefined:undefined;--classic-primary:3,144,229} /style> link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/assets/styles/basetype-cabinsketch-montserrat.css relstylesheet typetext/css />/head>body> div classcontentbox_main_screen styledisplay: flex;flex-flow:row wrap;height:100vh;width:100%;overflow-y:auto;> nav classnavbar navbar-expand-sm navbar-light idheader-main styleposition: sticky; top: 0px;>style> @media only screen and (min-width: 576px) { #header-main { height: 60px; } } #header-main .navbar-brand-img { max-height: calc(60px - 1rem); } /style>div classcontainer-lg header-wrapper>a classnavbar-brand d-flex hrefhttps://tinkerbrix.cc/>img classd-inline-block align-text-center mr-2 navbar-brand-img srchttps://dme2wmiz2suov.cloudfront.net/Institution(187)/Logo/1979615-Tinker_logo_1.png />/a>button classnavbar-toggler typebutton data-bs-togglecollapse data-bs-target#navbarResponsive aria-controlsnavbarResponsive aria-expandedfalse aria-labelToggle navigation>span classnavbar-toggler-icon>svg viewBox0 0 32 32 xmlnshttp://www.w3.org/2000/svg>path strokevar(--header-link-color) stroke-width2 stroke-linecapround stroke-miterlimit10 dM4 8h24M4 16h24M4 24h24>/path>/svg>/span>/button>div classcollapse navbar-collapse align-items-center idnavbarResponsive>ul classnavbar-nav ms-auto align-items-center>li classnav-item>a target_blank href/contact-us classnav-link header styledisplay: block;>Contact Us/a>/li>a classnav-item header login-outline styledisplay: block; idopen-loginOffcanvas-modal data-bs-toggleoffcanvas href#loginOffcanvas rolebutton aria-controlsloginOffcanvas>Login/a>a classnav-item header signup styledisplay: block; idopen-signupOffcanvas-modal rolebutton aria-controlssignupOffcanvasLabel>Sign Up/a>/ul>/div>/div>/nav>script> window.addEventListener(load, () > { checkSignupState(); }); var checkSignupState () > { var signup document.getElementsByClassName(signup)0; var loginEntryPoint document.getElementsByClassName(login-outline)0; let navbar document.querySelector(.navbar-nav); if(localStorage.getItem(apikey)){ if (signup) signup.classList.add(d-none); if (loginEntryPoint) loginEntryPoint.classList.add(d-none); var dropdown document.createElement(div); dropdown.classList.add(btn-group, myaccount); navbar.insertAdjacentElement(beforeend,dropdown); // signup.parentNode.parentNode.insertBefore(dropdown, signup.parentNode.nextSibling); var template ` button typebutton classbtn btn-grad onclickgotoApplication()>My Account/button> button typebutton classbtn btn-grad dropdown-toggle dropdown-toggle-split data-bs-toggledropdown aria-expandedfalse> span classvisually-hidden>Toggle Dropdown/span> /button> ul classdropdown-menu> li>a classdropdown-item onclicklogout()>Log Out/a>/li> /ul>`; dropdown.innerHTML ejs.render(template); } } var initUserWebEngage () > { // webengage init code if( typeof webengage ! undefined ) { if(USER_INFO && USER_INFO.user_id) { webengage.user.login(USER_INFO.user_id); if(INST_SETTINGS && INST_SETTINGS.institute_id) { webengage.user.setAttribute(institution_id, INST_SETTINGS.institute_id); webengage.user.setAttribute(app_name, INST_SETTINGS.name); webengage.user.setAttribute(portal_name, INST_SETTINGS.portal_name); webengage.user.setAttribute(is_authenticated, true); } } } }/script> div classis-wrapper styledisplay:contents> div id2022-05-13T14:03:35.380Z-0 nameBanner classis-section is-box is-section-auto d-table> div classis-overlay bg-secondary-gradient> /div> div classis-boxes> div classis-box-centered is-opacity-95> div classis-container container-fluid-fluid is-content-940 space-y-100 stylemax-width: 940px;> div classrow> div classcol-md-12 center> h1 classh1-big heading-white>TinkerBriX LMS Platform/h1> /div> /div> div classrow> div classcol-md-12 center> p classui-large body-white>It is an online integrated software used for creating, delivering, tracking, and reporting g-bubble jscontrollerQVaUhf data-ci data-du200 data-tp5 jsactionR9S7w:VqIRre; jsshadow>educational/g-bubble> courses and outcomes. It can be used to support traditional face-to-face instruction, as well as blended/hybrid and distance learning environments./p> /div> /div> div classrow> div classcol-md-12 padding-10> div classspacer height-20>/div> /div> /div> div classrow> div classcol-md-12 center> p classui-big body-white>br>/p> /div> /div> div classrow> div classcol-md-12> div classspacer height-20>/div> /div> /div> div classrow> div classcol-md-12> div classeds-btn-group> a hrefhttps://learn.tinkerbrix.cc/login classeds-btn white styledisplay: inline-block; title target_blank> Get Started /a>a hrefhttps://tinkerbrix.cc/ classeds-btn white styledisplay: inline-block; color: rgb(0, 36, 58); background-color: rgb(96, 194, 253); title target_blank> Explore /a> /div> /div> /div> /div> /div> /div>/div>!-- section classoffcanvas offcanvas-start login-offcanvas tabindex-1 idoffcanvasExample aria-labelledbyoffcanvasExampleLabel> div classoffcanvas-header> h5>/h5> button idmodal-close-cross typebutton classbtn-close text-reset data-bs-dismissoffcanvas aria-labelClose>/button> /div> div classoffcanvas-body> /div>/section> -->!-- section classoffcanvas offcanvas-start login-offcanvas tabindex-1 idloginOffcanvas aria-labelledbyoffcanvasExampleLabel> -->section> div classoffcanvas offcanvas-end login-offcanvas tabindex-1 idloginOffcanvas aria-labelledbyoffcanvasExampleLabel> div classoffcanvas-header> button idmodal-close-cross typebutton classbtn-close text-reset data-bs-dismissoffcanvas aria-labelClose stylemargin-top:12px;>/button> /div> div classoffcanvas-body> div classd-flex flex-column checkout-system-pages idlogin-container-offcanvas stylebackground-image: var(--background-light-gradient), url(https://edmingle.b-cdn.net/edmingle_websitebuilder/img/backdrop.png); background-size: cover; background-repeat: no-repeat;> div classcontainer-sm> div classd-flex justify-content-center> div classoffcanvas-login-modal styledisplay:block> form classbase-form-styles access-form idwb-loginOffcanvas-form> h3 classoffcanvas-heading>Login/h3> span>or a idcreate-new-account-trigger-offcanvas href rolebutton>Create an account/a>/span> div classbase-form-styles> div classcanvas-form-group> label foremail classform-label label d-block text-start stylemargin-bottom:0px;>Email / Phone Number / Username/label> input typetext classform-control idoffcanvas-primary-field nameemail> span classform-label form-error idlogin-error-txt styledisplay:none>/span> /div> button classbtn w-100 btn-grad idoffcanvas-continue-btn stylemargin:24px 0; line-height:1.5; onclickcontinueBtnHandler(this) typebutton disabled>CONTINUE/button> div idpassword-field styledisplay: none> div classcanvas-form-group> label forpassword classform-label label d-block text-start stylemargin-bottom:0px;>Password/label> input typepassword classform-control idoffcanvas-login-password namepassword> a idforgot-password-trigger-offcanvas stylefloat:right; margin-bottom:1.25rem;color: #2C52DF hrefforgot-password>Forgot Password/a> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-login-submit-btn typesubmit disabled> LOGIN /button> /div> /div> div classsocial-logins> /div> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttp://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttp://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttp://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> div classlogin-otp-modal styledisplay:none;> form classbase-form-styles access-form idlogin-otp-form> h3 classoffcanvas-heading idlogin-otp-heading>Enter your OTP/h3> p classtext-start mt-0 idlogin-otp-text stylemargin-bottom:4px;line-height:140%;>We have sent an OTP to span classprimary-field-type>8888888888/span>p> div classprimary-field-info> span classprimary-field-data>9888888888/span> a classtext-decoration-none edit-btn onClickloginOTPPrimaryFieldEditHandler()>EDIT/a> /div> div classform> div classcanvas-form-group otp-field> div classotp-container> input typetext classotp-box login-otp-box maxlength1 /> input typetext classotp-box login-otp-box maxlength1 /> input typetext classotp-box login-otp-box maxlength1 /> input typetext classotp-box login-otp-box maxlength1 /> input typetext classotp-box login-otp-box maxlength1 /> input typetext classotp-box login-otp-box maxlength1 /> /div> p class styletext-align:center; margin-top:12px>span idlogin-resend-text>Didnt receive OTP? /span>a classtext-decoration-none idoffcanvas-login-resend-btn onClickresendLoginOffcanvasOTP() rolebutton>Resend OTPspan classoffcanvas-login-resend-timer>/span>span classspinner-border spinner-border-sm ms-2 idoffcanvas-login-resend-spinner rolestatus styledisplay:none;>/span>/a>/p> /div> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-login-otp-submit-btn typesubmit disabled> LOGIN /button> a idlogin-with-password-trigger href styledisplay:none; text-align:center; text-decoration: none;>Login with Password/a> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttp://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttp://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttp://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> /div> /div>/div>div idsign-up-container-offcanvas styledisplay: none;> head> link hrefhttps://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css relstylesheet />/head>div classd-flex flex-column checkout-system-pages idregister-container-offcanvas stylebackground-image: var(--background-light-gradient), url(https://edmingle.b-cdn.net/edmingle_websitebuilder/img/backdrop.png); background-size: cover; background-repeat: no-repeat;> div classcontainer-sm> div classd-flex justify-content-center> div classregister-modal-offcanvas styledisplay:block;> form classbase-form-styles access-form idregister-offcanvas-form> h3 classoffcanvas-heading>Create an account/h3> span>or a idlogin-trigger-offcanvas href>Login/a>/span> div classform> div classcanvas-form-group> label forcontact-number classform-label label d-block text-start stylemargin-bottom:0px;>span classmobile_text>/span>/label> div classinput-group-country input-group-country-2> div classcountry-selector> select classselectpicker country-selector country-selector-2> option value1> Afghanistan /option> option value2> Åland Islands /option> option value3> Albania /option> option value4> Algeria /option> option value5> American Samoa /option> option value6> Andorra /option> option value7> Angola /option> option value8> Anguilla /option> option value9> Antarctica /option> option value10> Antigua and Barbuda /option> option value11> Argentina /option> option value12> Armenia /option> option value13> Aruba /option> option value14> Australia /option> option value15> Austria /option> option value16> Azerbaijan /option> option value17> Bahamas /option> option value18> Bahrain /option> option value19> Bangladesh /option> option value20> Barbados /option> option value21> Belarus /option> option value22> Belgium /option> option value23> Belize /option> option value24> Benin /option> option value25> Bermuda /option> option value26> Bhutan /option> option value27> Bolivia, Plurinational State of /option> option value28> Bonaire, Sint Eustatius and Saba /option> option value29> Bosnia and Herzegovina /option> option value30> Botswana /option> option value31> Bouvet Island /option> option value32> Brazil /option> option value33> British Indian Ocean Territory /option> option value34> Brunei Darussalam /option> option value35> Bulgaria /option> option value36> Burkina Faso /option> option value37> Burundi /option> option value38> Cambodia /option> option value39> Cameroon /option> option value40> Canada /option> option value41> Cape Verde /option> option value42> Cayman Islands /option> option value43> Central African Republic /option> option value44> Chad /option> option value45> Chile /option> option value46> China /option> option value47> Christmas Island /option> option value48> Cocos (Keeling) Islands /option> option value49> Colombia /option> option value50> Comoros /option> option value51> Congo /option> option value52> Congo, the Democratic Republic of the /option> option value53> Cook Islands /option> option value54> Costa Rica /option> option value55> Côte dIvoire /option> option value56> Croatia /option> option value57> Cuba /option> option value58> Curaçao /option> option value59> Cyprus /option> option value60> Czech Republic /option> option value61> Denmark /option> option value62> Djibouti /option> option value63> Dominica /option> option value64> Dominican Republic /option> option value65> Ecuador /option> option value66> Egypt /option> option value67> El Salvador /option> option value68> Equatorial Guinea /option> option value69> Eritrea /option> option value70> Estonia /option> option value71> Ethiopia /option> option value72> Falkland Islands (Malvinas) /option> option value73> Faroe Islands /option> option value74> Fiji /option> option value75> Finland /option> option value76> France /option> option value77> French Guiana /option> option value78> French Polynesia /option> option value79> French Southern Territories /option> option value80> Gabon /option> option value81> Gambia /option> option value82> Georgia /option> option value83> Germany /option> option value84> Ghana /option> option value85> Gibraltar /option> option value86> Greece /option> option value87> Greenland /option> option value88> Grenada /option> option value89> Guadeloupe /option> option value90> Guam /option> option value91> Guatemala /option> option value92> Guernsey /option> option value93> Guinea /option> option value94> Guinea-Bissau /option> option value95> Guyana /option> option value96> Haiti /option> option value97> Heard Island and McDonald Islands /option> option value98> Holy See (Vatican City State) /option> option value99> Honduras /option> option value100> Hong Kong /option> option value101> Hungary /option> option value102> Iceland /option> option value103> India /option> option value104> Indonesia /option> option value105> Iran, Islamic Republic of /option> option value106> Iraq /option> option value107> Ireland /option> option value108> Isle of Man /option> option value109> Israel /option> option value110> Italy /option> option value111> Jamaica /option> option value112> Japan /option> option value113> Jersey /option> option value114> Jordan /option> option value115> Kazakhstan /option> option value116> Kenya /option> option value117> Kiribati /option> option value118> Korea, Democratic Peoples Republic of /option> option value119> Korea, Republic of /option> option value120> Kuwait /option> option value121> Kyrgyzstan /option> option value122> Lao Peoples Democratic Republic /option> option value123> Latvia /option> option value124> Lebanon /option> option value125> Lesotho /option> option value126> Liberia /option> option value127> Libya /option> option value128> Liechtenstein /option> option value129> Lithuania /option> option value130> Luxembourg /option> option value131> Macao /option> option value132> Macedonia, the Former Yugoslav Republic of /option> option value133> Madagascar /option> option value134> Malawi /option> option value135> Malaysia /option> option value136> Maldives /option> option value137> Mali /option> option value138> Malta /option> option value139> Marshall Islands /option> option value140> Martinique /option> option value141> Mauritania /option> option value142> Mauritius /option> option value143> Mayotte /option> option value144> Mexico /option> option value145> Micronesia, Federated States of /option> option value146> Moldova, Republic of /option> option value147> Monaco /option> option value148> Mongolia /option> option value149> Montenegro /option> option value150> Montserrat /option> option value151> Morocco /option> option value152> Mozambique /option> option value153> Myanmar /option> option value154> Namibia /option> option value155> Nauru /option> option value156> Nepal /option> option value157> Netherlands /option> option value158> New Caledonia /option> option value159> New Zealand /option> option value160> Nicaragua /option> option value161> Niger /option> option value162> Nigeria /option> option value163> Niue /option> option value164> Norfolk Island /option> option value165> Northern Mariana Islands /option> option value166> Norway /option> option value167> Oman /option> option value168> Pakistan /option> option value169> Palau /option> option value170> Palestine, State of /option> option value171> Panama /option> option value172> Papua New Guinea /option> option value173> Paraguay /option> option value174> Peru /option> option value175> Philippines /option> option value176> Pitcairn /option> option value177> Poland /option> option value178> Portugal /option> option value179> Puerto Rico /option> option value180> Qatar /option> option value181> Réunion /option> option value182> Romania /option> option value183> Russian Federation /option> option value184> Rwanda /option> option value185> Saint Barthélemy /option> option value186> Saint Helena, Ascension and Tristan da Cunha /option> option value187> Saint Kitts and Nevis /option> option value188> Saint Lucia /option> option value189> Saint Martin (French part) /option> option value190> Saint Pierre and Miquelon /option> option value191> Saint Vincent and the Grenadines /option> option value192> Samoa /option> option value193> San Marino /option> option value194> Sao Tome and Principe /option> option value195> Saudi Arabia /option> option value196> Senegal /option> option value197> Serbia /option> option value198> Seychelles /option> option value199> Sierra Leone /option> option value200> Singapore /option> option value201> Sint Maarten (Dutch part) /option> option value202> Slovakia /option> option value203> Slovenia /option> option value204> Solomon Islands /option> option value205> Somalia /option> option value206> South Africa /option> option value207> South Georgia and the South Sandwich Islands /option> option value208> South Sudan /option> option value209> Spain /option> option value210> Sri Lanka /option> option value211> Sudan /option> option value212> Suriname /option> option value213> Svalbard and Jan Mayen /option> option value214> Swaziland /option> option value215> Sweden /option> option value216> Switzerland /option> option value217> Syrian Arab Republic /option> option value218> Taiwan /option> option value219> Tajikistan /option> option value220> Tanzania, United Republic of /option> option value221> Thailand /option> option value222> Timor-Leste /option> option value223> Togo /option> option value224> Tokelau /option> option value225> Tonga /option> option value226> Trinidad and Tobago /option> option value227> Tunisia /option> option value228> Turkey /option> option value229> Turkmenistan /option> option value230> Turks and Caicos Islands /option> option value231> Tuvalu /option> option value232> Uganda /option> option value233> Ukraine /option> option value234> United Arab Emirates /option> option value235> United Kingdom /option> option value236> United States /option> option value237> United States Minor Outlying Islands /option> option value238> Uruguay /option> option value239> Uzbekistan /option> option value240> Vanuatu /option> option value241> Venezuela, Bolivarian Republic of /option> option value242> Viet Nam /option> option value243> Virgin Islands, British /option> option value244> Virgin Islands, U.S. /option> option value245> Wallis and Futuna /option> option value246> Western Sahara /option> option value247> Yemen /option> option value248> Zambia /option> option value249> Zimbabwe /option> /select> /div> div classcontact-group> span classdial_code stylepadding-top:6px;padding-bottom:6px;>/span> input typehidden idcontact-countryid /> input typenumber min0 classform-control signup_field contact-number namecontact-number idsignup-primary-field placeholderMobile Number styleborder-radius:0;> /div> /div> span classform-label form-error idsignup-error-txt styledisplay:none>/span> /div> /div> button classbtn btn-grad w-100 submit-btn idsignup-continue-btn typesubmit disabled>CONTINUE/button> div classsocial-logins> /div> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttp://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttp://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttp://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> div classregister-otp-modal-offcanvas styledisplay:none; width: 23.875rem> form classbase-form-styles access-form idregister-otp-form-offcanvas> h3 classoffcanvas-heading>Enter your OTP/h3> p classtext-start mt-0 stylemargin-bottom:4px>We have sent an OTP on your numberp> div classprimary-field-info> span classsignup-primary-field-data>9888888888/span> a classtext-decoration-none edit-btn classedit-btn onClickshowSignupOffcanvasForm() rolebutton>EDIT/a> /div> div classform> div classcanvas-form-group otp-field> div classotp-container> input typetext classotp-box signup-otp-box maxlength1 /> input typetext classotp-box signup-otp-box maxlength1 /> input typetext classotp-box signup-otp-box maxlength1 /> input typetext classotp-box signup-otp-box maxlength1 /> input typetext classotp-box signup-otp-box maxlength1 /> input typetext classotp-box signup-otp-box maxlength1 /> /div> p styletext-align:center; margin-top:12px>span idsignup-resend-text>Didnt receive OTP? /span>a classtext-decoration-none idoffcanvas-resend-btn onClickresendRegisterOffcanvasOTP() rolebutton>Resend OTPspan classoffcanvas-resend-timer>/span>span classspinner-border spinner-border-sm ms-2 idoffcanvas-resend-spinner rolestatus styledisplay:none;>/span>/a>/p> /div> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-signup-otp-submit-btn typesubmit disabled> Verify OTP /button> /form> /div> div classregister-details-modal-offcanvas styledisplay:none; width: 23.875rem> form classbase-form-styles access-form idregister-details-form-offcanvas> h3 classoffcanvas-heading>Create an account/h3> small class idsignup-error-txt-login stylecolor:#667085; display:none;>We could not find an account linked to this number. If you already have an account, span>a idlogin-trigger-offcanvas-from-signup href>Login here/a>/span> /small> label styledisplay: block; margin-top: 12px; font-size: 16px; forshow-signup-primary-field>Contact Number:/label> div idshow-signup-primary-field classprimary-field-info stylemargin-bottom: 0px;> span classsignup-primary-field-data>9888888888/span> a classtext-decoration-none edit-btn classedit-btn idsignup-details-edit-btn onClickshowSignupOffcanvasForm() rolebutton>EDIT/a> /div> div classform> div classcanvas-form-group> label foremail classform-label label d-block text-start ast stylemargin-bottom:0px;>span classname_text>/span>/label> input typetext classform-control user-details idname namename> small classd-block text-start stylecolor:#667085>Please enter your Full Name/small> /div> div classcanvas-form-group> label foremail classform-label label d-block text-start ast stylemargin-bottom:0px;>span classemail_text>/span>/label> input typeemail classform-control user-details idemail nameemail> /div> div classcanvas-form-group> label forset-password classform-label label d-block text-start ast stylemargin-bottom:0px;>Set password/label> input typepassword classform-control user-details idset-password nameset-password> /div> div classcanvas-form-group> label forconfirm-password classform-label label d-block text-start ast stylemargin-bottom:0px;>Confirm password/label> input typepassword classform-control user-details idconfirm-password nameconfirm-password> /div> div classcustom_fields>/div> /div> div styledisplay: flex; align-items:flex-start; column-gap:12px;> p classpolicy-text lh-base stylemargin:0;>By clicking on Continue, I accept the a hrefhttp://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttp://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttp://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-signup-submit-btn typesubmit disabled> CREATE ACCOUNT /button> /form> /div> /div> /div> !-- div idlogin-inline-container-offcanvas styledisplay: none;> /div> --> style> /*----Contact No Flag Styling----*/ .input-group-country .select2-selection { display: flex; align-items: center; height: 100%; } .country-code-dropdown .select2-search__field { outline: none; } .input-group-country.disabled .dial_code, .input-group-country .form-controldisabled, .input-group-country .form-controlreadonly, .input-group-country fieldsetdisabled .form-control { background-color: #eeeeee; opacity: 1; cursor: not-allowed; } .input-group-country { display: flex; border: 1px solid #ced4da; overflow: hidden; height: calc(1.5em + .75rem + 2px); border-radius: .25rem; } .input-group-country>*, .input-group-country .contact-number:focus { border: 0px; outline: 0px; } .input-group-country .contact-number { padding-left: 5px; } .input-group-country .select2-selection, .input-group-country .select2-container { height: 100%; } .input-group-country .select2-container { border-right: 1px solid #ced4da; } .input-group-country .select2-container--default, .input-group-country .select2-selection--single, .input-group-country .select2-selection__rendered { line-height: 34px !important; } .input-group-country .contact-group { display: flex; width: 100%; } .input-group-country .select2-selection.select2-selection--single { background: #eee; border-radius: 0; height: 100%; display: flex; border: 0px; } .input-group-country .select2-selection.select2-selection--single .select2-selection__arrow { height: 100%; top: 0; bottom: 0; } .input-group-country .select2-search__field { margin: 0; } .country-code-dropdown .select2-dropdown { position: relative; border: 1px solid #ced4da; border-radius: 0.25em; } .country-code-dropdown .select2-dropdown--above { bottom: 8px; } .country-code-dropdown .select2-dropdown { border: 1px solid #ced4da !important; } .country-code-dropdown .select2-dropdown--below { top: 8px; } .country-code-dropdown .select2-search__field { margin: 0px; } .input-group-country .dial_number { box-shadow: none; padding-left: 0px; border: 0px; background: none; } .input-group-country .contact-number:focus { box-shadow: none; } .input-group-country .contact-number { margin: 0 !important; border: 0px !important; color: #495057; } .input-group-country .select2-selection { border: 0; } .input-group-country .dial_code { display: flex; align-items: center; padding: 1px 5px; /* padding-top: 3px; */ background-color: #fff; color: #949494; } /*-----mandatory fields-----*/ .ast:after { content: *; color: red; } /* Target ONLY select2-enable fields */ .select2-enable + .select2-container { width: 100% !important; } .select2-enable + .select2-container .select2-selection--single { height: calc(1.5em + .75rem + 2px) !important; border: 1px solid #ced4da !important; border-radius: 0.25rem !important; background-color: #fff !important; font-size: 1rem !important; padding: 0.375rem 0.75rem !important; line-height: 1.5 !important; } /* Focus state to match your theme */ .select2-enable + .select2-container .select2-selection--single:focus { border-color: #80bdff !important; outline: 0 !important; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important; } /* Dropdown styling */ .select2-enable + .select2-container .select2-dropdown { border: 1px solid #ced4da !important; border-radius: 0.25rem !important; } /* Search input styling */ .select2-enable + .select2-container .select2-search--dropdown .select2-search__field { border: 1px solid #ced4da !important; border-radius: 0.25rem !important; padding: 0.375rem 0.75rem !important; height: calc(1.5em + 0.75rem + 2px) !important; } /* Selected value text */ .select2-enable + .select2-container .select2-selection__rendered { color: #495057 !important; padding-left: 0 !important; padding-right: 1.5rem !important; } /* Dropdown arrow */ .select2-enable + .select2-container .select2-selection__arrow { height: calc(1.5em + 0.75rem + 2px) !important; right: 0.5rem !important; } /style> script> var hostName location.hostname; var isIDC hostName ! localhost; var endPoint isIDC ? /nuSource/api/v1/ : /nuSource/api/v1/; var apiEndpoint location.protocol + // + apiEndHost + endPoint; var isEdmingleHost hostName.indexOf(edupanion) ! -1 || hostName.indexOf(edmingle) ! -1; var CONTACT_NUMBER_COUNTRY_CODE; var IS_EMAIL; var ISSIGNUPOTPINIT false; if(typeof myaccountPrefix undefined){ let myaccountPrefix ; } if(INST_SETTINGS.hasOwnProperty(student_dashboard_version) && INST_SETTINGSstudent_dashboard_version 2){ myaccountPrefix /v3; } var appLocation isIDC ? location.protocol + // + hostName + /app/ : http:// + hostName + /app/; var studentappLocation isIDC ? location.protocol + // + hostName +myaccountPrefix+ /myaccount/ : http:// + hostName +myaccountPrefix+ /myaccount/; var accessLocation false; var reloadAccessLocation false; var enable_otp_signup 1; var isPrimaryFieldErr; var isFintechStudies hostName.indexOf(fintechstudies) ! -1; window.addEventListener(load, async () > { offcanvasInitCountrySelector(2, countries); signupEventListenerInit(); const params new URLSearchParams(window.location.search); const paramValue params.get(openSidebar); if (paramValue 1 && document.getElementById(open-loginOffcanvas-modal)) { document.getElementById(open-loginOffcanvas-modal).click(); params.delete(openSidebar); const newUrl `${window.location.pathname}?${params.toString()}`; window.history.replaceState({}, , newUrl); } }); var cal_height 100 - ((document.getElementById(header-main).offsetHeight * 100) / window.innerHeight); document.getElementById(register-container-offcanvas).style.minHeight cal_height + vh; var validateEmail function(email) { var re /^a-zA-Z0-9(\._a-zA-Z0-9-\+?a-zA-Z0-9+)+@a-zA-Z0-9+(\_\-\+?a-zA-Z0-9+)*\.a-zA-Z0-9{1,32}(\.a-zA-Z{2,14}){0,2}$/g; return re.test(email); } var custom_fields_data ; var isMobileMandatory 0; $.ajax({ url : apiEndpoint+meta/all?institution_id+INSTITUTIONID, type : GET, data : { form_type : 1, }, success : function(customFieldsResponse){ METARESOURCESreligion customFieldsResponse.resources.religion; METARESOURCESstandard customFieldsResponse.resources.standard; METARESOURCESqualification customFieldsResponse.resources.qualification; METARESOURCESoccupation customFieldsResponse.resources.occupation; METARESOURCESsource customFieldsResponse.resources.source; $.ajax({ url: apiEndpoint + public/signupfields, type: GET, data: { form_type: 1, }, success: function(customFieldsResponse) { var cfield_type ; isMobileMandatory customFieldsResponse.is_contact_number_mandatory; var customFields customFieldsResponse.custom_fields.sort(function(a, b) { return a.display_index - b.display_index }); custom_fields_data customFields; WBrenderOnlineSignupFields(customFields, isMobileMandatory) $(.select2-enable).select2({ placeholder: Select an option, allowClear: true, dropdownParent: $(#loginOffcanvas), width: 100%, dropdownCssClass: select2-enable-dropdown // Additional scoping class }); } }); } }); var WBrenderOnlineSignupFields function(customFields, isMobileMandatory) { var nameDisplayText Name; var mobileDisplayText Phone Number; var emailDisplayText Email Address; var renderFields customFields.map((field, index) > { switch (field.field_name) { case student_name: nameDisplayText field.field_display_name return ``; case student_mobile_number: mobileDisplayText field.field_display_name return ``; case student_email: emailDisplayText field.field_display_name return ``; } switch (field.field_type) { case 1: cfield_type text break; case 2: cfield_type number break; case 3: cfield_type select break; case 4: cfield_type date break; default: cfield_type text } if (field.field_type 3) { if( SYSTEMDROPDOWNFIELDS.includes(field.field_name)) { var dropdownData METARESOURCESfield.field_name; return ` div classcanvas-form-group> label classform-label label d-block text-start ${(field.is_online_mandatory 1) ? ast : } stylemargin-bottom:0px;>${field.field_display_name}/label> select classcustom-select form-control user-details name${field.field_name} idfield-${field.field_id} > option labelselect>/option> ${ dropdownData.map((option)>{ return (option.is_active 1) ? `option value${option.resource_id}>${option.resource_name}/option>` : `` }).join() } /select> small classd-block text-start stylecolor:#667085>${field.field_help_text}/small> /div> `; } else { return ` div classcanvas-form-group> label classform-label label d-block text-start ${(field.is_online_mandatory 1) ? ast : } stylemargin-bottom:0px;> ${field.field_display_name} /label> select classcustom-select form-control user-details select2-enable name${field.field_name} idfield-${field.field_id}> option labelselect>/option> ${ (() > { try { const options JSON.parse(field.possible_values || ); if (!Array.isArray(options)) return ; return options.map(option > option.status 1 ? `option value${option.value}>${option.name}/option>` : ).join(); } catch (e) { return ; } })() } /select> small classd-block text-start stylecolor:#667085>${field.field_help_text}/small> /div> `; } } else { if (field.field_type ! 5) { return ` div classcanvas-form-group> label classform-label label d-block text-start ${(field.is_online_mandatory 1) ? ast : } stylemargin-bottom:0px;>${field.field_display_name}/label> input classform-control user-details type${cfield_type} name${field.field_name} idfield-${field.field_id}> small classd-block text-start stylecolor:#667085>${field.field_help_text}/small> /div> `; } return ``; } }) $(.name_text).html(nameDisplayText); $(.email_text).html(emailDisplayText); $(.mobile_text).html(mobileDisplayText); $(.custom_fields).html(renderFields); if(isMobileMandatory 1) { $(#student_mobile_number_id).addClass(ast); } } function offcanvasInitCountrySelector(id_init 1, countries) { console.log(offcanvasinit); console.log($(#loginOffcanvas)); var select2Country $(`.selectpicker.country-selector-${id_init}`).select2({ dropdownParent: $(#loginOffcanvas), dropdownAutoWidth: true, width: 100%, templateSelection: function(state) { if (!state.id) { return state.text; } var baseUrl countries.find(e > e.country_code_id state.id).flag_svg_url; var $state $( span styledisplay: inline-block;width: 25px;position: relative;>img classimg-flag /> span>/span>/span> ); $state.find(img).attr(src, baseUrl); return $state; }, templateResult: function(state) { if (!state.id) { return state.text; } var base countries.find(e > e.country_code_id state.id); var $state $(`span styledisplay:flex;width:100%;>img stylemax-width:25px;margin-right: 6px; src${base.flag_svg_url} classimg-flag />${base.name} (${base.dial_code})/span>`); return $state; } }); if (COUNTRYCODEID) { select2Country.val(COUNTRYCODEID).trigger(change.select2); } if ($(`.country-selector-${id_init}`).hasClass(select2-hidden-accessible)) { let id $(`.country-selector-${id_init} :selected`).val(); if (id) { let base countries.find(v > v.country_code_id id); $(`.input-group-country-${id_init} .dial_code`).text(base.dial_code); $(`.input-group-country-${id_init} #contact-countryid`).val(base.country_code_id); } } if ($(`.selectpicker.country-selector.country-selector-${id_init}`).length > 1) { $(`.selectpicker.country-selector.country-selector-${id_init}`).each((id, el) > { $(el).data(select2).$dropdown.addClass(country-code-dropdown); }) } else { $(`.selectpicker.country-selector.country-selector-${id_init}`).data(select2) && $(`.selectpicker.country-selector.country-selector-${id_init}`).data(select2).$dropdown.addClass(country-code-dropdown); } $(`.selectpicker.country-selector.country-selector-${id_init}`).on(select2:select, function(e) { let base countries.find(v > v.country_code_id e.params.data.id); $(`.input-group-country-${id_init} .dial_code`).text(base.dial_code); $(`.input-group-country-${id_init} #contact-countryid`).val(base.country_code_id); }); } $(#register-offcanvas-form).submit(function(e) { e.preventDefault(); registerOffcanvasForm(this); }); var submitButtonUpdate function(form, display, msg ) { $(form).find(.submit-btn).attr(disabled, display ? true : false); $(form).find(#spinner).css(display, display ? inline-block : none); $(form).find(.submit-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus + (!display ? styledisplay:none; : stylepadding:7px;margin:2px 0;) + >/span> + msg); } // function gotoApplication() { // var location (localStorage.getItem(role) 1 || localStorage.getItem(role) student) ? studentappLocation : appLocation; // window.location location; // } var registerOffcanvasForm function(form) { const spinnerLoader document.getElementById(custom-spinner-loader); var currentParams window.location.search; if(currentParams){ const urlParamsRegister new URLSearchParams(currentParams); } var primaryField $(form).find(#signup-primary-field).val(); IS_EMAIL isNaN(primaryField); var contact_number_country_id $(form).find(#contact-countryid).val(); PRIMARY_FIELD primaryField; CONTACT_NUMBER_COUNTRY_CODE contact_number_country_id; if (primaryField undefined || primaryField.trim() ) { if (spinnerLoader) { spinnerLoader.remove(); } showToast(Please enter the required field!, 2); isPrimaryFieldErr true; } if (IS_EMAIL) { if (!validateEmail(primaryField)) { if (spinnerLoader) { spinnerLoader.remove(); } isFPError true; showToast(Invalid Email Id!, 2); isPrimaryFieldErr true; } } if (isPrimaryFieldErr) { if (spinnerLoader) { spinnerLoader.remove(); } isPrimaryFieldErr false; return false; } if (!enable_otp_signup){ submitButtonUpdate(form, true); $.get(apiEndpoint + /user/checkifexists, { institution_id: INSTITUTIONID, user: PRIMARY_FIELD, contact_number_country_id: CONTACT_NUMBER_COUNTRY_CODE, calling_modal: signup }).done(function(json) { if (spinnerLoader) { spinnerLoader.remove(); } if(!json.payload.is_user_exists){ $(.register-modal-offcanvas).hide(); $(.register-details-modal-offcanvas).show(); showAccountNotFoundMessage(); $(.signup-primary-field-data).html(PRIMARY_FIELD); }else{ let checkMobEmail IS_EMAIL ? email : mobile number; $(#signup-error-txt).html(Account with this + checkMobEmail + already exists. Please try logging in or use a different + checkMobEmail + to create an account.); $(#signup-error-txt).css(display, block); } submitButtonUpdate(form, false, CONTINUE); }).fail(function(error) { if (spinnerLoader) { spinnerLoader.remove(); } var resp JSON.parse(error.responseText); showToast(resp.message, 2); submitButtonUpdate(form, false, CONTINUE); }); return; } var data { institution_id: INSTITUTIONID, contact_number_country_id: contact_number_country_id }; IS_EMAIL ? data.email PRIMARY_FIELD : data.contact_number PRIMARY_FIELD; submitButtonUpdate(form, true); $.post(apiEndpoint + (IS_EMAIL ? email/signup/otp : user/otp), { JSONString: JSON.stringify(data) }).done(function(json) { if (spinnerLoader) { spinnerLoader.remove(); } showToast(OTP sent successfully, 1); $(.register-modal-offcanvas).hide(); $(.signup-primary-field-data).html(primaryField); $(.register-otp-modal-offcanvas).show(); if(!ISSIGNUPOTPINIT){ signupOTPFieldInit(); } submitButtonUpdate(form, false, CONTINUE); }).fail(function(error) { if (spinnerLoader) { spinnerLoader.remove(); } submitButtonUpdate(form, false, CONTINUE); var resp JSON.parse(error.responseText); if(resp.code 10012){ $(#signup-error-txt).html(Account with this email already exists. Please try logging in or use a different email to create an account.); $(#signup-error-txt).css(display, block); $(document.querySelector(#register-offcanvas-form)).find(.submit-btn).attr(disabled, true); }else if(resp.code 10011){ $(#signup-error-txt).html(Account with this mobile number already exists. Please try logging in or use a different number to create an account.); $(#signup-error-txt).css(display, block); $(document.querySelector(#register-offcanvas-form)).find(.submit-btn).attr(disabled, true); }else{ showToast(resp.message, 2); } }); } var resendRegisterOffcanvasOTP function(form) { if ($(#offcanvas-resend-btn).attr(disabled) disabled) { return; } var data { institution_id: INSTITUTIONID, contact_number_country_id: CONTACT_NUMBER_COUNTRY_CODE }; IS_EMAIL ? data.email PRIMARY_FIELD : data.contact_number PRIMARY_FIELD; $(#offcanvas-resend-btn).attr(disabled, true); $(#offcanvas-resend-btn).css(cursor, default); $(#offcanvas-resend-spinner).css(display, inline-block); $.post(apiEndpoint + (IS_EMAIL ? email/signup/otp : user/otp), { JSONString: JSON.stringify(data) }).done(function(json) { $(#offcanvas-resend-btn).css(color, black); setResetTimer(); $(#offcanvas-resend-spinner).css(display, none); showToast(OTP sent successfully, 1); }).fail(function(error) { showToast(JSON.parse(error.responseText).message, 2); $(#offcanvas-resend-btn).attr(disabled, false); $(#offcanvas-resend-btn).css(cursor, pointer); $(#offcanvas-resend-spinner).css(display, none); }); } var setResetTimer () > { let timeRemaining 20; document.querySelector(.offcanvas-resend-timer).innerText in + timeRemaining + s; $(.offcanvas-resend-timer).show(); function updateTimerDisplay() { document.querySelector(.offcanvas-resend-timer).innerText in + timeRemaining + s; } const timerId setInterval(function () { timeRemaining--; updateTimerDisplay(); if (timeRemaining 0) { $(#offcanvas-resend-btn).attr(disabled, false); $(#offcanvas-resend-btn).css(cursor, pointer); $(#offcanvas-resend-btn).css(color, #2C52DF); $(.offcanvas-resend-timer).hide(); clearInterval(timerId); } }, 1000); } $(#register-otp-form-offcanvas).submit(function(e) { e.preventDefault(); registerOTPOffcanvasForm(this); }); var registerOTPOffcanvasForm function(form) { var signupOTP getSignupOTPValue(); if (signupOTP.trim() ) { showToast(Please enter your OTP to proceed, 2); return; } var data { otp: signupOTP }; if(IS_EMAIL){ data.email_only_otp 1; data.email PRIMARY_FIELD; }else{ data.contact_number PRIMARY_FIELD; } submitButtonUpdate(form, true); $.post(apiEndpoint + user/verify/otp, { JSONString: JSON.stringify(data) }).done(function(json) { showToast(OTP verified, 1); $(.register-otp-modal-offcanvas).hide(); $(.register-details-modal-offcanvas).show(); showAccountNotFoundMessage(); submitButtonUpdate(form, false, VERIFY OTP); }).fail(function(error) { var resp JSON.parse(error.responseText); showToast(resp.message, 2); $(#signup-resend-text).css(display, none); submitButtonUpdate(form, false, VERIFY OTP); }); } $(#register-details-form-offcanvas).submit(function(e) { e.preventDefault(); registerDetailsOffcanvasForm(this, 1, undefined, custom_fields_data); }); var registerDetailsOffcanvasForm function(form, role, validatedJson, custom_fields_array) { var JSONString validatedJson ? validatedJson : validateOffcanvasSignUp(form, role, custom_fields_array); if (JSONString) { var signupUrl user/signup; submitButtonUpdate(form, true); return $.post(apiEndpoint + signupUrl, { JSONString: JSONString }).done(function(json) { var jsonObj json; localStorage.setItem(apikey, jsonObj.user.apikey); localStorage.setItem(username, jsonObj.user.username); localStorage.setItem(name, jsonObj.user.name); localStorage.setItem(role, jsonObj.user.role); localStorage.setItem(server_key, jsonObj.user.server_key) // custom function for normal signup let obj { user_name : jsonObj.user.username, user_email : jsonObj.user.email, user_mobile : jsonObj.user.contact_number, referrer : window.location.href, source : website, role : jsonObj.user.role } customFunctionsTrigger(event_signup,obj); checkSignupState(); if(!localStorage.getItem(from_course_banner)){ //close the offcanvas, if it is from nav bar (not through enroll now click) document.getElementById(open-loginOffcanvas-modal).click(); } if(reloadAccessLocation){ window.location.reload(); } if (accessLocation) { return; } gotoApplication(); }).fail(function(error) { submitButtonUpdate(form, false, Sign Up); showToast(JSON.parse(error.responseText).message, 2); }); } else { return { done: function() {}, fail: function() {} } } } function toggleReferralCode(linkElement) { const container document.getElementById(referral-code-container); container.style.display container.style.display none ? block : none; linkElement.textContent container.style.display none ? Have a Referral Code? : Hide Referral Code; } validateOffcanvasSignUp function(form, role, custom_fields_array) { var name $(form).find(inputnamename).val(); if (IS_EMAIL) { var email PRIMARY_FIELD; var contact_number_country_id $(form).find(#contact-countryid).val(); var cnEle $(form).find(inputnamecontact-number).length ? $(form).find(inputnamecontact-number) : $(form).prev().find(inputnamecontact-number); var contactNumber cnEle.val(); } else { var contact_number_country_id CONTACT_NUMBER_COUNTRY_CODE; var contactNumber PRIMARY_FIELD; var emailEle $(form).find(inputnameemail).length ? $(form).find(inputnameemail) : $(form).prev().find(inputnameemail); var email emailEle.val().toLowerCase().trim(); } var state $(form).find(selectnamestate).val(); var password $(form).find(inputnameset-password).val(); var confirm_password $(form).find(inputnameconfirm-password).val(); var orgId $(form).find(inputnameorganization_id).val(); var referralCode $(form).find(inputnamereferral_code).val(); var isStateErr, isEmailErr, isContactNumberErr, isNameErr, isPswdErr, isCFErr false; var isEmailEmpty email undefined || email.trim() ; //var isEgyptClient instPortalName fatahelmasr; var isEgyptClient 0 if (name undefined || name.trim() ) { var isNameErr true; showToast(Name is required!, 2); return; } else { var isNameErr false; } if (!isEgyptClient && (isEmailEmpty || !validateEmail(email)) || (isEgyptClient && !isEmailEmpty && !validateEmail(email))) { var isEmailErr true; if (email undefined || email.trim() ) { showToast(Email address is required!, 2); } else { showToast(Email address is invalid!, 2); } return; } else { var isEmailErr false; } if ((contactNumber undefined || contactNumber.trim() ) && isMobileMandatory) { isContactNumberErr true; showToast(Phone Number is required!, 2); return; } else { isContactNumberErr false; } if (password undefined || password.trim() ) { var isPswdErr true; showToast(Password is required!, 2); return; } else if (confirm_password undefined || confirm_password.trim() ) { var isPswdErr true; showToast(Confirm password is required!, 2); return; } else if (password ! confirm_password) { var isPswdErr true; showToast(Confirm password should match with password!, 2); return; } else { var isPswdErr false; } var customFieldsError false; var systemFieldError false; custom_fields_array.forEach(field > { if (field.field_type ! 5 && field.field_type ! 4) { if (field.is_online_mandatory 1) { let field_val $(form).find(`#field-${field.field_id}`).val(); if (field_val undefined || field_val.trim() ) { customFieldsError true; showToast(`${field.field_display_name} is required!`, 2); } } } }) var system_fields_array custom_fields_array.filter((field) > field.system_field_setting > 0); var custom_fields_array custom_fields_array.filter((field) > field.system_field_setting 0); let custom_fields_with_val custom_fields_array.map(field > { let field_val $(form).find(`#field-${field.field_id}`).val(); if (field_val) { return { ...field, field_value: field_val } } return; }) custom_fields_with_val custom_fields_with_val.filter(field > { return field ! null; }); var body { contact_number: contactNumber, contact_number_country_id: contact_number_country_id, role: role, name: name, email: email, password: password, organization_id: orgId, institute_id: INSTITUTIONID, email_only_otp: 0, referral_code: referralCode, state: state -1 ? undefined : Number(state), timezone_offset: new Date().getTimezoneOffset(), custom_fields: custom_fields_with_val, device_type: 1 // type webapp } system_fields_array.map((field) > { let field_val $(form).find(`#field-${field.field_id}`).val(); if(field.field_type4) { field_val moment($(form).find(inputnamedate_of_birth).val(), YYYY-MM-DD).unix(); if(isNaN(field_val)) { showToast(`${field.field_display_name} is Required!`, 2); systemFieldError true; } } bodyfield.field_name field_val; }); if (isCFErr || isStateErr || isEmailErr || isPswdErr || isNameErr || isContactNumberErr || customFieldsError || systemFieldError) { return false; } if (localStorage.getItem(server_key)) { body.server_key localStorage.getItem(server_key); } if (VISITOR_ID) { body.device_key VISITOR_ID; } return JSON.stringify(body); } var showRegisterForm function(form) { $(.register-otp-modal-offcanvas).hide(); $(.register-modal-offcanvas).show(); } var signupEventListenerInit () > { const primaryInputField document.querySelector(#signup-primary-field); const continueBtn document.querySelector(#signup-continue-btn); const userDetailsFields document.querySelectorAll(.user-details); const submitButton document.querySelector(#offcanvas-signup-submit-btn); primaryInputField.addEventListener(input, (event) > { continueBtn.disabled !(primaryInputField.value.trim().length > 0); }); function checkInputs() { const allFilled Array.from(userDetailsFields).every(input > { if(((input.id signup-primary-field || input.id mobileNumber) && (!isMobileMandatory || INST_SETTINGSsignup_primary_field 1)) || input.id signup-state-field){ return 1; } if (input.tagName.toLowerCase() select) { return input.value.trim() ! ; } else { return input.value.trim().length > 0; } }); submitButton.disabled !allFilled; } userDetailsFields.forEach(input > { input.addEventListener(input, checkInputs); }); document.getElementById(login-trigger-offcanvas).addEventListener(click, (e) > { e.preventDefault(); document.getElementById(sign-up-container-offcanvas).style.display none; document.getElementById(login-container-offcanvas).style.minHeight 91vh; document.getElementById(login-container-offcanvas).children0.style.display block; }); } var signupOTPFieldInit () > { ISSIGNUPOTPINIT true; const otpBoxes document.querySelectorAll(.signup-otp-box); const submitBtn document.querySelector(#offcanvas-signup-otp-submit-btn); otpBoxes.forEach((box, index) > { box.addEventListener(input, (event) > { const inputValue event.target.value; const numericValue inputValue.replace(/^0-9/g, ); // Remove non-numeric characters event.target.value numericValue; if (numericValue && index otpBoxes.length - 1) { otpBoxesindex + 1.focus(); } //Last Key Handle if(index otpBoxes.length - 1){ if(numericValue){ otpBoxesindex.blur(); proceed(); }else{ disableSubmit(); } } }); box.addEventListener(keydown, (event) > { if (event.key Backspace && index > 0 && !event.target.value) { if(index otpBoxes.length - 1){ disableSubmit(); } otpBoxesindex - 1.focus(); } }); // Allow pasting one number in each box and move focus to the last entered number box.addEventListener(paste, (event) > { const clipboardData event.clipboardData || window.clipboardData; const pastedData clipboardData.getData(text); if(isNaN(pastedData)){ event.preventDefault(); return; } // Distribute one number per box for (let i 0; i pastedData.length && index + i otpBoxes.length; i++) { otpBoxesindex + i.value pastedDatai; } // Move focus to the last entered number ?if all boxes filled then enable proceed if(index + pastedData.length > otpBoxes.length){ otpBoxesindex.blur(); proceed(); }else{ otpBoxesindex + pastedData.length.focus(); } event.preventDefault(); }); let proceed () > { submitBtn.disabled false; submitBtn.click(); } let disableSubmit () > { submitBtn.disabled true; } }); } var getSignupOTPValue () > { var otp ; const otpBoxes document.querySelectorAll(.signup-otp-box); otpBoxes.forEach((box, index) > { otp otp + box.value; }); console.log(final otp, otp); return otp; } var showSignupOffcanvasForm function(form) { const otpBoxes document.querySelectorAll(.signup-otp-box); otpBoxes.forEach(function(otp) { otp.value ; }); $(#signup-resend-text).css(display, inline-block); document.getElementById(signup-error-txt).style.display none; $(.register-otp-modal-offcanvas).hide(); $(.register-details-modal-offcanvas).hide(); $(.register-modal-offcanvas).show(); } var clearSignupForm function(form) { var userDetailsForm document.getElementById(register-details-form-offcanvas); for (var i 0; i userDetailsForm.elements.length; i++) { var element userDetailsForm.elementsi; if (element.type ! button) { if (element.type select-one) { element.selectedIndex 0; } else { element.value ; } } } $(.register-details-modal-offcanvas).hide(); //resend otp btn reset if($(#offcanvas-resend-btn).attr(disabled)){ $(#offcanvas-resend-btn).attr(disabled, false); $(#offcanvas-resend-btn).css(cursor, pointer); $(#offcanvas-resend-btn).css(color, #2C52DF); $(.offcanvas-resend-timer).hide(); } document.getElementById(signup-primary-field).value ; FROM_LOGIN false; showSignupOffcanvasForm(); } var showAccountNotFoundMessage function(){ if(FROM_LOGIN){ document.getElementById(signup-error-txt-login).style.display block; document.getElementById(login-trigger-offcanvas-from-signup).addEventListener(click, (e) > { e.preventDefault(); document.getElementById(sign-up-container-offcanvas).style.display none; document.getElementById(login-container-offcanvas).style.minHeight 91vh; document.getElementById(login-container-offcanvas).children0.style.display block; continueBtnState(document.querySelector(#wb-loginOffcanvas-form)); }); }else{ document.getElementById(signup-error-txt-login).style.display none; } } /script>/div>/div>div idforgot-password-container-offcanvas styledisplay: none;> div classd-flex flex-column checkout-system-pages idoffcanvas-forgot-container stylebackground-image: var(--background-light-gradient), url(https://edmingle.b-cdn.net/edmingle_websitebuilder/img/backdrop.png); background-size: cover; background-repeat: no-repeat;> div classcontainer-sm> div classd-flex justify-content-center> div classoffcanvas-forgot-modal styledisplay:block; width: 23.875rem> form classbase-form-styles access-form idoffcanvas-forgot-form> h3 classoffcanvas-heading>Forgot Password/h3> div classform> div classcanvas-form-group> label foremail classform-label label d-block text-start >Email or Phone Number/label> input typehidden nameinstitution_id value1> input typetext classform-control idoffcanvas-fgot-pswd-cn nameemail> /div> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-reset-continue-btn typesubmit disabled> SEND OTP /button> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttp://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttp://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttp://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> div classoffcanvas-forgot-otp-modal styledisplay: none; width: 23.875rem> form classbase-form-styles access-form idoffcanvas-forgot-otp-form> h3 classoffcanvas-heading>Verify OTP/h3> p classtext-start mt-0 stylemargin-bottom:4px>We have sent an OTP to span classprimary-field-type>9888888888/span>/p> div classprimary-field-info> span classprimary-field-data>9888888888/span> a classtext-decoration-none edit-btn onClickshowForgotOffcanvasForm() rolebutton>EDIT/a> /div> div classform> div classcanvas-form-group otp-field> div classotp-container> input typetext classotp-box forgot-otp-box maxlength1 /> input typetext classotp-box forgot-otp-box maxlength1 /> input typetext classotp-box forgot-otp-box maxlength1 /> input typetext classotp-box forgot-otp-box maxlength1 /> input typetext classotp-box forgot-otp-box maxlength1 /> input typetext classotp-box forgot-otp-box maxlength1 /> /div> p class styletext-align:center; margin-top:12px>span idforgot-resend-text>Didnt receive OTP? /span>a classtext-decoration-none idoffcanvas-forgot-resend-btn onClickresendForgotOffcanvasOTP() rolebutton>Resend OTPspan classoffcanvas-forgot-resend-timer>/span>span classspinner-border spinner-border-sm ms-2 idoffcanvas-forgot-resend-spinner rolestatus styledisplay:none;>/span>/a>/p> /div> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-reset-otp-btn typesubmit disabled> Verify OTP /button> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttp://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttp://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttp://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> div classoffcanvas-reset-password-modal styledisplay:none; width: 23.875rem> form classbase-form-styles access-form idreset-password-offcanvas-form> h3 classoffcanvas-heading>Set new password/h3> div classform> div classcanvas-form-group> label fornew-password classform-label label d-block text-start >New password/label> input typepassword classform-control forgot-pwd-details idreset-pswd-newp namenew-password> /div> div classcanvas-form-group> label forconfirm-password classform-label label d-block text-start >Confirm password/label> input typepassword classform-control forgot-pwd-details idreset-pswd-newpcfm nameconfirm-password> /div> div classcanvas-form-group> label forlog-out-options classform-label label d-block text-start stylecolor:black >Log out options/label> div styledisplay: flex; align-items: center;justify-content: flex-start; margin-top: -0.6rem;> input typeradio idreset-pswd-newplo namelog-out-options value1 idreset-pswd-newplo checkedchecked> label forreset-pswd-newplo id1; styleheight:20px; font-weight:400; font-size:14px; line-height:140%>Log me out of other devices/label>br>br> /div> div styledisplay: flex;align-items: center;justify-content: flex-start; margin-top: -0.8rem;> input typeradio idkeep-logged-in namelog-out-options value2 idkeep-logged-in> label forkeep-logged-in id2; styleheight:20px; font-weight:400; font-size:14px; line-height:140%>Keep me logged in/label>br>br> /div> /div> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-reset-submit-btn typesubmit disabled> Change Password /button> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttp://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttp://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttp://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> /div> /div> script> var hostName location.hostname; var isIDC hostName ! localhost; var endPoint /nuSource/api/v1/; var apiEndpoint location.protocol+//+ apiEndHost + endPoint; var CONTACT_NUMBER; var EMAIL_ID; var accessLocation false; var reloadAccessLocation false; isCheckoutPage false; var ISRESETOTPINIT false; var cal_height 100 - ((document.getElementById(header-main).offsetHeight * 100)/ window.innerHeight); document.getElementById(offcanvas-forgot-container).style.minHeight cal_height + vh; var validateEmail function(email){ var re /^a-zA-Z0-9(\._a-zA-Z0-9-\+?a-zA-Z0-9+)+@a-zA-Z0-9+(\_\-\+?a-zA-Z0-9+)*\.a-zA-Z0-9{1,32}(\.a-zA-Z{2,14}){0,2}$/g; return re.test(email); } window.addEventListener(load, async () > { forgotEventListenerInit(); }); // function gotoApplication(){ // var location localStorage.getItem(role) 1 ? studentappLocation : appLocation; // window.location location; // } var submitButtonUpdate function(form, display, msg){ $(form).find(.submit-btn).attr(disabled, display?true:false); $(form).find(#spinner).css(display, display?inline-block:none); $(form).find(.submit-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus +(!display? styledisplay:none;:stylepadding:7px;margin:2px 0;)+>/span>+msg); } $(#offcanvas-forgot-form).submit(function(e){ e.preventDefault(); forgotOffcanvasForm(this); }); var forgotOffcanvasForm function(form){ var cn $(form).find(#offcanvas-fgot-pswd-cn).val(); var isEmail isNaN(cn); if(cn undefined || cn.trim() ){ isFPError true; showToast(Phone Number or Email Address is required!,2); return; } else { isFPError false; if(isEmail){ if(!validateEmail(cn)){ isFPError true; showToast(Invalid Email Id!,2); } EMAIL_ID cn; } else { CONTACT_NUMBER cn; } } if(isFPError){ return; } else { var obj; if(isEmail){ obj {email: cn}; } else { obj {contact_number: cn}; } var JSONString JSON.stringify(obj); submitButtonUpdate(form, true); $.post(apiEndpoint+(isEmail ? user/forgotpassword : forgotpassword/otp), { JSONString: JSONString}).done(function(json){ let primaryFieldType isNaN(cn) ? email: number; showToast(OTP sent successfully, 1); $(.offcanvas-forgot-modal).hide(); $(.primary-field-type).html(primaryFieldType); $(.primary-field-data).html(cn); $(.offcanvas-forgot-otp-modal).show(); if(!ISRESETOTPINIT){ forgotOTPFieldInit(); } submitButtonUpdate(form, false, SEND OTP); }).fail(function(error){ showToast(JSON.parse(error.responseText).message, 2); document.getElementById(offcanvas-fgot-pswd-cn).value ; submitButtonUpdate(form, false, SEND OTP); }); } } $(#offcanvas-forgot-otp-form).submit(function(e){ e.preventDefault(); forgotOffcanvasOTPForm(this); }); var forgotOffcanvasOTPForm function(form){ var forgotOTP getForgotOTPValue(); if (forgotOTP.trim() ) { showToast(Please enter your OTP to proceed, 2); return; } var obj { otp: forgotOTP, }; if(EMAIL_ID){ obj.email EMAIL_ID; } else { obj.contact_number CONTACT_NUMBER; } var JSONString JSON.stringify(obj); submitButtonUpdate(form, true); $.post(apiEndpoint+/user/verifyforgototp, { JSONString: JSONString}).done(function(json){ showToast(OTP verified, 1); $(.offcanvas-forgot-otp-modal).hide(); $(.offcanvas-reset-password-modal).show(); submitButtonUpdate(form, false, VERIFY OTP); }).fail(function(error){ showToast(JSON.parse(error.responseText).message, 2); $(#forgot-resend-text).css(display, none); submitButtonUpdate(form, false, VERIFY OTP); }); } $(#reset-password-offcanvas-form).submit(function(e){ e.preventDefault(); resetPasswordOffcanvasForm(this); }); var resendForgotOffcanvasOTP function(form){ if($(#offcanvas-forgot-resend-btn).attr(disabled) disabled){return;} var obj {}; if(EMAIL_ID){ obj.email EMAIL_ID; } else { obj.contact_number CONTACT_NUMBER; } var JSONString JSON.stringify(obj); $(#offcanvas-forgot-resend-btn).attr(disabled, true); $(#offcanvas-forgot-resend-btn).css(cursor, default); $(#offcanvas-forgot-resend-spinner).css(display, inline-block); $.post(apiEndpoint+(EMAIL_ID ? user/forgotpassword : forgotpassword/otp), { JSONString: JSONString}).done(function(json){ $(#offcanvas-forgot-resend-btn).css(color, black); setForgotResetTimer(); $(#offcanvas-forgot-resend-spinner).css(display, none); showToast(OTP sent successfully, 1); }).fail(function(error){ showToast(JSON.parse(error.responseText).message, 2); $(#offcanvas-forgot-resend-btn).attr(disabled, false); $(#offcanvas-forgot-resend-btn).css(cursor, pointer); $(#offcanvas-forgot-resend-spinner).css(display, none); }); } var setForgotResetTimer () > { let timeRemaining 20; document.querySelector(.offcanvas-forgot-resend-timer).innerText in + timeRemaining + s; $(.offcanvas-forgot-resend-timer).show(); function updateTimerDisplay() { document.querySelector(.offcanvas-forgot-resend-timer).innerText in + timeRemaining + s; } const timerId setInterval(function () { timeRemaining--; updateTimerDisplay(); if (timeRemaining 0) { $(#offcanvas-forgot-resend-btn).attr(disabled, false); $(#offcanvas-forgot-resend-btn).css(cursor, pointer); $(#offcanvas-forgot-resend-btn).css(color, #2C52DF); $(.offcanvas-forgot-resend-timer).hide(); clearInterval(timerId); } }, 1000); } var resetPasswordOffcanvasForm function(form){ var newPswd $(form).find(#reset-pswd-newp).val(); var newPswdConfirm $(form).find(#reset-pswd-newpcfm).val(); var logOutOptions document.getElementsByName(log-out-options); var selectedLogOutOption; for (let logOutOption of logOutOptions) { if (logOutOption.checked) { selectedLogOutOption logOutOption.value; } } var isPswdErr, isConfirmPswdErr, isOTPErr; if(newPswd undefined || newPswd.trim() ){ isNewPswdErr true; showToast(Password is required!, 2); return; } if(newPswdConfirm undefined || newPswdConfirm.trim() ){ isConfirmPswdErr true; showToast(Please confirm your password!, 2); return; } if(!isPswdErr && !isConfirmPswdErr){ var obj { password: newPswd, confirm_password: newPswdConfirm, log_out_options: selectedLogOutOption }; if(EMAIL_ID){ obj.email EMAIL_ID; } else { obj.contact_number CONTACT_NUMBER; } obj.otp getForgotOTPValue(); var JSONString JSON.stringify(obj); submitButtonUpdate(form, true); $.post(apiEndpoint + /resetpassword/otp, { JSONString: JSONString }).done(function (json) { showToast(You have successfully changed the password. Please sign in now, 1); submitButtonUpdate(form, false, Change Password); redirectToLoginFromForgotPwd(); }).fail(function (error) { showToast(JSON.parse(error.responseText).message, 2); submitButtonUpdate(form, false, Change Password); }); } } var showForgotOffcanvasForm function(form){ const otpBoxes document.querySelectorAll(.forgot-otp-box); otpBoxes.forEach(function(otp) { otp.value ; }); $(#forgot-resend-text).css(display, inline-block); $(.offcanvas-forgot-otp-modal).hide(); $(.offcanvas-forgot-modal).show(); } var clearForgotForm function(form){ var forgotForm document.getElementById(reset-password-offcanvas-form); for (var i 0; i forgotForm.elements.length; i++) { var element forgotForm.elementsi; if (element.type ! button) { if (element.type select-one) { element.selectedIndex 0; } else if (element.type radio) { element.checked false; }else { element.value ; } } } //resend otp btn reset if($(#offcanvas-forgot-resend-btn).attr(disabled)){ $(#offcanvas-forgot-resend-btn).attr(disabled, false); $(#offcanvas-forgot-resend-btn).css(cursor, pointer); $(#offcanvas-forgot-resend-btn).css(color, #2C52DF); $(.offcanvas-forgot-resend-timer).hide(); } document.getElementById(offcanvas-fgot-pswd-cn).value ; showForgotOffcanvasForm(); $(.offcanvas-forgot-modal).hide(); $(.offcanvas-forgot-otp-modal).hide(); $(.offcanvas-reset-password-modal).hide(); } var forgotEventListenerInit () > { const passwordInputField document.querySelector(#offcanvas-fgot-pswd-cn); const continueBtn document.querySelector(#offcanvas-reset-continue-btn); const userDetailsFields document.querySelectorAll(.forgot-pwd-details); const submitButton document.querySelector(#offcanvas-reset-submit-btn); passwordInputField.addEventListener(input, (event) > { continueBtn.disabled !(passwordInputField.value.trim().length > 0); }); function checkInputs() { const allFilled Array.from(userDetailsFields).every(input > { if (input.tagName.toLowerCase() select) { return input.value.trim() ! -1; } else { return input.value.trim().length > 0; } }); submitButton.disabled !allFilled; } userDetailsFields.forEach(input > { input.addEventListener(input, checkInputs); }); } var forgotOTPFieldInit () > { ISRESETOTPINIT true; const otpBoxes document.querySelectorAll(.forgot-otp-box); const submitBtn document.querySelector(#offcanvas-reset-otp-btn); otpBoxes.forEach((box, index) > { box.addEventListener(input, (event) > { const inputValue event.target.value; const numericValue inputValue.replace(/^0-9/g, ); // Remove non-numeric characters event.target.value numericValue; if (numericValue && index otpBoxes.length - 1) { otpBoxesindex + 1.focus(); } //Last Key Handle if(index otpBoxes.length - 1){ if(numericValue){ otpBoxesindex.blur(); proceed(); }else{ disableSubmit(); } } }); box.addEventListener(keydown, (event) > { if (event.key Backspace && index > 0 && !event.target.value) { if(index otpBoxes.length - 1){ disableSubmit(); } otpBoxesindex - 1.focus(); } }); // Allow pasting one number in each box and move focus to the last entered number box.addEventListener(paste, (event) > { const clipboardData event.clipboardData || window.clipboardData; const pastedData clipboardData.getData(text); if(isNaN(pastedData)){ event.preventDefault(); return; } // Distribute one number per box for (let i 0; i pastedData.length && index + i otpBoxes.length; i++) { otpBoxesindex + i.value pastedDatai; } // Move focus to the last entered number ?if all boxes filled then enable proceed if(index + pastedData.length > otpBoxes.length){ otpBoxesindex.blur(); proceed(); }else{ otpBoxesindex + pastedData.length.focus(); } event.preventDefault(); }); let proceed () > { submitBtn.disabled false; submitBtn.click(); } let disableSubmit () > { submitBtn.disabled true; } }); } var getForgotOTPValue () > { var otp ; const otpBoxes document.querySelectorAll(.forgot-otp-box); otpBoxes.forEach((box, index) > { otp otp + box.value; }); console.log(final otp, otp); return otp; } /script>/div>/div>script> var INST_SETTINGS {institute_id:187,name:Tinkerbrix,api_end_host:lebdu-api.edmingle.com,title:Lebdu,portal_name:lebdu,logo_details:{logo_id:305,logo_institute_id:187,logo_field_id:1979615,logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,logo_type:1,logo_height:null,logo_width:100px,background_color:null,style:margin: -15px 5px 5px 5px;},contact_number:8510044836,address_1:D-66 First Floor-Sector-7 Noida 201301,address_2:,city:Noida,state:null,country:IN,pincode:201301,support_email:support@robospecies.com,portal_link:https:\/\/learn.tinkerbrix.cc,show_courses:0,streams_visible:1,aboutus_visible:1,ios_link:,android_link:,enable_credit_system:0,is_live_classes_enabled:1,is_shopclients_enabled:0,shopclients_authtoken:null,enable_signup:1,payment_gateway:8,max_login_allowed:0,biometric_enabled:0,enable_gst:0,map_owners:0,enable_id_card:0,enable_my_payments:0,enable_buy_now:1,ispring_cloud_enabled:0,facebook_app_id:null,enable_otp_signup:1,show_student_rank:0,enable_video_download_android:0,enable_teacher_calling:1,enable_issue_certificate:0,course_info_buy_blocked:0,enable_fb_login:0,enable_google_login:0,terms_condition_url:null,privacy_policy_url:null,about_us_url:null,enable_student_profile_pic_update:1,institution_subdomain:lebdu,host_name:learn.tinkerbrix.cc,fb_url:https:\/\/www.facebook.com\/connectlebdu,linked_url:https:\/\/www.linkedin.com\/company\/lebdu-com\/,twitter_url:,ig_url:https:\/\/instagram.com\/lebduconnect?igshid1lzjya2dxm7ng,youtube_url:https:\/\/www.youtube.com\/channel\/UCLQ0HRDvtq4ujJ0PrU7sEcg,gplus_url:,favicon_file_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1858122-favicon.png,website_scripts:link rel\stylesheet\ href\https:\/\/maxcdn.bootstrapcdn.com\/font-awesome\/4.5.0\/css\/font-awesome.min.css\>\r\na href\https:\/\/api.whatsapp.com\/send?phone8510044824&textHola%21%20Quisiera%20m%C3%A1s%20informaci%C3%B3n%20sobre%20Varela%202.\ class\float\ target\_blank\>\r\ni class\fa fa-whatsapp my-float\>\/i>\r\n\/a>,website_custom_style:style>\n .home-banner h1.headline{\n font-size: 40px;\n color:#c0504d;\n font-weight: 600;\n margin-bottom: 0;\n }\n .bottom-right{\n bottom: 15px;\n right: 20px;\n position: fixed;\n display: inline-block;\n z-index: 2147483600;\n cursor: pointer;\n }\n p{\n font-size: 16px;\n }\n .home-banner p.sub-head,.home-banner h2.sub-head {\n color: #000;\n font-size: 20px;\n font-weight: 500;\n }\n .label-white .input-with-label span{\n color: #fff;\n }\n inputtype\submit\{\n background: #c0504d;\n }\n .course-item .course-box-details{\n position: absolute;\n padding: 0;\n bottom: 0;\n right:0;\n left:0;\n height: 54%;\n background-color: #c0504d;\n }\n .course-item .course-box-details h5{\n color: #fff;\n font-size: 18px;\n margin-top:0px;\n }\n .course-item .course-partner{\n position: absolute;\n top: 30%;\n padding: 10px;\n background: #fff;\n border-radius: 5px;\n left: 15px;\n z-index: 4;\n border: 2px solid #c0504d;\n }\n .course-item .course-type{\n position: absolute;\n bottom: 10px;\n left: 15px;\n color: #d6d6d6;\n font-size: 12px;\n }\n .course-box-triangle{\n height: 0;\n overflow: hidden;\n margin-top: -60px;\n padding-top: 60px;\n position: absolute;\n right: 0;\n width: 100%;\n z-index: 3;\n }\n .course-box-triangle::before{\n border-style: solid;\n border-width: 0 0 60px 360px;\n border-color: transparent transparent #c0504d;\n content: \\;\n display: block;\n height: 0;\n position: relative;\n top: -60px;\n width: 0;\n }\n .footer-logo{\n width: 60%!important;\n }\n .footer-1{\n background-color: #dcdcdc;\n }\n .footer-1 h6{\n color: #444444!important;\n }\n .footer-1 a{\n color:#444444!important;\n }\n .footer-1 p{\n color:#444444!important;\n }\n .btn {\n border: 2px solid #c0504d;\n }\n .btn-filled {\n background: #c0504d;\n }\n .btn:visited {\n color: #c0504d;\n }\n .btn-filled:visited {\n color: #fff;\n}\n .btn:hover {\n background: #c0504d;\n }\n .pkg-detail p{\n font-size: 14px;\n }\n .enquiry-btn{\n bottom: 15px;\n left: 20px;\n position: fixed;\n display: inline-block;\n z-index: 2147483600;\n cursor: pointer;\n }\n .enquiry-btn .enq-circle{\n background: #c0504d;\n width: 70px;\n height: 70px;\n min-height: 72px;\n min-width: 65px;\n overflow: hidden;\n border-radius: 39px;\n box-shadow: 0 5px 4px 0 rgba(0,0,0,.26);\n }\n\n .image-slider .background-image-holder{\n background-size: contain!important;\n background-repeat: no-repeat!important;\n }\n .menu li a{\n font-size: 15px;\n font-family: \Verdana\;\n font-weight: 100;\n letter-spacing: 0;\n }\n .nav-utility{\n background: rgb(232,119,34);\n }\n h4.section-heading {\n font-size: 25px;\n letter-spacing: 2px;\n font-weight: 600;\n }\n .nav-utility .sub{\n color: #fff;\n font-weight: bold;\n font-size: 15px;\n }\n @media screen and (max-width: 990px){\n\n .nav-bar .module {\n padding: 0px 16px 25px 16px!important;\n }\n }\n .nav-utility .fa-phone, .nav-utility .ti-email{\n color: rgb(85,86,90);\n }\n .contact-us-area .fa {\n color: rgb(232,119,34);\n }\n @media (min-width: 992px){\n .courses-list-home .col-md-3{\n width: 20%;\n }\n }\n .feature.boxed.course-item {\n min-height: 270px;\n}\n.col-md-3 .feature.boxed.course-item {\n min-height: 230px;\n}\n.course-item .course-type.cost-label {\n color: #fff;\n}\n.float{\n\tposition:right;\n\twidth:60px;\n\theight:60px;\n\tbottom:40px;\n\tright:40px;\n\tbackground-color:#007aff;\n\tcolor:#FFF;\n\tborder-radius:50px;\n\ttext-align:center;\n font-size:30px;\n\tbox-shadow: 2px 2px 3px #999;\n z-index:100;\n}\n\n.my-float{\n\tmargin-top:0px;\n}\n\/style>\n,free_enrol_btn_text:ENROLL FOR FREE,is_website_builder_set:1,remove_bottom_edmingle_logo:1,is_ssl_enabled:1,restrict_future_signin:0,allow_admin_virtualclass_signin:0,enable_certificate_tab:0,enable_certificate_verification:0,privacy_policy:null,terms_conditions:null,terms_conditions_url:null,signup_primary_field:1,institution_currency:1,actual_domain:https:\/\/learn.tinkerbrix.cc,client_enabled_gst:0,logout_url:https:\/\/lebdu.edmingle.com,student_logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,tutor_block_confidential_field:0,is_tutor_tnc_enabled:0,tutor_terms_and_conditions:null,enable_course_welcome_invoice_attachment:0,enable_invoice_attachment:null,is_sso_enabled:0,sso_client_url:null,enable_student_mark_material_as_completed:0,inst_base_currency_id:49,inst_international_selling_status:2,allow_course_access_branches:0,enable_website_builder:1,enforce_first_password_reset:0,allow_student_primary_field_edit:1,ms_clarity_admin_script_key:null,ms_clarity_student_script_key:null,enable_azure_ad_login:0,brand_colour:#11e88b,enable_otp_login:0,enable_otp_verification_secondary_contact:0,enable_multi_factor_authentication:0,multi_factor_authentication_status:1,is_saml_sso_enabled:0,is_saml_configured:0,is_dynamic_video_watermark_enabled:0,dynamic_watermarking_duration:10,dynamic_watermarking_interval:20,use_legacy_dashboard:0,student_dashboard_version:1,use_legacy_notification:1,secured_drm_player_type:1,is_tutor_name_hidden_in_course_preview:0,events_enabled:0,membership_enabled:0,blogs_enabled:0,is_full_whitelabeled:0,online_organization_id:305,online_organization_name:TinkerBriX,edmingle_v2_node_url:https:\/\/analytics.edmingle.com,institution_addons:{addon_id:1,addon_key:zoom_users_allowed,addon_value:1,institution_id:187,created_by:58,valid_from:1685621961,valid_till:0},is_private_server:false,is_vyoma_server:false,main_logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,CURRENCY_SYMBOL:₹}; var hostName location.hostname; var isIDC hostName ! localhost; let adminDashboardoff /app/; if(INST_SETTINGS.hasOwnProperty(use_legacy_dashboard) && INST_SETTINGSuse_legacy_dashboard 0){ adminDashboardoff /v2/app/; } if(typeof myaccountPrefix undefined){ let myaccountPrefix ; } if(INST_SETTINGS.hasOwnProperty(student_dashboard_version) && INST_SETTINGSstudent_dashboard_version 2){ myaccountPrefix /v3; } var appLocation isIDC ? location.protocol + // + hostName + adminDashboardoff : http:// + hostName + adminDashboardoff; var studentappLocation isIDC ? location.protocol + // + hostName + myaccountPrefix+ /myaccount/ : http:// + hostName +myaccountPrefix+ /myaccount/; var parentAppLocation isIDC ? location.protocol + // + hostName + /v2/myaccount/#/organization/parent/profile/ : http:// + hostName + /v2/myaccount/#/organization/parent/profile/; var endPoint isIDC ? /nuSource/api/v1/ : /nuSource/api/v1/; var apiEndpoint location.protocol + // + apiEndHost + endPoint; var accessLocation false; var reloadAccessLocation false; isCheckoutPage false; var ISLOGINOTPINIT false; var LOGINWITHPASSWORD false; var IS_USER_MFA_ENABLED false; var FROM_LOGIN false; const siteLevelInfo {subdomain:lebdu.edmingle.com,crawling:1,logout_redirect_url:https:\/\/lebdu.edmingle.com,logo_redirect_url:https:\/\/tinkerbrix.cc\/,website_head_tags:,website_header_scripts:,website_footer_scripts:link rel\stylesheet\ href\https:\/\/maxcdn.bootstrapcdn.com\/font-awesome\/4.5.0\/css\/font-awesome.min.css\>\r\na href\https:\/\/api.whatsapp.com\/send?phone918510044836&textHello%21%20Welcome%20to%20Tinkerbrix Support%C3%20%20%20\ class\float\ target\_blank\>\r\ni class\fa fa-whatsapp my-float\>\/i>\r\n\/a>,settings:{\enable_signup\:\undefined\}}; const siteLevelSettings siteLevelInfo.settings ? JSON.parse(siteLevelInfo.settings) : ; const isSignUpEnabled siteLevelSettings.length > 0 && !!siteLevelSettings0.enable_signup; var cal_height 100 - ((document.getElementById(header-main).offsetHeight * 100) / window.innerHeight); document.getElementById(login-container-offcanvas).style.minHeight cal_height + vh; //google sign in function returnNextActionOffcanvas() { let next dashboard if(reloadAccessLocation){ window.location.reload(); } if(accessLocation) { return ; } if (IS_RENDER_ENGINE_TASK_PENDING){ next RENDER_ENGINE_TASK_PENDING && RENDER_ENGINE_TASK_PENDING.length > 0 ? RENDER_ENGINE_TASK_PENDING0 : next; } if(SIGNUP_COURSE_LANDING){ next SIGNUP_COURSE_LANDING; }else if(FREE_PREVIEW_CLICKED){ next FREE_PREVIEW_CLICKED; } else if(SIGNUP_BUYNOW) { storeCheckoutData(); next SIGNUP_BUYNOW; } return next; } $(.g-sign-in-button-offcanvas).click(function(){ let edminglenextaction returnNextActionOffcanvas(); let edmingle_redirect_url (!ISSIGNUPSDK) ? window.location.href : ((window.location ! window.parent.location) ? document.referrer: document.location.href) edmingle_redirect_url encodeURIComponent(edmingle_redirect_url) $(.g-sign-in-button-offcanvas).attr(disabled, true); $(.g-sign-in-button-offcanvas).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus styledisplay:inline-block;padding:6px;margin:2px 0;>/span>); $(this).find(.text-container span).addClass(fa fa-spinner fa-spin).text(); $.ajax({ url : apiEndpoint+googlelogin?edmingleextactionSIGNUP_COURSE_LANDING, type : GET, data : { edminglenextaction : edminglenextaction, redirect_url : edmingle_redirect_url }, success : function(socialLoginResponse){ if(!ISSIGNUPSDK){ window.location.href socialLoginResponse.redirect_url; }else{ window.parent.postMessage({ redirectUrl: socialLoginResponse.redirect_url }, *); } let pageName ; if(window.location.pathname /register){ pageName Sign up } if(window.location.pathname /login){ pageName Sign in } setTimeout(function(){ $(.g-sign-in-button-offcanvas).attr(disabled, false); $(.g-sign-in-button-offcanvas).html(` svg width25 height24 viewBox0 0 25 24 fillnone xmlnshttp://www.w3.org/2000/svg stylemargin-right:12px;> g clip-pathurl(#clip0_2048_8815)> path dM24.2663 12.2765C24.2663 11.4608 24.2001 10.6406 24.059 9.83813H12.7402V14.4591H19.222C18.953 15.9495 18.0888 17.2679 16.8233 18.1056V21.104H20.6903C22.9611 19.014 24.2663 15.9274 24.2663 12.2765Z fill#4285F4 /> path dM12.7391 24.0008C15.9756 24.0008 18.705 22.9382 20.6936 21.1039L16.8266 18.1055C15.7507 18.8375 14.3618 19.252 12.7435 19.252C9.61291 19.252 6.95849 17.1399 6.00607 14.3003H2.01562V17.3912C4.05274 21.4434 8.20192 24.0008 12.7391 24.0008Z fill#34A853 /> path dM6.00277 14.3002C5.50011 12.8099 5.50011 11.196 6.00277 9.70569V6.61475H2.01674C0.314734 10.0055 0.314734 14.0004 2.01674 17.3912L6.00277 14.3002Z fill#FBBC04 /> path dM12.7391 4.74966C14.4499 4.7232 16.1034 5.36697 17.3425 6.54867L20.7685 3.12262C18.5991 1.0855 15.7198 -0.034466 12.7391 0.000808666C8.20192 0.000808666 4.05274 2.55822 2.01562 6.61481L6.00166 9.70575C6.94967 6.86173 9.6085 4.74966 12.7391 4.74966Z fill#EA4335 /> /g> defs> clipPath idclip0_2048_8815> rect width24 height24 fillwhite transformtranslate(0.5) /> /clipPath> /defs> /svg> `+ pageName +` with Google`); }, 1000) } }); }); $(.saml-sign-in-button-offcanvas).click(function(){ let edminglenextaction returnNextActionOffcanvas(); let edmingle_redirect_url (!ISSIGNUPSDK) ? window.location.href : ((window.location ! window.parent.location) ? document.referrer: document.location.href); $.ajax({ url : apiEndpoint+saml/sso/initiaterequest, type : GET, data : { edminglenextaction : edminglenextaction, redirect_url : edmingle_redirect_url }, success : function(socialLoginResponse){ if(!ISSIGNUPSDK){ window.location.href socialLoginResponse.redirect_url; }else{ window.parent.postMessage({ redirectUrl: socialLoginResponse.redirect_url }, *); } let pageName ; if(window.location.pathname /register){ pageName Sign up } if(window.location.pathname /login){ pageName Sign in } } }); }) var continueBtnHandler (btn) > { var primaryField $(btn.form).find(#offcanvas-primary-field).val().toLowerCase(); PRIMARY_FIELD primaryField; //Primary Field Validation if(PRIMARY_FIELD undefined || PRIMARY_FIELD.trim() ){ let showUsername INST_SETTINGSenable_multi_factor_authentication ? : (INST_SETTINGSenable_otp_login ? : /username); showToast(Please enter a email/phone number+showUsername, 2); return; } if(INST_SETTINGSenable_multi_factor_authentication || (!INST_SETTINGSenable_multi_factor_authentication && INST_SETTINGSenable_otp_login)){ if(isNaN(PRIMARY_FIELD) && !validateEmail(PRIMARY_FIELD)){ showToast(Please enter a valid email address, 2); return; } } $(btn.form).find(#offcanvas-continue-btn).attr(disabled, true); $(btn.form).find(#spinner).css(display, inline-block); $(btn.form).find(#offcanvas-continue-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus stylepadding:7px;margin:2px 0;>/span>); $.get(apiEndpoint + /user/checkifexists, { institution_id: INSTITUTIONID, user: PRIMARY_FIELD, calling_modal: login }).done(function(json) { if(json.payload.is_user_exists){ if(json.payload.multiple_account_exists){ $(#login-error-txt).html(There seems to be more than one account linked to this mobile number. Please login using your email address instead.); $(#login-error-txt).css(display, block); continueBtnState(btn.form); return; } if(INST_SETTINGSenable_multi_factor_authentication){ IS_USER_MFA_ENABLED json.payload.is_user_mfa_enabled; //User MFA not enabled but OTP enabled and login with password not clicked if(!json.payload.is_user_mfa_enabled && INST_SETTINGSenable_otp_login && !LOGINWITHPASSWORD){ submitButtonUpdate(btn.form, true); sendLoginOTP(btn.form, PRIMARY_FIELD); }else{ let submitBtnText json.payload.is_user_mfa_enabled ? CONTINUE : LOGIN; $(#offcanvas-login-submit-btn).html(submitBtnText); document.getElementById(password-field).style.display block; document.getElementById(offcanvas-continue-btn).style.display none; continueBtnState(btn.form); } }else{ if(INST_SETTINGSenable_otp_login && !LOGINWITHPASSWORD){ submitButtonUpdate(btn.form, true); sendLoginOTP(btn.form, PRIMARY_FIELD); }else{ $(#offcanvas-login-submit-btn).html(LOGIN); document.getElementById(password-field).style.display block; document.getElementById(offcanvas-continue-btn).style.display none; continueBtnState(btn.form); } } }else{ //check signup primary field with primary field if(isNaN(PRIMARY_FIELD) && !validateEmail(PRIMARY_FIELD)){ showToast(Please enter a valid email address, 2); continueBtnState(btn.form); return; } let primaryFieldInputType isNaN(PRIMARY_FIELD) ? 2 : 1; if(INST_SETTINGSsignup_primary_field ! primaryFieldInputType){ //signupenabled $(#login-error-txt).html( `No account found. ${isSignUpEnabled ? If you dont have an account, a href# idcreate-new-account-trigger-offcanvas-from-login onclickredirectToSignUp(event)>Signup here/a> : }.` ); $(#login-error-txt).css(display, block); continueBtnState(btn.form); return; } if(isSignUpEnabled){ console.log(siteLevelInfo); // console.log(siteLevelSettings0enable_signup); const offcanvasBody document.getElementsByClassName(offcanvas-body).item(0); offcanvasBody.style.display none; const loader document.createElement(div); loader.id custom-spinner-loader; loader.innerHTML ` div styledisplay: flex; justify-content: center; align-items: center; height: 100%;> div style border: 4px solid #f3f3f3; border-top: 4px solid #3498db; border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; >/div> /div> `; loader.style.position absolute; loader.style.top 0; loader.style.left 0; loader.style.right 0; loader.style.bottom 0; loader.style.backgroundColor rgba(255,255,255,0.8); loader.style.zIndex 1000; const style document.createElement(style); style.innerHTML ` @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } `; document.head.appendChild(style); offcanvasBody.parentNode.appendChild(loader); document.getElementById(create-new-account-trigger-offcanvas).click(); document.getElementById(signup-primary-field).value PRIMARY_FIELD; document.getElementById(signup-continue-btn).disabled false; FROM_LOGIN true; document.getElementById(signup-continue-btn).click(); offcanvasBody.style.display block; continueBtnState(btn.form); }else{ $(#login-error-txt).html(No account found.); $(#login-error-txt).css(display, block); continueBtnState(btn.form); } } }).fail(function(error) { var resp JSON.parse(error.responseText); showToast(resp.message, 2); continueBtnState(btn.form); }); } var continueBtnState (form) > { $(form).find(#offcanvas-continue-btn).attr(disabled, false); $(form).find(#spinner).css(display, none); $(form).find(#offcanvas-continue-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus styledisplay:none;>/span>CONTINUE); } window.addEventListener(load, async () > { document.getElementById(open-loginOffcanvas-modal).addEventListener(click, (e) > { document.getElementById(login-trigger-offcanvas).click(); }); if(document.contains(document.querySelector(#open-signupOffcanvas-modal))){ document.getElementById(open-signupOffcanvas-modal).addEventListener(click, (e) > { document.getElementById(create-new-account-trigger-offcanvas).click(); var offcanvas new bootstrap.Offcanvas(document.getElementById(loginOffcanvas)); offcanvas.show(); }); } var myOffcanvas document.getElementById(loginOffcanvas); myOffcanvas.addEventListener(hidden.bs.offcanvas, function (event) { //Clear Local Variables localStorage.removeItem(from_course_banner); //Clear Verify Timer - called in renderEnigineClient.js if(typeof VERITY_SINGUP_TIMER ! undefined){ VERITY_SINGUP_TIMER.forEach((interval) > { clearInterval(interval); VERITY_SINGUP_TIMER VERITY_SINGUP_TIMER.filter(item > item ! interval); }); } // Clearing Forms clearLoginForm(); clearSignupForm(); clearForgotForm(); }); myOffcanvas.addEventListener(show.bs.offcanvas, function (event) { //If SSO enabled dont open offcanvas modal if(INST_SETTINGSis_sso_enabled){ event.preventDefault(); } }) // if (localStorage.getItem(apikey) && !accessLocation) { // $.ajax({ // url: apiEndpoint + user/usermeta, // headers: { // APIKEY: localStorage.getItem(apikey) // }, // cache: false // }).done(function(json) { // localStorage.setItem(curr_org_id, json.user.org_data0organization_id); // localStorage.setItem(role, json.user.org_data0role student ? 1 : 0); // user_contact_no json.user.contact_number; // user_email json.user.email; // user_name json.user.name; // location localStorage.getItem(role) 1 || localStorage.getItem(role) student ? studentappLocation : appLocation; // return; // }).fail(function(err) { // var resp JSON.parse(err.responseText); // if (resp.code 10002) { // localStorage.removeItem(apikey); // } // }); // } loginEventListenerInit(); }); var msgData localStoragemsg_data; if (typeof msgData ! undefined) { localStorage.removeItem(msg_data); var type JSON.parse(msgData).type; var msg JSON.parse(msgData).msg; showToast(msg, type); } // function gotoApplication() { // var location localStorage.getItem(role) 1 ? studentappLocation : appLocation; // window.location location; // } var submitButtonUpdate function(form, display, msg ) { $(form).find(.submit-btn).attr(disabled, display ? true : false); $(form).find(#spinner).css(display, display ? inline-block : none); $(form).find(.submit-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus + (!display ? styledisplay:none; : stylepadding:7px;margin:2px 0;) + >/span> + msg); } var sendLoginOTP (form, email, isMFAEnabled0) > { var body { institution_id: INST_SETTINGSinstitute_id, user: email } var JSONString JSON.stringify(body); $.post(apiEndpoint + login/otp, { JSONString: JSONString }).done(function(json) { let primaryFieldType isNaN(PRIMARY_FIELD) ? email: number; showToast(OTP sent successfully, 1); if(isMFAEnabled){ $(#login-otp-heading).html(2-factor authentication); $(#login-otp-text).html(Since your organisation has enabled 2FA, we have sent an OTP to + PRIMARY_FIELD + as an added verification step); }else{ $(#login-otp-heading).html(Enter your OTP); $(#login-otp-text).html(We have sent an OTP to your + primaryFieldType); $(#login-with-password-trigger).css(display, block); } $(.offcanvas-login-modal).hide(); $(.primary-field-data).html(PRIMARY_FIELD); $(.login-otp-modal).show(); if(!ISLOGINOTPINIT){ OTPFieldInit(); } if($(form).find(#offcanvas-continue-btn).prop(disabled)){ $(form).find(#offcanvas-continue-btn).attr(disabled, false); $(form).find(#spinner).css(display, none); $(form).find(#offcanvas-continue-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus styledisplay:none;>/span>CONTINUE); } submitButtonUpdate(form, false, LOGIN); }).fail(function(error) { showToast(JSON.parse(error.responseText).message, 2); submitButtonUpdate(form, false, CONTINUE); }); } $(#wb-loginOffcanvas-form).submit(function(e) { e.preventDefault(); wbLoginOffcanvas(this); }); var wbLoginOffcanvas function(form) { var primaryField $(form).find(#offcanvas-primary-field).val().toLowerCase(); var password $(form).find(#offcanvas-login-password).val(); var persistent_login true; var isPrimaryFieldErr, isPswdErr; var toast $(form).find(.toast); var toastBody $(form).find(#toastBody); var toastTick $(form).find(#toastTick); var msg $(form).find(.msg); if (primaryField undefined || primaryField.trim() ) { isPrimaryFieldErr true; showToast(Please fill the email/contact, 2); return; } PRIMARY_FIELD primaryField; if (password undefined || password.trim() ) { isPswdErr true; //showToast(Please fill the Password, 2); return; } if (!isPrimaryFieldErr && !isPswdErr) { var body { username: PRIMARY_FIELD, password: password, persistent_login: persistent_login, device_type: 1 } if (localStorage.getItem(server_key)) { body.server_key localStorage.getItem(server_key); } if (VISITOR_ID) { body.device_key VISITOR_ID; } var JSONString JSON.stringify(body); let submitBtnText IS_USER_MFA_ENABLED ? CONTINUE : LOGIN; submitButtonUpdate(form, true); $.post(apiEndpoint + tutor/login, { JSONString: JSONString }).done(function(json) { var jsonObj json; if(typeof jsonObj.user undefined && typeof jsonObj.payload ! undefined && jsonObj.payload.users.length>1) { $(#login-error-txt).html(There seems to be more than one account linked to this mobile number. Please login using your email address instead.); $(#login-error-txt).css(display, block); // showToast(Try login using with username or email!, 2); submitButtonUpdate(form, false, submitBtnText); return; } if(jsonObj.user.is_user_mfa_enabled){ sendLoginOTP(form, PRIMARY_FIELD, jsonObj.user.is_user_mfa_enabled); }else{ continueBtnState(form); submitButtonUpdate(form, false, submitBtnText); loginSuccessHandler(jsonObj); } // loginSuccessHandler(); }).fail(function(error) { const errorResponse JSON.parse(error.responseText); const errorMessage errorResponse.message; const supportEmailMatch errorMessage.match(/Contact us at: (\w.-+@\w.-+\.\w+)/); const supportEmail supportEmailMatch ? supportEmailMatch1 : ; if(errorResponse?.code 10024){ showToast(JSON.parse(error.responseText).message, 2,null,{max-width: 520px,white-space:normal,word-wrap:break-word,width:fit-content },true,supportEmail,5000); }else{ showToast(JSON.parse(error.responseText).message, 2); } submitButtonUpdate(form, false, submitBtnText); }); } else { return false; } } let loginSuccessHandler (jsonObj) > { localStorage.setItem(apikey, jsonObj.user.apikey); localStorage.setItem(username, jsonObj.user.username); localStorage.setItem(name, jsonObj.user.name); localStorage.setItem(role, jsonObj.user.role); localStorage.setItem(server_key, (jsonObj.user.server_key) ? jsonObj.user.server_key : null); // custom function for normal login let obj { user_name : jsonObj.user.username, user_email : jsonObj.user.email, user_mobile : jsonObj.user.contact_number, referrer : window.location.href, source : website, role : jsonObj.user.role } customFunctionsTrigger(event_login,obj); checkSignupState(); if(!localStorage.getItem(from_course_banner)){ //close the offcanvas, if it is from nav bar (not through enroll now click) document.getElementById(open-loginOffcanvas-modal).click(); } if(reloadAccessLocation){ window.location.reload(); } if (accessLocation) { const currentUrl window.location.href; if(currentUrl.endsWith(/checkout)) { checkoutViewed(); } return; } gotoApplication(); } var resendLoginOffcanvasOTP function(form) { if ($(#offcanvas-login-resend-btn).attr(disabled) disabled) { return; } var body { institution_id: INST_SETTINGSinstitute_id, user: PRIMARY_FIELD } var JSONString JSON.stringify(body); $(#offcanvas-login-resend-btn).attr(disabled, true); $(#offcanvas-login-resend-btn).css(cursor, default); $(#offcanvas-login-resend-spinner).css(display, inline-block); $.post(apiEndpoint + login/otp, { JSONString: JSONString }).done(function(json) { $(#offcanvas-login-resend-btn).css(color, black); setLoginResetTimer(); $(#offcanvas-login-resend-spinner).css(display, none); showToast(OTP sent successfully, 1); }).fail(function(error) { showToast(JSON.parse(error.responseText).message, 2); $(#offcanvas-login-resend-btn).attr(disabled, false); $(#offcanvas-login-resend-btn).css(cursor, pointer); $(#offcanvas-login-resend-spinner).css(display, none); }); } var setLoginResetTimer () > { let timeRemaining 20; document.querySelector(.offcanvas-login-resend-timer).innerText in + timeRemaining + s; $(.offcanvas-login-resend-timer).show(); function updateTimerDisplay() { document.querySelector(.offcanvas-login-resend-timer).innerText in + timeRemaining + s; } const timerId setInterval(function () { timeRemaining--; updateTimerDisplay(); if (timeRemaining 0) { $(#offcanvas-login-resend-btn).attr(disabled, false); $(#offcanvas-login-resend-btn).css(cursor, pointer); $(#offcanvas-login-resend-btn).css(color, #2C52DF); $(.offcanvas-login-resend-timer).hide(); clearInterval(timerId); } }, 1000); } //Login OTP $(#login-otp-form).submit(function(e) { e.preventDefault(); loginOffcanvasOTPForm(this); }); var loginOffcanvasOTPForm function(form) { var persistent_login true; var loginOTP getLoginOTPValue(); if (loginOTP.trim() ) { showToast(Please enter your OTP to proceed, 2); return; } var body { username: PRIMARY_FIELD, otp: loginOTP, persistent_login: persistent_login, device_type: 1 // type webapp } if (localStorage.getItem(server_key)) { body.server_key localStorage.getItem(server_key); } if (VISITOR_ID) { body.device_key VISITOR_ID; } var JSONString JSON.stringify(body); submitButtonUpdate(form, true); $.post(apiEndpoint + tutor/login, { JSONString: JSONString }).done(function(json) { if(typeof json.user undefined && typeof json.payload ! undefined && json.payload.users.length>1) { let msg isNaN(PRIMARY_FIELD) ? mobile : email; showToast(Try login using with + msg, 2); submitButtonUpdate(form, false, LOGIN); return; } showToast(OTP verified, 1); submitButtonUpdate(form, false, LOGIN); loginSuccessHandler(json); }).fail(function(error) { var resp JSON.parse(error.responseText); $(#login-resend-text).css(display, none); showToast(resp.message, 2); submitButtonUpdate(form, false, LOGIN); }); } var loginEventListenerInit () > { const primaryInputField document.querySelector(#offcanvas-primary-field); const passwordInputField document.querySelector(#offcanvas-login-password); const continueBtn document.querySelector(#offcanvas-continue-btn); const submitBtn document.querySelector(#offcanvas-login-submit-btn); primaryInputField.addEventListener(input, (event) > { $(#login-error-txt).css(display, none); continueBtn.disabled !(primaryInputField.value.trim().length > 0); }); passwordInputField.addEventListener(input, function(){ $(#login-error-txt).css(display, none); submitBtn.disabled !(passwordInputField.value.trim().length > 0); }); if(document.contains(document.querySelector(#create-new-account-trigger-offcanvas))){ document.getElementById(create-new-account-trigger-offcanvas).addEventListener(click, (e) > { e.preventDefault(); document.getElementById(login-container-offcanvas).style.minHeight 0; document.getElementById(login-container-offcanvas).children0.style.display none; document.getElementById(sign-up-container-offcanvas).style.display block; }); } //continue Btn Enter Handler primaryInputField.addEventListener(keypress, function(event) { if (event.key Enter) { event.preventDefault(); continueBtn.click(); } }); } var OTPFieldInit () > { ISLOGINOTPINIT true; const otpBoxes document.querySelectorAll(.login-otp-box); const submitBtn document.querySelector(#offcanvas-login-otp-submit-btn); otpBoxes.forEach((box, index) > { box.addEventListener(input, (event) > { const inputValue event.target.value; const numericValue inputValue.replace(/^0-9/g, ); // Remove non-numeric characters event.target.value numericValue; if (numericValue && index otpBoxes.length - 1) { otpBoxesindex + 1.focus(); } //Last Key Handle if(index otpBoxes.length - 1){ if(numericValue){ otpBoxesindex.blur(); proceed(); }else{ disableSubmit(); } } }); box.addEventListener(keydown, (event) > { if (event.key Backspace && index > 0 && !event.target.value) { if(index otpBoxes.length - 1){ disableSubmit(); } otpBoxesindex - 1.focus(); } }); // Allow pasting one number in each box and move focus to the last entered number box.addEventListener(paste, (event) > { const clipboardData event.clipboardData || window.clipboardData; const pastedData clipboardData.getData(text); if(isNaN(pastedData)){ event.preventDefault(); return; } // Distribute one number per box for (let i 0; i pastedData.length && index + i otpBoxes.length; i++) { otpBoxesindex + i.value pastedDatai; } // Move focus to the last entered number ?if all boxes filled then enable proceed if(index + pastedData.length > otpBoxes.length){ otpBoxesindex.blur(); proceed(); }else{ otpBoxesindex + pastedData.length.focus(); } event.preventDefault(); }); let proceed () > { submitBtn.disabled false; submitBtn.click(); } let disableSubmit () > { submitBtn.disabled true; } }); } var getLoginOTPValue () > { var otp ; const otpBoxes document.querySelectorAll(.login-otp-box); otpBoxes.forEach((box, index) > { otp otp + box.value; }); console.log(final otp, otp); return otp; } const resetLoginOffcanvasContainer (destructingContainer) > { document.getElementById(login-container-offcanvas).style.minHeight 91vh; document.getElementById(login-container-offcanvas).children0.style.display block; document.getElementById(destructingContainer).style.display none; } document.getElementById(forgot-password-trigger-offcanvas).addEventListener(click, (e) > { e.preventDefault(); document.getElementById(login-container-offcanvas).style.minHeight 0; document.getElementById(login-container-offcanvas).children0.style.display none; document.getElementById(forgot-password-container-offcanvas).style.display block; if(!isNaN(PRIMARY_FIELD) || (isNaN(PRIMARY_FIELD) && validateEmail(PRIMARY_FIELD))){ document.getElementById(offcanvas-fgot-pswd-cn).value PRIMARY_FIELD; document.getElementById(offcanvas-reset-continue-btn).disabled false; } document.querySelector(.offcanvas-forgot-modal).style.display block; }); var redirectToLoginFromForgotPwd () > { clearForgotForm(); document.getElementById(forgot-password-container-offcanvas).style.display none; document.getElementById(login-container-offcanvas).style.minHeight 91vh; document.getElementById(login-container-offcanvas).children0.style.display block; document.getElementById(offcanvas-primary-field).value ; LOGINWITHPASSWORD false; if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).style.display none; } showLoginForm(); } var loginOTPPrimaryFieldEditHandler () > { LOGINWITHPASSWORD false; if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).style.display none; } showLoginForm(); } var showLoginForm function() { const otpBoxes document.querySelectorAll(.login-otp-box); otpBoxes.forEach(function(otp) { otp.value ; }); document.getElementById(password-field).style.display none; document.getElementById(offcanvas-login-password).value ; document.getElementById(offcanvas-continue-btn).style.display inline-block; document.getElementById(login-error-txt).style.display none; $(#login-resend-text).css(display, inline-block); $(#login-with-password-trigger).css(display, none); $(.login-otp-modal).hide(); $(.offcanvas-login-modal).show(); } var clearLoginForm function() { document.getElementById(offcanvas-primary-field).value ; LOGINWITHPASSWORD false; if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).style.display none; } //resend otp btn reset if($(#offcanvas-login-resend-btn).attr(disabled)){ $(#offcanvas-login-resend-btn).attr(disabled, false); $(#offcanvas-login-resend-btn).css(cursor, pointer); $(#offcanvas-login-resend-btn).css(color, #2C52DF); $(.offcanvas-login-resend-timer).hide(); } showLoginForm(); } if(document.contains(document.querySelector(#login-with-password-trigger))){ document.getElementById(login-with-password-trigger).addEventListener(click, (e) > { e.preventDefault(); const otpBoxes document.querySelectorAll(.login-otp-box); otpBoxes.forEach(function(otp) { otp.value ; }); LOGINWITHPASSWORD true; if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).style.display block; } document.getElementById(password-field).style.display block; document.getElementById(offcanvas-login-password).value ; document.getElementById(offcanvas-login-submit-btn).disabled true; document.getElementById(offcanvas-continue-btn).style.display none; document.getElementById(login-error-txt).style.display none; $(#login-resend-text).css(display, inline-block); $(#login-with-password-trigger).css(display, none); $(.login-otp-modal).hide(); $(.offcanvas-login-modal).show(); }); } if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).addEventListener(click, (e) > { e.preventDefault(); const otpBoxes document.querySelectorAll(.login-otp-box); otpBoxes.forEach(function(otp) { otp.value ; }); LOGINWITHPASSWORD false; if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).style.display none; } document.getElementById(password-field).style.display none; document.getElementById(offcanvas-login-password).value ; document.getElementById(offcanvas-continue-btn).style.display block; $(#login-resend-text).css(display, inline-block); $(#login-with-password-trigger).css(display, block); $(.offcanvas-login-modal).hide(); $(.login-otp-modal).show(); }); } function redirectToSignUp(e) { e.preventDefault(); document.getElementById(login-container-offcanvas).style.minHeight 0; document.getElementById(login-container-offcanvas).children0.style.display none; document.getElementById(sign-up-container-offcanvas).style.display block; }/script> /div> /div>/section>!-- /section> -->!-- section classoffcanvas offcanvas-start login-offcanvas tabindex-1 idsignupOffcanvas aria-labelledbyoffcanvasExampleLabel> div classoffcanvas-header> h5 classoffcanvas-title idoffcanvasExampleLabel>/h5> button idmodal-close-cross typebutton classbtn-close text-reset data-bs-dismisssignupOffcanvas aria-labelClose>/button> /div> div classoffcanvas-body> /div>/section> -->script srchttps://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js>/script>section idrendered-modal>/section>!-- a classbtn btn-primary idopen-login-modal data-bs-toggleoffcanvas href#offcanvasExample rolebutton aria-controlsoffcanvasExample styledisplay: none; position: absolute; inset: 0; margin-top: 12px;> Link with href/a> -->script> ACTIVE_INTRVALS ; try { var accessLocationEndpointRegex /^\/course\/(^\/+)-(\d+)(\/checkout)?$/; var accessLocationEndpointRegexForJoinClass /\/edmingleliveclass\/join/; if(accessLocationEndpointRegex.test(window.location.pathname)){ accessLocation true; } if(accessLocationEndpointRegexForJoinClass.test(window.location.pathname)){ accessLocation true reloadAccessLocation true; } } catch (error) { console.log(error); } window.verifySignup async (buttonContainer, closeModalAction, cb) > { try { localStorage.setItem(RenderEnginePendingTask, buttonContainer.getAttribute(onclick)); localStorage.setItem(offCanvasCloseModalAction, closeModalAction) let isEnrollForFreeClicked buttonContainer.classList.contains(eds-banner-section-efree-btn) ? true : false; if(isEnrollForFreeClicked){ localStorage.setItem(isEnrollForFree, true); } } catch (error) { console.log(error); } let interval setInterval(async () > { if (localStorage.getItem(apikey)) { // document.getElementById(open-loginOffcanvas-modal).click(); cb(); clearInterval(interval); ACTIVE_INTRVALS ACTIVE_INTRVALS.filter(item > item ! interval); return; } }, 1000); if (ACTIVE_INTRVALS.indexOf(interval) ! -1) ACTIVE_INTRVALS.push(interval); }; window.cleanUpVerifySignUp () > { ACTIVE_INTRVALS.forEach((interval) > { clearInterval(interval); }); let action localStorage.getItem(offCanvasCloseModalAction); if (action){ if(typeof window.buttonContainer ! undefined){ if (typeof windowaction function) { windowaction(); } else { console.warn(`Action ${action} is not a valid function`); } window.buttonContainer null; } localStorage.removeItem(offCanvasCloseModalAction); localStorage.removeItem(RenderEnginePendingTask); localStorage.removeItem(isEnrollForFree); } } document.getElementById(modal-close-cross).addEventListener(click, cleanUpVerifySignUp);/script> /div> footer idfooter-main aria-labelnavigation classp-2 styleheight: 106;>style> /style>div classcontainer-lg>div classmt-2 footer-links justify-content-center styledisplay: flex; align-items: center;>a hrefhttps://app.tinkerbrix.cc/ classnav-item footer target_blank styledisplay: block;>CODE HERE/a>a hrefhttps://learn.tinkerbrix.cc/verify-certificate?previewapikey5a80fb34d4ec552a2e4ef2313a677d1a&previewthemeid771 classnav-item footer target_blank styledisplay: block;>VERIFY CERTIFICATE/a>/div>div classfooter-below d-flex flex-column justify-content-center>div classmy-2 socialmedia d-flex justify-content-center> a hrefhttps://www.facebook.com/connectlebdu target_blank> svg width24 height24 viewBox0 0 24 24 fillnone xmlnshttp://www.w3.org/2000/svg> path dM0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12Z fill#1877F2/> path dM18 12C18 8.7 15.3 6 12 6C8.7 6 6 8.7 6 12C6 15 8.175 17.475 11.025 17.925V13.725H9.525V12H11.025V10.65C11.025 9.15 11.925 8.325 13.275 8.325C13.95 8.325 14.625 8.475 14.625 8.475V9.975H13.875C13.125 9.975 12.9 10.425 12.9 10.875V12H14.55L14.25 13.725H12.825V18C15.825 17.55 18 15 18 12Z fillwhite/> /svg> /a> a hrefhttps://www.youtube.com/channel/UCLQ0HRDvtq4ujJ0PrU7sEcg target_blank> svg width24 height24 viewBox0 0 24 24 fillnone xmlnshttp://www.w3.org/2000/svg> path dM0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12Z fill#FF0000/> path dM17.7 9.07188C17.55 8.54688 17.175 8.17188 16.65 8.02188C15.75 7.79688 11.925 7.79688 11.925 7.79688C11.925 7.79688 8.175 7.79688 7.2 8.02188C6.675 8.17188 6.3 8.54688 6.15 9.07188C6 10.0469 6 11.9969 6 11.9969C6 11.9969 6 13.9469 6.225 14.9219C6.375 15.4469 6.75 15.8219 7.275 15.9719C8.175 16.1969 12 16.1969 12 16.1969C12 16.1969 15.75 16.1969 16.725 15.9719C17.25 15.8219 17.625 15.4469 17.775 14.9219C18 13.9469 18 11.9969 18 11.9969C18 11.9969 18 10.0469 17.7 9.07188ZM10.8 13.7969V10.1969L13.95 11.9969L10.8 13.7969Z fillwhite/> /svg> /a> a hrefhttps://www.linkedin.com/company/lebdu-com/ target_blank> svg width24 height24 viewBox0 0 24 24 fillnone xmlnshttp://www.w3.org/2000/svg> path dM0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12Z fill#2867B2/> path dM8.7 18H6.15V9.975H8.7V18ZM7.425 8.85C6.6 8.85 6 8.25 6 7.425C6 6.6 6.675 6 7.425 6C8.25 6 8.85 6.6 8.85 7.425C8.85 8.25 8.25 8.85 7.425 8.85ZM18 18H15.45V13.65C15.45 12.375 14.925 12 14.175 12C13.425 12 12.675 12.6 12.675 13.725V18H10.125V9.975H12.525V11.1C12.75 10.575 13.65 9.75 14.925 9.75C16.35 9.75 17.85 10.575 17.85 13.05V18H18Z fillwhite/> /svg> /a> a hrefhttps://instagram.com/lebduconnect?igshid1lzjya2dxm7ng target_blank> svg width24 height24 viewBox0 0 24 24 fillnone xmlnshttp://www.w3.org/2000/svg> path dM0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12Z fill#F00073/> path dM11.9984 6.89844C13.6484 6.89844 13.8734 6.89844 14.5484 6.89844C15.1484 6.89844 15.4484 7.04844 15.6734 7.12344C15.9734 7.27344 16.1984 7.34844 16.4234 7.57344C16.6484 7.79844 16.7984 8.02344 16.8734 8.32344C16.9484 8.54844 17.0234 8.84844 17.0984 9.44844C17.0984 10.1234 17.0984 10.2734 17.0984 11.9984C17.0984 13.7234 17.0984 13.8734 17.0984 14.5484C17.0984 15.1484 16.9484 15.4484 16.8734 15.6734C16.7234 15.9734 16.6484 16.1984 16.4234 16.4234C16.1984 16.6484 15.9734 16.7984 15.6734 16.8734C15.4484 16.9484 15.1484 17.0234 14.5484 17.0984C13.8734 17.0984 13.7234 17.0984 11.9984 17.0984C10.2734 17.0984 10.1234 17.0984 9.44844 17.0984C8.84844 17.0984 8.54844 16.9484 8.32344 16.8734C8.02344 16.7234 7.79844 16.6484 7.57344 16.4234C7.34844 16.1984 7.19844 15.9734 7.12344 15.6734C7.04844 15.4484 6.97344 15.1484 6.89844 14.5484C6.89844 13.8734 6.89844 13.7234 6.89844 11.9984C6.89844 10.2734 6.89844 10.1234 6.89844 9.44844C6.89844 8.84844 7.04844 8.54844 7.12344 8.32344C7.27344 8.02344 7.34844 7.79844 7.57344 7.57344C7.79844 7.34844 8.02344 7.19844 8.32344 7.12344C8.54844 7.04844 8.84844 6.97344 9.44844 6.89844C10.1234 6.89844 10.3484 6.89844 11.9984 6.89844ZM11.9984 5.77344C10.2734 5.77344 10.1234 5.77344 9.44844 5.77344C8.77344 5.77344 8.32344 5.92344 7.94844 6.07344C7.57344 6.22344 7.19844 6.44844 6.82344 6.82344C6.44844 7.19844 6.29844 7.49844 6.07344 7.94844C5.92344 8.32344 5.84844 8.77344 5.77344 9.44844C5.77344 10.1234 5.77344 10.3484 5.77344 11.9984C5.77344 13.7234 5.77344 13.8734 5.77344 14.5484C5.77344 15.2234 5.92344 15.6734 6.07344 16.0484C6.22344 16.4234 6.44844 16.7984 6.82344 17.1734C7.19844 17.5484 7.49844 17.6984 7.94844 17.9234C8.32344 18.0734 8.77344 18.1484 9.44844 18.2234C10.1234 18.2234 10.3484 18.2234 11.9984 18.2234C13.6484 18.2234 13.8734 18.2234 14.5484 18.2234C15.2234 18.2234 15.6734 18.0734 16.0484 17.9234C16.4234 17.7734 16.7984 17.5484 17.1734 17.1734C17.5484 16.7984 17.6984 16.4984 17.9234 16.0484C18.0734 15.6734 18.1484 15.2234 18.2234 14.5484C18.2234 13.8734 18.2234 13.6484 18.2234 11.9984C18.2234 10.3484 18.2234 10.1234 18.2234 9.44844C18.2234 8.77344 18.0734 8.32344 17.9234 7.94844C17.7734 7.57344 17.5484 7.19844 17.1734 6.82344C16.7984 6.44844 16.4984 6.29844 16.0484 6.07344C15.6734 5.92344 15.2234 5.84844 14.5484 5.77344C13.8734 5.77344 13.7234 5.77344 11.9984 5.77344Z fillwhite/> path dM11.9984 8.77344C10.1984 8.77344 8.77344 10.1984 8.77344 11.9984C8.77344 13.7984 10.1984 15.2234 11.9984 15.2234C13.7984 15.2234 15.2234 13.7984 15.2234 11.9984C15.2234 10.1984 13.7984 8.77344 11.9984 8.77344ZM11.9984 14.0984C10.8734 14.0984 9.89844 13.1984 9.89844 11.9984C9.89844 10.8734 10.7984 9.89844 11.9984 9.89844C13.1234 9.89844 14.0984 10.7984 14.0984 11.9984C14.0984 13.1234 13.1234 14.0984 11.9984 14.0984Z fillwhite/> path dM15.2984 9.44844C15.7127 9.44844 16.0484 9.11265 16.0484 8.69844C16.0484 8.28422 15.7127 7.94844 15.2984 7.94844C14.8842 7.94844 14.5484 8.28422 14.5484 8.69844C14.5484 9.11265 14.8842 9.44844 15.2984 9.44844Z fillwhite/> /svg> /a>/div>hr classmy-2 stylepadding: 0;>div classd-flex flex-column align-items-center justify-content-center> span stylecolor: #B2BCC7>Powered By/span> a hrefhttps://www.edmingle.com/ target_blank> svg xmlnshttp://www.w3.org/2000/svg width134 height52 viewBox0 0 134 52 fillnone> g clip-pathurl(#clip0_1989_25198)> path dM37.9336 32.9418C34.0679 32.9418 31.3594 30.1281 31.3594 26.1047C31.3594 22.0287 34.0153 19.2149 37.8284 19.2149C41.7203 19.2149 44.1922 21.8183 44.1922 25.868V26.841L34.4098 26.8673C34.6465 29.1551 35.8561 30.3121 37.9862 30.3121C39.748 30.3121 40.9051 29.6284 41.2732 28.3925H44.2448C43.6925 31.2325 41.3258 32.9418 37.9336 32.9418ZM37.8547 21.8446C35.9613 21.8446 34.8042 22.8702 34.4887 24.8161H41.0103C41.0103 23.0279 39.7743 21.8446 37.8547 21.8446Z fill#0A2540/> path dM50.8437 32.9418C47.0833 32.9418 44.7428 30.1807 44.7428 26.1573C44.7428 22.1075 47.1096 19.2149 51.0278 19.2149C52.8422 19.2149 54.4463 19.9775 55.2615 21.2661V13.0352H58.4434V32.6H55.4982L55.2878 30.5751C54.4989 32.074 52.8159 32.9418 50.8437 32.9418ZM51.5537 29.9966C53.7889 29.9966 55.2352 28.3925 55.2352 26.0521C55.2352 23.7117 53.7889 22.0813 51.5537 22.0813C49.3185 22.0813 47.951 23.738 47.951 26.0521C47.951 28.3662 49.3185 29.9966 51.5537 29.9966Z fill#0A2540/> path dM63.7407 32.6H60.5325V19.6094H63.4777L63.7407 21.1346C64.3981 20.0564 65.7129 19.2149 67.58 19.2149C69.5522 19.2149 70.9197 20.1879 71.6034 21.6868C72.2608 20.1879 73.786 19.2149 75.7583 19.2149C78.9139 19.2149 80.6495 21.1083 80.6495 24.1061V32.6H77.4676V24.9476C77.4676 23.0805 76.4683 22.1075 74.9431 22.1075C73.3916 22.1075 72.2082 23.1068 72.2082 25.2369V32.6H69V24.9213C69 23.1068 68.027 22.1338 66.5018 22.1338C64.9766 22.1338 63.7407 23.1331 63.7407 25.2369V32.6Z fill#0A2540/> path dM84.1487 17.006C83.0442 17.006 82.1764 16.1382 82.1764 15.06C82.1764 13.9818 83.0442 13.1403 84.1487 13.1403C85.2005 13.1403 86.0683 13.9818 86.0683 15.06C86.0683 16.1382 85.2005 17.006 84.1487 17.006ZM82.5446 32.6V19.6094H85.7528V32.6H82.5446Z fill#0A2540/> path dM91.0212 32.6H87.813V19.6094H90.7846L91.0475 21.2923C91.8627 19.9775 93.4405 19.2149 95.2024 19.2149C98.4632 19.2149 100.146 21.2398 100.146 24.6057V32.6H96.938V25.3684C96.938 23.1857 95.8598 22.1338 94.2031 22.1338C92.2309 22.1338 91.0212 23.5013 91.0212 25.605V32.6Z fill#0A2540/> path dM101.308 25.8154C101.308 22.0287 103.78 19.1886 107.487 19.1886C109.433 19.1886 110.959 20.0038 111.721 21.3975L111.905 19.6094H114.877V31.9426C114.877 36.2815 112.273 38.9901 108.066 38.9901C104.332 38.9901 101.781 36.86 101.387 33.3889H104.595C104.805 35.0719 106.094 36.0711 108.066 36.0711C110.275 36.0711 111.695 34.6774 111.695 32.5211V30.3647C110.88 31.5744 109.276 32.337 107.408 32.337C103.727 32.337 101.308 29.5758 101.308 25.8154ZM104.542 25.7365C104.542 27.9191 105.936 29.5495 108.04 29.5495C110.249 29.5495 111.616 27.998 111.616 25.7365C111.616 23.5276 110.275 22.0024 108.04 22.0024C105.91 22.0024 104.542 23.6065 104.542 25.7365Z fill#0A2540/> path dM120.177 32.6H116.995V13.0352H120.177V32.6Z fill#0A2540/> path dM128.1 32.9418C124.234 32.9418 121.525 30.1281 121.525 26.1047C121.525 22.0287 124.181 19.2149 127.994 19.2149C131.886 19.2149 134.358 21.8183 134.358 25.868V26.841L124.576 26.8673C124.813 29.1551 126.022 30.3121 128.152 30.3121C129.914 30.3121 131.071 29.6284 131.439 28.3925H134.411C133.859 31.2325 131.492 32.9418 128.1 32.9418ZM128.021 21.8446C126.127 21.8446 124.97 22.8702 124.655 24.8161H131.176C131.176 23.0279 129.94 21.8446 128.021 21.8446Z fill#0A2540/> g clip-pathurl(#clip1_1989_25198)> path dM21.95 19.7288C23.682 19.7288 25.0859 18.3248 25.0859 16.5929C25.0859 14.861 23.682 13.457 21.95 13.457L3.13471 13.457C1.40281 13.457 -0.00117874 14.861 -0.00117874 16.5929C-0.00117874 18.3248 1.40281 19.7288 3.13471 19.7288H21.95Z fill#293FFF/> path dM24.1705 18.8124C25.3952 17.5878 25.3952 15.6022 24.1705 14.3776C22.9459 13.1529 20.9604 13.1529 19.7357 14.3776L6.43127 27.6821C5.20662 28.9067 5.20662 30.8922 6.43127 32.1169C7.65591 33.3415 9.64144 33.3415 10.8661 32.1169L24.1705 18.8124Z fill#1579FF/> path dM25.0843 16.5929C25.0843 14.861 23.6803 13.457 21.9484 13.457C20.2165 13.457 18.8125 14.861 18.8125 16.5929V35.4083C18.8125 37.1402 20.2165 38.5442 21.9484 38.5442C23.6803 38.5442 25.0843 37.1402 25.0843 35.4083V16.5929Z fill#00B3FF/> /g> /g> defs> clipPath idclip0_1989_25198> rect width134 height52 fillwhite/> /clipPath> clipPath idclip1_1989_25198> rect width25.0871 height25.0872 fillwhite transformtranslate(0 13.457)/> /clipPath> /defs> /svg> /a>/div>div classmy-2 d-flex justify-content-center>ul classnavbar-nav styledisplay: flex; align-items: center;>div classnav-item copyright styledisplay: block;>© 2025 Tinkerbrix/div>/ul>/div>/div>/div>/footer> link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/assets/scripts/glide/css/glide.core.css relstylesheet/> link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/assets/scripts/glide/css/glide.theme.css relstylesheet/> script srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/assets/scripts/glide/glide.js typetext/javascript>/script> script srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/box/box-flex.js typetext/javascript>/script> /div> div idpopup-modal> /div> script>let GlobalLaunchModal async (state, type, loadingMessageFirstLine , loadingMessageSecondLine, jsonName, modalTitlenull ) > { let template, renderedModalTemplate, template_dependencies; if(state loading) { if(type1){ template LOADING_MODAL_FULL; } else if(type2){ template LOADING_MODAL_SMALL; } template_dependencies { loadingMessageFirstLine: loadingMessageFirstLine, loadingMessageSecondLine: loadingMessageSecondLine, jsonName: jsonName, modalTitle: modalTitle }; } if (template_dependencies) renderedModalTemplate template_dependencies ? await ejs.render(template, template_dependencies) : template; document.getElementById(popup-modal).innerHTML renderedModalTemplate; $(#globalLaunchModal).modal(show);}let CloseGlobalModal async ()>{ $(#globalLaunchModal).modal(hide);}var LOADING_MODAL_FULL`div classmodal top fullGlobalModal idglobalLaunchModal tabindex-1 aria-labelledbyglobalLaunchModalLabel1 aria-hiddentrue data-mdb-backdroptrue data-mdb-keyboardtrue> div classmodal-dialog modal-fullscreen> div classmodal-content> div classmodal-body globalLaunchModal> lottie-player classcard-img-top srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/lottie/% jsonName %>.json backgroundtransparent speed1 stylemax-width: 200px; max-height: 200px; width:100%;height:100%; loop autoplay>/lottie-player> h6>% loadingMessageFirstLine %>.../h6> p>% loadingMessageSecondLine %>p> /div> /div> /div> /div>`;var LOADING_MODAL_SMALL`div classmodal idglobalLaunchModal tabindex-1 aria-labelledbyglobalLaunchModalLabel2 aria-hiddentrue> div classmodal-dialog> div classmodal-content> div classmodal-header> h5 classmodal-title>% modalTitle %>/h5> button typebutton classbtn-close data-bs-dismissmodal aria-labelClose>/button> /div> div classmodal-body globalLaunchModal> h6>% loadingMessageFirstLine %>/h6> %- loadingMessageSecondLine %> /div> /div> /div> /div>`;/script>/body>link relstylesheet hrefhttps://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css>a hrefhttps://api.whatsapp.com/send?phone918510044836&textHello%21%20Welcome%20to%20Tinkerbrix Support%C3%20%20%20 classfloat target_blank>i classfa fa-whatsapp my-float>/i>/a>/html>
Port 443
HTTP/1.1 200 OKDate: Thu, 31 Jul 2025 16:23:29 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveServer: ApacheStrict-Transport-Security: max-age31536000; includeSubdomains; preloadX-Frame-Options: SAMEORIGINPermissions-Policy: camera(*), microphone(*)Vary: Accept-EncodingAccess-Control-Allow-Headers: cache-control,APIKEY,ORGID,ISKONNECT,X-REQUEST-GEOLOCATION,X-REQUEST-USERINFO,X-VIDEO-BACKUP-SERVICE,X-PLATFORM-TYPEX-Content-Type-Options: nosniffContent-Security-Policy: frame-ancestors selfCache-Control: no-cache, no-store, must-revalidate script> window.afterLoadCallback ()>{ }; window.isWindowLoaded 0; /script>!DOCTYPE html>html langen>head> title>Home/title> link relicon typeimage/x-icon hrefhttps://dme2wmiz2suov.cloudfront.net/Institution(187)/Logo/1858122-favicon.png> meta charsetUTF-8> meta http-equivX-UA-Compatible contentIEedge> meta nameviewport contentwidthdevice-width, initial-scale1.0> meta namerobots contentnoindex> meta nametitle contentHome> meta namedescription contentIt is an online integrated software used for creating, delivering, tracking, and reporting educational courses and outcomes. It can be used to support traditional face-to-face instruction, as well as blended/hybrid and distance learning environments.> !-- Open Graph / Facebook --> meta propertyog:type contentwebsite> meta propertyog:url contenthttp://learn.tinkerbrix.cc/> meta propertyog:title contentHome> meta propertyog:description contentIt is an online integrated software used for creating, delivering, tracking, and reporting educational courses and outcomes. It can be used to support traditional face-to-face instruction, as well as blended/hybrid and distance learning environments.> meta propertyog:image contenthttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/icons/seothumbnail.png> !-- Twitter --> meta propertytwitter:card contentsummary_large_image> meta propertytwitter:url contenthttp://learn.tinkerbrix.cc/> meta propertytwitter:title contentHome> meta propertytwitter:description contentIt is an online integrated software used for creating, delivering, tracking, and reporting educational courses and outcomes. It can be used to support traditional face-to-face instruction, as well as blended/hybrid and distance learning environments.> meta propertytwitter:image contenthttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/icons/seothumbnail.png> link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/box/box-flex.css relstylesheet typetext/css /> script> var INST_SETTINGS {institute_id:187,name:Tinkerbrix,api_end_host:lebdu-api.edmingle.com,title:Lebdu,portal_name:lebdu,logo_details:{logo_id:305,logo_institute_id:187,logo_field_id:1979615,logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,logo_type:1,logo_height:null,logo_width:100px,background_color:null,style:margin: -15px 5px 5px 5px;},contact_number:8510044836,address_1:D-66 First Floor-Sector-7 Noida 201301,address_2:,city:Noida,state:null,country:IN,pincode:201301,support_email:support@robospecies.com,portal_link:https:\/\/learn.tinkerbrix.cc,show_courses:0,streams_visible:1,aboutus_visible:1,ios_link:,android_link:,enable_credit_system:0,is_live_classes_enabled:1,is_shopclients_enabled:0,shopclients_authtoken:null,enable_signup:1,payment_gateway:8,max_login_allowed:0,biometric_enabled:0,enable_gst:0,map_owners:0,enable_id_card:0,enable_my_payments:0,enable_buy_now:1,ispring_cloud_enabled:0,facebook_app_id:null,enable_otp_signup:1,show_student_rank:0,enable_video_download_android:0,enable_teacher_calling:1,enable_issue_certificate:0,course_info_buy_blocked:0,enable_fb_login:0,enable_google_login:0,terms_condition_url:null,privacy_policy_url:null,about_us_url:null,enable_student_profile_pic_update:1,institution_subdomain:lebdu,host_name:learn.tinkerbrix.cc,fb_url:https:\/\/www.facebook.com\/connectlebdu,linked_url:https:\/\/www.linkedin.com\/company\/lebdu-com\/,twitter_url:,ig_url:https:\/\/instagram.com\/lebduconnect?igshid1lzjya2dxm7ng,youtube_url:https:\/\/www.youtube.com\/channel\/UCLQ0HRDvtq4ujJ0PrU7sEcg,gplus_url:,favicon_file_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1858122-favicon.png,website_scripts:link rel\stylesheet\ href\https:\/\/maxcdn.bootstrapcdn.com\/font-awesome\/4.5.0\/css\/font-awesome.min.css\>\r\na href\https:\/\/api.whatsapp.com\/send?phone8510044824&textHola%21%20Quisiera%20m%C3%A1s%20informaci%C3%B3n%20sobre%20Varela%202.\ class\float\ target\_blank\>\r\ni class\fa fa-whatsapp my-float\>\/i>\r\n\/a>,website_custom_style:style>\n .home-banner h1.headline{\n font-size: 40px;\n color:#c0504d;\n font-weight: 600;\n margin-bottom: 0;\n }\n .bottom-right{\n bottom: 15px;\n right: 20px;\n position: fixed;\n display: inline-block;\n z-index: 2147483600;\n cursor: pointer;\n }\n p{\n font-size: 16px;\n }\n .home-banner p.sub-head,.home-banner h2.sub-head {\n color: #000;\n font-size: 20px;\n font-weight: 500;\n }\n .label-white .input-with-label span{\n color: #fff;\n }\n inputtype\submit\{\n background: #c0504d;\n }\n .course-item .course-box-details{\n position: absolute;\n padding: 0;\n bottom: 0;\n right:0;\n left:0;\n height: 54%;\n background-color: #c0504d;\n }\n .course-item .course-box-details h5{\n color: #fff;\n font-size: 18px;\n margin-top:0px;\n }\n .course-item .course-partner{\n position: absolute;\n top: 30%;\n padding: 10px;\n background: #fff;\n border-radius: 5px;\n left: 15px;\n z-index: 4;\n border: 2px solid #c0504d;\n }\n .course-item .course-type{\n position: absolute;\n bottom: 10px;\n left: 15px;\n color: #d6d6d6;\n font-size: 12px;\n }\n .course-box-triangle{\n height: 0;\n overflow: hidden;\n margin-top: -60px;\n padding-top: 60px;\n position: absolute;\n right: 0;\n width: 100%;\n z-index: 3;\n }\n .course-box-triangle::before{\n border-style: solid;\n border-width: 0 0 60px 360px;\n border-color: transparent transparent #c0504d;\n content: \\;\n display: block;\n height: 0;\n position: relative;\n top: -60px;\n width: 0;\n }\n .footer-logo{\n width: 60%!important;\n }\n .footer-1{\n background-color: #dcdcdc;\n }\n .footer-1 h6{\n color: #444444!important;\n }\n .footer-1 a{\n color:#444444!important;\n }\n .footer-1 p{\n color:#444444!important;\n }\n .btn {\n border: 2px solid #c0504d;\n }\n .btn-filled {\n background: #c0504d;\n }\n .btn:visited {\n color: #c0504d;\n }\n .btn-filled:visited {\n color: #fff;\n}\n .btn:hover {\n background: #c0504d;\n }\n .pkg-detail p{\n font-size: 14px;\n }\n .enquiry-btn{\n bottom: 15px;\n left: 20px;\n position: fixed;\n display: inline-block;\n z-index: 2147483600;\n cursor: pointer;\n }\n .enquiry-btn .enq-circle{\n background: #c0504d;\n width: 70px;\n height: 70px;\n min-height: 72px;\n min-width: 65px;\n overflow: hidden;\n border-radius: 39px;\n box-shadow: 0 5px 4px 0 rgba(0,0,0,.26);\n }\n\n .image-slider .background-image-holder{\n background-size: contain!important;\n background-repeat: no-repeat!important;\n }\n .menu li a{\n font-size: 15px;\n font-family: \Verdana\;\n font-weight: 100;\n letter-spacing: 0;\n }\n .nav-utility{\n background: rgb(232,119,34);\n }\n h4.section-heading {\n font-size: 25px;\n letter-spacing: 2px;\n font-weight: 600;\n }\n .nav-utility .sub{\n color: #fff;\n font-weight: bold;\n font-size: 15px;\n }\n @media screen and (max-width: 990px){\n\n .nav-bar .module {\n padding: 0px 16px 25px 16px!important;\n }\n }\n .nav-utility .fa-phone, .nav-utility .ti-email{\n color: rgb(85,86,90);\n }\n .contact-us-area .fa {\n color: rgb(232,119,34);\n }\n @media (min-width: 992px){\n .courses-list-home .col-md-3{\n width: 20%;\n }\n }\n .feature.boxed.course-item {\n min-height: 270px;\n}\n.col-md-3 .feature.boxed.course-item {\n min-height: 230px;\n}\n.course-item .course-type.cost-label {\n color: #fff;\n}\n.float{\n\tposition:right;\n\twidth:60px;\n\theight:60px;\n\tbottom:40px;\n\tright:40px;\n\tbackground-color:#007aff;\n\tcolor:#FFF;\n\tborder-radius:50px;\n\ttext-align:center;\n font-size:30px;\n\tbox-shadow: 2px 2px 3px #999;\n z-index:100;\n}\n\n.my-float{\n\tmargin-top:0px;\n}\n\/style>\n,free_enrol_btn_text:ENROLL FOR FREE,is_website_builder_set:1,remove_bottom_edmingle_logo:1,is_ssl_enabled:1,restrict_future_signin:0,allow_admin_virtualclass_signin:0,enable_certificate_tab:0,enable_certificate_verification:0,privacy_policy:null,terms_conditions:null,terms_conditions_url:null,signup_primary_field:1,institution_currency:1,actual_domain:https:\/\/learn.tinkerbrix.cc,client_enabled_gst:0,logout_url:https:\/\/lebdu.edmingle.com,student_logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,tutor_block_confidential_field:0,is_tutor_tnc_enabled:0,tutor_terms_and_conditions:null,enable_course_welcome_invoice_attachment:0,enable_invoice_attachment:null,is_sso_enabled:0,sso_client_url:null,enable_student_mark_material_as_completed:0,inst_base_currency_id:49,inst_international_selling_status:2,allow_course_access_branches:0,enable_website_builder:1,enforce_first_password_reset:0,allow_student_primary_field_edit:1,ms_clarity_admin_script_key:null,ms_clarity_student_script_key:null,enable_azure_ad_login:0,brand_colour:#11e88b,enable_otp_login:0,enable_otp_verification_secondary_contact:0,enable_multi_factor_authentication:0,multi_factor_authentication_status:1,is_saml_sso_enabled:0,is_saml_configured:0,is_dynamic_video_watermark_enabled:0,dynamic_watermarking_duration:10,dynamic_watermarking_interval:20,use_legacy_dashboard:0,student_dashboard_version:1,use_legacy_notification:1,secured_drm_player_type:1,is_tutor_name_hidden_in_course_preview:0,events_enabled:0,membership_enabled:0,blogs_enabled:0,is_full_whitelabeled:0,online_organization_id:305,online_organization_name:TinkerBriX,edmingle_v2_node_url:https:\/\/analytics.edmingle.com,institution_addons:{addon_id:1,addon_key:zoom_users_allowed,addon_value:1,institution_id:187,created_by:58,valid_from:1685621961,valid_till:0},is_private_server:false,is_vyoma_server:false,main_logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,CURRENCY_SYMBOL:₹}; var INST_PAYMENT_SETTINGS {is_edmingle_payment_gateway:0,is_bank_added:false}; localStorage.setItem(lang, en); var countries {country_code_id:1,code:AF,name:Afghanistan,dial_code:+93,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AF.svg},{country_code_id:2,code:AX,name:\u00c5land Islands,dial_code:+358,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AX.svg},{country_code_id:3,code:AL,name:Albania,dial_code:+355,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AL.svg},{country_code_id:4,code:DZ,name:Algeria,dial_code:+213,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DZ.svg},{country_code_id:5,code:AS,name:American Samoa,dial_code:+1 684,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AS.svg},{country_code_id:6,code:AD,name:Andorra,dial_code:+376,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AD.svg},{country_code_id:7,code:AO,name:Angola,dial_code:+244,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AO.svg},{country_code_id:8,code:AI,name:Anguilla,dial_code:+1 264,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AI.svg},{country_code_id:9,code:AQ,name:Antarctica,dial_code:+672,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AQ.svg},{country_code_id:10,code:AG,name:Antigua and Barbuda,dial_code:+1268,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AG.svg},{country_code_id:11,code:AR,name:Argentina,dial_code:+54,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AR.svg},{country_code_id:12,code:AM,name:Armenia,dial_code:+374,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AM.svg},{country_code_id:13,code:AW,name:Aruba,dial_code:+297,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AW.svg},{country_code_id:14,code:AU,name:Australia,dial_code:+61,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AU.svg},{country_code_id:15,code:AT,name:Austria,dial_code:+43,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AT.svg},{country_code_id:16,code:AZ,name:Azerbaijan,dial_code:+994,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AZ.svg},{country_code_id:17,code:BS,name:Bahamas,dial_code:+1 242,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BS.svg},{country_code_id:18,code:BH,name:Bahrain,dial_code:+973,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BH.svg},{country_code_id:19,code:BD,name:Bangladesh,dial_code:+880,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BD.svg},{country_code_id:20,code:BB,name:Barbados,dial_code:+1 246,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BB.svg},{country_code_id:21,code:BY,name:Belarus,dial_code:+375,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BY.svg},{country_code_id:22,code:BE,name:Belgium,dial_code:+32,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BE.svg},{country_code_id:23,code:BZ,name:Belize,dial_code:+501,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BZ.svg},{country_code_id:24,code:BJ,name:Benin,dial_code:+229,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BJ.svg},{country_code_id:25,code:BM,name:Bermuda,dial_code:+1 441,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BM.svg},{country_code_id:26,code:BT,name:Bhutan,dial_code:+975,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BT.svg},{country_code_id:27,code:BO,name:Bolivia, Plurinational State of,dial_code:+591,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BO.svg},{country_code_id:28,code:BQ,name:Bonaire, Sint Eustatius and Saba,dial_code:+599,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BQ.svg},{country_code_id:29,code:BA,name:Bosnia and Herzegovina,dial_code:+387,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BA.svg},{country_code_id:30,code:BW,name:Botswana,dial_code:+267,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BW.svg},{country_code_id:31,code:BV,name:Bouvet Island,dial_code:+47,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BV.svg},{country_code_id:32,code:BR,name:Brazil,dial_code:+55,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BR.svg},{country_code_id:33,code:IO,name:British Indian Ocean Territory,dial_code:+246,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IO.svg},{country_code_id:34,code:BN,name:Brunei Darussalam,dial_code:+673,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BN.svg},{country_code_id:35,code:BG,name:Bulgaria,dial_code:+359,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BG.svg},{country_code_id:36,code:BF,name:Burkina Faso,dial_code:+226,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BF.svg},{country_code_id:37,code:BI,name:Burundi,dial_code:+257,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BI.svg},{country_code_id:38,code:KH,name:Cambodia,dial_code:+855,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KH.svg},{country_code_id:39,code:CM,name:Cameroon,dial_code:+237,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CM.svg},{country_code_id:40,code:CA,name:Canada,dial_code:+1,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CA.svg},{country_code_id:41,code:CV,name:Cape Verde,dial_code:+238,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CV.svg},{country_code_id:42,code:KY,name:Cayman Islands,dial_code:+1 345,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KY.svg},{country_code_id:43,code:CF,name:Central African Republic,dial_code:+236,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CF.svg},{country_code_id:44,code:TD,name:Chad,dial_code:+235,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TD.svg},{country_code_id:45,code:CL,name:Chile,dial_code:+56,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CL.svg},{country_code_id:46,code:CN,name:China,dial_code:+86,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CN.svg},{country_code_id:47,code:CX,name:Christmas Island,dial_code:+61,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CX.svg},{country_code_id:48,code:CC,name:Cocos (Keeling) Islands,dial_code:+61,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CC.svg},{country_code_id:49,code:CO,name:Colombia,dial_code:+57,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CO.svg},{country_code_id:50,code:KM,name:Comoros,dial_code:+269,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KM.svg},{country_code_id:51,code:CG,name:Congo,dial_code:+242,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CG.svg},{country_code_id:52,code:CD,name:Congo, the Democratic Republic of the,dial_code:+243,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CD.svg},{country_code_id:53,code:CK,name:Cook Islands,dial_code:+682,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CK.svg},{country_code_id:54,code:CR,name:Costa Rica,dial_code:+506,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CR.svg},{country_code_id:55,code:CI,name:C\u00f4te dIvoire,dial_code:+225,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CI.svg},{country_code_id:56,code:HR,name:Croatia,dial_code:+385,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HR.svg},{country_code_id:57,code:CU,name:Cuba,dial_code:+53,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CU.svg},{country_code_id:58,code:CW,name:Cura\u00e7ao,dial_code:+599,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CW.svg},{country_code_id:59,code:CY,name:Cyprus,dial_code:+357,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CY.svg},{country_code_id:60,code:CZ,name:Czech Republic,dial_code:+420,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CZ.svg},{country_code_id:61,code:DK,name:Denmark,dial_code:+45,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DK.svg},{country_code_id:62,code:DJ,name:Djibouti,dial_code:+253,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DJ.svg},{country_code_id:63,code:DM,name:Dominica,dial_code:+1 767,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DM.svg},{country_code_id:64,code:DO,name:Dominican Republic,dial_code:+1 849,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DO.svg},{country_code_id:65,code:EC,name:Ecuador,dial_code:+593,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/EC.svg},{country_code_id:66,code:EG,name:Egypt,dial_code:+20,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/EG.svg},{country_code_id:67,code:SV,name:El Salvador,dial_code:+503,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SV.svg},{country_code_id:68,code:GQ,name:Equatorial Guinea,dial_code:+240,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GQ.svg},{country_code_id:69,code:ER,name:Eritrea,dial_code:+291,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ER.svg},{country_code_id:70,code:EE,name:Estonia,dial_code:+372,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/EE.svg},{country_code_id:71,code:ET,name:Ethiopia,dial_code:+251,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ET.svg},{country_code_id:72,code:FK,name:Falkland Islands (Malvinas),dial_code:+500,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FK.svg},{country_code_id:73,code:FO,name:Faroe Islands,dial_code:+298,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FO.svg},{country_code_id:74,code:FJ,name:Fiji,dial_code:+679,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FJ.svg},{country_code_id:75,code:FI,name:Finland,dial_code:+358,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FI.svg},{country_code_id:76,code:FR,name:France,dial_code:+33,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FR.svg},{country_code_id:77,code:GF,name:French Guiana,dial_code:+594,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GF.svg},{country_code_id:78,code:PF,name:French Polynesia,dial_code:+689,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PF.svg},{country_code_id:79,code:TF,name:French Southern Territories,dial_code:+262,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TF.svg},{country_code_id:80,code:GA,name:Gabon,dial_code:+241,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GA.svg},{country_code_id:81,code:GM,name:Gambia,dial_code:+220,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GM.svg},{country_code_id:82,code:GE,name:Georgia,dial_code:+995,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GE.svg},{country_code_id:83,code:DE,name:Germany,dial_code:+49,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/DE.svg},{country_code_id:84,code:GH,name:Ghana,dial_code:+233,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GH.svg},{country_code_id:85,code:GI,name:Gibraltar,dial_code:+350,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GI.svg},{country_code_id:86,code:GR,name:Greece,dial_code:+30,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GR.svg},{country_code_id:87,code:GL,name:Greenland,dial_code:+299,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GL.svg},{country_code_id:88,code:GD,name:Grenada,dial_code:+1 473,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GD.svg},{country_code_id:89,code:GP,name:Guadeloupe,dial_code:+590,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GP.svg},{country_code_id:90,code:GU,name:Guam,dial_code:+1 671,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GU.svg},{country_code_id:91,code:GT,name:Guatemala,dial_code:+502,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GT.svg},{country_code_id:92,code:GG,name:Guernsey,dial_code:+44,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GG.svg},{country_code_id:93,code:GN,name:Guinea,dial_code:+224,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GN.svg},{country_code_id:94,code:GW,name:Guinea-Bissau,dial_code:+245,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GW.svg},{country_code_id:95,code:GY,name:Guyana,dial_code:+592,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GY.svg},{country_code_id:96,code:HT,name:Haiti,dial_code:+509,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HT.svg},{country_code_id:97,code:HM,name:Heard Island and McDonald Islands,dial_code:+672,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HM.svg},{country_code_id:98,code:VA,name:Holy See (Vatican City State),dial_code:+379,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VA.svg},{country_code_id:99,code:HN,name:Honduras,dial_code:+504,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HN.svg},{country_code_id:100,code:HK,name:Hong Kong,dial_code:+852,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HK.svg},{country_code_id:101,code:HU,name:Hungary,dial_code:+36,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/HU.svg},{country_code_id:102,code:IS,name:Iceland,dial_code:+354,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IS.svg},{country_code_id:103,code:IN,name:India,dial_code:+91,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IN.svg},{country_code_id:104,code:ID,name:Indonesia,dial_code:+62,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ID.svg},{country_code_id:105,code:IR,name:Iran, Islamic Republic of,dial_code:+98,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IR.svg},{country_code_id:106,code:IQ,name:Iraq,dial_code:+964,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IQ.svg},{country_code_id:107,code:IE,name:Ireland,dial_code:+353,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IE.svg},{country_code_id:108,code:IM,name:Isle of Man,dial_code:+44,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IM.svg},{country_code_id:109,code:IL,name:Israel,dial_code:+972,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IL.svg},{country_code_id:110,code:IT,name:Italy,dial_code:+39,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/IT.svg},{country_code_id:111,code:JM,name:Jamaica,dial_code:+1 876,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/JM.svg},{country_code_id:112,code:JP,name:Japan,dial_code:+81,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/JP.svg},{country_code_id:113,code:JE,name:Jersey,dial_code:+44,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/JE.svg},{country_code_id:114,code:JO,name:Jordan,dial_code:+962,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/JO.svg},{country_code_id:115,code:KZ,name:Kazakhstan,dial_code:+7 7,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KZ.svg},{country_code_id:116,code:KE,name:Kenya,dial_code:+254,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KE.svg},{country_code_id:117,code:KI,name:Kiribati,dial_code:+686,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KI.svg},{country_code_id:118,code:KP,name:Korea, Democratic Peoples Republic of,dial_code:+850,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KP.svg},{country_code_id:119,code:KR,name:Korea, Republic of,dial_code:+82,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KR.svg},{country_code_id:120,code:KW,name:Kuwait,dial_code:+965,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KW.svg},{country_code_id:121,code:KG,name:Kyrgyzstan,dial_code:+996,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KG.svg},{country_code_id:122,code:LA,name:Lao Peoples Democratic Republic,dial_code:+856,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LA.svg},{country_code_id:123,code:LV,name:Latvia,dial_code:+371,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LV.svg},{country_code_id:124,code:LB,name:Lebanon,dial_code:+961,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LB.svg},{country_code_id:125,code:LS,name:Lesotho,dial_code:+266,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LS.svg},{country_code_id:126,code:LR,name:Liberia,dial_code:+231,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LR.svg},{country_code_id:127,code:LY,name:Libya,dial_code:+218,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LY.svg},{country_code_id:128,code:LI,name:Liechtenstein,dial_code:+423,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LI.svg},{country_code_id:129,code:LT,name:Lithuania,dial_code:+370,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LT.svg},{country_code_id:130,code:LU,name:Luxembourg,dial_code:+352,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LU.svg},{country_code_id:131,code:MO,name:Macao,dial_code:+853,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MO.svg},{country_code_id:132,code:MK,name:Macedonia, the Former Yugoslav Republic of,dial_code:+389,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MK.svg},{country_code_id:133,code:MG,name:Madagascar,dial_code:+261,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MG.svg},{country_code_id:134,code:MW,name:Malawi,dial_code:+265,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MW.svg},{country_code_id:135,code:MY,name:Malaysia,dial_code:+60,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MY.svg},{country_code_id:136,code:MV,name:Maldives,dial_code:+960,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MV.svg},{country_code_id:137,code:ML,name:Mali,dial_code:+223,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ML.svg},{country_code_id:138,code:MT,name:Malta,dial_code:+356,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MT.svg},{country_code_id:139,code:MH,name:Marshall Islands,dial_code:+692,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MH.svg},{country_code_id:140,code:MQ,name:Martinique,dial_code:+596,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MQ.svg},{country_code_id:141,code:MR,name:Mauritania,dial_code:+222,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MR.svg},{country_code_id:142,code:MU,name:Mauritius,dial_code:+230,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MU.svg},{country_code_id:143,code:YT,name:Mayotte,dial_code:+262,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/YT.svg},{country_code_id:144,code:MX,name:Mexico,dial_code:+52,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MX.svg},{country_code_id:145,code:FM,name:Micronesia, Federated States of,dial_code:+691,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/FM.svg},{country_code_id:146,code:MD,name:Moldova, Republic of,dial_code:+373,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MD.svg},{country_code_id:147,code:MC,name:Monaco,dial_code:+377,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MC.svg},{country_code_id:148,code:MN,name:Mongolia,dial_code:+976,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MN.svg},{country_code_id:149,code:ME,name:Montenegro,dial_code:+382,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ME.svg},{country_code_id:150,code:MS,name:Montserrat,dial_code:+1664,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MS.svg},{country_code_id:151,code:MA,name:Morocco,dial_code:+212,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MA.svg},{country_code_id:152,code:MZ,name:Mozambique,dial_code:+258,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MZ.svg},{country_code_id:153,code:MM,name:Myanmar,dial_code:+95,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MM.svg},{country_code_id:154,code:NA,name:Namibia,dial_code:+264,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NA.svg},{country_code_id:155,code:NR,name:Nauru,dial_code:+674,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NR.svg},{country_code_id:156,code:NP,name:Nepal,dial_code:+977,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NP.svg},{country_code_id:157,code:NL,name:Netherlands,dial_code:+31,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NL.svg},{country_code_id:158,code:NC,name:New Caledonia,dial_code:+687,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NC.svg},{country_code_id:159,code:NZ,name:New Zealand,dial_code:+64,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NZ.svg},{country_code_id:160,code:NI,name:Nicaragua,dial_code:+505,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NI.svg},{country_code_id:161,code:NE,name:Niger,dial_code:+227,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NE.svg},{country_code_id:162,code:NG,name:Nigeria,dial_code:+234,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NG.svg},{country_code_id:163,code:NU,name:Niue,dial_code:+683,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NU.svg},{country_code_id:164,code:NF,name:Norfolk Island,dial_code:+672,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NF.svg},{country_code_id:165,code:MP,name:Northern Mariana Islands,dial_code:+1 670,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MP.svg},{country_code_id:166,code:NO,name:Norway,dial_code:+47,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/NO.svg},{country_code_id:167,code:OM,name:Oman,dial_code:+968,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/OM.svg},{country_code_id:168,code:PK,name:Pakistan,dial_code:+92,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PK.svg},{country_code_id:169,code:PW,name:Palau,dial_code:+680,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PW.svg},{country_code_id:170,code:PS,name:Palestine, State of,dial_code:+970,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PS.svg},{country_code_id:171,code:PA,name:Panama,dial_code:+507,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PA.svg},{country_code_id:172,code:PG,name:Papua New Guinea,dial_code:+675,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PG.svg},{country_code_id:173,code:PY,name:Paraguay,dial_code:+595,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PY.svg},{country_code_id:174,code:PE,name:Peru,dial_code:+51,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PE.svg},{country_code_id:175,code:PH,name:Philippines,dial_code:+63,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PH.svg},{country_code_id:176,code:PN,name:Pitcairn,dial_code:+872,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PN.svg},{country_code_id:177,code:PL,name:Poland,dial_code:+48,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PL.svg},{country_code_id:178,code:PT,name:Portugal,dial_code:+351,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PT.svg},{country_code_id:179,code:PR,name:Puerto Rico,dial_code:+1 939,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PR.svg},{country_code_id:180,code:QA,name:Qatar,dial_code:+974,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/QA.svg},{country_code_id:181,code:RE,name:R\u00e9union,dial_code:+262,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/RE.svg},{country_code_id:182,code:RO,name:Romania,dial_code:+40,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/RO.svg},{country_code_id:183,code:RU,name:Russian Federation,dial_code:+7,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/RU.svg},{country_code_id:184,code:RW,name:Rwanda,dial_code:+250,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/RW.svg},{country_code_id:185,code:BL,name:Saint Barth\u00e9lemy,dial_code:+590,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/BL.svg},{country_code_id:186,code:SH,name:Saint Helena, Ascension and Tristan da Cunha,dial_code:+290,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SH.svg},{country_code_id:187,code:KN,name:Saint Kitts and Nevis,dial_code:+1 869,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/KN.svg},{country_code_id:188,code:LC,name:Saint Lucia,dial_code:+1 758,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LC.svg},{country_code_id:189,code:MF,name:Saint Martin (French part),dial_code:+590,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/MF.svg},{country_code_id:190,code:PM,name:Saint Pierre and Miquelon,dial_code:+508,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/PM.svg},{country_code_id:191,code:VC,name:Saint Vincent and the Grenadines,dial_code:+1 784,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VC.svg},{country_code_id:192,code:WS,name:Samoa,dial_code:+685,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/WS.svg},{country_code_id:193,code:SM,name:San Marino,dial_code:+378,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SM.svg},{country_code_id:194,code:ST,name:Sao Tome and Principe,dial_code:+239,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ST.svg},{country_code_id:195,code:SA,name:Saudi Arabia,dial_code:+966,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SA.svg},{country_code_id:196,code:SN,name:Senegal,dial_code:+221,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SN.svg},{country_code_id:197,code:RS,name:Serbia,dial_code:+381,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/RS.svg},{country_code_id:198,code:SC,name:Seychelles,dial_code:+248,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SC.svg},{country_code_id:199,code:SL,name:Sierra Leone,dial_code:+232,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SL.svg},{country_code_id:200,code:SG,name:Singapore,dial_code:+65,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SG.svg},{country_code_id:201,code:SX,name:Sint Maarten (Dutch part),dial_code:+721,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SX.svg},{country_code_id:202,code:SK,name:Slovakia,dial_code:+421,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SK.svg},{country_code_id:203,code:SI,name:Slovenia,dial_code:+386,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SI.svg},{country_code_id:204,code:SB,name:Solomon Islands,dial_code:+677,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SB.svg},{country_code_id:205,code:SO,name:Somalia,dial_code:+252,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SO.svg},{country_code_id:206,code:ZA,name:South Africa,dial_code:+27,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ZA.svg},{country_code_id:207,code:GS,name:South Georgia and the South Sandwich Islands,dial_code:+500,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GS.svg},{country_code_id:208,code:SS,name:South Sudan,dial_code:+211,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SS.svg},{country_code_id:209,code:ES,name:Spain,dial_code:+34,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ES.svg},{country_code_id:210,code:LK,name:Sri Lanka,dial_code:+94,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/LK.svg},{country_code_id:211,code:SD,name:Sudan,dial_code:+249,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SD.svg},{country_code_id:212,code:SR,name:Suriname,dial_code:+597,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SR.svg},{country_code_id:213,code:SJ,name:Svalbard and Jan Mayen,dial_code:+47,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SJ.svg},{country_code_id:214,code:SZ,name:Swaziland,dial_code:+268,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SZ.svg},{country_code_id:215,code:SE,name:Sweden,dial_code:+46,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SE.svg},{country_code_id:216,code:CH,name:Switzerland,dial_code:+41,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/CH.svg},{country_code_id:217,code:SY,name:Syrian Arab Republic,dial_code:+963,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/SY.svg},{country_code_id:218,code:TW,name:Taiwan,dial_code:+886,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TW.svg},{country_code_id:219,code:TJ,name:Tajikistan,dial_code:+992,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TJ.svg},{country_code_id:220,code:TZ,name:Tanzania, United Republic of,dial_code:+255,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TZ.svg},{country_code_id:221,code:TH,name:Thailand,dial_code:+66,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TH.svg},{country_code_id:222,code:TL,name:Timor-Leste,dial_code:+670,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TL.svg},{country_code_id:223,code:TG,name:Togo,dial_code:+228,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TG.svg},{country_code_id:224,code:TK,name:Tokelau,dial_code:+690,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TK.svg},{country_code_id:225,code:TO,name:Tonga,dial_code:+676,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TO.svg},{country_code_id:226,code:TT,name:Trinidad and Tobago,dial_code:+1 868,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TT.svg},{country_code_id:227,code:TN,name:Tunisia,dial_code:+216,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TN.svg},{country_code_id:228,code:TR,name:Turkey,dial_code:+90,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TR.svg},{country_code_id:229,code:TM,name:Turkmenistan,dial_code:+993,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TM.svg},{country_code_id:230,code:TC,name:Turks and Caicos Islands,dial_code:+1 649,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TC.svg},{country_code_id:231,code:TV,name:Tuvalu,dial_code:+688,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/TV.svg},{country_code_id:232,code:UG,name:Uganda,dial_code:+256,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/UG.svg},{country_code_id:233,code:UA,name:Ukraine,dial_code:+380,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/UA.svg},{country_code_id:234,code:AE,name:United Arab Emirates,dial_code:+971,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/AE.svg},{country_code_id:235,code:GB,name:United Kingdom,dial_code:+44,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/GB.svg},{country_code_id:236,code:US,name:United States,dial_code:+1,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/US.svg},{country_code_id:237,code:UM,name:United States Minor Outlying Islands,dial_code:+246,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/UM.svg},{country_code_id:238,code:UY,name:Uruguay,dial_code:+598,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/UY.svg},{country_code_id:239,code:UZ,name:Uzbekistan,dial_code:+998,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/UZ.svg},{country_code_id:240,code:VU,name:Vanuatu,dial_code:+678,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VU.svg},{country_code_id:241,code:VE,name:Venezuela, Bolivarian Republic of,dial_code:+58,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VE.svg},{country_code_id:242,code:VN,name:Viet Nam,dial_code:+84,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VN.svg},{country_code_id:243,code:VG,name:Virgin Islands, British,dial_code:+1 284,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VG.svg},{country_code_id:244,code:VI,name:Virgin Islands, U.S.,dial_code:+1 340,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/VI.svg},{country_code_id:245,code:WF,name:Wallis and Futuna,dial_code:+681,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/WF.svg},{country_code_id:246,code:EH,name:Western Sahara,dial_code:+212,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/EH.svg},{country_code_id:247,code:YE,name:Yemen,dial_code:+967,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/YE.svg},{country_code_id:248,code:ZM,name:Zambia,dial_code:+260,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ZM.svg},{country_code_id:249,code:ZW,name:Zimbabwe,dial_code:+263,flag_svg_url:https:\/\/edmingle.b-cdn.net\/country_svg\/ZW.svg}; var COUNTRYCODEID 236; if(window.renderEngineClient && window.renderEngineClient.setApiHost){ window.renderEngineClient.setApiHost(INST_SETTINGS); }/script>script srchttps://learn.tinkerbrix.cc/websitebuilder/sharedassets/js/fingerprint.js typemodule>/script>script srchttps://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js integritysha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM crossoriginanonymous>/script>script srchttps://edmingle.b-cdn.net/website/javascript/jquery.min.js>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/axios/0.24.0/axios.min.js integritysha512-u9akINsQsAkG9xjc1cnGF4zw5TFDwkxuc9vUp5dltDWYCSmyd0meygbvgXrlc/z7/o4a19Fb5V0OUE58J7dcyw crossoriginanonymous referrerpolicyno-referrer>/script>script typetext/javascript srchttps://edmingle.b-cdn.net/ejs.min.js>/script>script srchttps://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js>/script>script srchttps://cdn.socket.io/4.6.0/socket.io.min.js crossoriginanonymous >/script> script srchttps://cdn.jsdelivr.net/npm/ua-parser-js/src/ua-parser.min.js crossoriginanonymous referrerpolicyno-referrer >/script>script srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/js/new-commonfile.js?v11.4>/script>script srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/js/new-index.js?v9.21>/script>script typetext/javascript srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/js/RenderEngineClient.js> /script>script typetext/javascript srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/js/classic.js> /script>script typetext/javascript srchttps://cdn.jsdelivr.net/npm/toastify-js>/script>script srchttps://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js>/script>script> var VISITOR_ID null; function showToast(text ,type 1,onClick null, customStyle {},isCustomNode false,emailnull,duration3000) { //type // 1 : Success // 2 : Error const color { 1: #198754, 2: #dc3545 } let toastNode null if(isCustomNode){ toastNode document.createElement(div); if (email) { toastNode.innerHTML ` div>${text.replace(/Contact us at: .+$/, )}/div> div> Contact us at: a hrefmailto:${email} stylecolor: #0d6efd; text-decoration: underline;>${email}/a> /div> `; } else { toastNode.innerHTML `div>${text}/div>`; } } return Toastify({ text: text, ...(isCustomNode && {node:toastNode}), duration: duration, close: close, gravity: top, position: center, style: { color: black, padding: 10px 12px, background: white, border-left: `5px solid ${colortype}`, ...customStyle }, onClick: onClick || function() { console.log(Error) } // Callback after click }).showToast(); } window.addEventListener(load, async () > { //Initialize fingerprint and get device Id VISITOR_ID await initiateFingerPrint(); });/script>script> let socket; let count 0; let disconnectTimer; let isEmitAllowed true; const startDisconnectTimer ()> { disconnectTimer setTimeout(() > { console.log( User inactive for 2 minutes. Disconnecting socket... ); if (socket && socket.connected) { socket.disconnect(); } }, 1 * 60 * 1000); // 1 minute in milliseconds } const resetDisconnectTimer () >{ try { clearTimeout(disconnectTimer); startDisconnectTimer(); } catch (err) { console.log(disconnectTimer , err) } } const runVisibiltyListener () > { if (document.visibilityState hidden) { console.log(Tab is hidden.); resetDisconnectTimer(); } else { console.log(Tab is visible); clearTimeout(disconnectTimer); if (socket && !socket.connected) { console.log(Reconnecting socket...); console.log(count log , count) socket.connect(); } } } document.removeEventListener(visibilitychange, runVisibiltyListener); document.addEventListener(visibilitychange,runVisibiltyListener ); function initiateSocket(usermetaJsonnull){ if(!isEmitAllowed){ console.log(Emit not allowed as old emit/connection not established yet) return } isEmitAllowed false var userAgent navigator.userAgent; const parser new UAParser(userAgent); count+1; var deviceInfo parser.getDevice()?.type || Desktop; var osInfo parser.getOS()?.name || Unknown OS; var browserInfo parser.getBrowser()?.name || Unknown OS; console.log(Device: + deviceInfo); console.log(OS: + osInfo); console.log(Browser: + browserInfo); let sessionInfo localStorage.getItem(sessionInfo) ? JSON.parse(localStorage.getItem(sessionInfo)) : null; if(sessionInfo?.endTime Math.floor(Date.now() /1000)){ sessionInfonull localStorage.removeItem(sessionInfo) } let guest_user_id `${INST_SETTINGSinstitute_id}_${Math.floor(Date.now() /1000)}`; if(localStorage.getItem(guest_user_id)){ guest_user_id localStorage.getItem(guest_user_id); }else{ localStorage.setItem(guest_user_id,guest_user_id) } const userInfo { userId: usermetaJson ? usermetaJson?.user?.user_id : guest_user_id, deviceInfo: deviceInfo, osInfo: osInfo, browserInfo: browserInfo, institutionId: INST_SETTINGSinstitute_id ? INST_SETTINGSinstitute_id : -1, organizationId:localStorage.getItem(curr_org_id) ? localStorage.getItem(curr_org_id) : (INST_SETTINGSonline_organization_id ?? 0), geoLocationInfo:usermetaJson?.geolocation_info ? usermetaJson.geolocation_info : {}, existingSessionId: localStorage.getItem(sessionInfo) ? JSON.parse(localStorage.getItem(sessionInfo))?.sessionId : null, is_guest: usermetaJson ? false : true }; if(INST_SETTINGS && INST_SETTINGSedmingle_v2_node_url){ const connectionUrl INST_SETTINGSedmingle_v2_node_url; let role usermetaJson?.user.org_data0.role; if(!socket || !socket.connected){ if(role student || !usermetaJson){ socket io(connectionUrl,{ transports: websocket, reconnectionAttempts: 3, // Set the maximum number of reconnection attempts reconnectionDelay:10000 //10 secs }); // Change the URL to your Socket.IO server } }else{ if(role student){ socket.emit(userInfo, userInfo); }else{ socket?.disconnect(); } } socket?.off(connect).on(connect, () > { console.log(Connected to server); console.log(emit log , count) isEmitAllowedtrue socket.emit(userInfo, userInfo); socket.on(sessionId, (sessionId) > { console.log(sessionId,sessionId); localStorage.setItem(sessionInfo,JSON.stringify({sessionId , endTime:Math.floor(Date.now() /1000) + 2*60*60})) }) }); socket?.on(disconnect, () > { console.log(Disconnected from server); }); }}/script>!-- SITE BUILDER -->link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/assets/minimalist-blocks/content.css relstylesheet typetext/css />link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/styles/classic.css?v1.8 relstylesheet/>link relstylesheet typetext/css hrefhttps://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css>!-- select -->link hrefhttps://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css relstylesheet /> style> :root{--header-background-color:rgba(255,255,255,1);--header-link-color:rgba(133,133,133,1);--header-link-hover-color:rgba(0,141,227,1);--footer-background-color:rgba(92,92,92,1);--footer-link-color:rgba(255,255,255,1);--footer-link-hover-color:rgba(235,235,235,1);undefined:undefined;--classic-primary:3,144,229} /style> link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/assets/styles/basetype-cabinsketch-montserrat.css relstylesheet typetext/css />/head>body> div classcontentbox_main_screen styledisplay: flex;flex-flow:row wrap;height:100vh;width:100%;overflow-y:auto;> nav classnavbar navbar-expand-sm navbar-light idheader-main styleposition: sticky; top: 0px;>style> @media only screen and (min-width: 576px) { #header-main { height: 60px; } } #header-main .navbar-brand-img { max-height: calc(60px - 1rem); } /style>div classcontainer-lg header-wrapper>a classnavbar-brand d-flex hrefhttps://tinkerbrix.cc/>img classd-inline-block align-text-center mr-2 navbar-brand-img srchttps://dme2wmiz2suov.cloudfront.net/Institution(187)/Logo/1979615-Tinker_logo_1.png />/a>button classnavbar-toggler typebutton data-bs-togglecollapse data-bs-target#navbarResponsive aria-controlsnavbarResponsive aria-expandedfalse aria-labelToggle navigation>span classnavbar-toggler-icon>svg viewBox0 0 32 32 xmlnshttp://www.w3.org/2000/svg>path strokevar(--header-link-color) stroke-width2 stroke-linecapround stroke-miterlimit10 dM4 8h24M4 16h24M4 24h24>/path>/svg>/span>/button>div classcollapse navbar-collapse align-items-center idnavbarResponsive>ul classnavbar-nav ms-auto align-items-center>li classnav-item>a target_blank href/contact-us classnav-link header styledisplay: block;>Contact Us/a>/li>a classnav-item header login-outline styledisplay: block; idopen-loginOffcanvas-modal data-bs-toggleoffcanvas href#loginOffcanvas rolebutton aria-controlsloginOffcanvas>Login/a>a classnav-item header signup styledisplay: block; idopen-signupOffcanvas-modal rolebutton aria-controlssignupOffcanvasLabel>Sign Up/a>/ul>/div>/div>/nav>script> window.addEventListener(load, () > { checkSignupState(); }); var checkSignupState () > { var signup document.getElementsByClassName(signup)0; var loginEntryPoint document.getElementsByClassName(login-outline)0; let navbar document.querySelector(.navbar-nav); if(localStorage.getItem(apikey)){ if (signup) signup.classList.add(d-none); if (loginEntryPoint) loginEntryPoint.classList.add(d-none); var dropdown document.createElement(div); dropdown.classList.add(btn-group, myaccount); navbar.insertAdjacentElement(beforeend,dropdown); // signup.parentNode.parentNode.insertBefore(dropdown, signup.parentNode.nextSibling); var template ` button typebutton classbtn btn-grad onclickgotoApplication()>My Account/button> button typebutton classbtn btn-grad dropdown-toggle dropdown-toggle-split data-bs-toggledropdown aria-expandedfalse> span classvisually-hidden>Toggle Dropdown/span> /button> ul classdropdown-menu> li>a classdropdown-item onclicklogout()>Log Out/a>/li> /ul>`; dropdown.innerHTML ejs.render(template); } } var initUserWebEngage () > { // webengage init code if( typeof webengage ! undefined ) { if(USER_INFO && USER_INFO.user_id) { webengage.user.login(USER_INFO.user_id); if(INST_SETTINGS && INST_SETTINGS.institute_id) { webengage.user.setAttribute(institution_id, INST_SETTINGS.institute_id); webengage.user.setAttribute(app_name, INST_SETTINGS.name); webengage.user.setAttribute(portal_name, INST_SETTINGS.portal_name); webengage.user.setAttribute(is_authenticated, true); } } } }/script> div classis-wrapper styledisplay:contents> div id2022-05-13T14:03:35.380Z-0 nameBanner classis-section is-box is-section-auto d-table> div classis-overlay bg-secondary-gradient> /div> div classis-boxes> div classis-box-centered is-opacity-95> div classis-container container-fluid-fluid is-content-940 space-y-100 stylemax-width: 940px;> div classrow> div classcol-md-12 center> h1 classh1-big heading-white>TinkerBriX LMS Platform/h1> /div> /div> div classrow> div classcol-md-12 center> p classui-large body-white>It is an online integrated software used for creating, delivering, tracking, and reporting g-bubble jscontrollerQVaUhf data-ci data-du200 data-tp5 jsactionR9S7w:VqIRre; jsshadow>educational/g-bubble> courses and outcomes. It can be used to support traditional face-to-face instruction, as well as blended/hybrid and distance learning environments./p> /div> /div> div classrow> div classcol-md-12 padding-10> div classspacer height-20>/div> /div> /div> div classrow> div classcol-md-12 center> p classui-big body-white>br>/p> /div> /div> div classrow> div classcol-md-12> div classspacer height-20>/div> /div> /div> div classrow> div classcol-md-12> div classeds-btn-group> a hrefhttps://learn.tinkerbrix.cc/login classeds-btn white styledisplay: inline-block; title target_blank> Get Started /a>a hrefhttps://tinkerbrix.cc/ classeds-btn white styledisplay: inline-block; color: rgb(0, 36, 58); background-color: rgb(96, 194, 253); title target_blank> Explore /a> /div> /div> /div> /div> /div> /div>/div>!-- section classoffcanvas offcanvas-start login-offcanvas tabindex-1 idoffcanvasExample aria-labelledbyoffcanvasExampleLabel> div classoffcanvas-header> h5>/h5> button idmodal-close-cross typebutton classbtn-close text-reset data-bs-dismissoffcanvas aria-labelClose>/button> /div> div classoffcanvas-body> /div>/section> -->!-- section classoffcanvas offcanvas-start login-offcanvas tabindex-1 idloginOffcanvas aria-labelledbyoffcanvasExampleLabel> -->section> div classoffcanvas offcanvas-end login-offcanvas tabindex-1 idloginOffcanvas aria-labelledbyoffcanvasExampleLabel> div classoffcanvas-header> button idmodal-close-cross typebutton classbtn-close text-reset data-bs-dismissoffcanvas aria-labelClose stylemargin-top:12px;>/button> /div> div classoffcanvas-body> div classd-flex flex-column checkout-system-pages idlogin-container-offcanvas stylebackground-image: var(--background-light-gradient), url(https://edmingle.b-cdn.net/edmingle_websitebuilder/img/backdrop.png); background-size: cover; background-repeat: no-repeat;> div classcontainer-sm> div classd-flex justify-content-center> div classoffcanvas-login-modal styledisplay:block> form classbase-form-styles access-form idwb-loginOffcanvas-form> h3 classoffcanvas-heading>Login/h3> span>or a idcreate-new-account-trigger-offcanvas href rolebutton>Create an account/a>/span> div classbase-form-styles> div classcanvas-form-group> label foremail classform-label label d-block text-start stylemargin-bottom:0px;>Email / Phone Number / Username/label> input typetext classform-control idoffcanvas-primary-field nameemail> span classform-label form-error idlogin-error-txt styledisplay:none>/span> /div> button classbtn w-100 btn-grad idoffcanvas-continue-btn stylemargin:24px 0; line-height:1.5; onclickcontinueBtnHandler(this) typebutton disabled>CONTINUE/button> div idpassword-field styledisplay: none> div classcanvas-form-group> label forpassword classform-label label d-block text-start stylemargin-bottom:0px;>Password/label> input typepassword classform-control idoffcanvas-login-password namepassword> a idforgot-password-trigger-offcanvas stylefloat:right; margin-bottom:1.25rem;color: #2C52DF hrefforgot-password>Forgot Password/a> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-login-submit-btn typesubmit disabled> LOGIN /button> /div> /div> div classsocial-logins> /div> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttps://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttps://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttps://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> div classlogin-otp-modal styledisplay:none;> form classbase-form-styles access-form idlogin-otp-form> h3 classoffcanvas-heading idlogin-otp-heading>Enter your OTP/h3> p classtext-start mt-0 idlogin-otp-text stylemargin-bottom:4px;line-height:140%;>We have sent an OTP to span classprimary-field-type>8888888888/span>p> div classprimary-field-info> span classprimary-field-data>9888888888/span> a classtext-decoration-none edit-btn onClickloginOTPPrimaryFieldEditHandler()>EDIT/a> /div> div classform> div classcanvas-form-group otp-field> div classotp-container> input typetext classotp-box login-otp-box maxlength1 /> input typetext classotp-box login-otp-box maxlength1 /> input typetext classotp-box login-otp-box maxlength1 /> input typetext classotp-box login-otp-box maxlength1 /> input typetext classotp-box login-otp-box maxlength1 /> input typetext classotp-box login-otp-box maxlength1 /> /div> p class styletext-align:center; margin-top:12px>span idlogin-resend-text>Didnt receive OTP? /span>a classtext-decoration-none idoffcanvas-login-resend-btn onClickresendLoginOffcanvasOTP() rolebutton>Resend OTPspan classoffcanvas-login-resend-timer>/span>span classspinner-border spinner-border-sm ms-2 idoffcanvas-login-resend-spinner rolestatus styledisplay:none;>/span>/a>/p> /div> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-login-otp-submit-btn typesubmit disabled> LOGIN /button> a idlogin-with-password-trigger href styledisplay:none; text-align:center; text-decoration: none;>Login with Password/a> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttps://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttps://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttps://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> /div> /div>/div>div idsign-up-container-offcanvas styledisplay: none;> head> link hrefhttps://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css relstylesheet />/head>div classd-flex flex-column checkout-system-pages idregister-container-offcanvas stylebackground-image: var(--background-light-gradient), url(https://edmingle.b-cdn.net/edmingle_websitebuilder/img/backdrop.png); background-size: cover; background-repeat: no-repeat;> div classcontainer-sm> div classd-flex justify-content-center> div classregister-modal-offcanvas styledisplay:block;> form classbase-form-styles access-form idregister-offcanvas-form> h3 classoffcanvas-heading>Create an account/h3> span>or a idlogin-trigger-offcanvas href>Login/a>/span> div classform> div classcanvas-form-group> label forcontact-number classform-label label d-block text-start stylemargin-bottom:0px;>span classmobile_text>/span>/label> div classinput-group-country input-group-country-2> div classcountry-selector> select classselectpicker country-selector country-selector-2> option value1> Afghanistan /option> option value2> Åland Islands /option> option value3> Albania /option> option value4> Algeria /option> option value5> American Samoa /option> option value6> Andorra /option> option value7> Angola /option> option value8> Anguilla /option> option value9> Antarctica /option> option value10> Antigua and Barbuda /option> option value11> Argentina /option> option value12> Armenia /option> option value13> Aruba /option> option value14> Australia /option> option value15> Austria /option> option value16> Azerbaijan /option> option value17> Bahamas /option> option value18> Bahrain /option> option value19> Bangladesh /option> option value20> Barbados /option> option value21> Belarus /option> option value22> Belgium /option> option value23> Belize /option> option value24> Benin /option> option value25> Bermuda /option> option value26> Bhutan /option> option value27> Bolivia, Plurinational State of /option> option value28> Bonaire, Sint Eustatius and Saba /option> option value29> Bosnia and Herzegovina /option> option value30> Botswana /option> option value31> Bouvet Island /option> option value32> Brazil /option> option value33> British Indian Ocean Territory /option> option value34> Brunei Darussalam /option> option value35> Bulgaria /option> option value36> Burkina Faso /option> option value37> Burundi /option> option value38> Cambodia /option> option value39> Cameroon /option> option value40> Canada /option> option value41> Cape Verde /option> option value42> Cayman Islands /option> option value43> Central African Republic /option> option value44> Chad /option> option value45> Chile /option> option value46> China /option> option value47> Christmas Island /option> option value48> Cocos (Keeling) Islands /option> option value49> Colombia /option> option value50> Comoros /option> option value51> Congo /option> option value52> Congo, the Democratic Republic of the /option> option value53> Cook Islands /option> option value54> Costa Rica /option> option value55> Côte dIvoire /option> option value56> Croatia /option> option value57> Cuba /option> option value58> Curaçao /option> option value59> Cyprus /option> option value60> Czech Republic /option> option value61> Denmark /option> option value62> Djibouti /option> option value63> Dominica /option> option value64> Dominican Republic /option> option value65> Ecuador /option> option value66> Egypt /option> option value67> El Salvador /option> option value68> Equatorial Guinea /option> option value69> Eritrea /option> option value70> Estonia /option> option value71> Ethiopia /option> option value72> Falkland Islands (Malvinas) /option> option value73> Faroe Islands /option> option value74> Fiji /option> option value75> Finland /option> option value76> France /option> option value77> French Guiana /option> option value78> French Polynesia /option> option value79> French Southern Territories /option> option value80> Gabon /option> option value81> Gambia /option> option value82> Georgia /option> option value83> Germany /option> option value84> Ghana /option> option value85> Gibraltar /option> option value86> Greece /option> option value87> Greenland /option> option value88> Grenada /option> option value89> Guadeloupe /option> option value90> Guam /option> option value91> Guatemala /option> option value92> Guernsey /option> option value93> Guinea /option> option value94> Guinea-Bissau /option> option value95> Guyana /option> option value96> Haiti /option> option value97> Heard Island and McDonald Islands /option> option value98> Holy See (Vatican City State) /option> option value99> Honduras /option> option value100> Hong Kong /option> option value101> Hungary /option> option value102> Iceland /option> option value103> India /option> option value104> Indonesia /option> option value105> Iran, Islamic Republic of /option> option value106> Iraq /option> option value107> Ireland /option> option value108> Isle of Man /option> option value109> Israel /option> option value110> Italy /option> option value111> Jamaica /option> option value112> Japan /option> option value113> Jersey /option> option value114> Jordan /option> option value115> Kazakhstan /option> option value116> Kenya /option> option value117> Kiribati /option> option value118> Korea, Democratic Peoples Republic of /option> option value119> Korea, Republic of /option> option value120> Kuwait /option> option value121> Kyrgyzstan /option> option value122> Lao Peoples Democratic Republic /option> option value123> Latvia /option> option value124> Lebanon /option> option value125> Lesotho /option> option value126> Liberia /option> option value127> Libya /option> option value128> Liechtenstein /option> option value129> Lithuania /option> option value130> Luxembourg /option> option value131> Macao /option> option value132> Macedonia, the Former Yugoslav Republic of /option> option value133> Madagascar /option> option value134> Malawi /option> option value135> Malaysia /option> option value136> Maldives /option> option value137> Mali /option> option value138> Malta /option> option value139> Marshall Islands /option> option value140> Martinique /option> option value141> Mauritania /option> option value142> Mauritius /option> option value143> Mayotte /option> option value144> Mexico /option> option value145> Micronesia, Federated States of /option> option value146> Moldova, Republic of /option> option value147> Monaco /option> option value148> Mongolia /option> option value149> Montenegro /option> option value150> Montserrat /option> option value151> Morocco /option> option value152> Mozambique /option> option value153> Myanmar /option> option value154> Namibia /option> option value155> Nauru /option> option value156> Nepal /option> option value157> Netherlands /option> option value158> New Caledonia /option> option value159> New Zealand /option> option value160> Nicaragua /option> option value161> Niger /option> option value162> Nigeria /option> option value163> Niue /option> option value164> Norfolk Island /option> option value165> Northern Mariana Islands /option> option value166> Norway /option> option value167> Oman /option> option value168> Pakistan /option> option value169> Palau /option> option value170> Palestine, State of /option> option value171> Panama /option> option value172> Papua New Guinea /option> option value173> Paraguay /option> option value174> Peru /option> option value175> Philippines /option> option value176> Pitcairn /option> option value177> Poland /option> option value178> Portugal /option> option value179> Puerto Rico /option> option value180> Qatar /option> option value181> Réunion /option> option value182> Romania /option> option value183> Russian Federation /option> option value184> Rwanda /option> option value185> Saint Barthélemy /option> option value186> Saint Helena, Ascension and Tristan da Cunha /option> option value187> Saint Kitts and Nevis /option> option value188> Saint Lucia /option> option value189> Saint Martin (French part) /option> option value190> Saint Pierre and Miquelon /option> option value191> Saint Vincent and the Grenadines /option> option value192> Samoa /option> option value193> San Marino /option> option value194> Sao Tome and Principe /option> option value195> Saudi Arabia /option> option value196> Senegal /option> option value197> Serbia /option> option value198> Seychelles /option> option value199> Sierra Leone /option> option value200> Singapore /option> option value201> Sint Maarten (Dutch part) /option> option value202> Slovakia /option> option value203> Slovenia /option> option value204> Solomon Islands /option> option value205> Somalia /option> option value206> South Africa /option> option value207> South Georgia and the South Sandwich Islands /option> option value208> South Sudan /option> option value209> Spain /option> option value210> Sri Lanka /option> option value211> Sudan /option> option value212> Suriname /option> option value213> Svalbard and Jan Mayen /option> option value214> Swaziland /option> option value215> Sweden /option> option value216> Switzerland /option> option value217> Syrian Arab Republic /option> option value218> Taiwan /option> option value219> Tajikistan /option> option value220> Tanzania, United Republic of /option> option value221> Thailand /option> option value222> Timor-Leste /option> option value223> Togo /option> option value224> Tokelau /option> option value225> Tonga /option> option value226> Trinidad and Tobago /option> option value227> Tunisia /option> option value228> Turkey /option> option value229> Turkmenistan /option> option value230> Turks and Caicos Islands /option> option value231> Tuvalu /option> option value232> Uganda /option> option value233> Ukraine /option> option value234> United Arab Emirates /option> option value235> United Kingdom /option> option value236> United States /option> option value237> United States Minor Outlying Islands /option> option value238> Uruguay /option> option value239> Uzbekistan /option> option value240> Vanuatu /option> option value241> Venezuela, Bolivarian Republic of /option> option value242> Viet Nam /option> option value243> Virgin Islands, British /option> option value244> Virgin Islands, U.S. /option> option value245> Wallis and Futuna /option> option value246> Western Sahara /option> option value247> Yemen /option> option value248> Zambia /option> option value249> Zimbabwe /option> /select> /div> div classcontact-group> span classdial_code stylepadding-top:6px;padding-bottom:6px;>/span> input typehidden idcontact-countryid /> input typenumber min0 classform-control signup_field contact-number namecontact-number idsignup-primary-field placeholderMobile Number styleborder-radius:0;> /div> /div> span classform-label form-error idsignup-error-txt styledisplay:none>/span> /div> /div> button classbtn btn-grad w-100 submit-btn idsignup-continue-btn typesubmit disabled>CONTINUE/button> div classsocial-logins> /div> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttps://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttps://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttps://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> div classregister-otp-modal-offcanvas styledisplay:none; width: 23.875rem> form classbase-form-styles access-form idregister-otp-form-offcanvas> h3 classoffcanvas-heading>Enter your OTP/h3> p classtext-start mt-0 stylemargin-bottom:4px>We have sent an OTP on your numberp> div classprimary-field-info> span classsignup-primary-field-data>9888888888/span> a classtext-decoration-none edit-btn classedit-btn onClickshowSignupOffcanvasForm() rolebutton>EDIT/a> /div> div classform> div classcanvas-form-group otp-field> div classotp-container> input typetext classotp-box signup-otp-box maxlength1 /> input typetext classotp-box signup-otp-box maxlength1 /> input typetext classotp-box signup-otp-box maxlength1 /> input typetext classotp-box signup-otp-box maxlength1 /> input typetext classotp-box signup-otp-box maxlength1 /> input typetext classotp-box signup-otp-box maxlength1 /> /div> p styletext-align:center; margin-top:12px>span idsignup-resend-text>Didnt receive OTP? /span>a classtext-decoration-none idoffcanvas-resend-btn onClickresendRegisterOffcanvasOTP() rolebutton>Resend OTPspan classoffcanvas-resend-timer>/span>span classspinner-border spinner-border-sm ms-2 idoffcanvas-resend-spinner rolestatus styledisplay:none;>/span>/a>/p> /div> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-signup-otp-submit-btn typesubmit disabled> Verify OTP /button> /form> /div> div classregister-details-modal-offcanvas styledisplay:none; width: 23.875rem> form classbase-form-styles access-form idregister-details-form-offcanvas> h3 classoffcanvas-heading>Create an account/h3> small class idsignup-error-txt-login stylecolor:#667085; display:none;>We could not find an account linked to this number. If you already have an account, span>a idlogin-trigger-offcanvas-from-signup href>Login here/a>/span> /small> label styledisplay: block; margin-top: 12px; font-size: 16px; forshow-signup-primary-field>Contact Number:/label> div idshow-signup-primary-field classprimary-field-info stylemargin-bottom: 0px;> span classsignup-primary-field-data>9888888888/span> a classtext-decoration-none edit-btn classedit-btn idsignup-details-edit-btn onClickshowSignupOffcanvasForm() rolebutton>EDIT/a> /div> div classform> div classcanvas-form-group> label foremail classform-label label d-block text-start ast stylemargin-bottom:0px;>span classname_text>/span>/label> input typetext classform-control user-details idname namename> small classd-block text-start stylecolor:#667085>Please enter your Full Name/small> /div> div classcanvas-form-group> label foremail classform-label label d-block text-start ast stylemargin-bottom:0px;>span classemail_text>/span>/label> input typeemail classform-control user-details idemail nameemail> /div> div classcanvas-form-group> label forset-password classform-label label d-block text-start ast stylemargin-bottom:0px;>Set password/label> input typepassword classform-control user-details idset-password nameset-password> /div> div classcanvas-form-group> label forconfirm-password classform-label label d-block text-start ast stylemargin-bottom:0px;>Confirm password/label> input typepassword classform-control user-details idconfirm-password nameconfirm-password> /div> div classcustom_fields>/div> /div> div styledisplay: flex; align-items:flex-start; column-gap:12px;> p classpolicy-text lh-base stylemargin:0;>By clicking on Continue, I accept the a hrefhttps://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttps://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttps://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-signup-submit-btn typesubmit disabled> CREATE ACCOUNT /button> /form> /div> /div> /div> !-- div idlogin-inline-container-offcanvas styledisplay: none;> /div> --> style> /*----Contact No Flag Styling----*/ .input-group-country .select2-selection { display: flex; align-items: center; height: 100%; } .country-code-dropdown .select2-search__field { outline: none; } .input-group-country.disabled .dial_code, .input-group-country .form-controldisabled, .input-group-country .form-controlreadonly, .input-group-country fieldsetdisabled .form-control { background-color: #eeeeee; opacity: 1; cursor: not-allowed; } .input-group-country { display: flex; border: 1px solid #ced4da; overflow: hidden; height: calc(1.5em + .75rem + 2px); border-radius: .25rem; } .input-group-country>*, .input-group-country .contact-number:focus { border: 0px; outline: 0px; } .input-group-country .contact-number { padding-left: 5px; } .input-group-country .select2-selection, .input-group-country .select2-container { height: 100%; } .input-group-country .select2-container { border-right: 1px solid #ced4da; } .input-group-country .select2-container--default, .input-group-country .select2-selection--single, .input-group-country .select2-selection__rendered { line-height: 34px !important; } .input-group-country .contact-group { display: flex; width: 100%; } .input-group-country .select2-selection.select2-selection--single { background: #eee; border-radius: 0; height: 100%; display: flex; border: 0px; } .input-group-country .select2-selection.select2-selection--single .select2-selection__arrow { height: 100%; top: 0; bottom: 0; } .input-group-country .select2-search__field { margin: 0; } .country-code-dropdown .select2-dropdown { position: relative; border: 1px solid #ced4da; border-radius: 0.25em; } .country-code-dropdown .select2-dropdown--above { bottom: 8px; } .country-code-dropdown .select2-dropdown { border: 1px solid #ced4da !important; } .country-code-dropdown .select2-dropdown--below { top: 8px; } .country-code-dropdown .select2-search__field { margin: 0px; } .input-group-country .dial_number { box-shadow: none; padding-left: 0px; border: 0px; background: none; } .input-group-country .contact-number:focus { box-shadow: none; } .input-group-country .contact-number { margin: 0 !important; border: 0px !important; color: #495057; } .input-group-country .select2-selection { border: 0; } .input-group-country .dial_code { display: flex; align-items: center; padding: 1px 5px; /* padding-top: 3px; */ background-color: #fff; color: #949494; } /*-----mandatory fields-----*/ .ast:after { content: *; color: red; } /* Target ONLY select2-enable fields */ .select2-enable + .select2-container { width: 100% !important; } .select2-enable + .select2-container .select2-selection--single { height: calc(1.5em + .75rem + 2px) !important; border: 1px solid #ced4da !important; border-radius: 0.25rem !important; background-color: #fff !important; font-size: 1rem !important; padding: 0.375rem 0.75rem !important; line-height: 1.5 !important; } /* Focus state to match your theme */ .select2-enable + .select2-container .select2-selection--single:focus { border-color: #80bdff !important; outline: 0 !important; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important; } /* Dropdown styling */ .select2-enable + .select2-container .select2-dropdown { border: 1px solid #ced4da !important; border-radius: 0.25rem !important; } /* Search input styling */ .select2-enable + .select2-container .select2-search--dropdown .select2-search__field { border: 1px solid #ced4da !important; border-radius: 0.25rem !important; padding: 0.375rem 0.75rem !important; height: calc(1.5em + 0.75rem + 2px) !important; } /* Selected value text */ .select2-enable + .select2-container .select2-selection__rendered { color: #495057 !important; padding-left: 0 !important; padding-right: 1.5rem !important; } /* Dropdown arrow */ .select2-enable + .select2-container .select2-selection__arrow { height: calc(1.5em + 0.75rem + 2px) !important; right: 0.5rem !important; } /style> script> var hostName location.hostname; var isIDC hostName ! localhost; var endPoint isIDC ? /nuSource/api/v1/ : /nuSource/api/v1/; var apiEndpoint location.protocol + // + apiEndHost + endPoint; var isEdmingleHost hostName.indexOf(edupanion) ! -1 || hostName.indexOf(edmingle) ! -1; var CONTACT_NUMBER_COUNTRY_CODE; var IS_EMAIL; var ISSIGNUPOTPINIT false; if(typeof myaccountPrefix undefined){ let myaccountPrefix ; } if(INST_SETTINGS.hasOwnProperty(student_dashboard_version) && INST_SETTINGSstudent_dashboard_version 2){ myaccountPrefix /v3; } var appLocation isIDC ? location.protocol + // + hostName + /app/ : http:// + hostName + /app/; var studentappLocation isIDC ? location.protocol + // + hostName +myaccountPrefix+ /myaccount/ : http:// + hostName +myaccountPrefix+ /myaccount/; var accessLocation false; var reloadAccessLocation false; var enable_otp_signup 1; var isPrimaryFieldErr; var isFintechStudies hostName.indexOf(fintechstudies) ! -1; window.addEventListener(load, async () > { offcanvasInitCountrySelector(2, countries); signupEventListenerInit(); const params new URLSearchParams(window.location.search); const paramValue params.get(openSidebar); if (paramValue 1 && document.getElementById(open-loginOffcanvas-modal)) { document.getElementById(open-loginOffcanvas-modal).click(); params.delete(openSidebar); const newUrl `${window.location.pathname}?${params.toString()}`; window.history.replaceState({}, , newUrl); } }); var cal_height 100 - ((document.getElementById(header-main).offsetHeight * 100) / window.innerHeight); document.getElementById(register-container-offcanvas).style.minHeight cal_height + vh; var validateEmail function(email) { var re /^a-zA-Z0-9(\._a-zA-Z0-9-\+?a-zA-Z0-9+)+@a-zA-Z0-9+(\_\-\+?a-zA-Z0-9+)*\.a-zA-Z0-9{1,32}(\.a-zA-Z{2,14}){0,2}$/g; return re.test(email); } var custom_fields_data ; var isMobileMandatory 0; $.ajax({ url : apiEndpoint+meta/all?institution_id+INSTITUTIONID, type : GET, data : { form_type : 1, }, success : function(customFieldsResponse){ METARESOURCESreligion customFieldsResponse.resources.religion; METARESOURCESstandard customFieldsResponse.resources.standard; METARESOURCESqualification customFieldsResponse.resources.qualification; METARESOURCESoccupation customFieldsResponse.resources.occupation; METARESOURCESsource customFieldsResponse.resources.source; $.ajax({ url: apiEndpoint + public/signupfields, type: GET, data: { form_type: 1, }, success: function(customFieldsResponse) { var cfield_type ; isMobileMandatory customFieldsResponse.is_contact_number_mandatory; var customFields customFieldsResponse.custom_fields.sort(function(a, b) { return a.display_index - b.display_index }); custom_fields_data customFields; WBrenderOnlineSignupFields(customFields, isMobileMandatory) $(.select2-enable).select2({ placeholder: Select an option, allowClear: true, dropdownParent: $(#loginOffcanvas), width: 100%, dropdownCssClass: select2-enable-dropdown // Additional scoping class }); } }); } }); var WBrenderOnlineSignupFields function(customFields, isMobileMandatory) { var nameDisplayText Name; var mobileDisplayText Phone Number; var emailDisplayText Email Address; var renderFields customFields.map((field, index) > { switch (field.field_name) { case student_name: nameDisplayText field.field_display_name return ``; case student_mobile_number: mobileDisplayText field.field_display_name return ``; case student_email: emailDisplayText field.field_display_name return ``; } switch (field.field_type) { case 1: cfield_type text break; case 2: cfield_type number break; case 3: cfield_type select break; case 4: cfield_type date break; default: cfield_type text } if (field.field_type 3) { if( SYSTEMDROPDOWNFIELDS.includes(field.field_name)) { var dropdownData METARESOURCESfield.field_name; return ` div classcanvas-form-group> label classform-label label d-block text-start ${(field.is_online_mandatory 1) ? ast : } stylemargin-bottom:0px;>${field.field_display_name}/label> select classcustom-select form-control user-details name${field.field_name} idfield-${field.field_id} > option labelselect>/option> ${ dropdownData.map((option)>{ return (option.is_active 1) ? `option value${option.resource_id}>${option.resource_name}/option>` : `` }).join() } /select> small classd-block text-start stylecolor:#667085>${field.field_help_text}/small> /div> `; } else { return ` div classcanvas-form-group> label classform-label label d-block text-start ${(field.is_online_mandatory 1) ? ast : } stylemargin-bottom:0px;> ${field.field_display_name} /label> select classcustom-select form-control user-details select2-enable name${field.field_name} idfield-${field.field_id}> option labelselect>/option> ${ (() > { try { const options JSON.parse(field.possible_values || ); if (!Array.isArray(options)) return ; return options.map(option > option.status 1 ? `option value${option.value}>${option.name}/option>` : ).join(); } catch (e) { return ; } })() } /select> small classd-block text-start stylecolor:#667085>${field.field_help_text}/small> /div> `; } } else { if (field.field_type ! 5) { return ` div classcanvas-form-group> label classform-label label d-block text-start ${(field.is_online_mandatory 1) ? ast : } stylemargin-bottom:0px;>${field.field_display_name}/label> input classform-control user-details type${cfield_type} name${field.field_name} idfield-${field.field_id}> small classd-block text-start stylecolor:#667085>${field.field_help_text}/small> /div> `; } return ``; } }) $(.name_text).html(nameDisplayText); $(.email_text).html(emailDisplayText); $(.mobile_text).html(mobileDisplayText); $(.custom_fields).html(renderFields); if(isMobileMandatory 1) { $(#student_mobile_number_id).addClass(ast); } } function offcanvasInitCountrySelector(id_init 1, countries) { console.log(offcanvasinit); console.log($(#loginOffcanvas)); var select2Country $(`.selectpicker.country-selector-${id_init}`).select2({ dropdownParent: $(#loginOffcanvas), dropdownAutoWidth: true, width: 100%, templateSelection: function(state) { if (!state.id) { return state.text; } var baseUrl countries.find(e > e.country_code_id state.id).flag_svg_url; var $state $( span styledisplay: inline-block;width: 25px;position: relative;>img classimg-flag /> span>/span>/span> ); $state.find(img).attr(src, baseUrl); return $state; }, templateResult: function(state) { if (!state.id) { return state.text; } var base countries.find(e > e.country_code_id state.id); var $state $(`span styledisplay:flex;width:100%;>img stylemax-width:25px;margin-right: 6px; src${base.flag_svg_url} classimg-flag />${base.name} (${base.dial_code})/span>`); return $state; } }); if (COUNTRYCODEID) { select2Country.val(COUNTRYCODEID).trigger(change.select2); } if ($(`.country-selector-${id_init}`).hasClass(select2-hidden-accessible)) { let id $(`.country-selector-${id_init} :selected`).val(); if (id) { let base countries.find(v > v.country_code_id id); $(`.input-group-country-${id_init} .dial_code`).text(base.dial_code); $(`.input-group-country-${id_init} #contact-countryid`).val(base.country_code_id); } } if ($(`.selectpicker.country-selector.country-selector-${id_init}`).length > 1) { $(`.selectpicker.country-selector.country-selector-${id_init}`).each((id, el) > { $(el).data(select2).$dropdown.addClass(country-code-dropdown); }) } else { $(`.selectpicker.country-selector.country-selector-${id_init}`).data(select2) && $(`.selectpicker.country-selector.country-selector-${id_init}`).data(select2).$dropdown.addClass(country-code-dropdown); } $(`.selectpicker.country-selector.country-selector-${id_init}`).on(select2:select, function(e) { let base countries.find(v > v.country_code_id e.params.data.id); $(`.input-group-country-${id_init} .dial_code`).text(base.dial_code); $(`.input-group-country-${id_init} #contact-countryid`).val(base.country_code_id); }); } $(#register-offcanvas-form).submit(function(e) { e.preventDefault(); registerOffcanvasForm(this); }); var submitButtonUpdate function(form, display, msg ) { $(form).find(.submit-btn).attr(disabled, display ? true : false); $(form).find(#spinner).css(display, display ? inline-block : none); $(form).find(.submit-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus + (!display ? styledisplay:none; : stylepadding:7px;margin:2px 0;) + >/span> + msg); } // function gotoApplication() { // var location (localStorage.getItem(role) 1 || localStorage.getItem(role) student) ? studentappLocation : appLocation; // window.location location; // } var registerOffcanvasForm function(form) { const spinnerLoader document.getElementById(custom-spinner-loader); var currentParams window.location.search; if(currentParams){ const urlParamsRegister new URLSearchParams(currentParams); } var primaryField $(form).find(#signup-primary-field).val(); IS_EMAIL isNaN(primaryField); var contact_number_country_id $(form).find(#contact-countryid).val(); PRIMARY_FIELD primaryField; CONTACT_NUMBER_COUNTRY_CODE contact_number_country_id; if (primaryField undefined || primaryField.trim() ) { if (spinnerLoader) { spinnerLoader.remove(); } showToast(Please enter the required field!, 2); isPrimaryFieldErr true; } if (IS_EMAIL) { if (!validateEmail(primaryField)) { if (spinnerLoader) { spinnerLoader.remove(); } isFPError true; showToast(Invalid Email Id!, 2); isPrimaryFieldErr true; } } if (isPrimaryFieldErr) { if (spinnerLoader) { spinnerLoader.remove(); } isPrimaryFieldErr false; return false; } if (!enable_otp_signup){ submitButtonUpdate(form, true); $.get(apiEndpoint + /user/checkifexists, { institution_id: INSTITUTIONID, user: PRIMARY_FIELD, contact_number_country_id: CONTACT_NUMBER_COUNTRY_CODE, calling_modal: signup }).done(function(json) { if (spinnerLoader) { spinnerLoader.remove(); } if(!json.payload.is_user_exists){ $(.register-modal-offcanvas).hide(); $(.register-details-modal-offcanvas).show(); showAccountNotFoundMessage(); $(.signup-primary-field-data).html(PRIMARY_FIELD); }else{ let checkMobEmail IS_EMAIL ? email : mobile number; $(#signup-error-txt).html(Account with this + checkMobEmail + already exists. Please try logging in or use a different + checkMobEmail + to create an account.); $(#signup-error-txt).css(display, block); } submitButtonUpdate(form, false, CONTINUE); }).fail(function(error) { if (spinnerLoader) { spinnerLoader.remove(); } var resp JSON.parse(error.responseText); showToast(resp.message, 2); submitButtonUpdate(form, false, CONTINUE); }); return; } var data { institution_id: INSTITUTIONID, contact_number_country_id: contact_number_country_id }; IS_EMAIL ? data.email PRIMARY_FIELD : data.contact_number PRIMARY_FIELD; submitButtonUpdate(form, true); $.post(apiEndpoint + (IS_EMAIL ? email/signup/otp : user/otp), { JSONString: JSON.stringify(data) }).done(function(json) { if (spinnerLoader) { spinnerLoader.remove(); } showToast(OTP sent successfully, 1); $(.register-modal-offcanvas).hide(); $(.signup-primary-field-data).html(primaryField); $(.register-otp-modal-offcanvas).show(); if(!ISSIGNUPOTPINIT){ signupOTPFieldInit(); } submitButtonUpdate(form, false, CONTINUE); }).fail(function(error) { if (spinnerLoader) { spinnerLoader.remove(); } submitButtonUpdate(form, false, CONTINUE); var resp JSON.parse(error.responseText); if(resp.code 10012){ $(#signup-error-txt).html(Account with this email already exists. Please try logging in or use a different email to create an account.); $(#signup-error-txt).css(display, block); $(document.querySelector(#register-offcanvas-form)).find(.submit-btn).attr(disabled, true); }else if(resp.code 10011){ $(#signup-error-txt).html(Account with this mobile number already exists. Please try logging in or use a different number to create an account.); $(#signup-error-txt).css(display, block); $(document.querySelector(#register-offcanvas-form)).find(.submit-btn).attr(disabled, true); }else{ showToast(resp.message, 2); } }); } var resendRegisterOffcanvasOTP function(form) { if ($(#offcanvas-resend-btn).attr(disabled) disabled) { return; } var data { institution_id: INSTITUTIONID, contact_number_country_id: CONTACT_NUMBER_COUNTRY_CODE }; IS_EMAIL ? data.email PRIMARY_FIELD : data.contact_number PRIMARY_FIELD; $(#offcanvas-resend-btn).attr(disabled, true); $(#offcanvas-resend-btn).css(cursor, default); $(#offcanvas-resend-spinner).css(display, inline-block); $.post(apiEndpoint + (IS_EMAIL ? email/signup/otp : user/otp), { JSONString: JSON.stringify(data) }).done(function(json) { $(#offcanvas-resend-btn).css(color, black); setResetTimer(); $(#offcanvas-resend-spinner).css(display, none); showToast(OTP sent successfully, 1); }).fail(function(error) { showToast(JSON.parse(error.responseText).message, 2); $(#offcanvas-resend-btn).attr(disabled, false); $(#offcanvas-resend-btn).css(cursor, pointer); $(#offcanvas-resend-spinner).css(display, none); }); } var setResetTimer () > { let timeRemaining 20; document.querySelector(.offcanvas-resend-timer).innerText in + timeRemaining + s; $(.offcanvas-resend-timer).show(); function updateTimerDisplay() { document.querySelector(.offcanvas-resend-timer).innerText in + timeRemaining + s; } const timerId setInterval(function () { timeRemaining--; updateTimerDisplay(); if (timeRemaining 0) { $(#offcanvas-resend-btn).attr(disabled, false); $(#offcanvas-resend-btn).css(cursor, pointer); $(#offcanvas-resend-btn).css(color, #2C52DF); $(.offcanvas-resend-timer).hide(); clearInterval(timerId); } }, 1000); } $(#register-otp-form-offcanvas).submit(function(e) { e.preventDefault(); registerOTPOffcanvasForm(this); }); var registerOTPOffcanvasForm function(form) { var signupOTP getSignupOTPValue(); if (signupOTP.trim() ) { showToast(Please enter your OTP to proceed, 2); return; } var data { otp: signupOTP }; if(IS_EMAIL){ data.email_only_otp 1; data.email PRIMARY_FIELD; }else{ data.contact_number PRIMARY_FIELD; } submitButtonUpdate(form, true); $.post(apiEndpoint + user/verify/otp, { JSONString: JSON.stringify(data) }).done(function(json) { showToast(OTP verified, 1); $(.register-otp-modal-offcanvas).hide(); $(.register-details-modal-offcanvas).show(); showAccountNotFoundMessage(); submitButtonUpdate(form, false, VERIFY OTP); }).fail(function(error) { var resp JSON.parse(error.responseText); showToast(resp.message, 2); $(#signup-resend-text).css(display, none); submitButtonUpdate(form, false, VERIFY OTP); }); } $(#register-details-form-offcanvas).submit(function(e) { e.preventDefault(); registerDetailsOffcanvasForm(this, 1, undefined, custom_fields_data); }); var registerDetailsOffcanvasForm function(form, role, validatedJson, custom_fields_array) { var JSONString validatedJson ? validatedJson : validateOffcanvasSignUp(form, role, custom_fields_array); if (JSONString) { var signupUrl user/signup; submitButtonUpdate(form, true); return $.post(apiEndpoint + signupUrl, { JSONString: JSONString }).done(function(json) { var jsonObj json; localStorage.setItem(apikey, jsonObj.user.apikey); localStorage.setItem(username, jsonObj.user.username); localStorage.setItem(name, jsonObj.user.name); localStorage.setItem(role, jsonObj.user.role); localStorage.setItem(server_key, jsonObj.user.server_key) // custom function for normal signup let obj { user_name : jsonObj.user.username, user_email : jsonObj.user.email, user_mobile : jsonObj.user.contact_number, referrer : window.location.href, source : website, role : jsonObj.user.role } customFunctionsTrigger(event_signup,obj); checkSignupState(); if(!localStorage.getItem(from_course_banner)){ //close the offcanvas, if it is from nav bar (not through enroll now click) document.getElementById(open-loginOffcanvas-modal).click(); } if(reloadAccessLocation){ window.location.reload(); } if (accessLocation) { return; } gotoApplication(); }).fail(function(error) { submitButtonUpdate(form, false, Sign Up); showToast(JSON.parse(error.responseText).message, 2); }); } else { return { done: function() {}, fail: function() {} } } } function toggleReferralCode(linkElement) { const container document.getElementById(referral-code-container); container.style.display container.style.display none ? block : none; linkElement.textContent container.style.display none ? Have a Referral Code? : Hide Referral Code; } validateOffcanvasSignUp function(form, role, custom_fields_array) { var name $(form).find(inputnamename).val(); if (IS_EMAIL) { var email PRIMARY_FIELD; var contact_number_country_id $(form).find(#contact-countryid).val(); var cnEle $(form).find(inputnamecontact-number).length ? $(form).find(inputnamecontact-number) : $(form).prev().find(inputnamecontact-number); var contactNumber cnEle.val(); } else { var contact_number_country_id CONTACT_NUMBER_COUNTRY_CODE; var contactNumber PRIMARY_FIELD; var emailEle $(form).find(inputnameemail).length ? $(form).find(inputnameemail) : $(form).prev().find(inputnameemail); var email emailEle.val().toLowerCase().trim(); } var state $(form).find(selectnamestate).val(); var password $(form).find(inputnameset-password).val(); var confirm_password $(form).find(inputnameconfirm-password).val(); var orgId $(form).find(inputnameorganization_id).val(); var referralCode $(form).find(inputnamereferral_code).val(); var isStateErr, isEmailErr, isContactNumberErr, isNameErr, isPswdErr, isCFErr false; var isEmailEmpty email undefined || email.trim() ; //var isEgyptClient instPortalName fatahelmasr; var isEgyptClient 0 if (name undefined || name.trim() ) { var isNameErr true; showToast(Name is required!, 2); return; } else { var isNameErr false; } if (!isEgyptClient && (isEmailEmpty || !validateEmail(email)) || (isEgyptClient && !isEmailEmpty && !validateEmail(email))) { var isEmailErr true; if (email undefined || email.trim() ) { showToast(Email address is required!, 2); } else { showToast(Email address is invalid!, 2); } return; } else { var isEmailErr false; } if ((contactNumber undefined || contactNumber.trim() ) && isMobileMandatory) { isContactNumberErr true; showToast(Phone Number is required!, 2); return; } else { isContactNumberErr false; } if (password undefined || password.trim() ) { var isPswdErr true; showToast(Password is required!, 2); return; } else if (confirm_password undefined || confirm_password.trim() ) { var isPswdErr true; showToast(Confirm password is required!, 2); return; } else if (password ! confirm_password) { var isPswdErr true; showToast(Confirm password should match with password!, 2); return; } else { var isPswdErr false; } var customFieldsError false; var systemFieldError false; custom_fields_array.forEach(field > { if (field.field_type ! 5 && field.field_type ! 4) { if (field.is_online_mandatory 1) { let field_val $(form).find(`#field-${field.field_id}`).val(); if (field_val undefined || field_val.trim() ) { customFieldsError true; showToast(`${field.field_display_name} is required!`, 2); } } } }) var system_fields_array custom_fields_array.filter((field) > field.system_field_setting > 0); var custom_fields_array custom_fields_array.filter((field) > field.system_field_setting 0); let custom_fields_with_val custom_fields_array.map(field > { let field_val $(form).find(`#field-${field.field_id}`).val(); if (field_val) { return { ...field, field_value: field_val } } return; }) custom_fields_with_val custom_fields_with_val.filter(field > { return field ! null; }); var body { contact_number: contactNumber, contact_number_country_id: contact_number_country_id, role: role, name: name, email: email, password: password, organization_id: orgId, institute_id: INSTITUTIONID, email_only_otp: 0, referral_code: referralCode, state: state -1 ? undefined : Number(state), timezone_offset: new Date().getTimezoneOffset(), custom_fields: custom_fields_with_val, device_type: 1 // type webapp } system_fields_array.map((field) > { let field_val $(form).find(`#field-${field.field_id}`).val(); if(field.field_type4) { field_val moment($(form).find(inputnamedate_of_birth).val(), YYYY-MM-DD).unix(); if(isNaN(field_val)) { showToast(`${field.field_display_name} is Required!`, 2); systemFieldError true; } } bodyfield.field_name field_val; }); if (isCFErr || isStateErr || isEmailErr || isPswdErr || isNameErr || isContactNumberErr || customFieldsError || systemFieldError) { return false; } if (localStorage.getItem(server_key)) { body.server_key localStorage.getItem(server_key); } if (VISITOR_ID) { body.device_key VISITOR_ID; } return JSON.stringify(body); } var showRegisterForm function(form) { $(.register-otp-modal-offcanvas).hide(); $(.register-modal-offcanvas).show(); } var signupEventListenerInit () > { const primaryInputField document.querySelector(#signup-primary-field); const continueBtn document.querySelector(#signup-continue-btn); const userDetailsFields document.querySelectorAll(.user-details); const submitButton document.querySelector(#offcanvas-signup-submit-btn); primaryInputField.addEventListener(input, (event) > { continueBtn.disabled !(primaryInputField.value.trim().length > 0); }); function checkInputs() { const allFilled Array.from(userDetailsFields).every(input > { if(((input.id signup-primary-field || input.id mobileNumber) && (!isMobileMandatory || INST_SETTINGSsignup_primary_field 1)) || input.id signup-state-field){ return 1; } if (input.tagName.toLowerCase() select) { return input.value.trim() ! ; } else { return input.value.trim().length > 0; } }); submitButton.disabled !allFilled; } userDetailsFields.forEach(input > { input.addEventListener(input, checkInputs); }); document.getElementById(login-trigger-offcanvas).addEventListener(click, (e) > { e.preventDefault(); document.getElementById(sign-up-container-offcanvas).style.display none; document.getElementById(login-container-offcanvas).style.minHeight 91vh; document.getElementById(login-container-offcanvas).children0.style.display block; }); } var signupOTPFieldInit () > { ISSIGNUPOTPINIT true; const otpBoxes document.querySelectorAll(.signup-otp-box); const submitBtn document.querySelector(#offcanvas-signup-otp-submit-btn); otpBoxes.forEach((box, index) > { box.addEventListener(input, (event) > { const inputValue event.target.value; const numericValue inputValue.replace(/^0-9/g, ); // Remove non-numeric characters event.target.value numericValue; if (numericValue && index otpBoxes.length - 1) { otpBoxesindex + 1.focus(); } //Last Key Handle if(index otpBoxes.length - 1){ if(numericValue){ otpBoxesindex.blur(); proceed(); }else{ disableSubmit(); } } }); box.addEventListener(keydown, (event) > { if (event.key Backspace && index > 0 && !event.target.value) { if(index otpBoxes.length - 1){ disableSubmit(); } otpBoxesindex - 1.focus(); } }); // Allow pasting one number in each box and move focus to the last entered number box.addEventListener(paste, (event) > { const clipboardData event.clipboardData || window.clipboardData; const pastedData clipboardData.getData(text); if(isNaN(pastedData)){ event.preventDefault(); return; } // Distribute one number per box for (let i 0; i pastedData.length && index + i otpBoxes.length; i++) { otpBoxesindex + i.value pastedDatai; } // Move focus to the last entered number ?if all boxes filled then enable proceed if(index + pastedData.length > otpBoxes.length){ otpBoxesindex.blur(); proceed(); }else{ otpBoxesindex + pastedData.length.focus(); } event.preventDefault(); }); let proceed () > { submitBtn.disabled false; submitBtn.click(); } let disableSubmit () > { submitBtn.disabled true; } }); } var getSignupOTPValue () > { var otp ; const otpBoxes document.querySelectorAll(.signup-otp-box); otpBoxes.forEach((box, index) > { otp otp + box.value; }); console.log(final otp, otp); return otp; } var showSignupOffcanvasForm function(form) { const otpBoxes document.querySelectorAll(.signup-otp-box); otpBoxes.forEach(function(otp) { otp.value ; }); $(#signup-resend-text).css(display, inline-block); document.getElementById(signup-error-txt).style.display none; $(.register-otp-modal-offcanvas).hide(); $(.register-details-modal-offcanvas).hide(); $(.register-modal-offcanvas).show(); } var clearSignupForm function(form) { var userDetailsForm document.getElementById(register-details-form-offcanvas); for (var i 0; i userDetailsForm.elements.length; i++) { var element userDetailsForm.elementsi; if (element.type ! button) { if (element.type select-one) { element.selectedIndex 0; } else { element.value ; } } } $(.register-details-modal-offcanvas).hide(); //resend otp btn reset if($(#offcanvas-resend-btn).attr(disabled)){ $(#offcanvas-resend-btn).attr(disabled, false); $(#offcanvas-resend-btn).css(cursor, pointer); $(#offcanvas-resend-btn).css(color, #2C52DF); $(.offcanvas-resend-timer).hide(); } document.getElementById(signup-primary-field).value ; FROM_LOGIN false; showSignupOffcanvasForm(); } var showAccountNotFoundMessage function(){ if(FROM_LOGIN){ document.getElementById(signup-error-txt-login).style.display block; document.getElementById(login-trigger-offcanvas-from-signup).addEventListener(click, (e) > { e.preventDefault(); document.getElementById(sign-up-container-offcanvas).style.display none; document.getElementById(login-container-offcanvas).style.minHeight 91vh; document.getElementById(login-container-offcanvas).children0.style.display block; continueBtnState(document.querySelector(#wb-loginOffcanvas-form)); }); }else{ document.getElementById(signup-error-txt-login).style.display none; } } /script>/div>/div>div idforgot-password-container-offcanvas styledisplay: none;> div classd-flex flex-column checkout-system-pages idoffcanvas-forgot-container stylebackground-image: var(--background-light-gradient), url(https://edmingle.b-cdn.net/edmingle_websitebuilder/img/backdrop.png); background-size: cover; background-repeat: no-repeat;> div classcontainer-sm> div classd-flex justify-content-center> div classoffcanvas-forgot-modal styledisplay:block; width: 23.875rem> form classbase-form-styles access-form idoffcanvas-forgot-form> h3 classoffcanvas-heading>Forgot Password/h3> div classform> div classcanvas-form-group> label foremail classform-label label d-block text-start >Email or Phone Number/label> input typehidden nameinstitution_id value1> input typetext classform-control idoffcanvas-fgot-pswd-cn nameemail> /div> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-reset-continue-btn typesubmit disabled> SEND OTP /button> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttps://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttps://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttps://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> div classoffcanvas-forgot-otp-modal styledisplay: none; width: 23.875rem> form classbase-form-styles access-form idoffcanvas-forgot-otp-form> h3 classoffcanvas-heading>Verify OTP/h3> p classtext-start mt-0 stylemargin-bottom:4px>We have sent an OTP to span classprimary-field-type>9888888888/span>/p> div classprimary-field-info> span classprimary-field-data>9888888888/span> a classtext-decoration-none edit-btn onClickshowForgotOffcanvasForm() rolebutton>EDIT/a> /div> div classform> div classcanvas-form-group otp-field> div classotp-container> input typetext classotp-box forgot-otp-box maxlength1 /> input typetext classotp-box forgot-otp-box maxlength1 /> input typetext classotp-box forgot-otp-box maxlength1 /> input typetext classotp-box forgot-otp-box maxlength1 /> input typetext classotp-box forgot-otp-box maxlength1 /> input typetext classotp-box forgot-otp-box maxlength1 /> /div> p class styletext-align:center; margin-top:12px>span idforgot-resend-text>Didnt receive OTP? /span>a classtext-decoration-none idoffcanvas-forgot-resend-btn onClickresendForgotOffcanvasOTP() rolebutton>Resend OTPspan classoffcanvas-forgot-resend-timer>/span>span classspinner-border spinner-border-sm ms-2 idoffcanvas-forgot-resend-spinner rolestatus styledisplay:none;>/span>/a>/p> /div> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-reset-otp-btn typesubmit disabled> Verify OTP /button> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttps://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttps://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttps://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> div classoffcanvas-reset-password-modal styledisplay:none; width: 23.875rem> form classbase-form-styles access-form idreset-password-offcanvas-form> h3 classoffcanvas-heading>Set new password/h3> div classform> div classcanvas-form-group> label fornew-password classform-label label d-block text-start >New password/label> input typepassword classform-control forgot-pwd-details idreset-pswd-newp namenew-password> /div> div classcanvas-form-group> label forconfirm-password classform-label label d-block text-start >Confirm password/label> input typepassword classform-control forgot-pwd-details idreset-pswd-newpcfm nameconfirm-password> /div> div classcanvas-form-group> label forlog-out-options classform-label label d-block text-start stylecolor:black >Log out options/label> div styledisplay: flex; align-items: center;justify-content: flex-start; margin-top: -0.6rem;> input typeradio idreset-pswd-newplo namelog-out-options value1 idreset-pswd-newplo checkedchecked> label forreset-pswd-newplo id1; styleheight:20px; font-weight:400; font-size:14px; line-height:140%>Log me out of other devices/label>br>br> /div> div styledisplay: flex;align-items: center;justify-content: flex-start; margin-top: -0.8rem;> input typeradio idkeep-logged-in namelog-out-options value2 idkeep-logged-in> label forkeep-logged-in id2; styleheight:20px; font-weight:400; font-size:14px; line-height:140%>Keep me logged in/label>br>br> /div> /div> /div> button classbtn w-100 btn-grad submit-btn idoffcanvas-reset-submit-btn typesubmit disabled> Change Password /button> /form> p classpolicy-text lh-base>By clicking on Continue, I accept the a hrefhttps://learn.tinkerbrix.cc/terms-and-conditions target_blank>Terms & Conditions/a>,br> a hrefhttps://learn.tinkerbrix.cc/privacy-policy target_blank>Privacy Policy/a> & a hrefhttps://learn.tinkerbrix.cc/refund-cancellation target_blank>Refund Policy/a>/p> /div> /div> /div> script> var hostName location.hostname; var isIDC hostName ! localhost; var endPoint /nuSource/api/v1/; var apiEndpoint location.protocol+//+ apiEndHost + endPoint; var CONTACT_NUMBER; var EMAIL_ID; var accessLocation false; var reloadAccessLocation false; isCheckoutPage false; var ISRESETOTPINIT false; var cal_height 100 - ((document.getElementById(header-main).offsetHeight * 100)/ window.innerHeight); document.getElementById(offcanvas-forgot-container).style.minHeight cal_height + vh; var validateEmail function(email){ var re /^a-zA-Z0-9(\._a-zA-Z0-9-\+?a-zA-Z0-9+)+@a-zA-Z0-9+(\_\-\+?a-zA-Z0-9+)*\.a-zA-Z0-9{1,32}(\.a-zA-Z{2,14}){0,2}$/g; return re.test(email); } window.addEventListener(load, async () > { forgotEventListenerInit(); }); // function gotoApplication(){ // var location localStorage.getItem(role) 1 ? studentappLocation : appLocation; // window.location location; // } var submitButtonUpdate function(form, display, msg){ $(form).find(.submit-btn).attr(disabled, display?true:false); $(form).find(#spinner).css(display, display?inline-block:none); $(form).find(.submit-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus +(!display? styledisplay:none;:stylepadding:7px;margin:2px 0;)+>/span>+msg); } $(#offcanvas-forgot-form).submit(function(e){ e.preventDefault(); forgotOffcanvasForm(this); }); var forgotOffcanvasForm function(form){ var cn $(form).find(#offcanvas-fgot-pswd-cn).val(); var isEmail isNaN(cn); if(cn undefined || cn.trim() ){ isFPError true; showToast(Phone Number or Email Address is required!,2); return; } else { isFPError false; if(isEmail){ if(!validateEmail(cn)){ isFPError true; showToast(Invalid Email Id!,2); } EMAIL_ID cn; } else { CONTACT_NUMBER cn; } } if(isFPError){ return; } else { var obj; if(isEmail){ obj {email: cn}; } else { obj {contact_number: cn}; } var JSONString JSON.stringify(obj); submitButtonUpdate(form, true); $.post(apiEndpoint+(isEmail ? user/forgotpassword : forgotpassword/otp), { JSONString: JSONString}).done(function(json){ let primaryFieldType isNaN(cn) ? email: number; showToast(OTP sent successfully, 1); $(.offcanvas-forgot-modal).hide(); $(.primary-field-type).html(primaryFieldType); $(.primary-field-data).html(cn); $(.offcanvas-forgot-otp-modal).show(); if(!ISRESETOTPINIT){ forgotOTPFieldInit(); } submitButtonUpdate(form, false, SEND OTP); }).fail(function(error){ showToast(JSON.parse(error.responseText).message, 2); document.getElementById(offcanvas-fgot-pswd-cn).value ; submitButtonUpdate(form, false, SEND OTP); }); } } $(#offcanvas-forgot-otp-form).submit(function(e){ e.preventDefault(); forgotOffcanvasOTPForm(this); }); var forgotOffcanvasOTPForm function(form){ var forgotOTP getForgotOTPValue(); if (forgotOTP.trim() ) { showToast(Please enter your OTP to proceed, 2); return; } var obj { otp: forgotOTP, }; if(EMAIL_ID){ obj.email EMAIL_ID; } else { obj.contact_number CONTACT_NUMBER; } var JSONString JSON.stringify(obj); submitButtonUpdate(form, true); $.post(apiEndpoint+/user/verifyforgototp, { JSONString: JSONString}).done(function(json){ showToast(OTP verified, 1); $(.offcanvas-forgot-otp-modal).hide(); $(.offcanvas-reset-password-modal).show(); submitButtonUpdate(form, false, VERIFY OTP); }).fail(function(error){ showToast(JSON.parse(error.responseText).message, 2); $(#forgot-resend-text).css(display, none); submitButtonUpdate(form, false, VERIFY OTP); }); } $(#reset-password-offcanvas-form).submit(function(e){ e.preventDefault(); resetPasswordOffcanvasForm(this); }); var resendForgotOffcanvasOTP function(form){ if($(#offcanvas-forgot-resend-btn).attr(disabled) disabled){return;} var obj {}; if(EMAIL_ID){ obj.email EMAIL_ID; } else { obj.contact_number CONTACT_NUMBER; } var JSONString JSON.stringify(obj); $(#offcanvas-forgot-resend-btn).attr(disabled, true); $(#offcanvas-forgot-resend-btn).css(cursor, default); $(#offcanvas-forgot-resend-spinner).css(display, inline-block); $.post(apiEndpoint+(EMAIL_ID ? user/forgotpassword : forgotpassword/otp), { JSONString: JSONString}).done(function(json){ $(#offcanvas-forgot-resend-btn).css(color, black); setForgotResetTimer(); $(#offcanvas-forgot-resend-spinner).css(display, none); showToast(OTP sent successfully, 1); }).fail(function(error){ showToast(JSON.parse(error.responseText).message, 2); $(#offcanvas-forgot-resend-btn).attr(disabled, false); $(#offcanvas-forgot-resend-btn).css(cursor, pointer); $(#offcanvas-forgot-resend-spinner).css(display, none); }); } var setForgotResetTimer () > { let timeRemaining 20; document.querySelector(.offcanvas-forgot-resend-timer).innerText in + timeRemaining + s; $(.offcanvas-forgot-resend-timer).show(); function updateTimerDisplay() { document.querySelector(.offcanvas-forgot-resend-timer).innerText in + timeRemaining + s; } const timerId setInterval(function () { timeRemaining--; updateTimerDisplay(); if (timeRemaining 0) { $(#offcanvas-forgot-resend-btn).attr(disabled, false); $(#offcanvas-forgot-resend-btn).css(cursor, pointer); $(#offcanvas-forgot-resend-btn).css(color, #2C52DF); $(.offcanvas-forgot-resend-timer).hide(); clearInterval(timerId); } }, 1000); } var resetPasswordOffcanvasForm function(form){ var newPswd $(form).find(#reset-pswd-newp).val(); var newPswdConfirm $(form).find(#reset-pswd-newpcfm).val(); var logOutOptions document.getElementsByName(log-out-options); var selectedLogOutOption; for (let logOutOption of logOutOptions) { if (logOutOption.checked) { selectedLogOutOption logOutOption.value; } } var isPswdErr, isConfirmPswdErr, isOTPErr; if(newPswd undefined || newPswd.trim() ){ isNewPswdErr true; showToast(Password is required!, 2); return; } if(newPswdConfirm undefined || newPswdConfirm.trim() ){ isConfirmPswdErr true; showToast(Please confirm your password!, 2); return; } if(!isPswdErr && !isConfirmPswdErr){ var obj { password: newPswd, confirm_password: newPswdConfirm, log_out_options: selectedLogOutOption }; if(EMAIL_ID){ obj.email EMAIL_ID; } else { obj.contact_number CONTACT_NUMBER; } obj.otp getForgotOTPValue(); var JSONString JSON.stringify(obj); submitButtonUpdate(form, true); $.post(apiEndpoint + /resetpassword/otp, { JSONString: JSONString }).done(function (json) { showToast(You have successfully changed the password. Please sign in now, 1); submitButtonUpdate(form, false, Change Password); redirectToLoginFromForgotPwd(); }).fail(function (error) { showToast(JSON.parse(error.responseText).message, 2); submitButtonUpdate(form, false, Change Password); }); } } var showForgotOffcanvasForm function(form){ const otpBoxes document.querySelectorAll(.forgot-otp-box); otpBoxes.forEach(function(otp) { otp.value ; }); $(#forgot-resend-text).css(display, inline-block); $(.offcanvas-forgot-otp-modal).hide(); $(.offcanvas-forgot-modal).show(); } var clearForgotForm function(form){ var forgotForm document.getElementById(reset-password-offcanvas-form); for (var i 0; i forgotForm.elements.length; i++) { var element forgotForm.elementsi; if (element.type ! button) { if (element.type select-one) { element.selectedIndex 0; } else if (element.type radio) { element.checked false; }else { element.value ; } } } //resend otp btn reset if($(#offcanvas-forgot-resend-btn).attr(disabled)){ $(#offcanvas-forgot-resend-btn).attr(disabled, false); $(#offcanvas-forgot-resend-btn).css(cursor, pointer); $(#offcanvas-forgot-resend-btn).css(color, #2C52DF); $(.offcanvas-forgot-resend-timer).hide(); } document.getElementById(offcanvas-fgot-pswd-cn).value ; showForgotOffcanvasForm(); $(.offcanvas-forgot-modal).hide(); $(.offcanvas-forgot-otp-modal).hide(); $(.offcanvas-reset-password-modal).hide(); } var forgotEventListenerInit () > { const passwordInputField document.querySelector(#offcanvas-fgot-pswd-cn); const continueBtn document.querySelector(#offcanvas-reset-continue-btn); const userDetailsFields document.querySelectorAll(.forgot-pwd-details); const submitButton document.querySelector(#offcanvas-reset-submit-btn); passwordInputField.addEventListener(input, (event) > { continueBtn.disabled !(passwordInputField.value.trim().length > 0); }); function checkInputs() { const allFilled Array.from(userDetailsFields).every(input > { if (input.tagName.toLowerCase() select) { return input.value.trim() ! -1; } else { return input.value.trim().length > 0; } }); submitButton.disabled !allFilled; } userDetailsFields.forEach(input > { input.addEventListener(input, checkInputs); }); } var forgotOTPFieldInit () > { ISRESETOTPINIT true; const otpBoxes document.querySelectorAll(.forgot-otp-box); const submitBtn document.querySelector(#offcanvas-reset-otp-btn); otpBoxes.forEach((box, index) > { box.addEventListener(input, (event) > { const inputValue event.target.value; const numericValue inputValue.replace(/^0-9/g, ); // Remove non-numeric characters event.target.value numericValue; if (numericValue && index otpBoxes.length - 1) { otpBoxesindex + 1.focus(); } //Last Key Handle if(index otpBoxes.length - 1){ if(numericValue){ otpBoxesindex.blur(); proceed(); }else{ disableSubmit(); } } }); box.addEventListener(keydown, (event) > { if (event.key Backspace && index > 0 && !event.target.value) { if(index otpBoxes.length - 1){ disableSubmit(); } otpBoxesindex - 1.focus(); } }); // Allow pasting one number in each box and move focus to the last entered number box.addEventListener(paste, (event) > { const clipboardData event.clipboardData || window.clipboardData; const pastedData clipboardData.getData(text); if(isNaN(pastedData)){ event.preventDefault(); return; } // Distribute one number per box for (let i 0; i pastedData.length && index + i otpBoxes.length; i++) { otpBoxesindex + i.value pastedDatai; } // Move focus to the last entered number ?if all boxes filled then enable proceed if(index + pastedData.length > otpBoxes.length){ otpBoxesindex.blur(); proceed(); }else{ otpBoxesindex + pastedData.length.focus(); } event.preventDefault(); }); let proceed () > { submitBtn.disabled false; submitBtn.click(); } let disableSubmit () > { submitBtn.disabled true; } }); } var getForgotOTPValue () > { var otp ; const otpBoxes document.querySelectorAll(.forgot-otp-box); otpBoxes.forEach((box, index) > { otp otp + box.value; }); console.log(final otp, otp); return otp; } /script>/div>/div>script> var INST_SETTINGS {institute_id:187,name:Tinkerbrix,api_end_host:lebdu-api.edmingle.com,title:Lebdu,portal_name:lebdu,logo_details:{logo_id:305,logo_institute_id:187,logo_field_id:1979615,logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,logo_type:1,logo_height:null,logo_width:100px,background_color:null,style:margin: -15px 5px 5px 5px;},contact_number:8510044836,address_1:D-66 First Floor-Sector-7 Noida 201301,address_2:,city:Noida,state:null,country:IN,pincode:201301,support_email:support@robospecies.com,portal_link:https:\/\/learn.tinkerbrix.cc,show_courses:0,streams_visible:1,aboutus_visible:1,ios_link:,android_link:,enable_credit_system:0,is_live_classes_enabled:1,is_shopclients_enabled:0,shopclients_authtoken:null,enable_signup:1,payment_gateway:8,max_login_allowed:0,biometric_enabled:0,enable_gst:0,map_owners:0,enable_id_card:0,enable_my_payments:0,enable_buy_now:1,ispring_cloud_enabled:0,facebook_app_id:null,enable_otp_signup:1,show_student_rank:0,enable_video_download_android:0,enable_teacher_calling:1,enable_issue_certificate:0,course_info_buy_blocked:0,enable_fb_login:0,enable_google_login:0,terms_condition_url:null,privacy_policy_url:null,about_us_url:null,enable_student_profile_pic_update:1,institution_subdomain:lebdu,host_name:learn.tinkerbrix.cc,fb_url:https:\/\/www.facebook.com\/connectlebdu,linked_url:https:\/\/www.linkedin.com\/company\/lebdu-com\/,twitter_url:,ig_url:https:\/\/instagram.com\/lebduconnect?igshid1lzjya2dxm7ng,youtube_url:https:\/\/www.youtube.com\/channel\/UCLQ0HRDvtq4ujJ0PrU7sEcg,gplus_url:,favicon_file_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1858122-favicon.png,website_scripts:link rel\stylesheet\ href\https:\/\/maxcdn.bootstrapcdn.com\/font-awesome\/4.5.0\/css\/font-awesome.min.css\>\r\na href\https:\/\/api.whatsapp.com\/send?phone8510044824&textHola%21%20Quisiera%20m%C3%A1s%20informaci%C3%B3n%20sobre%20Varela%202.\ class\float\ target\_blank\>\r\ni class\fa fa-whatsapp my-float\>\/i>\r\n\/a>,website_custom_style:style>\n .home-banner h1.headline{\n font-size: 40px;\n color:#c0504d;\n font-weight: 600;\n margin-bottom: 0;\n }\n .bottom-right{\n bottom: 15px;\n right: 20px;\n position: fixed;\n display: inline-block;\n z-index: 2147483600;\n cursor: pointer;\n }\n p{\n font-size: 16px;\n }\n .home-banner p.sub-head,.home-banner h2.sub-head {\n color: #000;\n font-size: 20px;\n font-weight: 500;\n }\n .label-white .input-with-label span{\n color: #fff;\n }\n inputtype\submit\{\n background: #c0504d;\n }\n .course-item .course-box-details{\n position: absolute;\n padding: 0;\n bottom: 0;\n right:0;\n left:0;\n height: 54%;\n background-color: #c0504d;\n }\n .course-item .course-box-details h5{\n color: #fff;\n font-size: 18px;\n margin-top:0px;\n }\n .course-item .course-partner{\n position: absolute;\n top: 30%;\n padding: 10px;\n background: #fff;\n border-radius: 5px;\n left: 15px;\n z-index: 4;\n border: 2px solid #c0504d;\n }\n .course-item .course-type{\n position: absolute;\n bottom: 10px;\n left: 15px;\n color: #d6d6d6;\n font-size: 12px;\n }\n .course-box-triangle{\n height: 0;\n overflow: hidden;\n margin-top: -60px;\n padding-top: 60px;\n position: absolute;\n right: 0;\n width: 100%;\n z-index: 3;\n }\n .course-box-triangle::before{\n border-style: solid;\n border-width: 0 0 60px 360px;\n border-color: transparent transparent #c0504d;\n content: \\;\n display: block;\n height: 0;\n position: relative;\n top: -60px;\n width: 0;\n }\n .footer-logo{\n width: 60%!important;\n }\n .footer-1{\n background-color: #dcdcdc;\n }\n .footer-1 h6{\n color: #444444!important;\n }\n .footer-1 a{\n color:#444444!important;\n }\n .footer-1 p{\n color:#444444!important;\n }\n .btn {\n border: 2px solid #c0504d;\n }\n .btn-filled {\n background: #c0504d;\n }\n .btn:visited {\n color: #c0504d;\n }\n .btn-filled:visited {\n color: #fff;\n}\n .btn:hover {\n background: #c0504d;\n }\n .pkg-detail p{\n font-size: 14px;\n }\n .enquiry-btn{\n bottom: 15px;\n left: 20px;\n position: fixed;\n display: inline-block;\n z-index: 2147483600;\n cursor: pointer;\n }\n .enquiry-btn .enq-circle{\n background: #c0504d;\n width: 70px;\n height: 70px;\n min-height: 72px;\n min-width: 65px;\n overflow: hidden;\n border-radius: 39px;\n box-shadow: 0 5px 4px 0 rgba(0,0,0,.26);\n }\n\n .image-slider .background-image-holder{\n background-size: contain!important;\n background-repeat: no-repeat!important;\n }\n .menu li a{\n font-size: 15px;\n font-family: \Verdana\;\n font-weight: 100;\n letter-spacing: 0;\n }\n .nav-utility{\n background: rgb(232,119,34);\n }\n h4.section-heading {\n font-size: 25px;\n letter-spacing: 2px;\n font-weight: 600;\n }\n .nav-utility .sub{\n color: #fff;\n font-weight: bold;\n font-size: 15px;\n }\n @media screen and (max-width: 990px){\n\n .nav-bar .module {\n padding: 0px 16px 25px 16px!important;\n }\n }\n .nav-utility .fa-phone, .nav-utility .ti-email{\n color: rgb(85,86,90);\n }\n .contact-us-area .fa {\n color: rgb(232,119,34);\n }\n @media (min-width: 992px){\n .courses-list-home .col-md-3{\n width: 20%;\n }\n }\n .feature.boxed.course-item {\n min-height: 270px;\n}\n.col-md-3 .feature.boxed.course-item {\n min-height: 230px;\n}\n.course-item .course-type.cost-label {\n color: #fff;\n}\n.float{\n\tposition:right;\n\twidth:60px;\n\theight:60px;\n\tbottom:40px;\n\tright:40px;\n\tbackground-color:#007aff;\n\tcolor:#FFF;\n\tborder-radius:50px;\n\ttext-align:center;\n font-size:30px;\n\tbox-shadow: 2px 2px 3px #999;\n z-index:100;\n}\n\n.my-float{\n\tmargin-top:0px;\n}\n\/style>\n,free_enrol_btn_text:ENROLL FOR FREE,is_website_builder_set:1,remove_bottom_edmingle_logo:1,is_ssl_enabled:1,restrict_future_signin:0,allow_admin_virtualclass_signin:0,enable_certificate_tab:0,enable_certificate_verification:0,privacy_policy:null,terms_conditions:null,terms_conditions_url:null,signup_primary_field:1,institution_currency:1,actual_domain:https:\/\/learn.tinkerbrix.cc,client_enabled_gst:0,logout_url:https:\/\/lebdu.edmingle.com,student_logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,tutor_block_confidential_field:0,is_tutor_tnc_enabled:0,tutor_terms_and_conditions:null,enable_course_welcome_invoice_attachment:0,enable_invoice_attachment:null,is_sso_enabled:0,sso_client_url:null,enable_student_mark_material_as_completed:0,inst_base_currency_id:49,inst_international_selling_status:2,allow_course_access_branches:0,enable_website_builder:1,enforce_first_password_reset:0,allow_student_primary_field_edit:1,ms_clarity_admin_script_key:null,ms_clarity_student_script_key:null,enable_azure_ad_login:0,brand_colour:#11e88b,enable_otp_login:0,enable_otp_verification_secondary_contact:0,enable_multi_factor_authentication:0,multi_factor_authentication_status:1,is_saml_sso_enabled:0,is_saml_configured:0,is_dynamic_video_watermark_enabled:0,dynamic_watermarking_duration:10,dynamic_watermarking_interval:20,use_legacy_dashboard:0,student_dashboard_version:1,use_legacy_notification:1,secured_drm_player_type:1,is_tutor_name_hidden_in_course_preview:0,events_enabled:0,membership_enabled:0,blogs_enabled:0,is_full_whitelabeled:0,online_organization_id:305,online_organization_name:TinkerBriX,edmingle_v2_node_url:https:\/\/analytics.edmingle.com,institution_addons:{addon_id:1,addon_key:zoom_users_allowed,addon_value:1,institution_id:187,created_by:58,valid_from:1685621961,valid_till:0},is_private_server:false,is_vyoma_server:false,main_logo_url:https:\/\/dme2wmiz2suov.cloudfront.net\/Institution(187)\/Logo\/1979615-Tinker_logo_1.png,CURRENCY_SYMBOL:₹}; var hostName location.hostname; var isIDC hostName ! localhost; let adminDashboardoff /app/; if(INST_SETTINGS.hasOwnProperty(use_legacy_dashboard) && INST_SETTINGSuse_legacy_dashboard 0){ adminDashboardoff /v2/app/; } if(typeof myaccountPrefix undefined){ let myaccountPrefix ; } if(INST_SETTINGS.hasOwnProperty(student_dashboard_version) && INST_SETTINGSstudent_dashboard_version 2){ myaccountPrefix /v3; } var appLocation isIDC ? location.protocol + // + hostName + adminDashboardoff : http:// + hostName + adminDashboardoff; var studentappLocation isIDC ? location.protocol + // + hostName + myaccountPrefix+ /myaccount/ : http:// + hostName +myaccountPrefix+ /myaccount/; var parentAppLocation isIDC ? location.protocol + // + hostName + /v2/myaccount/#/organization/parent/profile/ : http:// + hostName + /v2/myaccount/#/organization/parent/profile/; var endPoint isIDC ? /nuSource/api/v1/ : /nuSource/api/v1/; var apiEndpoint location.protocol + // + apiEndHost + endPoint; var accessLocation false; var reloadAccessLocation false; isCheckoutPage false; var ISLOGINOTPINIT false; var LOGINWITHPASSWORD false; var IS_USER_MFA_ENABLED false; var FROM_LOGIN false; const siteLevelInfo {subdomain:lebdu.edmingle.com,crawling:1,logout_redirect_url:https:\/\/lebdu.edmingle.com,logo_redirect_url:https:\/\/tinkerbrix.cc\/,website_head_tags:,website_header_scripts:,website_footer_scripts:link rel\stylesheet\ href\https:\/\/maxcdn.bootstrapcdn.com\/font-awesome\/4.5.0\/css\/font-awesome.min.css\>\r\na href\https:\/\/api.whatsapp.com\/send?phone918510044836&textHello%21%20Welcome%20to%20Tinkerbrix Support%C3%20%20%20\ class\float\ target\_blank\>\r\ni class\fa fa-whatsapp my-float\>\/i>\r\n\/a>,settings:{\enable_signup\:\undefined\}}; const siteLevelSettings siteLevelInfo.settings ? JSON.parse(siteLevelInfo.settings) : ; const isSignUpEnabled siteLevelSettings.length > 0 && !!siteLevelSettings0.enable_signup; var cal_height 100 - ((document.getElementById(header-main).offsetHeight * 100) / window.innerHeight); document.getElementById(login-container-offcanvas).style.minHeight cal_height + vh; //google sign in function returnNextActionOffcanvas() { let next dashboard if(reloadAccessLocation){ window.location.reload(); } if(accessLocation) { return ; } if (IS_RENDER_ENGINE_TASK_PENDING){ next RENDER_ENGINE_TASK_PENDING && RENDER_ENGINE_TASK_PENDING.length > 0 ? RENDER_ENGINE_TASK_PENDING0 : next; } if(SIGNUP_COURSE_LANDING){ next SIGNUP_COURSE_LANDING; }else if(FREE_PREVIEW_CLICKED){ next FREE_PREVIEW_CLICKED; } else if(SIGNUP_BUYNOW) { storeCheckoutData(); next SIGNUP_BUYNOW; } return next; } $(.g-sign-in-button-offcanvas).click(function(){ let edminglenextaction returnNextActionOffcanvas(); let edmingle_redirect_url (!ISSIGNUPSDK) ? window.location.href : ((window.location ! window.parent.location) ? document.referrer: document.location.href) edmingle_redirect_url encodeURIComponent(edmingle_redirect_url) $(.g-sign-in-button-offcanvas).attr(disabled, true); $(.g-sign-in-button-offcanvas).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus styledisplay:inline-block;padding:6px;margin:2px 0;>/span>); $(this).find(.text-container span).addClass(fa fa-spinner fa-spin).text(); $.ajax({ url : apiEndpoint+googlelogin?edmingleextactionSIGNUP_COURSE_LANDING, type : GET, data : { edminglenextaction : edminglenextaction, redirect_url : edmingle_redirect_url }, success : function(socialLoginResponse){ if(!ISSIGNUPSDK){ window.location.href socialLoginResponse.redirect_url; }else{ window.parent.postMessage({ redirectUrl: socialLoginResponse.redirect_url }, *); } let pageName ; if(window.location.pathname /register){ pageName Sign up } if(window.location.pathname /login){ pageName Sign in } setTimeout(function(){ $(.g-sign-in-button-offcanvas).attr(disabled, false); $(.g-sign-in-button-offcanvas).html(` svg width25 height24 viewBox0 0 25 24 fillnone xmlnshttp://www.w3.org/2000/svg stylemargin-right:12px;> g clip-pathurl(#clip0_2048_8815)> path dM24.2663 12.2765C24.2663 11.4608 24.2001 10.6406 24.059 9.83813H12.7402V14.4591H19.222C18.953 15.9495 18.0888 17.2679 16.8233 18.1056V21.104H20.6903C22.9611 19.014 24.2663 15.9274 24.2663 12.2765Z fill#4285F4 /> path dM12.7391 24.0008C15.9756 24.0008 18.705 22.9382 20.6936 21.1039L16.8266 18.1055C15.7507 18.8375 14.3618 19.252 12.7435 19.252C9.61291 19.252 6.95849 17.1399 6.00607 14.3003H2.01562V17.3912C4.05274 21.4434 8.20192 24.0008 12.7391 24.0008Z fill#34A853 /> path dM6.00277 14.3002C5.50011 12.8099 5.50011 11.196 6.00277 9.70569V6.61475H2.01674C0.314734 10.0055 0.314734 14.0004 2.01674 17.3912L6.00277 14.3002Z fill#FBBC04 /> path dM12.7391 4.74966C14.4499 4.7232 16.1034 5.36697 17.3425 6.54867L20.7685 3.12262C18.5991 1.0855 15.7198 -0.034466 12.7391 0.000808666C8.20192 0.000808666 4.05274 2.55822 2.01562 6.61481L6.00166 9.70575C6.94967 6.86173 9.6085 4.74966 12.7391 4.74966Z fill#EA4335 /> /g> defs> clipPath idclip0_2048_8815> rect width24 height24 fillwhite transformtranslate(0.5) /> /clipPath> /defs> /svg> `+ pageName +` with Google`); }, 1000) } }); }); $(.saml-sign-in-button-offcanvas).click(function(){ let edminglenextaction returnNextActionOffcanvas(); let edmingle_redirect_url (!ISSIGNUPSDK) ? window.location.href : ((window.location ! window.parent.location) ? document.referrer: document.location.href); $.ajax({ url : apiEndpoint+saml/sso/initiaterequest, type : GET, data : { edminglenextaction : edminglenextaction, redirect_url : edmingle_redirect_url }, success : function(socialLoginResponse){ if(!ISSIGNUPSDK){ window.location.href socialLoginResponse.redirect_url; }else{ window.parent.postMessage({ redirectUrl: socialLoginResponse.redirect_url }, *); } let pageName ; if(window.location.pathname /register){ pageName Sign up } if(window.location.pathname /login){ pageName Sign in } } }); }) var continueBtnHandler (btn) > { var primaryField $(btn.form).find(#offcanvas-primary-field).val().toLowerCase(); PRIMARY_FIELD primaryField; //Primary Field Validation if(PRIMARY_FIELD undefined || PRIMARY_FIELD.trim() ){ let showUsername INST_SETTINGSenable_multi_factor_authentication ? : (INST_SETTINGSenable_otp_login ? : /username); showToast(Please enter a email/phone number+showUsername, 2); return; } if(INST_SETTINGSenable_multi_factor_authentication || (!INST_SETTINGSenable_multi_factor_authentication && INST_SETTINGSenable_otp_login)){ if(isNaN(PRIMARY_FIELD) && !validateEmail(PRIMARY_FIELD)){ showToast(Please enter a valid email address, 2); return; } } $(btn.form).find(#offcanvas-continue-btn).attr(disabled, true); $(btn.form).find(#spinner).css(display, inline-block); $(btn.form).find(#offcanvas-continue-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus stylepadding:7px;margin:2px 0;>/span>); $.get(apiEndpoint + /user/checkifexists, { institution_id: INSTITUTIONID, user: PRIMARY_FIELD, calling_modal: login }).done(function(json) { if(json.payload.is_user_exists){ if(json.payload.multiple_account_exists){ $(#login-error-txt).html(There seems to be more than one account linked to this mobile number. Please login using your email address instead.); $(#login-error-txt).css(display, block); continueBtnState(btn.form); return; } if(INST_SETTINGSenable_multi_factor_authentication){ IS_USER_MFA_ENABLED json.payload.is_user_mfa_enabled; //User MFA not enabled but OTP enabled and login with password not clicked if(!json.payload.is_user_mfa_enabled && INST_SETTINGSenable_otp_login && !LOGINWITHPASSWORD){ submitButtonUpdate(btn.form, true); sendLoginOTP(btn.form, PRIMARY_FIELD); }else{ let submitBtnText json.payload.is_user_mfa_enabled ? CONTINUE : LOGIN; $(#offcanvas-login-submit-btn).html(submitBtnText); document.getElementById(password-field).style.display block; document.getElementById(offcanvas-continue-btn).style.display none; continueBtnState(btn.form); } }else{ if(INST_SETTINGSenable_otp_login && !LOGINWITHPASSWORD){ submitButtonUpdate(btn.form, true); sendLoginOTP(btn.form, PRIMARY_FIELD); }else{ $(#offcanvas-login-submit-btn).html(LOGIN); document.getElementById(password-field).style.display block; document.getElementById(offcanvas-continue-btn).style.display none; continueBtnState(btn.form); } } }else{ //check signup primary field with primary field if(isNaN(PRIMARY_FIELD) && !validateEmail(PRIMARY_FIELD)){ showToast(Please enter a valid email address, 2); continueBtnState(btn.form); return; } let primaryFieldInputType isNaN(PRIMARY_FIELD) ? 2 : 1; if(INST_SETTINGSsignup_primary_field ! primaryFieldInputType){ //signupenabled $(#login-error-txt).html( `No account found. ${isSignUpEnabled ? If you dont have an account, a href# idcreate-new-account-trigger-offcanvas-from-login onclickredirectToSignUp(event)>Signup here/a> : }.` ); $(#login-error-txt).css(display, block); continueBtnState(btn.form); return; } if(isSignUpEnabled){ console.log(siteLevelInfo); // console.log(siteLevelSettings0enable_signup); const offcanvasBody document.getElementsByClassName(offcanvas-body).item(0); offcanvasBody.style.display none; const loader document.createElement(div); loader.id custom-spinner-loader; loader.innerHTML ` div styledisplay: flex; justify-content: center; align-items: center; height: 100%;> div style border: 4px solid #f3f3f3; border-top: 4px solid #3498db; border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; >/div> /div> `; loader.style.position absolute; loader.style.top 0; loader.style.left 0; loader.style.right 0; loader.style.bottom 0; loader.style.backgroundColor rgba(255,255,255,0.8); loader.style.zIndex 1000; const style document.createElement(style); style.innerHTML ` @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } `; document.head.appendChild(style); offcanvasBody.parentNode.appendChild(loader); document.getElementById(create-new-account-trigger-offcanvas).click(); document.getElementById(signup-primary-field).value PRIMARY_FIELD; document.getElementById(signup-continue-btn).disabled false; FROM_LOGIN true; document.getElementById(signup-continue-btn).click(); offcanvasBody.style.display block; continueBtnState(btn.form); }else{ $(#login-error-txt).html(No account found.); $(#login-error-txt).css(display, block); continueBtnState(btn.form); } } }).fail(function(error) { var resp JSON.parse(error.responseText); showToast(resp.message, 2); continueBtnState(btn.form); }); } var continueBtnState (form) > { $(form).find(#offcanvas-continue-btn).attr(disabled, false); $(form).find(#spinner).css(display, none); $(form).find(#offcanvas-continue-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus styledisplay:none;>/span>CONTINUE); } window.addEventListener(load, async () > { document.getElementById(open-loginOffcanvas-modal).addEventListener(click, (e) > { document.getElementById(login-trigger-offcanvas).click(); }); if(document.contains(document.querySelector(#open-signupOffcanvas-modal))){ document.getElementById(open-signupOffcanvas-modal).addEventListener(click, (e) > { document.getElementById(create-new-account-trigger-offcanvas).click(); var offcanvas new bootstrap.Offcanvas(document.getElementById(loginOffcanvas)); offcanvas.show(); }); } var myOffcanvas document.getElementById(loginOffcanvas); myOffcanvas.addEventListener(hidden.bs.offcanvas, function (event) { //Clear Local Variables localStorage.removeItem(from_course_banner); //Clear Verify Timer - called in renderEnigineClient.js if(typeof VERITY_SINGUP_TIMER ! undefined){ VERITY_SINGUP_TIMER.forEach((interval) > { clearInterval(interval); VERITY_SINGUP_TIMER VERITY_SINGUP_TIMER.filter(item > item ! interval); }); } // Clearing Forms clearLoginForm(); clearSignupForm(); clearForgotForm(); }); myOffcanvas.addEventListener(show.bs.offcanvas, function (event) { //If SSO enabled dont open offcanvas modal if(INST_SETTINGSis_sso_enabled){ event.preventDefault(); } }) // if (localStorage.getItem(apikey) && !accessLocation) { // $.ajax({ // url: apiEndpoint + user/usermeta, // headers: { // APIKEY: localStorage.getItem(apikey) // }, // cache: false // }).done(function(json) { // localStorage.setItem(curr_org_id, json.user.org_data0organization_id); // localStorage.setItem(role, json.user.org_data0role student ? 1 : 0); // user_contact_no json.user.contact_number; // user_email json.user.email; // user_name json.user.name; // location localStorage.getItem(role) 1 || localStorage.getItem(role) student ? studentappLocation : appLocation; // return; // }).fail(function(err) { // var resp JSON.parse(err.responseText); // if (resp.code 10002) { // localStorage.removeItem(apikey); // } // }); // } loginEventListenerInit(); }); var msgData localStoragemsg_data; if (typeof msgData ! undefined) { localStorage.removeItem(msg_data); var type JSON.parse(msgData).type; var msg JSON.parse(msgData).msg; showToast(msg, type); } // function gotoApplication() { // var location localStorage.getItem(role) 1 ? studentappLocation : appLocation; // window.location location; // } var submitButtonUpdate function(form, display, msg ) { $(form).find(.submit-btn).attr(disabled, display ? true : false); $(form).find(#spinner).css(display, display ? inline-block : none); $(form).find(.submit-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus + (!display ? styledisplay:none; : stylepadding:7px;margin:2px 0;) + >/span> + msg); } var sendLoginOTP (form, email, isMFAEnabled0) > { var body { institution_id: INST_SETTINGSinstitute_id, user: email } var JSONString JSON.stringify(body); $.post(apiEndpoint + login/otp, { JSONString: JSONString }).done(function(json) { let primaryFieldType isNaN(PRIMARY_FIELD) ? email: number; showToast(OTP sent successfully, 1); if(isMFAEnabled){ $(#login-otp-heading).html(2-factor authentication); $(#login-otp-text).html(Since your organisation has enabled 2FA, we have sent an OTP to + PRIMARY_FIELD + as an added verification step); }else{ $(#login-otp-heading).html(Enter your OTP); $(#login-otp-text).html(We have sent an OTP to your + primaryFieldType); $(#login-with-password-trigger).css(display, block); } $(.offcanvas-login-modal).hide(); $(.primary-field-data).html(PRIMARY_FIELD); $(.login-otp-modal).show(); if(!ISLOGINOTPINIT){ OTPFieldInit(); } if($(form).find(#offcanvas-continue-btn).prop(disabled)){ $(form).find(#offcanvas-continue-btn).attr(disabled, false); $(form).find(#spinner).css(display, none); $(form).find(#offcanvas-continue-btn).html(span classspinner-border spinner-border-sm me-2 idspinner rolestatus styledisplay:none;>/span>CONTINUE); } submitButtonUpdate(form, false, LOGIN); }).fail(function(error) { showToast(JSON.parse(error.responseText).message, 2); submitButtonUpdate(form, false, CONTINUE); }); } $(#wb-loginOffcanvas-form).submit(function(e) { e.preventDefault(); wbLoginOffcanvas(this); }); var wbLoginOffcanvas function(form) { var primaryField $(form).find(#offcanvas-primary-field).val().toLowerCase(); var password $(form).find(#offcanvas-login-password).val(); var persistent_login true; var isPrimaryFieldErr, isPswdErr; var toast $(form).find(.toast); var toastBody $(form).find(#toastBody); var toastTick $(form).find(#toastTick); var msg $(form).find(.msg); if (primaryField undefined || primaryField.trim() ) { isPrimaryFieldErr true; showToast(Please fill the email/contact, 2); return; } PRIMARY_FIELD primaryField; if (password undefined || password.trim() ) { isPswdErr true; //showToast(Please fill the Password, 2); return; } if (!isPrimaryFieldErr && !isPswdErr) { var body { username: PRIMARY_FIELD, password: password, persistent_login: persistent_login, device_type: 1 } if (localStorage.getItem(server_key)) { body.server_key localStorage.getItem(server_key); } if (VISITOR_ID) { body.device_key VISITOR_ID; } var JSONString JSON.stringify(body); let submitBtnText IS_USER_MFA_ENABLED ? CONTINUE : LOGIN; submitButtonUpdate(form, true); $.post(apiEndpoint + tutor/login, { JSONString: JSONString }).done(function(json) { var jsonObj json; if(typeof jsonObj.user undefined && typeof jsonObj.payload ! undefined && jsonObj.payload.users.length>1) { $(#login-error-txt).html(There seems to be more than one account linked to this mobile number. Please login using your email address instead.); $(#login-error-txt).css(display, block); // showToast(Try login using with username or email!, 2); submitButtonUpdate(form, false, submitBtnText); return; } if(jsonObj.user.is_user_mfa_enabled){ sendLoginOTP(form, PRIMARY_FIELD, jsonObj.user.is_user_mfa_enabled); }else{ continueBtnState(form); submitButtonUpdate(form, false, submitBtnText); loginSuccessHandler(jsonObj); } // loginSuccessHandler(); }).fail(function(error) { const errorResponse JSON.parse(error.responseText); const errorMessage errorResponse.message; const supportEmailMatch errorMessage.match(/Contact us at: (\w.-+@\w.-+\.\w+)/); const supportEmail supportEmailMatch ? supportEmailMatch1 : ; if(errorResponse?.code 10024){ showToast(JSON.parse(error.responseText).message, 2,null,{max-width: 520px,white-space:normal,word-wrap:break-word,width:fit-content },true,supportEmail,5000); }else{ showToast(JSON.parse(error.responseText).message, 2); } submitButtonUpdate(form, false, submitBtnText); }); } else { return false; } } let loginSuccessHandler (jsonObj) > { localStorage.setItem(apikey, jsonObj.user.apikey); localStorage.setItem(username, jsonObj.user.username); localStorage.setItem(name, jsonObj.user.name); localStorage.setItem(role, jsonObj.user.role); localStorage.setItem(server_key, (jsonObj.user.server_key) ? jsonObj.user.server_key : null); // custom function for normal login let obj { user_name : jsonObj.user.username, user_email : jsonObj.user.email, user_mobile : jsonObj.user.contact_number, referrer : window.location.href, source : website, role : jsonObj.user.role } customFunctionsTrigger(event_login,obj); checkSignupState(); if(!localStorage.getItem(from_course_banner)){ //close the offcanvas, if it is from nav bar (not through enroll now click) document.getElementById(open-loginOffcanvas-modal).click(); } if(reloadAccessLocation){ window.location.reload(); } if (accessLocation) { const currentUrl window.location.href; if(currentUrl.endsWith(/checkout)) { checkoutViewed(); } return; } gotoApplication(); } var resendLoginOffcanvasOTP function(form) { if ($(#offcanvas-login-resend-btn).attr(disabled) disabled) { return; } var body { institution_id: INST_SETTINGSinstitute_id, user: PRIMARY_FIELD } var JSONString JSON.stringify(body); $(#offcanvas-login-resend-btn).attr(disabled, true); $(#offcanvas-login-resend-btn).css(cursor, default); $(#offcanvas-login-resend-spinner).css(display, inline-block); $.post(apiEndpoint + login/otp, { JSONString: JSONString }).done(function(json) { $(#offcanvas-login-resend-btn).css(color, black); setLoginResetTimer(); $(#offcanvas-login-resend-spinner).css(display, none); showToast(OTP sent successfully, 1); }).fail(function(error) { showToast(JSON.parse(error.responseText).message, 2); $(#offcanvas-login-resend-btn).attr(disabled, false); $(#offcanvas-login-resend-btn).css(cursor, pointer); $(#offcanvas-login-resend-spinner).css(display, none); }); } var setLoginResetTimer () > { let timeRemaining 20; document.querySelector(.offcanvas-login-resend-timer).innerText in + timeRemaining + s; $(.offcanvas-login-resend-timer).show(); function updateTimerDisplay() { document.querySelector(.offcanvas-login-resend-timer).innerText in + timeRemaining + s; } const timerId setInterval(function () { timeRemaining--; updateTimerDisplay(); if (timeRemaining 0) { $(#offcanvas-login-resend-btn).attr(disabled, false); $(#offcanvas-login-resend-btn).css(cursor, pointer); $(#offcanvas-login-resend-btn).css(color, #2C52DF); $(.offcanvas-login-resend-timer).hide(); clearInterval(timerId); } }, 1000); } //Login OTP $(#login-otp-form).submit(function(e) { e.preventDefault(); loginOffcanvasOTPForm(this); }); var loginOffcanvasOTPForm function(form) { var persistent_login true; var loginOTP getLoginOTPValue(); if (loginOTP.trim() ) { showToast(Please enter your OTP to proceed, 2); return; } var body { username: PRIMARY_FIELD, otp: loginOTP, persistent_login: persistent_login, device_type: 1 // type webapp } if (localStorage.getItem(server_key)) { body.server_key localStorage.getItem(server_key); } if (VISITOR_ID) { body.device_key VISITOR_ID; } var JSONString JSON.stringify(body); submitButtonUpdate(form, true); $.post(apiEndpoint + tutor/login, { JSONString: JSONString }).done(function(json) { if(typeof json.user undefined && typeof json.payload ! undefined && json.payload.users.length>1) { let msg isNaN(PRIMARY_FIELD) ? mobile : email; showToast(Try login using with + msg, 2); submitButtonUpdate(form, false, LOGIN); return; } showToast(OTP verified, 1); submitButtonUpdate(form, false, LOGIN); loginSuccessHandler(json); }).fail(function(error) { var resp JSON.parse(error.responseText); $(#login-resend-text).css(display, none); showToast(resp.message, 2); submitButtonUpdate(form, false, LOGIN); }); } var loginEventListenerInit () > { const primaryInputField document.querySelector(#offcanvas-primary-field); const passwordInputField document.querySelector(#offcanvas-login-password); const continueBtn document.querySelector(#offcanvas-continue-btn); const submitBtn document.querySelector(#offcanvas-login-submit-btn); primaryInputField.addEventListener(input, (event) > { $(#login-error-txt).css(display, none); continueBtn.disabled !(primaryInputField.value.trim().length > 0); }); passwordInputField.addEventListener(input, function(){ $(#login-error-txt).css(display, none); submitBtn.disabled !(passwordInputField.value.trim().length > 0); }); if(document.contains(document.querySelector(#create-new-account-trigger-offcanvas))){ document.getElementById(create-new-account-trigger-offcanvas).addEventListener(click, (e) > { e.preventDefault(); document.getElementById(login-container-offcanvas).style.minHeight 0; document.getElementById(login-container-offcanvas).children0.style.display none; document.getElementById(sign-up-container-offcanvas).style.display block; }); } //continue Btn Enter Handler primaryInputField.addEventListener(keypress, function(event) { if (event.key Enter) { event.preventDefault(); continueBtn.click(); } }); } var OTPFieldInit () > { ISLOGINOTPINIT true; const otpBoxes document.querySelectorAll(.login-otp-box); const submitBtn document.querySelector(#offcanvas-login-otp-submit-btn); otpBoxes.forEach((box, index) > { box.addEventListener(input, (event) > { const inputValue event.target.value; const numericValue inputValue.replace(/^0-9/g, ); // Remove non-numeric characters event.target.value numericValue; if (numericValue && index otpBoxes.length - 1) { otpBoxesindex + 1.focus(); } //Last Key Handle if(index otpBoxes.length - 1){ if(numericValue){ otpBoxesindex.blur(); proceed(); }else{ disableSubmit(); } } }); box.addEventListener(keydown, (event) > { if (event.key Backspace && index > 0 && !event.target.value) { if(index otpBoxes.length - 1){ disableSubmit(); } otpBoxesindex - 1.focus(); } }); // Allow pasting one number in each box and move focus to the last entered number box.addEventListener(paste, (event) > { const clipboardData event.clipboardData || window.clipboardData; const pastedData clipboardData.getData(text); if(isNaN(pastedData)){ event.preventDefault(); return; } // Distribute one number per box for (let i 0; i pastedData.length && index + i otpBoxes.length; i++) { otpBoxesindex + i.value pastedDatai; } // Move focus to the last entered number ?if all boxes filled then enable proceed if(index + pastedData.length > otpBoxes.length){ otpBoxesindex.blur(); proceed(); }else{ otpBoxesindex + pastedData.length.focus(); } event.preventDefault(); }); let proceed () > { submitBtn.disabled false; submitBtn.click(); } let disableSubmit () > { submitBtn.disabled true; } }); } var getLoginOTPValue () > { var otp ; const otpBoxes document.querySelectorAll(.login-otp-box); otpBoxes.forEach((box, index) > { otp otp + box.value; }); console.log(final otp, otp); return otp; } const resetLoginOffcanvasContainer (destructingContainer) > { document.getElementById(login-container-offcanvas).style.minHeight 91vh; document.getElementById(login-container-offcanvas).children0.style.display block; document.getElementById(destructingContainer).style.display none; } document.getElementById(forgot-password-trigger-offcanvas).addEventListener(click, (e) > { e.preventDefault(); document.getElementById(login-container-offcanvas).style.minHeight 0; document.getElementById(login-container-offcanvas).children0.style.display none; document.getElementById(forgot-password-container-offcanvas).style.display block; if(!isNaN(PRIMARY_FIELD) || (isNaN(PRIMARY_FIELD) && validateEmail(PRIMARY_FIELD))){ document.getElementById(offcanvas-fgot-pswd-cn).value PRIMARY_FIELD; document.getElementById(offcanvas-reset-continue-btn).disabled false; } document.querySelector(.offcanvas-forgot-modal).style.display block; }); var redirectToLoginFromForgotPwd () > { clearForgotForm(); document.getElementById(forgot-password-container-offcanvas).style.display none; document.getElementById(login-container-offcanvas).style.minHeight 91vh; document.getElementById(login-container-offcanvas).children0.style.display block; document.getElementById(offcanvas-primary-field).value ; LOGINWITHPASSWORD false; if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).style.display none; } showLoginForm(); } var loginOTPPrimaryFieldEditHandler () > { LOGINWITHPASSWORD false; if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).style.display none; } showLoginForm(); } var showLoginForm function() { const otpBoxes document.querySelectorAll(.login-otp-box); otpBoxes.forEach(function(otp) { otp.value ; }); document.getElementById(password-field).style.display none; document.getElementById(offcanvas-login-password).value ; document.getElementById(offcanvas-continue-btn).style.display inline-block; document.getElementById(login-error-txt).style.display none; $(#login-resend-text).css(display, inline-block); $(#login-with-password-trigger).css(display, none); $(.login-otp-modal).hide(); $(.offcanvas-login-modal).show(); } var clearLoginForm function() { document.getElementById(offcanvas-primary-field).value ; LOGINWITHPASSWORD false; if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).style.display none; } //resend otp btn reset if($(#offcanvas-login-resend-btn).attr(disabled)){ $(#offcanvas-login-resend-btn).attr(disabled, false); $(#offcanvas-login-resend-btn).css(cursor, pointer); $(#offcanvas-login-resend-btn).css(color, #2C52DF); $(.offcanvas-login-resend-timer).hide(); } showLoginForm(); } if(document.contains(document.querySelector(#login-with-password-trigger))){ document.getElementById(login-with-password-trigger).addEventListener(click, (e) > { e.preventDefault(); const otpBoxes document.querySelectorAll(.login-otp-box); otpBoxes.forEach(function(otp) { otp.value ; }); LOGINWITHPASSWORD true; if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).style.display block; } document.getElementById(password-field).style.display block; document.getElementById(offcanvas-login-password).value ; document.getElementById(offcanvas-login-submit-btn).disabled true; document.getElementById(offcanvas-continue-btn).style.display none; document.getElementById(login-error-txt).style.display none; $(#login-resend-text).css(display, inline-block); $(#login-with-password-trigger).css(display, none); $(.login-otp-modal).hide(); $(.offcanvas-login-modal).show(); }); } if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).addEventListener(click, (e) > { e.preventDefault(); const otpBoxes document.querySelectorAll(.login-otp-box); otpBoxes.forEach(function(otp) { otp.value ; }); LOGINWITHPASSWORD false; if(document.contains(document.querySelector(#login-with-otp-trigger))){ document.getElementById(login-with-otp-trigger).style.display none; } document.getElementById(password-field).style.display none; document.getElementById(offcanvas-login-password).value ; document.getElementById(offcanvas-continue-btn).style.display block; $(#login-resend-text).css(display, inline-block); $(#login-with-password-trigger).css(display, block); $(.offcanvas-login-modal).hide(); $(.login-otp-modal).show(); }); } function redirectToSignUp(e) { e.preventDefault(); document.getElementById(login-container-offcanvas).style.minHeight 0; document.getElementById(login-container-offcanvas).children0.style.display none; document.getElementById(sign-up-container-offcanvas).style.display block; }/script> /div> /div>/section>!-- /section> -->!-- section classoffcanvas offcanvas-start login-offcanvas tabindex-1 idsignupOffcanvas aria-labelledbyoffcanvasExampleLabel> div classoffcanvas-header> h5 classoffcanvas-title idoffcanvasExampleLabel>/h5> button idmodal-close-cross typebutton classbtn-close text-reset data-bs-dismisssignupOffcanvas aria-labelClose>/button> /div> div classoffcanvas-body> /div>/section> -->script srchttps://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js>/script>section idrendered-modal>/section>!-- a classbtn btn-primary idopen-login-modal data-bs-toggleoffcanvas href#offcanvasExample rolebutton aria-controlsoffcanvasExample styledisplay: none; position: absolute; inset: 0; margin-top: 12px;> Link with href/a> -->script> ACTIVE_INTRVALS ; try { var accessLocationEndpointRegex /^\/course\/(^\/+)-(\d+)(\/checkout)?$/; var accessLocationEndpointRegexForJoinClass /\/edmingleliveclass\/join/; if(accessLocationEndpointRegex.test(window.location.pathname)){ accessLocation true; } if(accessLocationEndpointRegexForJoinClass.test(window.location.pathname)){ accessLocation true reloadAccessLocation true; } } catch (error) { console.log(error); } window.verifySignup async (buttonContainer, closeModalAction, cb) > { try { localStorage.setItem(RenderEnginePendingTask, buttonContainer.getAttribute(onclick)); localStorage.setItem(offCanvasCloseModalAction, closeModalAction) let isEnrollForFreeClicked buttonContainer.classList.contains(eds-banner-section-efree-btn) ? true : false; if(isEnrollForFreeClicked){ localStorage.setItem(isEnrollForFree, true); } } catch (error) { console.log(error); } let interval setInterval(async () > { if (localStorage.getItem(apikey)) { // document.getElementById(open-loginOffcanvas-modal).click(); cb(); clearInterval(interval); ACTIVE_INTRVALS ACTIVE_INTRVALS.filter(item > item ! interval); return; } }, 1000); if (ACTIVE_INTRVALS.indexOf(interval) ! -1) ACTIVE_INTRVALS.push(interval); }; window.cleanUpVerifySignUp () > { ACTIVE_INTRVALS.forEach((interval) > { clearInterval(interval); }); let action localStorage.getItem(offCanvasCloseModalAction); if (action){ if(typeof window.buttonContainer ! undefined){ if (typeof windowaction function) { windowaction(); } else { console.warn(`Action ${action} is not a valid function`); } window.buttonContainer null; } localStorage.removeItem(offCanvasCloseModalAction); localStorage.removeItem(RenderEnginePendingTask); localStorage.removeItem(isEnrollForFree); } } document.getElementById(modal-close-cross).addEventListener(click, cleanUpVerifySignUp);/script> /div> footer idfooter-main aria-labelnavigation classp-2 styleheight: 106;>style> /style>div classcontainer-lg>div classmt-2 footer-links justify-content-center styledisplay: flex; align-items: center;>a hrefhttps://app.tinkerbrix.cc/ classnav-item footer target_blank styledisplay: block;>CODE HERE/a>a hrefhttps://learn.tinkerbrix.cc/verify-certificate?previewapikey5a80fb34d4ec552a2e4ef2313a677d1a&previewthemeid771 classnav-item footer target_blank styledisplay: block;>VERIFY CERTIFICATE/a>/div>div classfooter-below d-flex flex-column justify-content-center>div classmy-2 socialmedia d-flex justify-content-center> a hrefhttps://www.facebook.com/connectlebdu target_blank> svg width24 height24 viewBox0 0 24 24 fillnone xmlnshttp://www.w3.org/2000/svg> path dM0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12Z fill#1877F2/> path dM18 12C18 8.7 15.3 6 12 6C8.7 6 6 8.7 6 12C6 15 8.175 17.475 11.025 17.925V13.725H9.525V12H11.025V10.65C11.025 9.15 11.925 8.325 13.275 8.325C13.95 8.325 14.625 8.475 14.625 8.475V9.975H13.875C13.125 9.975 12.9 10.425 12.9 10.875V12H14.55L14.25 13.725H12.825V18C15.825 17.55 18 15 18 12Z fillwhite/> /svg> /a> a hrefhttps://www.youtube.com/channel/UCLQ0HRDvtq4ujJ0PrU7sEcg target_blank> svg width24 height24 viewBox0 0 24 24 fillnone xmlnshttp://www.w3.org/2000/svg> path dM0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12Z fill#FF0000/> path dM17.7 9.07188C17.55 8.54688 17.175 8.17188 16.65 8.02188C15.75 7.79688 11.925 7.79688 11.925 7.79688C11.925 7.79688 8.175 7.79688 7.2 8.02188C6.675 8.17188 6.3 8.54688 6.15 9.07188C6 10.0469 6 11.9969 6 11.9969C6 11.9969 6 13.9469 6.225 14.9219C6.375 15.4469 6.75 15.8219 7.275 15.9719C8.175 16.1969 12 16.1969 12 16.1969C12 16.1969 15.75 16.1969 16.725 15.9719C17.25 15.8219 17.625 15.4469 17.775 14.9219C18 13.9469 18 11.9969 18 11.9969C18 11.9969 18 10.0469 17.7 9.07188ZM10.8 13.7969V10.1969L13.95 11.9969L10.8 13.7969Z fillwhite/> /svg> /a> a hrefhttps://www.linkedin.com/company/lebdu-com/ target_blank> svg width24 height24 viewBox0 0 24 24 fillnone xmlnshttp://www.w3.org/2000/svg> path dM0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12Z fill#2867B2/> path dM8.7 18H6.15V9.975H8.7V18ZM7.425 8.85C6.6 8.85 6 8.25 6 7.425C6 6.6 6.675 6 7.425 6C8.25 6 8.85 6.6 8.85 7.425C8.85 8.25 8.25 8.85 7.425 8.85ZM18 18H15.45V13.65C15.45 12.375 14.925 12 14.175 12C13.425 12 12.675 12.6 12.675 13.725V18H10.125V9.975H12.525V11.1C12.75 10.575 13.65 9.75 14.925 9.75C16.35 9.75 17.85 10.575 17.85 13.05V18H18Z fillwhite/> /svg> /a> a hrefhttps://instagram.com/lebduconnect?igshid1lzjya2dxm7ng target_blank> svg width24 height24 viewBox0 0 24 24 fillnone xmlnshttp://www.w3.org/2000/svg> path dM0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12Z fill#F00073/> path dM11.9984 6.89844C13.6484 6.89844 13.8734 6.89844 14.5484 6.89844C15.1484 6.89844 15.4484 7.04844 15.6734 7.12344C15.9734 7.27344 16.1984 7.34844 16.4234 7.57344C16.6484 7.79844 16.7984 8.02344 16.8734 8.32344C16.9484 8.54844 17.0234 8.84844 17.0984 9.44844C17.0984 10.1234 17.0984 10.2734 17.0984 11.9984C17.0984 13.7234 17.0984 13.8734 17.0984 14.5484C17.0984 15.1484 16.9484 15.4484 16.8734 15.6734C16.7234 15.9734 16.6484 16.1984 16.4234 16.4234C16.1984 16.6484 15.9734 16.7984 15.6734 16.8734C15.4484 16.9484 15.1484 17.0234 14.5484 17.0984C13.8734 17.0984 13.7234 17.0984 11.9984 17.0984C10.2734 17.0984 10.1234 17.0984 9.44844 17.0984C8.84844 17.0984 8.54844 16.9484 8.32344 16.8734C8.02344 16.7234 7.79844 16.6484 7.57344 16.4234C7.34844 16.1984 7.19844 15.9734 7.12344 15.6734C7.04844 15.4484 6.97344 15.1484 6.89844 14.5484C6.89844 13.8734 6.89844 13.7234 6.89844 11.9984C6.89844 10.2734 6.89844 10.1234 6.89844 9.44844C6.89844 8.84844 7.04844 8.54844 7.12344 8.32344C7.27344 8.02344 7.34844 7.79844 7.57344 7.57344C7.79844 7.34844 8.02344 7.19844 8.32344 7.12344C8.54844 7.04844 8.84844 6.97344 9.44844 6.89844C10.1234 6.89844 10.3484 6.89844 11.9984 6.89844ZM11.9984 5.77344C10.2734 5.77344 10.1234 5.77344 9.44844 5.77344C8.77344 5.77344 8.32344 5.92344 7.94844 6.07344C7.57344 6.22344 7.19844 6.44844 6.82344 6.82344C6.44844 7.19844 6.29844 7.49844 6.07344 7.94844C5.92344 8.32344 5.84844 8.77344 5.77344 9.44844C5.77344 10.1234 5.77344 10.3484 5.77344 11.9984C5.77344 13.7234 5.77344 13.8734 5.77344 14.5484C5.77344 15.2234 5.92344 15.6734 6.07344 16.0484C6.22344 16.4234 6.44844 16.7984 6.82344 17.1734C7.19844 17.5484 7.49844 17.6984 7.94844 17.9234C8.32344 18.0734 8.77344 18.1484 9.44844 18.2234C10.1234 18.2234 10.3484 18.2234 11.9984 18.2234C13.6484 18.2234 13.8734 18.2234 14.5484 18.2234C15.2234 18.2234 15.6734 18.0734 16.0484 17.9234C16.4234 17.7734 16.7984 17.5484 17.1734 17.1734C17.5484 16.7984 17.6984 16.4984 17.9234 16.0484C18.0734 15.6734 18.1484 15.2234 18.2234 14.5484C18.2234 13.8734 18.2234 13.6484 18.2234 11.9984C18.2234 10.3484 18.2234 10.1234 18.2234 9.44844C18.2234 8.77344 18.0734 8.32344 17.9234 7.94844C17.7734 7.57344 17.5484 7.19844 17.1734 6.82344C16.7984 6.44844 16.4984 6.29844 16.0484 6.07344C15.6734 5.92344 15.2234 5.84844 14.5484 5.77344C13.8734 5.77344 13.7234 5.77344 11.9984 5.77344Z fillwhite/> path dM11.9984 8.77344C10.1984 8.77344 8.77344 10.1984 8.77344 11.9984C8.77344 13.7984 10.1984 15.2234 11.9984 15.2234C13.7984 15.2234 15.2234 13.7984 15.2234 11.9984C15.2234 10.1984 13.7984 8.77344 11.9984 8.77344ZM11.9984 14.0984C10.8734 14.0984 9.89844 13.1984 9.89844 11.9984C9.89844 10.8734 10.7984 9.89844 11.9984 9.89844C13.1234 9.89844 14.0984 10.7984 14.0984 11.9984C14.0984 13.1234 13.1234 14.0984 11.9984 14.0984Z fillwhite/> path dM15.2984 9.44844C15.7127 9.44844 16.0484 9.11265 16.0484 8.69844C16.0484 8.28422 15.7127 7.94844 15.2984 7.94844C14.8842 7.94844 14.5484 8.28422 14.5484 8.69844C14.5484 9.11265 14.8842 9.44844 15.2984 9.44844Z fillwhite/> /svg> /a>/div>hr classmy-2 stylepadding: 0;>div classd-flex flex-column align-items-center justify-content-center> span stylecolor: #B2BCC7>Powered By/span> a hrefhttps://www.edmingle.com/ target_blank> svg xmlnshttp://www.w3.org/2000/svg width134 height52 viewBox0 0 134 52 fillnone> g clip-pathurl(#clip0_1989_25198)> path dM37.9336 32.9418C34.0679 32.9418 31.3594 30.1281 31.3594 26.1047C31.3594 22.0287 34.0153 19.2149 37.8284 19.2149C41.7203 19.2149 44.1922 21.8183 44.1922 25.868V26.841L34.4098 26.8673C34.6465 29.1551 35.8561 30.3121 37.9862 30.3121C39.748 30.3121 40.9051 29.6284 41.2732 28.3925H44.2448C43.6925 31.2325 41.3258 32.9418 37.9336 32.9418ZM37.8547 21.8446C35.9613 21.8446 34.8042 22.8702 34.4887 24.8161H41.0103C41.0103 23.0279 39.7743 21.8446 37.8547 21.8446Z fill#0A2540/> path dM50.8437 32.9418C47.0833 32.9418 44.7428 30.1807 44.7428 26.1573C44.7428 22.1075 47.1096 19.2149 51.0278 19.2149C52.8422 19.2149 54.4463 19.9775 55.2615 21.2661V13.0352H58.4434V32.6H55.4982L55.2878 30.5751C54.4989 32.074 52.8159 32.9418 50.8437 32.9418ZM51.5537 29.9966C53.7889 29.9966 55.2352 28.3925 55.2352 26.0521C55.2352 23.7117 53.7889 22.0813 51.5537 22.0813C49.3185 22.0813 47.951 23.738 47.951 26.0521C47.951 28.3662 49.3185 29.9966 51.5537 29.9966Z fill#0A2540/> path dM63.7407 32.6H60.5325V19.6094H63.4777L63.7407 21.1346C64.3981 20.0564 65.7129 19.2149 67.58 19.2149C69.5522 19.2149 70.9197 20.1879 71.6034 21.6868C72.2608 20.1879 73.786 19.2149 75.7583 19.2149C78.9139 19.2149 80.6495 21.1083 80.6495 24.1061V32.6H77.4676V24.9476C77.4676 23.0805 76.4683 22.1075 74.9431 22.1075C73.3916 22.1075 72.2082 23.1068 72.2082 25.2369V32.6H69V24.9213C69 23.1068 68.027 22.1338 66.5018 22.1338C64.9766 22.1338 63.7407 23.1331 63.7407 25.2369V32.6Z fill#0A2540/> path dM84.1487 17.006C83.0442 17.006 82.1764 16.1382 82.1764 15.06C82.1764 13.9818 83.0442 13.1403 84.1487 13.1403C85.2005 13.1403 86.0683 13.9818 86.0683 15.06C86.0683 16.1382 85.2005 17.006 84.1487 17.006ZM82.5446 32.6V19.6094H85.7528V32.6H82.5446Z fill#0A2540/> path dM91.0212 32.6H87.813V19.6094H90.7846L91.0475 21.2923C91.8627 19.9775 93.4405 19.2149 95.2024 19.2149C98.4632 19.2149 100.146 21.2398 100.146 24.6057V32.6H96.938V25.3684C96.938 23.1857 95.8598 22.1338 94.2031 22.1338C92.2309 22.1338 91.0212 23.5013 91.0212 25.605V32.6Z fill#0A2540/> path dM101.308 25.8154C101.308 22.0287 103.78 19.1886 107.487 19.1886C109.433 19.1886 110.959 20.0038 111.721 21.3975L111.905 19.6094H114.877V31.9426C114.877 36.2815 112.273 38.9901 108.066 38.9901C104.332 38.9901 101.781 36.86 101.387 33.3889H104.595C104.805 35.0719 106.094 36.0711 108.066 36.0711C110.275 36.0711 111.695 34.6774 111.695 32.5211V30.3647C110.88 31.5744 109.276 32.337 107.408 32.337C103.727 32.337 101.308 29.5758 101.308 25.8154ZM104.542 25.7365C104.542 27.9191 105.936 29.5495 108.04 29.5495C110.249 29.5495 111.616 27.998 111.616 25.7365C111.616 23.5276 110.275 22.0024 108.04 22.0024C105.91 22.0024 104.542 23.6065 104.542 25.7365Z fill#0A2540/> path dM120.177 32.6H116.995V13.0352H120.177V32.6Z fill#0A2540/> path dM128.1 32.9418C124.234 32.9418 121.525 30.1281 121.525 26.1047C121.525 22.0287 124.181 19.2149 127.994 19.2149C131.886 19.2149 134.358 21.8183 134.358 25.868V26.841L124.576 26.8673C124.813 29.1551 126.022 30.3121 128.152 30.3121C129.914 30.3121 131.071 29.6284 131.439 28.3925H134.411C133.859 31.2325 131.492 32.9418 128.1 32.9418ZM128.021 21.8446C126.127 21.8446 124.97 22.8702 124.655 24.8161H131.176C131.176 23.0279 129.94 21.8446 128.021 21.8446Z fill#0A2540/> g clip-pathurl(#clip1_1989_25198)> path dM21.95 19.7288C23.682 19.7288 25.0859 18.3248 25.0859 16.5929C25.0859 14.861 23.682 13.457 21.95 13.457L3.13471 13.457C1.40281 13.457 -0.00117874 14.861 -0.00117874 16.5929C-0.00117874 18.3248 1.40281 19.7288 3.13471 19.7288H21.95Z fill#293FFF/> path dM24.1705 18.8124C25.3952 17.5878 25.3952 15.6022 24.1705 14.3776C22.9459 13.1529 20.9604 13.1529 19.7357 14.3776L6.43127 27.6821C5.20662 28.9067 5.20662 30.8922 6.43127 32.1169C7.65591 33.3415 9.64144 33.3415 10.8661 32.1169L24.1705 18.8124Z fill#1579FF/> path dM25.0843 16.5929C25.0843 14.861 23.6803 13.457 21.9484 13.457C20.2165 13.457 18.8125 14.861 18.8125 16.5929V35.4083C18.8125 37.1402 20.2165 38.5442 21.9484 38.5442C23.6803 38.5442 25.0843 37.1402 25.0843 35.4083V16.5929Z fill#00B3FF/> /g> /g> defs> clipPath idclip0_1989_25198> rect width134 height52 fillwhite/> /clipPath> clipPath idclip1_1989_25198> rect width25.0871 height25.0872 fillwhite transformtranslate(0 13.457)/> /clipPath> /defs> /svg> /a>/div>div classmy-2 d-flex justify-content-center>ul classnavbar-nav styledisplay: flex; align-items: center;>div classnav-item copyright styledisplay: block;>© 2025 Tinkerbrix/div>/ul>/div>/div>/div>/footer> link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/assets/scripts/glide/css/glide.core.css relstylesheet/> link hrefhttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/assets/scripts/glide/css/glide.theme.css relstylesheet/> script srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/assets/scripts/glide/glide.js typetext/javascript>/script> script srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/sitebuilder/box/box-flex.js typetext/javascript>/script> /div> div idpopup-modal> /div> script>let GlobalLaunchModal async (state, type, loadingMessageFirstLine , loadingMessageSecondLine, jsonName, modalTitlenull ) > { let template, renderedModalTemplate, template_dependencies; if(state loading) { if(type1){ template LOADING_MODAL_FULL; } else if(type2){ template LOADING_MODAL_SMALL; } template_dependencies { loadingMessageFirstLine: loadingMessageFirstLine, loadingMessageSecondLine: loadingMessageSecondLine, jsonName: jsonName, modalTitle: modalTitle }; } if (template_dependencies) renderedModalTemplate template_dependencies ? await ejs.render(template, template_dependencies) : template; document.getElementById(popup-modal).innerHTML renderedModalTemplate; $(#globalLaunchModal).modal(show);}let CloseGlobalModal async ()>{ $(#globalLaunchModal).modal(hide);}var LOADING_MODAL_FULL`div classmodal top fullGlobalModal idglobalLaunchModal tabindex-1 aria-labelledbyglobalLaunchModalLabel1 aria-hiddentrue data-mdb-backdroptrue data-mdb-keyboardtrue> div classmodal-dialog modal-fullscreen> div classmodal-content> div classmodal-body globalLaunchModal> lottie-player classcard-img-top srchttps://edmingle.b-cdn.net/edmingle_websitebuilder/lottie/% jsonName %>.json backgroundtransparent speed1 stylemax-width: 200px; max-height: 200px; width:100%;height:100%; loop autoplay>/lottie-player> h6>% loadingMessageFirstLine %>.../h6> p>% loadingMessageSecondLine %>p> /div> /div> /div> /div>`;var LOADING_MODAL_SMALL`div classmodal idglobalLaunchModal tabindex-1 aria-labelledbyglobalLaunchModalLabel2 aria-hiddentrue> div classmodal-dialog> div classmodal-content> div classmodal-header> h5 classmodal-title>% modalTitle %>/h5> button typebutton classbtn-close data-bs-dismissmodal aria-labelClose>/button> /div> div classmodal-body globalLaunchModal> h6>% loadingMessageFirstLine %>/h6> %- loadingMessageSecondLine %> /div> /div> /div> /div>`;/script>/body>link relstylesheet hrefhttps://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css>a hrefhttps://api.whatsapp.com/send?phone918510044836&textHello%21%20Welcome%20to%20Tinkerbrix Support%C3%20%20%20 classfloat target_blank>i classfa fa-whatsapp my-float>/i>/a>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]