PageSourceSearch

https://www.whiteboard.chat/static/js/6.add9f37d.chunk.js

js whiteboard.chat collected 2026-09-24 19:58:42 UTC 231,296 bytes, 1 lines download raw bytes

1(this.webpackJsonpcollaborate=this.webpackJsonpcollaborate||[]).push([[6],{1316:function(n,e,t){"use strict";e.a={aws_project_region:"us-east-2",aws_cognito_identity_pool_id:"us-east-2:e8634429-d135-43f7-9055-018cad230f45",aws_cognito_region:"us-east-2",aws_user_pools_id:"us-east-2_61SKKCWde",aws_user_pools_web_client_id:"6106f5gs2ggu24mk2adv6e1vo4",oauth:{domain:"whiteboard-master.auth.us-east-2.amazoncognito.com",scope:["phone","email","openid","profile","aws.cognito.signin.user.admin"],redirectSignIn:"http://localhost:3000/login/,https://eb.epiphani.ai/login/,https://www.shayr.us/login/,https://www.whiteboard.chat/login/,https://newpmdev.drtb0o61d9u0.amplifyapp.com/login/,https://www.asia.whiteboard.chat/login/,https://wb.whiteboard.chat/login/,https://uswest.whiteboard.chat/login/,https://restricted.whiteboard.chat/login/",redirectSignOut:"http://localhost:3000/logout/,https://eb.epiphani.ai/logout/,https://www.shayr.us/logout/,https://www.whiteboard.chat/logout/,https://newpmdev.drtb0o61d9u0.amplifyapp.com/logout/,https://www.asia.whiteboard.chat/logout/,https://wb.whiteboard.chat/logout/,https://uswest.whiteboard.chat/logout/,https://restricted.whiteboard.chat/logout/",responseType:"code"},federationTarget:"COGNITO_USER_POOLS",aws_cognito_username_attributes:["EMAIL"],aws_cognito_social_providers:["FACEBOOK","GOOGLE"],aws_cognito_signup_attributes:["EMAIL"],aws_cognito_mfa_configuration:"OFF",aws_cognito_mfa_types:["SMS"],aws_cognito_password_protection_settings:{passwordPolicyMinLength:8,passwordPolicyCharacters:[]},aws_cognito_verification_mechanisms:["EMAIL"],aws_appsync_graphqlEndpoint:"https://zfwoao5vafh6noze7valybuld4.appsync-api.us-east-2.amazonaws.com/graphql",aws_appsync_region:"us-east-2",aws_appsync_authenticationType:"AMAZON_COGNITO_USER_POOLS",aws_cloud_logic_custom:[{name:"serviceApi",endpoint:"https://b5rbaoc2ak.execute-api.us-east-2.amazonaws.com/master",region:"us-east-2"},{name:"tenantApi",endpoint:"https://fgbpfcmaw3.execute-api.us-east-2.amazonaws.com/master",region:"us-east-2"}],aws_user_files_s3_bucket:"collaborate637449bed9df4b3d944f19e6b9b6effe93353-master",aws_user_files_s3_bucket_region:"us-east-2",aws_cognito_login_mechanisms:["EMAIL"]}},1323:function(n,e,t){"use strict";t.d(e,"a",(function(){return o}));var r=t(231),o=function(){var n={},e={},t=null,o=null;function a(){var e=Object.keys(n).map((function(e){return n[e]}));e.sort((function(n,e){return n.createTime-e.createTime}));for(var o=0;o<e.length;o++){var a=e[o];a.ended&&(a.created?(delete a.intype,delete a.created,delete a.createTime,r.Zd(a).then((function(e){var t=e.data.updateObject;n[t.id]&&(n[t.id].created=!0)}))):(delete a.intype,delete a.createTime,r.ib(a).then((function(e){var t=e.data.createObject;t.ended||(n[t.id].created=!0)}))),a.ended&&(t&&t(n[a.id]),delete n[a.id]))}}function i(){null!=o&&(clearTimeout(o),o=null),o=setTimeout(a,300)}return{initCache:function(n){}
1,newObj:function(e,r){t=r,e.id?(i(),n[e.id]=JSON.parse(JSON.stringify(e)),n[e.id].createTime=(new Date).getTime()):console.error("GOT BAD OBJ",e)},updateObj:function(e){e.id?(i(),n[e.id]&&n[e.id].created&&(e.created=n[e.id].created),n[e.id]&&(e.createTime=n[e.id].createTime),n[e.id]=e):console.error("GOT BAD OBJ",e)},endPath:function(e){e.id?(i(),n[e.id]&&n[e.id].created&&(e.created=n[e.id].created),n[e.id]&&(e.createTime=n[e.id].createTime),n[e.id]=e):console.error("GOT BAD OBJ",e)},cacheSubs:function(n,t,r,a,i){return!!o&&(e[n.id]={o:n,d:t,i:r,c:a,cb:i},!0)},delObject:function(e){delete n[e]},stillDrawing:function(){i()}}}()},231:function(n,e,t){"use strict";t.d(e,"h",(function(){return yn})),t.d(e,"g",(function(){return Tn})),t.d(e,"Dd",(function(){return vn})),t.d(e,"f",(function(){return On})),t.d(e,"k",(function(){return Sn})),t.d(e,"nc",(function(){return Bn})),t.d(e,"xc",(function(){return Mn})),t.d(e,"Mc",(function(){return Ln})),t.d(e,"ic",(function(){return _n})),t.d(e,"e",(function(){return qn})),t.d(e,"Sc",(function(){return Fn})),t.d(e,"L",(function(){return Vn})),t.d(e,"zb",(function(){return zn})),t.d(e,"ob",(function(){return Zn})),t.d(e,"pb",(function(){return Xn})),t.d(e,"qb",(function(){return ne})),t.d(e,"Xb",(function(){return ee})),t.d(e,"bc",(function(){return re})),t.d(e,"Qb",(function(){return ae})),t.d(e,"Yb",(function(){return se})),t.d(e,"Fb",(function(){return de})),t.d(e,"Kb",(function(){return le})),t.d(e,"Sb",(function(){return pe})),t.d(e,"Nd",(function(){return me})),t.d(e,"Md",(function(){return ge})),t.d(e,"Od",(function(){return ye})),t.d(e,"Lb",(function(){return Ie})),t.d(e,"lb",(function(){return De})),t.d(e,"Hb",(function(){return he})),t.d(e,"Db",(function(){return ke})),t.d(e,"ee",(function(){return Se})),t.d(e,"Cc",(function(){return we})),t.d(e,"Ec",(function(){return Ae})),t.d(e,"Lc",(function(){return $e})),t.d(e,"me",(function(){return je})),t.d(e,"be",(function(){return Be})),t.d(e,"kc",(function(){return Ue})),t.d(e,"Zb",(function(){return Le})),t.d(e,"jb",(function(){return Re})),t.d(e,"kb",(function(){return Je})),t.d(e,"ud",(function(){return _e})),t.d(e,"vc",(function(){return qe})),t.d(e,"Kd",(function(){return Fe})),t.d(e,"Zd",(function(){return Ke})),t.d(e,"bd",(function(){return Ve})),t.d(e,"cd",(function(){return We})),t.d(e,"Oc",(function(){return Qe})),t.d(e,"i",(function(){return He})),t.d(e,"cc",(function(){return Ye})),t.d(e,"yb",(function(){return Xe})),t.d(e,"le",(function(){return et})),t.d(e,"md",(function(){return tt})),t.d(e,"z",(function(){return rt})),t.d(e,"m",(function(){return ot})),t.d(e,"n",(function(){return it})),t.d(e,"rb",(function(){return st})),t.d(e,"gb",(function(){return ut})),t.d(e,"Jd",(function(){return Et})),t.d(e,"vd",(function(){return Ut})),t.d(e,"ib",(function(){return Lt})),t.d(e,"qe",(function(){return Rt})),t.d(e,"j",(function(){return Jt})),t.d(e,"jc",(function(){return qt})),t.d(e,"Nc",(function(){return Ft})),t.d(e,"wd",(function(){return Kt})),t.d(e,"zd",(function(){return Wt})),t.d(e,"Qc",(function(){return zt})),t.d(e,"qd",(function(){return Qt})),t.d(e,"Fd",(function(){return Zt})),t.d(e,"fd",(function(){return Yt})),t.d(e,"p",(function(){return Xt})),t.d(e,"V",(function(){return nr})),t.d(e,"Rd",(function(){return er})),t.d(e,"lc",(function(){return tr})),t.d(e,"c",(function(){return ar})),t.d(e,"sc",(function(){return sr})),t.d(e,"fb",(function(){return ur})),t.d(e,"Yd",(function(){return cr})),t.d(e,"ad",(function(){return dr})),t.d(e,"w",(function(){return lr})),t.d(e,"Dc",(function(){return pr})),t.d(e,"dd",(function(){return mr})),t.d(e,"o",(function(){return br})),t.d(e,"B",(function(){return gr})),t.d(e,"P",(function(){return yr})),t.d(e,"Gb",(function(){return Tr})),t.d(e,"td",(function(){return Ir})),t.d(e,"b",(function(){return vr})),t.d(e,"A",(function(){return Dr})),t.d(e,"H",(function(){return hr})),t.d(e,"I",(function(){return xr})),t.d(e,"F",(function(){return kr})),t.d(e,"Kc",(function(){return Or})),t.d(e,"Ib",(function(){return Ar})),t.d(e,"Vc",(function(){return $r})),t.d(e,"q",(function(){return jr})),t.d(e,"s",(function(){return Br})),t.d(e,"eb",(function(){return Pr})),t.d(e,"hb",(function(){return Nr})),t.d(e,"Xd",(function(){return Mr})),t.d(e,"mc",(function(){return Er})),t.d(e,"W",(function(){return Ur})),t.d(e,"Sd",(function(){return Gr})),t.d(e,"Wc",(function(){return Lr})),t.d(e,"Eb",(function(){return _r})),t.d(e,"r",(function(){return qr})),t.d(e,"ab",(function(){return Fr})),t.d(e,"Pc",(function(){return zr})),t.d(e,"a",(function(){return Qr})),t.d(e,"l",(function(){return Zr})),t.d(e,"yd",(function(){return Hr})),t.d(e,"Ad",(function(){return Yr})),t.d(e,"Qd",(function(){return Xr})),t.d(e,"U",(function(){return eo})),t.d(e,"Pd",(function(){return to})),t.d(e,"d",(function(){return ro})),t.d(e,"u",(function(){return oo})),t.d(e,"cb",(function(){return ao})),t.d(e,"Vd",(function(){return io})),t.d(e,"Jb",(function(){return so})),t.d(e,"M",(function(){return uo})),t.d(e,"sd",(function(){return co})),t.d(e,"nb",(function(){return lo})),t.d(e,"Xc",(function(){return po})),t.d(e,"Td",(function(){return mo})),t.d(e,"X",(function(){return bo})),t.d(e,"dc",(function(){return go})),t.d(e,"mb",(function(){return Co})),t.d(e,"ce",(function(){return yo})),t.d(e,"Mb",(function(){return To})),t.d(e,"x",(function(){return Io})),t.d(e,"Y",(function(){return vo})),t.d(e,"db",(function(){return Do})),t.d(e,"Wd",(function(){return ho})),t.d(e,"ac",(function(){return xo})),t.d(e,"v",(function(){return ko})),t.d(e,"rc",(function(){return Oo})),t.d(e,"gc",(function(){return wo}
1)),t.d(e,"nd",(function(){return $o})),t.d(e,"Ab",(function(){return jo})),t.d(e,"hc",(function(){return Bo})),t.d(e,"Bb",(function(){return Po})),t.d(e,"T",(function(){return No})),t.d(e,"S",(function(){return Mo})),t.d(e,"G",(function(){return Eo})),t.d(e,"ub",(function(){return Uo})),t.d(e,"de",(function(){return Go})),t.d(e,"Tb",(function(){return _o})),t.d(e,"od",(function(){return qo})),t.d(e,"D",(function(){return Ko})),t.d(e,"E",(function(){return Qo})),t.d(e,"Id",(function(){return Zo})),t.d(e,"J",(function(){return Ho})),t.d(e,"re",(function(){return Yo})),t.d(e,"Cb",(function(){return Xo})),t.d(e,"Cd",(function(){return na})),t.d(e,"Bd",(function(){return ea})),t.d(e,"Q",(function(){return ta})),t.d(e,"Bc",(function(){return ra})),t.d(e,"tc",(function(){return aa})),t.d(e,"ae",(function(){return sa})),t.d(e,"R",(function(){return ua})),t.d(e,"Rb",(function(){return la})),t.d(e,"oc",(function(){return pa})),t.d(e,"Ed",(function(){return fa})),t.d(e,"Z",(function(){return ma})),t.d(e,"t",(function(){return Ca})),t.d(e,"yc",(function(){return ya})),t.d(e,"Fc",(function(){return Ta})),t.d(e,"Vb",(function(){return Ia})),t.d(e,"pd",(function(){return va})),t.d(e,"qc",(function(){return ha})),t.d(e,"Ac",(function(){return ka})),t.d(e,"fc",(function(){return Sa})),t.d(e,"oe",(function(){return Aa})),t.d(e,"pe",(function(){return $a})),t.d(e,"se",(function(){return Ba})),t.d(e,"Hd",(function(){return Ga})),t.d(e,"te",(function(){return Ja})),t.d(e,"wc",(function(){return _a})),t.d(e,"sb",(function(){return qa})),t.d(e,"Gc",(function(){return Fa})),t.d(e,"ge",(function(){return Ka})),t.d(e,"Nb",(function(){return Va})),t.d(e,"hd",(function(){return Wa})),t.d(e,"ec",(function(){return Qa})),t.d(e,"ed",(function(){return Za})),t.d(e,"gd",(function(){return Ha})),t.d(e,"C",(function(){return Ya})),t.d(e,"xd",(function(){return Xa})),t.d(e,"id",(function(){return ei})),t.d(e,"Hc",(function(){return ti}
1)),t.d(e,"jd",(function(){return ri})),t.d(e,"he",(function(){return oi})),t.d(e,"tb",(function(){return ai})),t.d(e,"pc",(function(){return ii})),t.d(e,"Zc",(function(){return si})),t.d(e,"Yc",(function(){return ui})),t.d(e,"bb",(function(){return di})),t.d(e,"Ud",(function(){return li})),t.d(e,"ne",(function(){return pi})),t.d(e,"N",(function(){return fi})),t.d(e,"uc",(function(){return mi})),t.d(e,"Tc",(function(){return bi})),t.d(e,"Ld",(function(){return gi})),t.d(e,"rd",(function(){return Ci})),t.d(e,"xb",(function(){return yi})),t.d(e,"ke",(function(){return Ti})),t.d(e,"Jc",(function(){return Ii})),t.d(e,"vb",(function(){return vi})),t.d(e,"ie",(function(){return Di})),t.d(e,"Ic",(function(){return hi})),t.d(e,"Ob",(function(){return xi})),t.d(e,"Uc",(function(){return ki})),t.d(e,"fe",(function(){return Si})),t.d(e,"O",(function(){return wi})),t.d(e,"wb",(function(){return $i})),t.d(e,"je",(function(){return ji})),t.d(e,"Pb",(function(){return Bi})),t.d(e,"Wb",(function(){return Li})),t.d(e,"Gd",(function(){return Ji})),t.d(e,"zc",(function(){return qi})),t.d(e,"kd",(function(){return Ki})),t.d(e,"ld",(function(){return Wi})),t.d(e,"y",(function(){return Qi})),t.d(e,"Ub",(function(){return Hi})),t.d(e,"Rc",(function(){return Xi})),t.d(e,"K",(function(){return ns}));var r,o=t(10),a=t(11),i=t(39),s=t(6),u=t.n(s),c=t(90),d=t(2),l=t(9),p=t(19),f="\n  query ListCommunityBoards(\n    $filter: ModelCommunityBoardFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listCommunityBoards(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        name\n        description\n        creator\n        creatorEmail\n        CreatorLocalID\n        Country\n        Grade\n        Subject\n        boardLink\n        content\n        createdAt\n        updatedAt\n        title\n        deleted\n      }\n      nextToken\n    }\n  }\n",m="\n  query GetClassroom($id: ID!) {\n    getClassroom(id: $id) {\n      id\n      name\n      TeacherID\n      content\n      Teacher {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      Users {\n        items {\n          id\n          content\n          createdAt\n          updatedAt\n          CurrentSessionId\n          CurrentUserId\n          ClassroomID\n          ttl\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      createdAt\n      updatedAt\n      TeacherList\n    }\n  }\n",b="\n  query ListTutorGroups(\n    $filter: ModelTutorGroupFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listTutorGroups(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        name\n        createdAt\n        updatedAt\n        config\n        roster\n        creator\n        TenantID\n        tutorClasses {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n",g="\n  query ListFrequentEngagementMins(\n    $filter: ModelFrequentEngagementMinFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listFrequentEngagementMins(\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        AvatarName\n        Public\n        Minutes\n        Rating\n        Ranking\n        Content\n        TierQualifingPoints\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n",C="\n  query GetTenant($id: ID!) {\n    getTenant(id: $id) {\n      id\n      name\n      domainName\n      createdAt\n      updatedAt\n      entitlements\n      adminUsers\n      tenantConfig\n      secondaryDomainConfig\n      licensedUsers {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          email\n          boardConfig\n          avatar\n          personalConfig\n          emailOptIn\n          paidPlan\n          validTeacher\n          adminOfTenant\n          TenantID\n          FEMStatus\n          lastVisitedSubs\n          MemberOfTeam\n          TutorGroupID\n        }\n        nextToken\n      }\n    }\n  }\n",y="\n  query QueryByParent(\n    $parentID: ID\n    $pageNumber: ModelIntKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelSessionFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryByParent(\n      parentID: $parentID\n      pageNumber: $pageNumber\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      nextToken\n    }\n  }\n",T="\n  query QueryByClassroom(\n    $Classroom: ID\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelSessionFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryByClassroom(\n      Classroom: $Classroom\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      nextToken\n    }\n  }\n",I="\n  query QueryByCreatorLocalId(\n    $CreatorLocalID: ID\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelSessionFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryByCreatorLocalId(\n      CreatorLocalID: $CreatorLocalID\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      nextToken\n    }\n  }\n",v="\n  query QueryByGroupsClassroom(\n    $Classroom: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelClassGroupFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryByGroupsClassroom(\n      Classroom: $Classroom\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        createdAt\n        updatedAt\n        ttl\n        name\n        content\n        Classroom\n        SessionID\n        deleted\n      }\n      nextToken\n    }\n  }\n",D="\n  query QueryByEventsClassroom(\n    $Classroom: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelClassroomEventFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryByEventsClassroom(\n      Classroom: $Classroom\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        createdAt\n        updatedAt\n        ttl\n        type\n        event\n        For\n        State\n        Content\n        Classroom\n        deleted\n        TutorGroupID\n        TutorClassID\n      }\n      nextToken\n    }\n  }\n",h="\n  query QuerybyEngagementClass(\n    $Classroom: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelEngagementEventFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    querybyEngagementClass(\n      Classroom: $Classroom\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        createdAt\n        updatedAt\n        luid\n        name\n        time\n        ttl\n        Content\n        Classroom\n      }\n      nextToken\n    }\n  }\n",x="\n  query QueryLocalUserByClass(\n    $ClassroomID: ID\n    $createdAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelLocalUsersFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryLocalUserByClass(\n      ClassroomID: $ClassroomID\n      createdAt: $createdAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        content\n        createdAt\n        updatedAt\n        CurrentSession {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        CurrentSessionId\n        CurrentUserId\n        CurrentUser {\n          id\n          name\n          createdAt\n          updatedAt\n          SessionID\n          content\n          UserProfile\n          ttl\n          avatar\n        }\n        ClassroomID\n        ttl\n        deleted\n      }\n      nextToken\n    }\n  }\n",k="\n  query QueryByParentID(\n    $parentBoardID: ID\n    $sortDirection: ModelSortDirection\n    $filter: ModelMultiBoardFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryByParentID(\n      parentBoardID: $parentBoardID\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        parentBoardID\n        parentBoard {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        childBoardID\n        childBoard {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        ttl\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n",O="\n  query SessionSorted(\n    $SessionID: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelObjectFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    sessionSorted(\n      SessionID: $SessionID\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        content\n        type\n        objType\n        ended\n        createdAt\n        updatedAt\n        SessionID\n        ttl\n        animate\n        CreatedBy\n        CreatorLocalID\n        DisableSync\n        Session {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        deleted\n      }\n      nextToken\n    }\n  }\n",S="\n  query ByTeamTenant(\n    $TenantID: ID\n    $sortDirection: ModelSortDirection\n    $filter: ModelTeamFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    b
1yTeamTenant(\n      TenantID: $TenantID\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        TenantID\n        Members\n        Config\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n",w="\n  query UPByTenant(\n    $TenantID: ID\n    $sortDirection: ModelSortDirection\n    $filter: ModelUserProfileFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    UPByTenant(\n      TenantID: $TenantID\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      nextToken\n    }\n  }\n",A="\n  query QueryClassByTutorGroup(\n    $TutorGroupID: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelTutorClassFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryClassByTutorGroup(\n      TutorGroupID: $TutorGroupID\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        description\n        videoMode\n        createdAt\n        updatedAt\n        config\n        roster\n        TutorGroupID\n        TutorGroup {\n          id\n          name\n          createdAt\n          updatedAt\n          config\n          roster\n          creator\n          TenantID\n        }\n        Sessions\n        TutorClassEvents {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n",$="\n  query EventByTutorClass(\n    $TutorClassID: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelTutorClassEventFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    eventByTutorClass(\n      TutorClassID: $TutorClassID\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        createdAt\n        updatedAt\n        config\n        type\n        TutorGroupID\n        TutorGroup {\n          id\n          name\n          createdAt\n          updatedAt\n          config\n          roster\n          creator\n          TenantID\n        }\n        TutorClassID\n        TutorClass {\n          id\n          name\n          description\n          videoMode\n          createdAt\n          updatedAt\n          config\n          roster\n          TutorGroupID\n          Sessions\n        }\n      }\n      nextToken\n    }\n  }\n",j="\n  query ByUsersSessionSorted(\n    $SessionID: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelUserFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    byUsersSessionSorted(\n      SessionID: $SessionID\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        createdAt\n        updatedAt\n        SessionID\n        Session {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        content\n        UserProfile\n        ttl\n        avatar\n      }\n      nextToken\n    }\n  }\n",B="\n  query VideoRoomBySession(\n    $SessionID: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelVideoRoomFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    videoRoomBySession(\n      SessionID: $SessionID\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        SID\n        name\n        createdAt\n        updatedAt\n        state\n        url\n        content\n        SessionID\n        recordingTurnedOn\n        Session {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        ttl\n      }\n      nextToken\n    }\n  }
1\n",P="\n  query VideoRoomBySID(\n    $SID: String\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelVideoRoomFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    videoRoomBySID(\n      SID: $SID\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        SID\n        name\n        createdAt\n        updatedAt\n        state\n        url\n        content\n        SessionID\n        recordingTurnedOn\n        Session {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        ttl\n      }\n      nextToken\n    }\n  }\n",N="\n  mutation CreateSession(\n    $input: CreateSessionInput!\n    $condition: ModelSessionConditionInput\n  ) {\n    createSession(input: $input, condition: $condition) {\n      id\n      name\n      content\n      createdAt\n      updatedAt\n      Objects {\n        items {\n          id\n          name\n          content\n          type\n          objType\n          ended\n          createdAt\n          updatedAt\n          SessionID\n          ttl\n          animate\n          CreatedBy\n          CreatorLocalID\n          DisableSync\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      savedOwner\n      parentID\n      pageNumber\n      boardConfig\n      Users {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          SessionID\n          content\n          UserProfile\n          ttl\n          avatar\n        }\n        nextToken\n      }\n      parentBoardID\n      folderID\n      Classroom\n      CreatorLocalID\n      MultiBoard {\n        items {\n          id\n          parentBoardID\n          childBoardID\n          ttl\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      isGroup\n      joinCode\n      TenantID\n      deleted\n      TutorClass\n    }\n  }\n",M="\n  mutation UpdateSession(\n    $input: UpdateSessionInput!\n    $condition: ModelSessionConditionInput\n  ) {\n    updateSession(input: $input, condition: $condition) {\n      id\n      name\n      content\n      createdAt\n      updatedAt\n      Objects {\n        items {\n          id\n          name\n          content\n          type\n          objType\n          ended\n          createdAt\n          updatedAt\n          SessionID\n          ttl\n          animate\n          CreatedBy\n          CreatorLocalID\n          DisableSync\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      savedOwner\n      parentID\n      pageNumber\n      boardConfig\n      Users {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          SessionID\n          content\n          UserProfile\n          ttl\n          avatar\n        }\n        nextToken\n      }\n      parentBoardID\n      folderID\n      Classroom\n      CreatorLocalID\n      MultiBoard {\n        items {\n          id\n          parentBoardID\n          childBoardID\n          ttl\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      isGroup\n      joinCode\n      TenantID\n      deleted\n      TutorClass\n    }\n  }\n",E="\n  mutation UpdateGamePlay(\n    $input: UpdateGamePlayInput!\n    $condition: ModelGamePlayConditionInput\n  ) {\n    updateGamePlay(input: $input, condition: $condition) {\n      id\n      Session\n      type\n      content\n      createdAt\n      updatedAt\n      version\n      ttl\n    }\n  }\n",U="\n  mutation UpdateClassGroup(\n    $input: UpdateClassGroupInput!\n    $condition: ModelClassGroupConditionInput\n  ) {\n    updateClassGroup(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      ttl\n      name\n      content\n      Classroom\n      SessionID\n      deleted\n    }\n  }\n",G="\n  mutation UpdateClassroomEvent(\n    $input: UpdateClassroomEventInput!\n    $condition: ModelClassroomEventC
1onditionInput\n  ) {\n    updateClassroomEvent(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      ttl\n      type\n      event\n      For\n      State\n      Content\n      Classroom\n      deleted\n      TutorGroupID\n      TutorClassID\n    }\n  }\n",L="\n  mutation UpdateLocalUsers(\n    $input: UpdateLocalUsersInput!\n    $condition: ModelLocalUsersConditionInput\n  ) {\n    updateLocalUsers(input: $input, condition: $condition) {\n      id\n      content\n      createdAt\n      updatedAt\n      CurrentSession {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      CurrentSessionId\n      CurrentUserId\n      CurrentUser {\n        id\n        name\n        createdAt\n        updatedAt\n        SessionID\n        Session {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        content\n        UserProfile\n        ttl\n        avatar\n      }\n      ClassroomID\n      ttl\n      deleted\n    }\n  }\n",R="\n  mutation CreateMultiBoard(\n    $input: CreateMultiBoardInput!\n    $condition: ModelMultiBoardConditionInput\n  ) {\n    createMultiBoard(input: $input, condition: $condition) {\n      id\n      parentBoardID\n      parentBoard {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      childBoardID\n      childBoard {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      ttl\n      createdAt\n      updatedAt\n    }\n  }\n",J="\n  mutation CreateObject(\n    $input: CreateObjectInput!\n    $condition: ModelObjectConditionInput\n  ) {\n    createObject(input: $input, condition: $condition) {\n      id\n      name\n      content\n      type\n      objType\n      ended\n      createdAt\n      updatedAt\n      SessionID\n      ttl\n      animate\n      CreatedBy\n      CreatorLocalID\n      DisableSync\n      Session {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      deleted\n    }\n  }\n",_="\n  mutation UpdateObject(\n    $input: UpdateObjectInput!\n    $condition: ModelObjectConditionInput\n  ) {\n    updateObject(input: $input, condition: $condition) {\n      id\n      name\n      content\n      type\n      objType\n      ended\n      createdAt\n      updatedAt\n      SessionID\n      ttl\n      animate\n      CreatedBy\n      CreatorLocalID\n      DisableSync\n      Session {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      deleted\n    }\n  }\n",q="\n  mutation CreateUserProfile(\n    $input: CreateUserProfileInput!\n    $condition: ModelUserProfileConditionInput\n  ) {\n    createUserProfile(input: $input, condition: $condition) {\n      id\n      name\n      createdAt\n      updatedAt\n      email\n      boardConfig\n      avatar\n      personalConfig\n      emailOptIn\n      paidPlan\n      validTeacher\n      adminOfTenant\n      TenantID\n      FEMStatus\n      lastVisitedSubs\n      MemberOfTeam\n      TutorGroupID\n    }\n  }\n",F="\n  mutation UpdateUserProfile(\n    $input: UpdateUserProfileInput!\n    $condition: ModelUserProfileConditionInput\n  ) {\n    updateUserProfile(input: $input, condition: $condition) {\n      id\n      name\n      createdAt\n      updatedAt\n      email\n      boardConfig\n      avatar\n      personalConfig\n      emailOptIn\n      paidPlan\n      validTeacher\n      adminOfTenant\n      TenantID\n      FEMStatus\n      lastVisitedSubs\n      MemberOfTeam\n      TutorGroupID\n    }\n  }\n",K="\n  mutation CreateUser(\n    $input: CreateUserInput!\n    $condition: ModelUserConditionInput\n  ) {\n    createUser(input: $input, condition: $condition) {\n      id\n      name\n      createdAt\n      updatedAt\n      SessionID\n      Session {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      content\n      UserProfile\n      ttl\n      avatar\n    }\n  }\n",V="\n  mutation UpdateUser(\n    $input: UpdateUserInput!\n    $condition: ModelUserConditionInput\n  ) {\n    updateUser(input: $input, condition: $condition) {\n      id\n      name\n      createdAt\n      updatedAt\n      SessionID\n      Session {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      content\n      UserProfile\n      ttl\n      avatar\n    }\n  }\n",W="\n  subscription SubscribeToSessionObjects($SessionID: ID) {\n    subscribeToSessionObjects(SessionID: $SessionID) {\n      id\n      name\n      content\n      type\n      objType\n      ended\n      createdAt\n      updatedAt\n      SessionID\n      ttl\n      animate\n      CreatedBy\n      CreatorLocalID\n      DisableSync\n      Session {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      deleted\n    }\n  }\n",z="\n  subscription SubscribeToClassroomEventsByTutorGroup($TutorGroupID: ID) {\n    subscribeToClassroomEventsByTutorGroup(TutorGroupID: $TutorGroupID) {\n      id\n      createdAt\n      updatedAt\n      ttl\n      type\n      event\n      For\n      State\n      Content\n      Classroom\n      deleted\n      TutorGroupID\n      TutorClassID\n    }\n  }\n",Q="\n  query QueryByParent(\n    $parentID: ID\n    $pageNumber: ModelIntKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelSessionFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryByParent(\n      parentID: $parentID\n      pageNumber: $pageNumber\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          items {\n            id\n            name\n            createdAt\n            updatedAt\n            SessionID\n            content\n            UserProfile\n            ttl\n            avatar\n          }\n          nextToken      \n        }\n        parentBoardID\n        Classroom\n        CreatorLocalID\n        folderID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n      }\n      nextToken\n    }\n  }\n",Z="\nquery QueryByClassroom(\n  $Classroom: ID\n  $createdAt: ModelStringKeyConditionInput\n  $s
1ortDirection: ModelSortDirection\n  $filter: ModelSessionFilterInput\n  $limit: Int\n  $nextToken: String\n) {\n  queryByClassroom(\n    Classroom: $Classroom\n    createdAt: $createdAt\n    sortDirection: $sortDirection\n    filter: $filter\n    limit: $limit\n    nextToken: $nextToken\n  ) {\n    items {\n      id\n      name\n      content\n      createdAt\n      updatedAt\n      Objects {\n        nextToken\n      }\n      ttl\n      savedOwner\n      parentID\n      pageNumber\n      boardConfig\n      Users {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          SessionID\n          content\n          UserProfile\n          ttl\n          avatar\n        }\n        nextToken      \n      }\n      parentBoardID\n      Classroom\n      CreatorLocalID\n      folderID\n      MultiBoard {\n        nextToken\n      }\n      isGroup\n    }\n    nextToken\n  }\n}\n",H="\n  query QueryBySavedOwner(\n    $savedOwner: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelSessionFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryBySavedOwner(\n      savedOwner: $savedOwner\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        Classroom\n        CreatorLocalID\n        folderID\n        MultiBoard {\n            items {\n                id\n                parentBoardID\n                childBoardID\n                createdAt\n                updatedAt\n            }\n            nextToken\n        }\n      }\n      nextToken\n    }\n  }\n",Y=t(47),X=t(2471),nn=t(2474),en=t(223),tn=t(2552),rn=t(583),on=t.n(rn),an=t(8),sn=t(425),un=t(584),cn=t(1323),dn=t(38),ln={create:J,update:_},pn=null,fn=!0,mn={newObj:null,delObj:null,session:null},bn=function(){var n=null,e={redostack:[],undostack:[]},t=!1;function o(){e={redostack:[],undostack:[]}}var a=function n(e,t,r,o){return new Promise((function(a,i){return null!==r&&void 0!==r||(r=Sn),null!==o&&void 0!==o||(o=On),Rt(t.input,"writing to gql"),X.a.graphql(Object(nn.a)(e,t)).then(a).catch((function(s){var u,c=Mn(e);console.error("gqlOperationWithRetry:",s,t);try{var d=!0;if("errors"in s&&Array.isArray(s.errors))for(var l in s.errors){if("DynamoDB:ConditionalCheckFailedException"===s.errors[l].errorType){d=!1,c="".concat(c,": ").concat(JSON.stringify(t));break}if("DynamoDB:DynamoDbException"===s.errors[l].errorType){d=!1,c="".concat(c,": ").concat(JSON.stringify(t));break}}else s.message||s.stack||(d=!1);if(d&&(o-=1)>0)return o>=On-1&&console.log("GIVE UP"),(u=r,new Promise((function(n){return setTimeout(n,u)}))).then(n.bind(null,e,t,r,o)).then(a).catch(i)}catch(p){console.log("GQL_OPER_HANDLER_ERROR",c,Bn(p),o),console.log("gqlOperationWithRetry: Got an error while processing API call error:",p)}return o||c&&c.includes("Object")&&c&&c.includes("Object")&&pn({msg:"NETWORK ERROR: The app will try to resync but you may ",sev:"error",button:"Refresh",timeout:2e4}),i(s)}))}))};function i(){return(i=Object(c.a)(u.a.mark((function n(e,t,a,i){var s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(mn.newObj=e,mn.delObj=t,mn.session=i.sessionID,o(),pn=a,!i){n.next=24;break}if(r=i.sessionID,!fn){n.next=12;break}return n.next=10,S();case 10:setInterval(h,6e5),setInterval(x,3e3);case 12:if(an.b("storedSession")===r){n.next=17;break}return n.next=16,v();case 16:an.d("storedSession",r);case 17:return n.next=19,f(!0);case 19:s=n.sent,e(s),D(),fn=!1;case 24:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function s(){var n={};return n.indexedDB=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,n.IDBTransaction=window.IDBTransaction||window.webkitIDBTransaction||window.msIDBTransaction||{READ_WRITE:"readwrite"},n.IDBKeyRange=window.IDBKeyRange||window.webkitIDBKeyRange||window.msIDBKeyRange,!!n.indexedDB}function d(n){var e=new Date;return n.updatedAt&&(e=new Date(n.updatedAt)),n.localDB_localTimestamp=e.getTime(),n.updatedAt=e.toISOString(),n.localDB_localVersion?n.localDB_localVersion=n.localDB_localVersion+1:n.localDB_localVersion=1,n.localDB_table="Object",n.localDB_synced=!1,n}
1function l(n){Object.keys(n).forEach((function(e){e.includes("localDB_")&&delete n[e]}))}function p(e,t){var r=e.localDB_table,o=n.transaction(r,"readwrite").objectStore(r);return Rt(e,"update local"),o.put(e),o}function f(e){return new Promise((function(t,r){var o=[],a=n.transaction("Object","readwrite").objectStore("Object").openCursor();a.onsuccess=function(){var n=a.result;if(n){var r=n.key,i=n.value;(i=d(i)).localDB_key=r,e&&i.deleted||o.push(i),n.continue()}else t(o)}}))}function m(e){return new Promise((function(t,r){var o=n.transaction("Object","readwrite").objectStore("Object").get(e);o.onsuccess=function(){t(o.result)}}))}function b(){return(b=Object(c.a)(u.a.mark((function e(t){var r,o,a,i,s,l,p,f,b;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=function(){return(s=Object(c.a)(u.a.mark((function n(e){var t,o,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t=null,!e.CreatorLocalID){n.next=6;break}if((o=e.CreatorLocalID.split("@@")).length>1&&(t=o[0]),!t||t===a){n.next=6;break}return n.abrupt("return");case 6:return n.next=8,m(e.id);case 8:if(i=n.sent,s=d(e),!i||i.updatedAt!==e.updatedAt){n.next=14;break}return n.abrupt("return");case 14:r.push(s);case 15:case"end":return n.stop()}}),n)})))).apply(this,arguments)},i=function(n){return s.apply(this,arguments)},window.mydb){e.next=4;break}return e.abrupt("return");case 4:r=[],o="Object",a=an.b("mystoreID"),l=0;case 8:if(!(l<t.length)){e.next=15;break}return p=t[l],e.next=12,i(p);case 12:l++,e.next=8;break;case 15:f=n.transaction(o,"readwrite"),b=f.objectStore(o),r.forEach((function(n){n.localDB_synced=!0,Rt(n,"got from sub"),b.put(n)})),f.oncomplete=function(){};case 19:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function g(n,e){return new Promise(function(){var r=Object(c.a)(u.a.mark((function r(o,i){var s,c,d,f,m,b,g;return u.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return s=an.b("mystoreID"),c=null,r.prev=2,r.next=5,qe(n.id);case 5:c=r.sent,r.next=12;break;case 8:r.prev=8,r.t0=r.catch(2),n.localDB_synced=!1,i(r.t0);case 12:d="update",c&&c.data&&c.data.getObject||(d="create"),f=n.localDB_table,m=ln[d],b=d+f,l(g=JSON.parse(JSON.stringify(n))),"create"===d&&(g.CreatorLocalID=s+"@@"+e),g.deleted||(g.deleted=!1),delete g.Session,a(m,{input
1:g}).then((function(e){var t=e.data[b];t&&(Object.keys(t).forEach((function(e){n[e]=t[e]})),n.localDB_synced=!0,n.localDB_remoteCreated=!0,p(n),o(n))})).catch((function(e){if("create"===d){var r="update"+f;a(m=ln.update,{input:g}).then((function(e){var t=e.data[r];t&&(Object.keys(t).forEach((function(e){n[e]=t[e]})),n.localDB_synced=!0,n.localDB_remoteCreated=!0,p(n),o(n))}))}n.localDB_synced=!1,n.localDB_failedCount?n.localDB_failedCount++:n.localDB_failedCount=1,n.localDB_remoteCreated=!1,t=!0,p(n),i(e)}));case 23:case"end":return r.stop()}}),r,null,[[2,8]])})));return function(n,e){return r.apply(this,arguments)}}())}function C(n,e){return new Promise(function(){var r=Object(c.a)(u.a.mark((function r(o,i){var s,c,d,f,m,b;return u.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:s=an.b("mystoreID"),c=n.localDB_table,d=n.localDB_opertaion,f=ln[d],m=d+c,l(b=JSON.parse(JSON.stringify(n))),"create"===d&&(b.CreatorLocalID=s+"@@"+e),delete b.Session,delete b.created,a(f,{input:b}).then((function(e){var t=e.data[m];t&&(Object.keys(t).forEach((function(e){n[e]=t[e]})),n.localDB_synced=!0,n.localDB_remoteCreated=!0,p(n),o(n))})).catch((function(e){n.localDB_synced=!1,n.localDB_failedCount?n.localDB_failedCount++:n.localDB_failedCount=1,n.localDB_remoteCreated=!1,t=!0,p(n),i(e)}));case 11:case"end":return r.stop()}}),r)})));return function(n,e){return r.apply(this,arguments)}}())}function y(n){var e=JSON.parse(JSON.stringify(n));e.deleted?mn.delObj&&mn.delObj(e):mn.newObj&&mn.newObj([e])}function T(n){return I.apply(this,arguments)}function I(){return(I=Object(c.a)(u.a.mark((function n(t){var r,o,a;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=t.value.id,o=null,e.undostack.forEach((function(n){n.value.id===r&&(o=!0)})),o){n.next=8;break}return n.next=6,m(r);case 6:(a=n.sent)&&e.undostack.push({key:r,value:a});case 8:e.undostack.push(t);case 9:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function v(){return new Promise(function(){var e=Object(c.a)(u.a.mark((function e(t,r){var o,a;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:"Object",o=n.transaction("Object","readwrite").objectStore("Object"),(a=o.clear()).onsuccess=function(n){t()},a.onerror=function(n){r()};case 5:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}())}function D(){var e=n.transaction("Object","readwrite").objectStore("Object").openCursor(),o=[];function a(){return i.apply(this,arguments)}function i(){return(i=Object(c.a)(u.a.mark((function n(){var e,t,r;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:e=0;case 1:if(!(e<o.length)){n.next=15;break}return t=o[e],r=t.cmd,n.prev=4,n.next=7,g(r,t.key);case 7:n.next=12;break;case 9:n.prev=9,n.t0=n.catch(4),console.log("RETRY FAILED",n.t0);case 12:e++,n.next=1;break;case 15:case"end":return n.stop()}}),n,null,[[4,9]])})))).apply(this,arguments)}e.onsuccess=Object(c.a)(u.a.mark((function n(){var i,s,c,d,l;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:(i=e.result)?(s=i.key,c=i.value,l=(d=c).localDB_failedCount?d.localDB_failedCount:0,!d.localDB_synced&&l<5&&d.SessionID===r&&o.push({key:s,cmd:d}),i.continue()):0===o.length?t=!1:(t=!0,a());case 2:case"end":return n.stop()}}),n)})))}function h(){}function x(){t&&D()}function k(){var n=function(){var n=[];if(!e.undostack||0===e.undostack.length)return[];var t=e.undostack.pop();n.push(t);for(var r=e.undostack.length-1;r>=0;r--){var o=e.undostack[r];if(o.value.id===t.value.id){n.push(o);break}}return n}();if(0!==n.length){var t=n[0].value;if("create"!==t.localDB_opertaion)if("update"===t.localDB_opertaion&&n.length>1){e.redostack.push(JSON.parse(JSON.stringify(n[0]))),(t=JSON.parse(JSON.stringify(n[1].value))).localDB_opertaion="update",delete t.updatedAt,p(t=d(t),n[0].key),y(t);try{g(t,n[0].key)}catch(r){}}else if("update"!==t.localDB_opertaion||1!==n.length);else{e.redostack.push(JSON.parse(JSON.stringify(n[0]))),t.localDB_opertaion="update",t.deleted&&(t.deleted=!1),delete t.updatedAt,p(t=d(t),n[0].key),y(t);try{g(t,n[0].key)}catch(o){}}else{e.redostack.push(JSON.parse(JSON.stringify(n[0]))),t.localDB_opertaion="update",t.deleted=!0,delete t.updatedAt,p(t=d(t),n[0].key),y(t);try{g(t,n[0].key)}catch(a){}}}}function O(){if(e.redostack&&0!==e.redostack.length){var n=e.redostack.pop();delete n.value.updatedAt;var t=d(n.value);e.lasttouch=t.localDB_localTimestamp,e.undostack.push(JSON.parse(JSON.stringify(n))),p(t,n.key),y(t);try{g(t,n.key)}catch(r){}}}function S(){return new Promise(function(){var e=Object(c.a)(u.a.mark((function e(t,r){var o;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:s()||t(),(o=indexedDB.open("wbCache",1)).onupgradeneeded=function(){var n=o.result;n.objectStoreNames.contains("Object")||n.createObjectStore("Object",{keyPath:"id"}).createIndex("localDB_localTimestamp","localDB_localTimestamp",{unique:!1})},o.onsuccess=function(){n=o.result,window.mydb=n,t()},o.onerror=function(){r()};case 5:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}())}return{isSupported:s,init:S,createObj:function(t){return new Promise(function(){var r=Object(c.a)(u.a.mark((function r(o,a){var i,s,c,l,p,f;return u.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return i=JSON.parse(JSON.stringify(t)),s=i.localDB_table,c=i.localDB_opertaion,l=d(i),e.redostack=[],r.next=7,T({key:i.id,value:i});case 7:p=n.transaction(s,"readwrite").objectStore(s),Rt(i,"created by user"),(f=p.put(l)).onsuccess=function(){var n=c+s,e={data:Object(dn.a)({},n,i)},t=f.result;o(e),y(i);try{C(i,t)}catch(r){console.log("ERROR IN SYNC",r)}},f.onerror=function(){console.log("Error",f.error),a(f.error)};case 12:case"end":return r.stop()}}),r)})));return function(n,e){return r.apply(this,arguments)}}())},gotObjs:function(n){return b.apply(this,arguments)},undo:function(){Po({timer:null,function:k,timeout:400,args:null})},redo:function(){Po({timer:null,function:O,timeout:400,args:null})},registerCB:function(n,e,t,r){return i.apply(this,arguments)}}}(),gn=Object({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0}).REACT_APP_OBS,Cn={},yn=95e7,Tn=20,In=null;function vn(n){In=n}function Dn(n){In&&In(n)}function hn(){return Math.round(Date.now()/1e3)+30}function xn(){var n=$a();return tn.a&&tn.a.user||n?un.b()||n&&("gold"===n||"goldannual"===n)?yn:n&&"educator-free"!==n?Rn():Jn(7):Rn()}var kn=function(n){return new Promise((function(e){return setTimeout(e,n)}))},On=2,Sn=500,wn=/^https:\/\/[\w-]+.s3.[\w-]+.amazonaws.com/i,An=/https:\/\/[\w-]+.s3.[\w-]+.amazonaws.com\/public\/(images|paidImages)\/[\w-]+.\w+/gi;function $n(n,e,t,r,o,a){if(!n){a.retryCount-=1;var i=Bn(t);if(!function(n,e,t){var r=Math.floor(Date.now().valueOf()/1e3),o=an.b("maxSubReloadTime");return(!o||r-o>900)&&-1!==n.indexOf("MaxSubscriptionsReachedError")&&(an.d("maxSubReloadTime",r),jn("MAX_SUBCRIPTION_ERROR",e,n,t.retryCount),Yo(),!0)}(i,e,a)){if(a.retryCount>=2&&jn("SUBCRIPTION_ERROR",e,i,a.retryCount),!(a.retryCount>0))return jn("SUBCRIPTION_ERROR_GIVEUP",e,i,a.retryCount),void Dn({msg:"NETWORK ERROR 1: Please Click refresh to re-connect",sev:"error",button:"Refresh",timeout:2e4});try{r&&r.unsubscribe()}catch(s){}a.doList=!1,kn(3e3).then((function(){o(a)}))}}}function jn(n,e,t,r){var o={category:n,action:t.slice(0,499)};e&&(o.label=e.slice(0,499)),r&&(o.value=r),Y.a(o)}function Bn(n){var e=null,t="";if(n.errors)e=n.errors;else if(n.error&&n.error.errors)e=n.error.errors;else if(n.stack&&"string"===typeof n.stack){var r=n.stack.indexOf("\n");-1!==r&&(t=n.stack.slice(0,r))}else n.message&&(t=n.message);if(e)for(var o in e){var a=e[o];if(a.errorType&&a.message?t="".concat(a.errorType,": ").concat(a.message):a.message?t=a.message:a.errorType&&(t=a.errorType),""!==t)break}return""===t&&(t="getErrorString: Could not parse error"),t.replace("@","--")}var Pn=function(){function n(e,t,r){Object(l.a)(this,n),this.subsciption=null,this.subObj=e,this.subArgs=t,this.subAction=r}return Object(p.a)(n,[{key:"reallySubscribe",value:function(){this.subsciption&&this.unsubscribe(),this.subsciption=function(n,e,t){var r=null;try{r=n.subscribe(e)}catch(o){jn("TRY_SUBCRIPTION_ERROR",t,Bn(o)),console.log("trySubscribe: got error:",o)}return r}(this.subObj,this.subArgs,this.subAction)}},{key:"setSubscription",value:function(n){this.subsciption=n}},{key:"unsubscribe",value:function(){this.subsciption&&(this.subsciption.unsubscribe(),this.subsciption=null)}}]),n}();
1function Nn(n,e,t){var r=new Pn(n,e,t);return r.reallySubscribe(),r}function Mn(n){var e=n.replace(/^\s+/g,"");try{return e.split("(")[0].split(" ")[1]}catch(r){}var t=e.indexOf("\n");return-1!==t?e.slice(0,t):n.slice(0,20)}var En=function n(e,t,r,o){return new Promise((function(a,i){return null!==r&&void 0!==r||(r=Sn),null!==o&&void 0!==o||(o=On),X.a.graphql(Object(nn.a)(e,t)).then(a).catch((function(s){var u=Bn(s),c=Mn(e);console.log("gqlOperationWithRetry:",s,t);try{var d=!0;if("errors"in s&&Array.isArray(s.errors))for(var l in s.errors){if("DynamoDB:ConditionalCheckFailedException"===s.errors[l].errorType){d=!1,u="DynamoDB:ConditionalCheckFailedException",c="".concat(c,": ").concat(JSON.stringify(t));break}if("DynamoDB:DynamoDbException"===s.errors[l].errorType){d=!1,u="DynamoDB:DynamoDbException",c="".concat(c,": ").concat(JSON.stringify(t));break}}else s.message||s.stack||(d=!1);if(d&&(o-=1)>0)return o>=On-1&&jn("GQL_OPER_ERROR_RETRY",c,u,o),kn(r).then(n.bind(null,e,t,r,o)).then(a).catch(i)}catch(p){jn("GQL_OPER_HANDLER_ERROR",c,Bn(p),o),console.log("gqlOperationWithRetry: Got an error while processing API call error:",p)}return jn(o?"GQL_OPER_ERROR":"GQL_OPER_ERROR_GIVEUP",c,u,o),o||c&&c.includes("Object")&&Dn({msg:"NETWORK ERROR 2: Please Click refresh to re-connect",sev:"error",button:"Refresh",timeout:2e4}),i(s)}))}))};function Un(n,e,t){var r="";if(n.length>e){var o=e/2;Math.floor(o)!==o?(o=Math.floor(o)-2,r=n.slice(0,o)+t.repeat(5)+n.slice(n.length-o,n.length)):(o-=2,r=n.slice(0,o)+t.repeat(4)+n.slice(n.length-o,n.length))}else r=n;return r}function Gn(n){var e=n;return n&&e.includes("@microsoftteams")&&(e=(e=e.split("@")[0]).replace("__","@")),e}function Ln(n,e){if(n&&e)try{var t="";n.startsWith("Google")?t="(via Google)":n.startsWith("Facebook")?t="(via Facebook)":n.startsWith("Microsoft")&&(t="(via Microsoft)");var r=e;if(r&&r.includes("@microsoftteams")&&(t="(via Teams)",an.b("webex")&&(t="(via Webex)"),r=Gn(r)),r.length>56){var o=r.split("@");r=o[0].length>28&&o[1].length>28?Un(o[0],28,"*")+"@"+Un(o[1],28,"*"):o[0].length>28&&o[1].length<=28?Un(o[0],56-o[1].length,"*")+"@"+o[1]:o[0]+"@"+Un(o[1],56-o[0].length,"*")}return"".concat(r," ").concat(t)}catch(a){console.log("getUserString:",a)}return""}function Rn(){return Math.round(Date.now()/1e3)+2419200}function Jn(n){return Math.round(Date.now()/1e3)+3600*(24*n)}function _n(){var n=new Date,e=n.getMonth();e+=1;var t=n.getFullYear();t-=2020;var r=new Uint8Array(5);window.crypto.getRandomValues(r);for(var o=""+t+e,a="abcdefghijkmnpqrstuvwxyz0123456789",i=0;i<r.length;i++)o+=a[r[i]%a.length];return o}var qn=60;function Fn(){return"restricted.whiteboard.chat"===window.location.host}function Kn(n){if("restricted.whiteboard.chat"!==window.location.host)return!1;var e=n.id.split("-pgNum-")[0];if(n.Classroom&&e!==n.Classroom)return!1;var t=an.b("mystoreID");if(t&&Cn[t]){var r=Cn[t];if(r&&"paidPlan"in r)return!1;if(r&&r.validTeacher)return!1}return alert("Only registered Teachers can create boards"),!0}function Vn(n,e,t){var r=!0,o=Gn(n).split("@")[1];return o&&(o=o.toLowerCase(),ti(e.boardsInternalTenantId).then((function(n){var e=n.data.getTenant;if(e&&e.tenantConfig){var a={},i=JSON.parse(e.tenantConfig);if(i.allLogin&&(a.boardAuthUsersOnly=!0),i.boardsInternalTenant){if(a.boardsInternalTenantId=e.id,a.boardsInternalTenantDomain=e.domainName,e.secondaryDomainConfig){var s=JSON.parse(e.secondaryDomainConfig);s.allowedDomains&&(a.boardsInternalTenantDomain=s.allowedDomains)}r=!1,a.boardsInternalTenantDomain.toLowerCase().includes(o)&&(r=!0),r||(alert("Sorry you are not authorized to access, sign in with the right email domain"),an.a(),t.history.push("/"))}}}))),!0}function Wn(n){var e=an.b("tenant");return e?new Promise((function(t,r){function o(){En(N,{input:n}).then((function(n){t(n)})).catch((function(n){r(n)}))}n.TenantID=e,En(C,{id:e}).then((function(e){var t=e.data.getTenant;if(t&&t.tenantConfig){var r={},a=JSON.parse(t.tenantConfig);if(a.allLogin&&(r.boardAuthUsersOnly=!0),a.boardsInternalTenant&&(r.boardsInternalTenantId=t.id,r.boardsInternalTenantDomain=t.domainName,t.secondary
1DomainConfig)){var i=JSON.parse(t.secondaryDomainConfig);i.allowedDomains&&(r.boardsInternalTenantDomain=i.allowedDomains)}if(Object.keys(r).length>0){var s={};n.boardConfig&&(s=JSON.parse(n.boardConfig)),r=Object(d.a)(Object(d.a)({},s),r),n.boardConfig=JSON.stringify(r)}}o()})).catch((function(){o()}))})):En(N,{input:n})}function zn(n,e){return Qn.apply(this,arguments)}function Qn(){return(Qn=Object(c.a)(u.a.mark((function n(e,t){var r,o,a,i,s,c,d,l=arguments;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=l.length>2&&void 0!==l[2]?l[2]:null,o=Object(en.a)(),a=an.b("mystoreID"),i=o+"-pgNum-1",s=e,!e.multiBoardOption){n.next=8;break}return n.next=8,nr({id:o,TeacherID:a,name:t});case 8:return c=JSON.stringify(s),n.next=11,Zn(i,t,"somecontent",o,1,null,c,e.multiBoardOption?o:null,!1,0,r);case 11:return d=n.sent,n.abrupt("return",d.data.createSession);case 13:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Zn(n,e,t,r,o,a,i,s){var u=arguments.length>8&&void 0!==arguments[8]&&arguments[8],c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,d=arguments.length>10&&void 0!==arguments[10]?arguments[10]:null,l={id:n,name:e,content:t,ttl:c||xn(),parentID:r,pageNumber:o,isGroup:u,joinCode:_n().toString(),TutorClass:d};i&&(l.boardConfig=i),l.parentBoardID=a||n;var p=an.b("mystoreID");return p||(p=Object(en.a)(),an.d("mystoreID",p)),l.CreatorLocalID=p,s&&(l.Classroom=s),Kn(l)?Promise.reject():Wn(l)}function Hn(n){return Wn(n)}function Yn(n){var e={id:n};return ce(e),En(M,{input:e})}function Xn(n){we(n).then((function(e){var t=e.data.getSession;t&&t.deleted?alert("Session has been deleted"):t||ne(n)}))}function ne(n){return new Promise((function(e,t){var r=n.split("-pgNum-");2===r.length?we(r[0]+"-pgNum-1").then((function(o){var a=o.data.getSession;if(a){a.id=n,a.pageNumber=r[1];var i=a.parentBoardID.split("-pgNum-");a.parentBoardID=i[0]+"-pgNum-"+r[1],delete a.createdAt,delete a.updatedAt,delete a.Objects,delete a.Users;var s=a.boardConfig;if(s){var u=JSON.parse(s);u&&(delete u.autoGrade,delete u.manualGrade,a.boardConfig=JSON.stringify(u))}null===a.savedOwner&&delete a.savedOwner,null===a.Classroom&&delete a.Classroom,delete a.Users,a.folderID||delete a.folderID,delete a.MultiBoard,En(N,{input:a}).then((function(n){e(n)}))}else t(new Error("Invalid URL with no page1"))})):t(new Error("Invalid URL"))}))}function ee(n){return te.apply(this,arguments)}function te(){return(te=Object(c.a)(u.a.mark((function n(e){return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",new Promise(function(){var n=Object(c.a)(u.a.mark((function n(t,r){var o,a,i,s,c,d,l;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:o=null,(a=an.b("mystoreID"))||(a=Object(en.a)(),an.d("mystoreID",a));case 3:return i={limit:100,nextToken:o,sortDirection:"ASC",CreatorLocalID:a,filter:{and:{Classroom:{eq:e},deleted:{ne:!0}}}},n.next=6,En(I,i);case 6:if(s=n.sent,!(c=s.data.queryByCreatorLocalId)||!c.items){n.next=17;break}d=0;case 10:if(!(d<c.items.length)){n.next=17;break}return(l=c.items[d]).isGroup||t(l),n.abrupt("return");case 14:d++,n.next=10;break;case 17:o=c.nextToken;case 18:if(null!==o){n.next=3;break}case 19:t(null);case 20:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function re(n,e){return oe.apply(this,arguments)}function oe(){return(oe=Object(c.a)(u.a.mark((function n(e,t){return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",new Promise(function(){var n=Object(c.a)(u.a.mark((function n(r,o){var a,i,s,c,d,l;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:a=null;case 1:return i={limit:100,nextToken:a,sortDirection:"ASC",CreatorLocalID:t,filter:{and:{Classroom:{eq:e},deleted:{ne:!0}}}},n.next=4,En(I,i);case 4:if(s=n.sent,(c=s.data.queryByCreatorLocalId)&&c.items)for(d=0;d<c.items.length;d++)l=c.items[d],r(l);a=c.nextToken;case 8:if(null!==a){n.next=1;break}case 9:r(null);case 10:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function ae(n,e){return ie.apply(this,arguments)}function ie(){return(ie=Object(c.a)(u.a.mark((function n(e,t){var r;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return re(e,t).then((function(n){Ft(n.id.split("-pgNum-")[0],null,(function(n){if(!n)return;
1n.forEach((function(n){try{le(n.id,(function(){}))}catch(e){console.log("ERROR DELETE",e)}}))}))})),sr(r=t+"-CL-"+e).then((function(n){var e=n.data.getLocalUsers;e&&e.CurrentUser&&nt(e.CurrentUser)})),n.next=5,new Promise((function(n){return setTimeout(n,1e3)}));case 5:ir(r);case 6:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function se(n){return ue.apply(this,arguments)}function ue(){return(ue=Object(c.a)(u.a.mark((function n(e){return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",new Promise(function(){var n=Object(c.a)(u.a.mark((function n(t,r){var o,a,i,s,c,d,l,p,f,m,b,g,C,y;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:o=null,a=an.b("mystoreID"),i=an.b("myname"),s=(s=i.toLowerCase()).replace(/\s/g,"");case 5:return c={limit:100,nextToken:o,sortDirection:"ASC",Classroom:e,filter:{deleted:{ne:!0}}},n.next=8,En(Z,c);case 8:if(d=n.sent,!(l=d.data.queryByClassroom)||!l.items){n.next=54;break}p=0;case 12:if(!(p<l.items.length)){n.next=20;break}if((f=l.items[p]).CreatorLocalID!==a){n.next=17;break}return t(f),n.abrupt("return");case 17:p++,n.next=12;break;case 20:m=0;case 21:if(!(m<l.items.length)){n.next=53;break}if(!(b=l.items[m]).isGroup){n.next=25;break}return n.abrupt("continue",50);case 25:if(b.parentID!==b.Classroom){n.next=27;break}return n.abrupt("continue",50);case 27:if(b.Users&&b.Users.items){n.next=29;break}return n.abrupt("continue",50);case 29:g=0;case 30:if(!(g<b.Users.items.length)){n.next=50;break}C=b.Users.items[g],n.prev=32,y=JSON.parse(C.content),n.next=39;break;case 36:return n.prev=36,n.t0=n.catch(32),n.abrupt("continue",47);case 39:if(y.localID!==b.CreatorLocalID){n.next=47;break}if(C.name&&""!==C.name){n.next=42;break}return n.abrupt("continue",47);case 42:if(C.name.toLowerCase().replace(/\s/g,"")!==s){n.next=47;break}return an.d("mystoreID",y.localID),t(b),n.abrupt("return");case 47:g++,n.next=30;break;case 50:m++,n.next=21;break;case 53:o=l.nextToken;case 54:if(null!==o){n.next=5;break}case 55:t(null);case 56:case"end":return n.stop()}}),n,null,[[32,36]])})));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function ce(n){n.deleted=!0,n.ttl=hn()}function de(n){if(n)return cn.a.delObject(n.id),n.deleted=!0,n.ttl=hn(),Ke(n)}function le(n,e){Ve(n,null,(function(n){n.forEach((function(n){de(n)}))})),Yn(n).then((function(n){e&&e()})).catch((function(n){console.log("Error while deleting page::",n)}))}function pe(n,e,t){return fe.apply(this,arguments)}function fe(){return(fe=Object(c.a)(u.a.mark((function n(e,t,r){return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",new Promise(function(){var n=Object(c.a)(u.a.mark((function n(o,a){var i,s,d,l,p,f;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=e.split("-pgNum-"),s=e,n.next=4,we(s);case 4:if(d=n.sent,!(l=d.data.getSession)){n.next=27;break}return p=t,l.id=i[0]+"-pgNum-"+p,l.pageNumber=t,l.parentBoardID=l.id,delete l.Classroom,delete l.Objects,delete l.Users,delete l.MultiBoard,delete l.folderID,null===l.savedOwner&&delete l.savedOwner,n.next=19,Hn(l);case 19:if(f=n.sent,!r){n.next=24;break}Ve(s,null,function(){var n=Object(c.a)(u.a.mark((function n(e){return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.forEach((function(n){delete n.Session,delete n.id,n.SessionID=l.id,Lt(n)})),n.next=3,new Promise((function(n){return setTimeout(n,300)}));case 3:o(f.data.createSession);case 4:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()),n.next=27;break;case 24:return n.next=26,new Promise((function(n){return setTimeout(n,300)}));case 26:o(f.data.createSession);case 27:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function me(n,e){return be.apply(this,arguments)}function be(){return(be=Object(c.a)(u.a.mark((function n(e,t){return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",new Promise(function(){var n=Object(c.a)(u.a.mark((function n(r,o){var a,i,s,c,d,l,p,f;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=e.id.split("-pgNum-"),!e.Classroom){n.next=7;break}return n.next=4,pr(e.Classroom);case 4:i=n.sent,n.next=10;break;case 7:return n.next=9,Qe(a[0]);case 9:i=n.sent;case 10:for(s=i.filter((function(n,t){return 0!==t&&n.pageNumber!==e.pageNumber})),c=i.filter((function(n,t){return n.pageNumber===e.pageNumber||1===n.pageNumber})),d=0;d<s.length;d++)l=s[d],(p=JSON.parse(l.boardConfig))?(p.boardOrder=t,l.boardConfig=JSON.stringify(p)):l.boardConfig=JSON.stringify({boardOrder:t}),Se(l);f=0;case 14:if(!(f<c.length)){n.next=24;break}return l=c[f],(p=JSON.parse(l.boardConfig))?(p.boardOrder=t,l.boardConfig=JSON.stringify(p)):l.boardConfig=JSON.stringify({boardOrder:t}),n.next=20,Se(l);case 20:r();case 21:f++,n.next=14;break;case 24:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function ge(n,e,t){return Ce.apply(this,arguments)}function Ce(){return(Ce=Object(c.a)(u.a.mark((function n(e,t,r){var o,a,i,s,c,d,l,p,f,m,b;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,we(e);case 2:if(a=n.sent,i=null===a||void 0===a||null===(o=a.data)||void 0===o?void 0:o.getSession,a&&i||r(),s=i.id.split("-pgNum-"),!i.Classroom){n.next=12;break}return n.next=9,pr(i.Classroom);case 9:c=n.sent,n.next=15;break;case 12:return n.next=14,Qe(s[0]);case 14:c=n.sent;case 15:d=0;case 16:if(!(d<c.length)){n.next=27;break}for(l=c[d],p=JSON.parse(l.boardConfig),f=Object.keys(t),m=0;m<f.length;m++)b=f[m],p[b]=t[b];return l.boardConfig=JSON.stringify(p),n.next=24,Se(l);case 24:d++,n.next=16;break;case 27:r();case 28:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function ye(n,e){return Te.apply(this,arguments)}function Te(){return(Te=Object(c.a)(u.a.mark((function n(e,t){return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",new Promise(function(){var n=Object(c.a)(u.a.mark((function n(r,o){var a,i,s,c,d,l,p,f,m;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=e.id.split("-pgNum-"),!e.Classroom){n.next=7;break}return n.next=4,pr(e.Classroom);case 4:i=n.sent,n.next=10;break;case 7:return n.next=9,Qe(a[0]);case 9:i=n.sent;case 10:s=0;case 11:if(!(s<i.length)){n.next=21;break}return c=i[s],(d=JSON.parse(c.boardConfig)).boardTools=t,c.boardConfig=JSON.stringify(d),n.next=18,Se(c);case 18:s++,n.next=11;break;case 21:return l=an.b("mystoreID"),n.next=24,$e(l);case 24:(p=n.sent)&&p.data.getUserProfile&&(f=p.data.getUserProfile,(m=f.boardConfig?JSON.parse(f.boardConfig):{}).boardTools=t,f.boardConfig=JSON.stringify(m),je(f)),r();case 27:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Ie(n){return ve.apply(this,arguments)}function ve(){return(ve=Object(c.a)(u.a.mark((function n(e){return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",new Promise(function(){var n=Object(c.a)(u.a.mark((function n(t,r){var o;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:o=function(){return(o=Object(c.a)(u.a.mark((function n(){return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t();case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)},le(e,(function(){return o.apply(this,arguments)}));case 3:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}()));case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function De(n,e,t,r){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=Object(en.a)(),i=n;
1if(!o){n.data.drawPaper=!0;var s=n.exportJSON();i=JSON.parse(JSON.stringify(s))}var u={};return u.type=JSON.stringify({compressed:!0}),u.content=on.a.deflate(i,{to:"string"}),Re(a,"name",e,u.content,"drawPaper",null,u.type,t)}function he(n,e){Yn(n).then((function(){e&&e()}))}function xe(n){if("drawPaper"!==n.objType)return!1;var e,t={};t.content=n.content;try{"type"in n&&(t.type=JSON.parse(n.type),t.type&&t.type.compressed&&(t.content=on.a.inflate(n.content,{to:"string"})))}catch(r){return console.error("cannot decode",r,n),!1}try{e=JSON.parse(t.content)}catch(r){return!1}return!(!e||!e.length||e.length<2)&&(!(e[1]&&e[1].data&&e[1].data.lockedClearAllowed)&&!!(e[1]&&e[1].data&&e[1].data.lock))}function ke(n,e,t){return Oe.apply(this,arguments)}function Oe(){return(Oe=Object(c.a)(u.a.mark((function n(e,t,r){return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:Ve(e,null,(function(n){n.forEach((function(n){r&&n.CreatedBy&&r!==n.CreatedBy||xe(n)||de(n)}))}));case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Se(n){if(delete n.Objects,delete n.Users,delete n.MultiBoard,n.TutorClass){var e=n,t=e.boardConfig?JSON.parse(e.boardConfig):{};t.boardAuthUsersOnly=!0,n.boardConfig=JSON.stringify(t)}return""===n.folderID&&delete n.folderID,void 0===n.folderID&&delete n.folderID,En(M,{input:n})}function we(n){return En("\n  query GetSession($id: ID!) {\n    getSession(id: $id) {\n      id\n      name\n      content\n      createdAt\n      updatedAt\n      Objects {\n        items {\n          id\n          name\n          content\n          type\n          objType\n          ended\n          createdAt\n          updatedAt\n          SessionID\n          ttl\n          animate\n          CreatedBy\n          CreatorLocalID\n          DisableSync\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      savedOwner\n      parentID\n      pageNumber\n      boardConfig\n      Users {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          SessionID\n          content\n          UserProfile\n          ttl\n          avatar\n        }\n        nextToken\n      }\n      parentBoardID\n      folderID\n      Classroom\n      CreatorLocalID\n      MultiBoard {\n        items {\n          id\n          parentBoardID\n          childBoardID\n          ttl\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      isGroup\n      joinCode\n      TenantID\n      deleted\n      TutorClass\n    }\n  }\n",{id:n})}function Ae(n){return En("\n  query QueryByJoinCode($joinCode: ID) {\n    queryByJoinCode(joinCode: $joinCode) {\n      items {\n        id\n        createdAt\n        joinCode\n      }\n      nextToken\n    }\n  }\n",{joinCode:n})}function $e(n){return new Promise((function(e,t){En("\n  query GetUserProfile($id: ID!) {\n    getUserProfile(id: $id) {\n      id\n      name\n      createdAt\n      updatedAt\n      email\n      boardConfig\n      avatar\n      personalConfig\n      emailOptIn\n      paidPlan\n      validTeacher\n      adminOfTenant\n      TenantID\n      FEMStatus\n      lastVisitedSubs\n      MemberOfTeam\n      TutorGroupID\n    }\n  }\n",{id:n}).then((function(t){var r=t.data.getUserProfile;Cn[n]=r,e(t)})).catch((function(n){t(n)}))}))}function je(n){var e=an.b("myname");return e&&null===n.name&&(n.name=e),delete n.Tenant,delete n.TenantID,En(F,{input:n})}function Be(n){return Pe.apply(this,arguments)}function Pe(){return(Pe=Object(c.a)(u.a.mark((function n(e){var t,r,o;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=an.b("mystoreID"),n.next=3,$e(t);case 3:(r=n.sent)&&r.data.getUserProfile&&((o=r.data.getUserProfile).personalConfig=JSON.stringify(e),je(o));case 5:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Ne(n,e,t){if(e){var r=e.split("/board/");if(r.length<2)n(t);else{var o=an.b("mystoreID"),a=an.b("backupLocalID");(a||(a=o))&&a!==t.id&&o!==t.id?we(r[1]).then((function(e){var r=e.data.getSession;if(r&&r.Classroom){tr(r.Classroom,(function(n){n&&n.TeacherID===a&&(n.TeacherID=t.id,n.TeacherList?n.TeacherList.indexOf(t.id)<0&&n.TeacherList.push(t.id):n.TeacherList=[t.id],delete n.Teacher,delete n.Users,er(n))}));var o=a+"-CL-"+r.Classroom;
1sr(o).then((function(n){var e=n.data.getLocalUsers;e&&e.CurrentUser&&nt(e.CurrentUser)})),ir(o),function n(e){En("\n  query ByProfileSorted(\n    $UserProfile: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelUserFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    byProfileSorted(\n      UserProfile: $UserProfile\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        createdAt\n        updatedAt\n        SessionID\n        Session {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        content\n        UserProfile\n        ttl\n        avatar\n      }\n      nextToken\n    }\n  }\n",{limit:100,nextToken:e,sortDirection:"ASC",UserProfile:a}).then((function(e){for(var t=e.data.byProfileSorted,o=0;o<t.items.length;o++){var a=t[o];a&&a.Session&&a.Session.Classroom===r.Classroom&&nt(a)}t.nextToken&&n(t.nextToken)}))}(null),function e(o){var i={limit:100,nextToken:o,sortDirection:"ASC",CreatorLocalID:a,filter:{and:{Classroom:{eq:r.Classroom},deleted:{ne:!0}}}};En(I,i).then((function(r){for(var o=r.data.queryByCreatorLocalId,i=[],s=0;s<o.items.length;s++){var u=o.items[s];u&&a!==t.id&&(u.CreatorLocalID=t.id,u.savedOwner=t.id,i.push(Se(u)))}o.nextToken?Promise.all(i).then((function(){e(o.nextToken)})):Promise.all(i).then((function(){n(t)}))}))}(null)}else n(t)})):n(t)}}else n(t)}function Me(n){return Ee.apply(this,arguments)}function Ee(){return(Ee=Object(c.a)(u.a.mark((function n(e){var t,r,a,i,s,c;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t=[],r=e+"-pgNum-1",a=null;case 3:return i={limit:100,nextToken:a,sortDirection:"ASC",Classroom:e,filter:{and:{id:{ne:r},pageNumber:{eq:1},deleted:{ne:!0}}}},n.next=6,En(T,i);case 6:s=n.sent,c=s.data.queryByClassroom,t=[].concat(Object(o.a)(t),Object(o.a)(c.items)),a=c.nextToken;case 10:if(null!==a){n.next=3;break}case 11:return n.abrupt("return",t);case 12:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Ue(n,e){return Ge.apply(this,arguments)}function Ge(){return(Ge=Object(c.a)(u.a.mark((function n(e,t){var r,a,i,s,d;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:r=[],a=null;case 2:return i={limit:100,nextToken:a,sortDirection:"ASC",CreatorLocalID:e,filter:{and:{updatedAt:{gt:t},deleted:{ne:!0},pageNumber:{eq:1}}}},n.next=5,En(I,i);case 5:s=n.sent,(d=s.data.queryByCreatorLocalId).items.forEach(function(){var n=Object(c.a)(u.a.mark((function n(e){var t;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e.studentCount=0,!e.Classroom){n.next=6;break}return n.next=4,Me(e.Classroom);case 4:t=n.sent,e.studentCount=t.length;case 6:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()),r=[].concat(Object(o.a)(r),Object(o.a)(d.items)),a=d.nextToken;case 10:if(null!==a){n.next=2;break}case 11:return n.abrupt("return",r);case 12:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Le(n,e,t,r,o,a,i){$e(n).then((function(i){var s=an.b("emailOptIn");if(i&&i.data.getUserProfile){var u=i.data.getUserProfile,c=!1;t&&""!==t&&i.data.getUserProfile.avatar!==t&&(u.avatar=t,c=!0),r&&""!==r&&!i.data.getUserProfile.name&&(u.name=r,c=!0),s&&""!==s&&!i.data.getUserProfile.emailOptIn&&(u.emailOptIn=s,c=!0),c?je(u).then((function(n){Ne(a,o,n.data.updateUserProfile)})):Ne(a,o,i.data.getUserProfile)}else{var d=an.b("myname");d&&""!==d||!r||(d=r,an.d("myname",d)),function(n,e,t,r){return new Promise((function(o,a){var i=an.b("emailOptIn"),s={id:n,name:e,email:t,emailOptIn:null!==i&&i};function u(n){var e=null;if(n&&n.tenantConfig&&(!0===JSON.parse(n.tenantConfig).assignLicensesAutomatically&&(e=n.id,n.entitlements))){var t=JSON.parse(n.entitlements);t.planType&&(s.paidPlan=t.planType)}l(e)}r&&""!==r&&(s.avatar=r);var c=!1;if(t){var d=Gn(t).split("@")[1];d&&(c=!0,ri(d).then((function(n){var e=n.data.queryByDomainName,t=e&&e.items&&e.items.length>0?e.items[0]:null;
1if(t&&t.secondaryDomainConfig){var r=JSON.parse(t.secondaryDomainConfig);if(r.mainDomain)return void En(C,{id:r.mainDomain}).then((function(n){var e=n.data.getTenant;u(e||t)})).catch((function(){u(t)}))}u(t)})).catch((function(){l(null)})))}function l(n){n&&(s.TenantID=n),En(q,{input:s}).then((function(n){o(n)})).catch((function(n){a(n)}))}c||l(null)}))}(n,d,e,t).then((function(n){Ne(a,o,n.data.createUserProfile)})).catch((function(n){console.log("user exist already",n)}))}})).catch((function(n){alert("Please check the TIME on your computer and make sure it is right. Error: "+(n.message||JSON.stringify(n)))}))}function Re(n,e,t,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,u={id:n,name:e,content:r,SessionID:t,ended:!1,objType:o};return u.ttl=s||xn(),a&&(u.CreatedBy=a),i&&(u.type=i),Lt(u)}function Je(n,e,t,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,u=arguments.length>8?arguments[8]:void 0,c={id:n,name:e,content:r,SessionID:t,ended:!1,objType:o,animate:u};return c.ttl=s||xn(),a&&(c.CreatedBy=a),i&&(c.type=i),Lt(c)}function _e(n,e,t,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]&&arguments[6],s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,u=arguments.length>8&&void 0!==arguments[8]?arguments[8]:"",c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,d={id:n,name:e,content:r,SessionID:t,ended:i,objType:o,animate:s,type:u};return d.ttl=c||xn(),a&&(d.CreatedBy=a),u&&""!==u||(d.type=JSON.stringify({compressed:!1})),Lt(d)}function qe(n){return En("\n  query GetObject($id: ID!) {\n    getObject(id: $id) {\n      id\n      name\n      content\n      type\n      objType\n      ended\n      createdAt\n      updatedAt\n      SessionID\n      ttl\n      animate\n      CreatedBy\n      CreatorLocalID\n      DisableSync\n      Session {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      deleted\n    }\n  }\n",{id:n})}function Fe(n){return Gt(Object(d.a)(Object(d.a)({},n),{},{animate:n.animate}))}function Ke(n){return delete n.Session,Gt(n)}function Ve(n,e,t){En(O,{limit:100,nextToken:e,sortDirection:"ASC",SessionID:n,filter:{deleted:{ne:!0}}}).then((function(e){var r=e.data.sessionSorted;t(r.items),r.nextToken&&Ve(n,r.nextToken,t)}))}function We(n){return ze.apply(this,arguments)}function ze(){return(ze=Object(c.a)(u.a.mark((function n(e){var t,r,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t=[],r=null;case 2:return a={limit:100,nextToken:r,sortDirection:"ASC",SessionID:e,filter:{deleted:{ne:!0}}},n.next=5,En(O,a);case 5:i=n.sent,s=i.data.sessionSorted,t=[].concat(Object(o.a)(t),Object(o.a)(s.items)),r=s.nextToken;case 9:if(null!==r){n.next=2;break}case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Qe(n){return Ze.apply(this,arguments)}function Ze(){return(Ze=Object(c.a)(u.a.mark((function n(e){var t,r,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t=[],r=null;case 2:return a={limit:100,nextToken:r,sortDirection:"ASC",parentID:e,filter:{deleted:{ne:!0}}},n.next=5,En(Q,a);case 5:i=n.sent,s=i.data.queryByParent,t=[].concat(Object(o.a)(t),Object(o.a)(s.items)),r=s.nextToken;case 9:if(null!==r){n.next=2;break}case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function He(n){void 0===n.retryCount&&(n.retryCount=3),n.doList&&Ve(n.sessionID,null,n.cb);var e,t=X.a.graphql(Object(nn.a)(W,{SessionID:n.sessionID})),r=!1;e=Nn(t,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToSessionObjects;t.deleted?n.delCB(t):n.cb([t])},error:function(e){console.log(JSON.stringify(e)),$n(r,"ObjectSubscribe:subscribeToSessionObjects",e,void 0,He,n),r=!0}},"ObjectSubscribe:subscribeToSessionObjects"),n.subCB([e,void 0])}function Ye(n,e,t,r){var o={};return t&&(o.UserProfile={eq:t}),(e.email||e.localID)&&(o.or=[]),e.email&&o.or.push({content:{contains:'"email":"'.concat(e.email,'"')}}),e.localID&&o.or.push({content:{contains:'"localID":"'.concat(e.localID,'"')}}),function n(e,t,r,o,a,i){var s={limit:100,nextToken:t,SessionID:i};e&&Object.keys(e).length>0&&(s.filter=e),En(j,s).then((function(t){var i=t.data.byUsersSessionSorted;o=o.concat(i.items),i.nextToken?n(e,i.nextToken,r,o,a):r(o,a)}))}
1(o,null,r,[],e,n)}function Xe(n,e,t,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,i={name:n,content:t,SessionID:e};return i.ttl=a||xn(),r&&(i.UserProfile=r),o&&(i.avatar=o),En(K,{input:i})}function nt(n){return En("\n  mutation DeleteUser(\n    $input: DeleteUserInput!\n    $condition: ModelUserConditionInput\n  ) {\n    deleteUser(input: $input, condition: $condition) {\n      id\n      name\n      createdAt\n      updatedAt\n      SessionID\n      Session {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      content\n      UserProfile\n      ttl\n      avatar\n    }\n  }\n",{input:{id:n.id}})}function et(n){var e=JSON.parse(JSON.stringify(n));return delete e.Session,delete e.updatedAt,delete e.createdAt,En(V,{input:e})}function tt(n,e,t){En(j,{limit:100,nextToken:e,SessionID:n}).then((function(e){var r=e.data.byUsersSessionSorted;t(r.items),r.nextToken&&tt(n,r.nextToken,t)}))}function rt(n){void 0===n.retryCount&&(n.retryCount=3),n.doList&&tt(n.sessionID,null,n.cb);var e=Nn(X.a.graphql(Object(nn.a)("\n  subscription SubscribeToSessionUsers($SessionID: ID) {\n    subscribeToSessionUsers(SessionID: $SessionID) {\n      id\n      name\n      createdAt\n      updatedAt\n      SessionID\n      Session {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      content\n      UserProfile\n      ttl\n      avatar\n    }\n  }\n",{SessionID:n.sessionID})),{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToSessionUsers;n.cb([t])},error:function(e){console.log(JSON.stringify(e)),$n(!1,"UserSubscribe",e,null,rt,n)}},"UserSubscribe");n.subCB(e)}function ot(n){void 0===n.retryCount&&(n.retryCount=3);var e,t=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToSession($id: ID) {\n    subscribeToSession(id: $id) {\n      id\n      name\n      content\n      createdAt\n      updatedAt\n      Objects {\n        items {\n          id\n          name\n          content\n          type\n          objType\n          ended\n          createdAt\n          updatedAt\n          SessionID\n          ttl\n          animate\n          CreatedBy\n          CreatorLocalID\n          DisableSync\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      savedOwner\n      parentID\n      pageNumber\n      boardConfig\n      Users {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          SessionID\n          content\n          UserProfile\n          ttl\n          avatar\n        }\n        nextToken\n      }\n      parentBoardID\n      folderID\n      Classroom\n      CreatorLocalID\n      MultiBoard {\n        items {\n          id\n          parentBoardID\n          childBoardID\n          ttl\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      isGroup\n      joinCode\n      TenantID\n      deleted\n      TutorClass\n    }\n  }\n",{id:n.sessionID})),r=!1;e=Nn(t,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToSession;t.deleted?n.delcb(t):n.cb(t)},error:function(e){console.log(JSON.stringify(e)),$n(r,"SessionSubscribe:subscribeToSession",e,null,ot,n),r=!0}},"SessionSubscribe:subscribeToSession"),n.subCB([e,void 0])}function at(n,e){var t={limit:100,nextToken:e,filter:{deleted:{ne:!0}}};if(gn){var r=function(){var n=new Date;return n.setHours(n.getHours()-6),n}();t.filter={createdAt:{gt:r}}}En("\n  query ListSessions(\n    $filter: ModelSessionFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listSessions(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      nextToken\n    }\n  }\n",t).then((function(e){var t=e.data.listSessions;n(t.items),t.nextToken&&at(n,t.nextToken)}
1))}function it(n){void 0===n.retryCount&&(n.retryCount=3),n.doList&&at(n.cb,null);var e=Nn(X.a.graphql(Object(nn.a)("\n  subscription OnCreateSession {\n    onCreateSession {\n      id\n      name\n      content\n      createdAt\n      updatedAt\n      Objects {\n        items {\n          id\n          name\n          content\n          type\n          objType\n          ended\n          createdAt\n          updatedAt\n          SessionID\n          ttl\n          animate\n          CreatedBy\n          CreatorLocalID\n          DisableSync\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      savedOwner\n      parentID\n      pageNumber\n      boardConfig\n      Users {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          SessionID\n          content\n          UserProfile\n          ttl\n          avatar\n        }\n        nextToken\n      }\n      parentBoardID\n      folderID\n      Classroom\n      CreatorLocalID\n      MultiBoard {\n        items {\n          id\n          parentBoardID\n          childBoardID\n          ttl\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      isGroup\n      joinCode\n      TenantID\n      deleted\n      TutorClass\n    }\n  }\n",null)),{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.onCreateSession;n.cb([t])},error:function(e){console.log(JSON.stringify(e)),$n(!1,"SessionSubscribeAll",e,null,it,n)}},"SessionSubscribeAll");n.subCB(e)}function st(n,e,t,r,o,a,i,s,u){var c=an.b("mystoreID");c||(c=Object(en.a)(),an.d("mystoreID",c));var d={id:n,name:e,ttl:Rn(),parentID:r,pageNumber:o,savedOwner:t};if(t||(d.savedOwner=c),d.joinCode=u||_n(),s){var l=n.split("-pgNum-");l.length>1&&"1"===l[1]&&tr(s,(function(n){if(null===n||void 0===n)nr({id:r,TeacherID:c,name:"myclass"});else try{delete n.Teacher,delete n.Users,delete n.createdAt,delete n.updatedAt,n.TeacherID=c,n.id=r,n.ttl=d.ttl,nr(n)}catch(e){console.log("Class already exists",e)}})),d.Classroom=r}return i&&(d.boardConfig=i),d.parentBoardID=a||n,d.CreatorLocalID=c,Wn(d)}function ut(n,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r={id:n+"-"+e,parentBoardID:n,childBoardID:e};return r.ttl=t||xn(),En(R,{input:r})}function ct(n,e,t){En(v,{limit:100,nextToken:t,sortDirection:"ASC",Classroom:n}).then((function(t){var r=t.data.queryByGroupsClassroom;r.items.forEach((function(n){if(!n.deleted){var t={id:n.id,ttl:e};En(U,{input:t})}})),r.nextToken&&ct(n,e,r.nextToken)}))}function dt(n,e,t){En(D,{limit:100,nextToken:t,sortDirection:"ASC",Classroom:n}).then((function(t){var r=t.data.queryByEventsClassroom;r.items.forEach((function(n){if(!n.deleted){var t={id:n.id,ttl:e};En(G,{input:t})}})),r.nextToken&&dt(n,e,r.nextToken)}))}function lt(n,e,t){En(x,{limit:100,nextToken:t,sortDirection:"ASC",ClassroomID:n}).then((function(t){var r=t.data.queryLocalUserByClass;r.items.forEach((function(n){if(!n.deleted){var t={id:n.id,ttl:e};En(L,{input:t})}})),r.nextToken&&lt(n,e,r.nextToken)}))}function pt(n,e,t){En(k,{limit:100,nextToken:t,parentBoardID:n,filter:{deleted:{ne:!0}}}).then((function(t){var r=t.data.queryByParentID;r.items.forEach((function(n){var t={id:n.id,ttl:e};En("\n  mutation UpdateMultiBoard(\n    $input: UpdateMultiBoardInput!\n    $condition: ModelMultiBoardConditionInput\n  ) {\n    updateMultiBoard(input: $input, condition: $condition) {\n      id\n      parentBoardID\n      parentBoard {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      childBoardID\n      childBoard {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      ttl\n      createdAt\n      updatedAt\n    }\n  }\n",{input:t})})),r.nextToken&&pt(n,e,r.nextToken)}
1))}function ft(n,e,t){En(j,{limit:100,nextToken:t,sortDirection:"ASC",SessionID:n}).then((function(t){var r=t.data.byUsersSessionSorted;r.items.forEach((function(n){var t={id:n.id,ttl:e};En(V,{input:t})})),r.nextToken&&ft(n,e,r.nextToken)}))}function mt(n,e){return n[e.split("?X-Amz")[0]]}function bt(n,e,t){n[e.split("?X-Amz")[0]]=t}function gt(n,e){var t=mt(n,"multiPage");return t||bt(n,"multiPage",t={}),t[e]}function Ct(n,e,t){mt(n,"multiPage")[e]=t}function yt(n,e){return Tt.apply(this,arguments)}function Tt(){return(Tt=Object(c.a)(u.a.mark((function n(e,t){var r,o,a,i,s,c,d,l,p,f=arguments;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=f.length>2&&void 0!==f[2]&&f[2],o=f.length>3&&void 0!==f[3]?f[3]:null,a=f.length>4&&void 0!==f[4]?f[4]:null,i=f.length>5&&void 0!==f[5]&&f[5],s=mt(e,t)){n.next=14;break}return!r&&t.indexOf("-pg-")>0&&(r=!0),r&&(c=t.split("/"),d=c[c.length-1].split("-pg-"),l=d[1].split("."),a=l[1],(p=gt(e,d[0]))?o=p+"-pg-"+l[0]:(p=Object(en.a)(),o=p+"-pg-"+l[0],Ct(e,d[0],p))),n.next=10,Object(sn.i)(t,o,a,i);case 10:s=n.sent,bt(e,t,s),n.next=14;break;case 14:return n.abrupt("return",s);case 15:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function It(n,e){return vt.apply(this,arguments)}function vt(){return(vt=Object(c.a)(u.a.mark((function n(e,t){var r,o,a,i,s,c,d,l,p,f,m,b,g,C,y=arguments;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=y.length>2&&void 0!==y[2]&&y[2],o=e.content,a=null,"image"!==(o=JSON.parse(o)).type){n.next=17;break}if(!o.url){n.next=15;break}if(!o.url.match(wn)){n.next=13;break}return n.next=9,yt(t,o.url,!1,null,null,r);case 9:o.url=n.sent,a=JSON.stringify(o),n.next=13;break;case 13:n.next=15;break;case 15:n.next=43;break;case 17:if("bingo"!==o.type){n.next=43;break}if(!o.url){n.next=43;break}if(!o.url.match(wn)){n.next=41;break}i=Object.keys(o.pageArray),s=o.url.split("?X-Amz")[0],c=s.split("."),d=c[c.length-1],l=s.split("/"),p=l[l.length-1].split("-pg-")[0],f=l.slice(0,l.length-1).join("/"),m=!1,b=0;case 29:if(!(b<i.length)){n.next=38;break}return g=f+"/"+p+"-pg-"+i[b]+"."+d,n.next=33,yt(t,g,!0,null,d,r);case 33:C=n.sent,m||g!==o.url||(o.url=C,m=!0);case 35:b++,n.next=29;break;case 38:a=JSON.stringify(o),n.next=41;break;case 41:n.next=43;break;case 43:return n.abrupt("return",a);case 44:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Dt(n,e,t,r){return ht.apply(this,arguments)}function ht(){return(ht=Object(c.a)(u.a.mark((function n(e,t,r,o){var a,i,s,c=arguments;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=c.length>4&&void 0!==c[4]&&c[4],i=null,!r[1].source){n.next=14;break}if(!r[1].source.match(wn)){n.next=12;break}return s=!(!r[1].data||!r[1].data.bingo),n.next=7,yt(t,r[1].source,s,null,null,a);case 7:r[1].source=n.sent,i=JSON.stringify(r),o&&o.compressed&&(i=on.a.deflate(i,{to:"str
1ing"})),n.next=12;break;case 12:n.next=14;break;case 14:return n.abrupt("return",i);case 15:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function xt(n,e,t){var r=new RegExp(e,"g");return n.replace(r,t)}function kt(n,e,t){return Ot.apply(this,arguments)}function Ot(){return(Ot=Object(c.a)(u.a.mark((function n(e,t,r){var a,i,s,c,d,l,p,f,m,b=arguments;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:a=b.length>3&&void 0!==b[3]&&b[3],i=b.length>4?b[4]:void 0,s=t.match(An),c=Object(o.a)(new Set(s)),d=!1,n.t0=u.a.keys(c);case 6:if((n.t1=n.t0()).done){n.next=19;break}if(p=n.t1.value,f=!1,i?(a&&c[p]&&!c[p].includes("/paidImages")||!a&&c[p]&&c[p].includes("/paidImages"))&&(f=!0):f=!0,f){n.next=12;break}return n.abrupt("continue",6);case 12:return n.next=14,yt(e,c[p],!1,null,null,a);case 14:m=n.sent,t=xt(t,c[p],m),d=!0,n.next=6;break;case 19:return d&&(l=r&&r.compressed?on.a.deflate(t,{to:"string"}):t),n.abrupt("return",l);case 21:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function St(n,e,t){return wt.apply(this,arguments)}function wt(){return(wt=Object(c.a)(u.a.mark((function n(e,t,r){var o,a,i,s,c,d,l,p=arguments;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(o=p.length>3&&void 0!==p[3]&&p[3],a=p.length>4&&void 0!==p[4]&&p[4],i=null,"drawPaper"!==e.objType){n.next=33;break}if(s=e.content,c=null,e.type&&(c=JSON.parse(e.type)).compressed&&(s=on.a.inflate(s,{to:"str
1ing"})),"Raster"!==(d=JSON.parse(s))[0]){n.next=27;break}if(o){n.next=15;break}return n.next=12,Dt(e,r,d,c,a);case 12:i=n.sent,n.next=25;break;case 15:if(!a||d[1].source.includes("/paidImages")){n.next=21;break}return n.next=18,Dt(e,r,d,c,a);case 18:i=n.sent,n.next=25;break;case 21:if(a||!d[1].source.includes("/paidImages")){n.next=25;break}return n.next=24,Dt(e,r,d,c,a);case 24:i=n.sent;case 25:n.next=31;break;case 27:if("Group"!==d[0]&&"Path"!==d[0]){n.next=31;break}return n.next=30,kt(r,s,c,a,o);case 30:i=n.sent;case 31:n.next=51;break;case 33:if("image"!==e.objType){n.next=51;break}if(l=JSON.parse(e.content),o){n.next=41;break}return n.next=38,It(e,r,a);case 38:i=n.sent,n.next=51;break;case 41:if(!a||l.url.includes("/paidImages")){n.next=47;break}return n.next=44,It(e,r,a);case 44:i=n.sent,n.next=51;break;case 47:if(a||!l.url.includes("/paidImages")){n.next=51;break}return n.next=50,It(e,r,a);case 50:i=n.sent;case 51:return n.abrupt("return",i);case 52:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function At(n,e,t){return $t.apply(this,arguments)}function $t(){return($t=Object(c.a)(u.a.mark((function n(e,t,r){var o,a,i,s,c=arguments;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=c.length>3&&void 0!==c[3]&&c[3],a=c.length>4&&void 0!==c[4]&&c[4],n.next=4,St(e,t,r,o,a);case 4:return i=n.sent,s={id:e.id,ttl:t},i&&(s.content=i),n.abrupt("return",Gt(s));case 8:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function jt(n,e,t,r){return Bt.apply(this,arguments)}function Bt(){return(Bt=Object(c.a)(u.a.mark((function n(e,t,r,o){var a,i,s,c,d,l=arguments;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=l.length>4&&void 0!==l[4]&&l[4],i={limit:100,nextToken:r,sortDirection:"ASC",SessionID:e,filter:{deleted:{ne:!0}}},n.next=4,En(O,i);case 4:for(d in s=n.sent,(c=s.data.sessionSorted).items)At(c.items[d],t,o,!0,a);c.nextToken&&jt(e,t,c.nextToken,o,a);case 8:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Pt(n,e,t){En("\n  query QueryGamePlayBySession(\n    $Session: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelGamePlayFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryGamePlayBySession(\n      Session: $Session\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        Session\n        type\n        content\n        createdAt\n        updatedAt\n        version\n        ttl\n      }\n      nextToken\n    }\n  }\n",{limit:100,nextToken:t,sortDirection:"ASC",Session:n}).then((function(t){var r=t.data.queryGamePlayBySession;r.items.forEach((function(n){var t={id:n.id,_version:n._version,ttl:e};En(E,{input:t})})),r.nextToken&&Pt(n,e,r.nextToken)}))}function Nt(n){if("drawPaper"!==n.objType)return n;try{var e=JSON.parse(n.type)}catch(a){}if(e&&e.compressed){var t=on.a.inflate(n.content,{to:"string"}),r=JSON.parse(t);if(Array.isArray(r)&&"Group"===r[0]){var o=r[1];if(o&&o.data&&!0===o.data.spinner)return o.data.spinnerId=Object(en.a)(),n.content=JSON.stringify(r),co(n,!0)}}return n}function Mt(n,e,t,r){r||(r=xn()),En(O,{limit:100,nextToken:t,sortDirection:"ASC",SessionID:n,filter:{deleted:{ne:!0}}}).then((function(t){for(var o=t.data.sessionSorted,a=0;a<o.items.length;a++){var i=o.items[a];(i=Nt(i)).SessionID=e,i.ttl=r,delete i.id,delete i.Session,Lt(i)}o.nextToken&&Mt(n,e,o.nextToken,r)}))}function Et(){bn.undo()}function Ut(){bn.redo()}function Gt(n){var e=Object(d.a)(Object(d.a)({},n),{},{localDB_table:"Object",localDB_opertaion:"update"});return window.mydb?bn.createObj(e):En(_,{input:n})}function Lt(n){an.b("syncDisabled")&&(n.DisableSync="disabled");var e=Object(d.a)(Object(d.a)({},n),{},{localDB_table:"Object",localDB_opertaion:"create"});return window.mydb&&n.id?bn.createObj(e):En(J,{input:n})}function Rt(n,e){var t={};function r(){console.log("================================="),console.log("==============",e,"================="),console.log("=================================")}
1try{if("type"in n&&n.type)if(n.type.length<=1)r(),console.error("OBJ TOO SHORT",n);else{try{t.type=JSON.parse(n.type)}catch(o){}n.type&&n.type.compressed&&(t.content=on.a.inflate(n.content,{to:"string"}))}}catch(a){r(),console.error("cannot decode",a,n,typeof n.type)}}function Jt(n){var e,t,r;bn.registerCB(n.cb,n.delCB,Dn,n),void 0===n.retryCount&&(n.retryCount=3),n.doList&&(e=n.sessionID,t=null,r=n.cb,En(O,{limit:100,nextToken:t,sortDirection:"ASC",SessionID:e,filter:{deleted:{ne:!0}}}).then((function(n){var t=n.data.sessionSorted;bn.gotObjs(JSON.parse(JSON.stringify(t.items))),r(t.items),t.nextToken&&Ve(e,t.nextToken,r)})));var o,a=X.a.graphql(Object(nn.a)(W,{SessionID:n.sessionID})),i=!1;o=Nn(a,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToSessionObjects;bn.gotObjs([t]),t.deleted?n.delCB(t):n.cb([t])},error:function(e){console.log(JSON.stringify(e)),$n(i,"ObjectSubscribeLocal:subscribeToSessionObjects",e,void 0,He,n),i=!0}},"ObjectSubscribeLocal:subscribeToSessionObjects"),n.subCB([o,void 0])}function _t(n,e,t,r){e.SessionID=n,e.ttl=r,e.name="import",delete e.id,delete e.Session,delete e.createdAt,delete e.updatedAt,delete e.imgB64,Lt(e).then((function(n){t(n)}))}function qt(n,e,t){En(y,{limit:100,nextToken:e,sortDirection:"ASC",parentID:n}).then((function(e){var r=e.data.queryByParent;t(r.items),r.nextToken&&Ft(n,r.nextToken,t)}))}function Ft(n,e,t){En(y,{limit:100,nextToken:e,sortDirection:"ASC",parentID:n,filter:{deleted:{ne:!0}}}).then((function(e){var r=e.data.queryByParent;t(r.items),r.nextToken?Ft(n,r.nextToken,t):t(null)}))}function Kt(n,e){return Vt.apply(this,arguments)}function Vt(){return(Vt=Object(c.a)(u.a.mark((function n(e,t){var r,o,a,i,s,d,l,p,f,m=arguments;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return f=function(){return(f=Object(c.a)(u.a.mark((function n(e){var o,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e){n.next=2;break}return n.abrupt("return");case 2:o=0;case 3:if(!(o<e.length)){n.next=16;break}return i=e[o],n.next=7,jt(i.id,a,null,t,r);case 7:return ft(i.id,a,null),Pt(i.id,a,null),s={id:i.id,ttl:a},""===i.folderID&&(s.folderID=null),n.next=13,Se(s);case 13:o++,n.next=3;break;case 16:case"end":return n.stop()}}),n)})))).apply(this,arguments)},p=function(n){return f.apply(this,arguments)},r=m.length>2&&void 0!==m[2]&&m[2],o=m.length>3?m[3]:void 0,a=0,i=$a(),a=r||un.b()?yn:Jn(i&&"educator-free"!==i?28:7),s=e.split("-pgNum-"),n.next=10,Qe(s[0]);case 10:if(d=n.sent,!(a!==yn&&void 0!==o&&1e3*a<o)){n.next=13;break}return n.abrupt("return");case 13:return n.next=15,p(d);case 15:return n.next=17,rr(s[0]);case 17:if(!(l=n.sent)){n.next=25;break}return pt(l.id+"-pgNum-1",a,null),lt(l.id,a,null),dt(l.id,a,null),ct(l.id,a,null),n.next=25,er({id:l.id,ttl:a});case 25:return n.abrupt("return",a);case 26:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Wt(n,e,t,r){var o=t.split("-pgNum-"),a=Object(en.a)();Ft(o[0],null,(function(t){if(!t)return;t.forEach((function(t){var o=t.id.split("-pgNum-"),i=a+"-pgNum-"+o[1],s=i;t.id,t.parentBoardID,st(i,n,e,a,o[1],s,t.boardConfig,t.Classroom).then((function(n){var e=n.data.createSession;Mt(t.id,e.id,null,e.ttl),t.id!==t.parentBoardID&&Mt(t.parentBoardID,e.id,null,e.ttl),"1"===o[1]&&r&&(!function(n,e){e.Classroom&&(Lr(e.Classroom,(function(t){for(var r=0;r<t.length;r++){var o=t[r];if(o.For===o.Classroom){o.For=n.Classroom,o.Classroom=n.Classroom;var a=o.event.replace(e.Classroom,n.Classroom);a=a.replace(e.Classroom,n.Classroom),o.event=a,o.id=a,o.ttl=n.ttl,Ur(o)}}}),null),$r(e.Classroom,(function(e){for(var t=0;t<e.length;t++){var r=e[t],o=JSON.parse(r.content);r.content.includes("precog")&&Pr(r.name,o.members,n,null,null)}}),null))}(e,t),r(i))}))}))}))}function zt(n,e,t,r){var o=Object(en.a)();e&&e.forEach((function(e){var a=e.id.split("-pgNum-"),s=o+"-pgNum-"+a[1],u=s;st(s,e.name,n,o,a[1],u,e.boardConfig,e.Classroom).then((function(n){var o=n.data.createSession;if(t&&0!==t.length){var a=t.filter((function(n){return n.SessionID===e.id}));if(a&&0!==a.length){var s,u=0,c=Object(i.a)(a);try{for(c.s();!(s=c.n()).done;){var d=s.value;_t(o.id,d,l,o.ttl)}}catch(p){c.e(p)}finally{c.f()}}else r(o)}else r(o);function l(n){++u===a.length&&r(o)}}))}))}function Qt(n,e,t){var r=n.split("-pgNum-");Ft(r[0],null,(function(n){if(!n)return;for(var o=[],a=0,i=0;i<n.length;i++){var s=n[i],u=s.id.split("-pgNum-"),c=parseInt(u[1]);o[c]=s,a<c&&(a=c)}for(var d=a+1,l=1;l<=a;l++)if(!o[l]){d=l;break}0===d&&(d=n.length);var p=d,f=r[0]+"-pgNum-"+p,m=f;st(f,e.name,e.savedOwner,r[0],p,m,e.boardConfig,e.Classroom,e.joinCode).then((function(n){var r=n.data.createSession;Mt(e.id,r.id,null,r.ttl),e.id!==e.parentBoardID&&Mt(e.parentBoardID,r.id,null,r.ttl),t(p,!0)}))}))}function Zt(n,e,t){var r=n.name;n.TutorClass&&function(n,e){Ht.apply(this,arguments)}(n,e),Ft(n.id.split("-pgNum-")[0],null,(function(n){if(!n)return;
1n.forEach((function(n){var o={id:n.id,name:r};void 0!==e&&(o.folderID=e),t&&(o.updatedAt=n.updatedAt),Se(o)}))}))}function Ht(){return(Ht=Object(c.a)(u.a.mark((function n(e,t){var r,o,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,hi(e.TutorClass);case 2:(r=n.sent).data.getTutorClass&&(o=r.data.getTutorClass,(a=o.config?JSON.parse(o.config):null)&&-1!==(i=a.sessions.findIndex((function(n){return n.id===e.id})))&&((s=a.sessions[i]).name=t,a.sessions[i]=s,o.config=JSON.stringify(a),delete o.createdAt,delete o.updatedAt,delete o.TutorGroup,delete o.TutorClassEvents,Di(o)));case 4:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Yt(n,e,t){var r={limit:100,nextToken:t,savedOwner:n,sortDirection:"ASC",filter:{deleted:{ne:!0}}};r.filter={and:{deleted:{ne:!0},pageNumber:{eq:1}}},En(H,r).then((function(t){var r=t.data.queryBySavedOwner;r&&e(r.items,r.nextToken),r.nextToken&&Yt(n,e,r.nextToken)}))}function Xt(n){void 0===n.retryCount&&(n.retryCount=3),n.doList&&Yt(n.ownerid,n.cb,null);var e,t,r=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToSessionbyOwner($savedOwner: ID) {\n    subscribeToSessionbyOwner(savedOwner: $savedOwner) {\n      id\n      name\n      content\n      createdAt\n      updatedAt\n      Objects {\n        items {\n          id\n          name\n          content\n          type\n          objType\n          ended\n          createdAt\n          updatedAt\n          SessionID\n          ttl\n          animate\n          CreatedBy\n          CreatorLocalID\n          DisableSync\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      savedOwner\n      parentID\n      pageNumber\n      boardConfig\n      Users {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          SessionID\n          content\n          UserProfile\n          ttl\n          avatar\n        }\n        nextToken\n      }\n      parentBoardID\n      folderID\n      Classroom\n      CreatorLocalID\n      MultiBoard {\n        items {\n          id\n          parentBoardID\n          childBoardID\n          ttl\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      isGroup\n      joinCode\n      TenantID\n      deleted\n      TutorClass\n    }\n  }\n",{savedOwner:n.ownerid})),o=!1;e=Nn(r,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToSessionbyOwner;t.deleted?n.delcb(t):n.cb([t])},error:function(e){console.log(JSON.stringify(e)),$n(o,"SessionSubscribeByOwner:subscribeToSessionbyOwner",e,t,Xt,n),o=!0}},"SessionSubscribeByOwner:subscribeToSessionbyOwner");var a=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToSessionDelbyOwner($savedOwner: ID) {\n    subscribeToSessionDelbyOwner(savedOwner: $savedOwner) {\n      id\n      name\n      content\n      createdAt\n      updatedAt\n      Objects {\n        items {\n          id\n          name\n          content\n          type\n          objType\n          ended\n          createdAt\n          updatedAt\n          SessionID\n          ttl\n          animate\n          CreatedBy\n          CreatorLocalID\n          DisableSync\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      savedOwner\n      parentID\n      pageNumber\n      boardConfig\n      Users {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          SessionID\n          content\n          UserProfile\n          ttl\n          avatar\n        }\n        nextToken\n      }\n      parentBoardID\n      folderID\n      Classroom\n      CreatorLocalID\n      MultiBoard {\n        items {\n          id\n          parentBoardID\n          childBoardID\n          ttl\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      isGroup\n      joinCode\n      TenantID\n      deleted\n      TutorClass\n    }\n  }\n",{savedOwner:n.ownerid}));t=Nn(a,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToSessionDelbyOwner;n.delcb(t)},error:function(t){console.log(JSON.stringify(t)),$n(o,"SessionSubscribeByOwner:subscribeToSessionDelbyOwner",t,e,Xt,n),o=!0}},"SessionSubscribeByOwner:subscribeToSessionDelbyOwner"),n.subCB([e,t])}function nr(n){return n.ttl||(n.ttl=xn()),n.TeacherList=[n.TeacherID],En("\n  mutation CreateClassroom(\n    $input: CreateClassroomInput!\n    $condition: ModelClassroomConditionInput\n  ) {\n    createClassroom(input: $input, condition: $condition) {\n      id\n      name\n      TeacherID\n      content\n      Teacher {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      Users {\n        items {\n          id\n          content\n          createdAt\n          updatedAt\n          CurrentSessionId\n          CurrentUserId\n          ClassroomID\n          ttl\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      createdAt\n      updatedAt\n      TeacherList\n    }\n  }\n",{input:n})}function er(n){return Yr("SUBSCRIBE-CLASS",!0,n.id,n.id,n.id,n.ttl,!0,null),En("\n  mutation UpdateClassroom(\n    $input: UpdateClassroomInput!\n    $condition: ModelClassroomConditionInput\n  ) {\n    updateClassroom(input: $input, condition: $condition) {\n      id\n      name\n      TeacherID\n      content\n      Teacher {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      Users {\n        items {\n          id\n          content\n          createdAt\n          updatedAt\n          CurrentSessionId\n          CurrentUserId\n          ClassroomID\n          ttl\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      createdAt\n      updatedAt\n      TeacherList\n    }\n  }\n",{input:n})}function tr(n,e){En(m,{id:n}).then((function(n){var t=n.data.getClassroom;e(t)}))}function rr(n){return or.apply(this,arguments)}function or(){return(or=Object(c.a)(u.a.mark((function n(e){var t;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,En(m,{id:e});case 2:return t=n.sent,n.abrupt("return",t.data.getClassroom);case 4:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function ar(n){void 0===n.retryCount&&(n.retryCount=3),n.doList&&tr(n.id,n.cb);var e=Nn(X.a.graphql(Object(nn.a)("\n  subscription SubscribeToClassroomById($id: ID) {\n    subscribeToClassroomById(id: $
1id) {\n      id\n      name\n      TeacherID\n      content\n      Teacher {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      Users {\n        items {\n          id\n          content\n          createdAt\n          updatedAt\n          CurrentSessionId\n          CurrentUserId\n          ClassroomID\n          ttl\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      createdAt\n      updatedAt\n      TeacherList\n    }\n  }\n",{id:n.id})),{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToClassroomById;n.cb(t)},error:function(e){console.log(JSON.stringify(e)),$n(!1,"ClassroomSubscribe",e,null,ar,n)}},"ClassroomSubscribe");n.subCB(e)}function ir(n){var e={id:n};return ce(e),cr(e)}function sr(n){return En("\n  query GetLocalUsers($id: ID!) {\n    getLocalUsers(id: $id) {\n      id\n      content\n      createdAt\n      updatedAt\n      CurrentSession {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      CurrentSessionId\n      CurrentUserId\n      CurrentUser {\n        id\n        name\n        createdAt\n        updatedAt\n        SessionID\n        Session {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        content\n        UserProfile\n        ttl\n        avatar\n      }\n      ClassroomID\n      ttl\n      deleted\n    }\n  }\n",{id:n})}function ur(n){return n.ttl||(n.ttl=xn()),En("\n  mutation CreateLocalUsers(\n    $input: CreateLocalUsersInput!\n    $condition: ModelLocalUsersConditionInput\n  ) {\n    createLocalUsers(input: $input, condition: $condition) {\n      id\n      content\n      createdAt\n      updatedAt\n      CurrentSession {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      CurrentSessionId\n      CurrentUserId\n      CurrentUser {\n        id\n        name\n        createdAt\n        updatedAt\n        SessionID\n        Session {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        content\n        UserProfile\n        ttl\n        avatar\n      }\n      ClassroomID\n      ttl\n      deleted\n    }\n  }\n",{input:n})}function cr(n){return En(L,{input:n})}function dr(n,e,t){En(x,{limit:100,nextToken:t,ClassroomID:n,filter:{deleted:{ne:!0}}}).then((function(t){var r=t.data.queryLocalUserByClass;r&&e(r.items),r.nextToken&&dr(n,e,r.nextToken)}
1))}function lr(n){void 0===n.retryCount&&(n.retryCount=3),n.doList&&dr(n.ClassroomID,n.cb,null);var e,t=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToLocalUsersByClass($ClassroomID: ID) {\n    subscribeToLocalUsersByClass(ClassroomID: $ClassroomID) {\n      id\n      content\n      createdAt\n      updatedAt\n      CurrentSession {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      CurrentSessionId\n      CurrentUserId\n      CurrentUser {\n        id\n        name\n        createdAt\n        updatedAt\n        SessionID\n        Session {\n          id\n          name\n          content\n          createdAt\n          updatedAt\n          ttl\n          savedOwner\n          parentID\n          pageNumber\n          boardConfig\n          parentBoardID\n          folderID\n          Classroom\n          CreatorLocalID\n          isGroup\n          joinCode\n          TenantID\n          deleted\n          TutorClass\n        }\n        content\n        UserProfile\n        ttl\n        avatar\n      }\n      ClassroomID\n      ttl\n      deleted\n    }\n  }\n",{ClassroomID:n.ClassroomID})),r=!1;e=Nn(t,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToLocalUsersByClass;t.deleted?n.delCB(t):n.cb([t])},error:function(e){console.log(JSON.stringify(e)),$n(r,"SubscribeLocalUsersByClass:subscribeToLocalUsersByClass",e,void 0,lr,n),r=!0}},"SubscribeLocalUsersByClass:subscribeToLocalUsersByClass"),n.subCB([e,void 0])}function pr(n){return fr.apply(this,arguments)}function fr(){return(fr=Object(c.a)(u.a.mark((function n(e){var t,r,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t=[],r=null;case 2:return a={limit:100,nextToken:r,sortDirection:"ASC",Classroom:e,filter:{deleted:{ne:!0}}},n.next=5,En(Z,a);case 5:i=n.sent,s=i.data.queryByClassroom,t=[].concat(Object(o.a)(t),Object(o.a)(s.items)),r=s.nextToken;case 9:if(null!==r){n.next=2;break}case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function mr(n,e,t,r,o){var a=r?Z:T,i={limit:100,nextToken:t,Classroom:n,sortDirection:"ASC"};i.filter=o||{deleted:{ne:!0}},En(a,i).then((function(t){var a=t.data.queryByClassroom;a&&e(a.items,a.nextToken),a.nextToken&&mr(n,e,a.nextToken,r,o)}))}function br(n){void 0===n.retryCount&&(n.retryCount=3),n.doList&&mr(n.Classroom,n.cb,null,!1,null);var e=Nn(X.a.graphql(Object(nn.a)("\n  subscription SubscribeToSessionbyClassroom($Classroom: ID) {\n    subscribeToSessionbyClassroom(Classroom: $Classroom) {\n      id\n      name\n      content\n      createdAt\n      updatedAt\n      Objects {\n        items {\n          id\n          name\n          content\n          type\n          objType\n          ended\n          createdAt\n          updatedAt\n          SessionID\n          ttl\n          animate\n          CreatedBy\n          CreatorLocalID\n          DisableSync\n          deleted\n        }\n        nextToken\n      }\n      ttl\n      savedOwner\n      parentID\n      pageNumber\n      boardConfig\n      Users {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          SessionID\n          content\n          UserProfile\n          ttl\n          avatar\n        }\n        nextToken\n      }\n      parentBoardID\n      folderID\n      Classroom\n      CreatorLocalID\n      MultiBoard {\n        items {\n          id\n          parentBoardID\n          childBoardID\n          ttl\n          createdAt\n          updatedAt\n        }\n        nextToken\n      }\n      isGroup\n      joinCode\n      TenantID\n      deleted\n      TutorClass\n    }\n  }\n",{Classroom:n.Classroom})),{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToSessionbyClassroom;n.cb([t])},error:function(e){console.log(JSON.stringify(e)),$n(!1,"SessionSubscribeByClassroom",e,null,br,n)}},"SessionSubscribeByClassroom");n.subCB(e)}function gr(n,e){return Cr.apply(this,arguments)}function Cr(){return(Cr=Object(c.a)(u.a.mark((function n(e,t){var r,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=null,a=0,!e.boardConfig){n.next=8;break}return n.next=5,we(e.parentID+"-pgNum-1");case 5:i=n.sent,(s=JSON.parse(i.data.getSession.boardConfig)).boardOrder&&(r=s.boardOrder.order,a=Math.max.apply(Math,Object(o.a)(Object.keys(r))),r[a+1]=t);case 8:if(!r){n.next=13;break}return s.boardOrder.order=r,s.boardOrder.max=t,n.next=13,me(e,s.boardOrder);case 13:return n.abrupt("return",t);case 14:case"end":return n.stop()}}),n)})))).apply(this,arguments)}
1function yr(n,e){function t(n){!function(n){n&&n.forEach((function(n){var t=!1;n.parentBoardID===n.id&&(t=!0),"all"!==e&&t||ke(n.id),"studentAndPages"!==e||t||Yn(n.id)}))}(n)}"all"===e&&Ft(n.parentID,null,t),n.Classroom&&(mr(n.Classroom,t,null,!1,null),"studentAndPages"===e&&dr(n.Classroom,(function(n){var e=an.b("mystoreID");n.forEach((function(n){n.id.split("-CL-")[0]!==e&&(n&&n.CurrentUser&&nt(n.CurrentUser),ir(n.id))}))}),null))}function Tr(n,e){if(n&&n.Users){for(var t=!1,r=new Date,o=0;o<n.Users.items.length;o++){var a=n.Users.items[o];if(JSON.parse(a.content).localID!==n.CreatorLocalID)(r-new Date(a.updatedAt))/1e3>60*parseInt(e)&&(nt(a),t=!0)}t&&Yo()}}function Ir(n,e,t){var r,o,a=e;e.includes("?")&&!e.includes("apiaccess")?a="/apiaccess"+e:-1!==(null===n||void 0===n||null===(r=n.location)||void 0===r||null===(o=r.pathname)||void 0===o?void 0:o.indexOf("&joinStudentBoard"))&&(a="/board/"+t.id),n.history.push(a)}function vr(n,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=an.b("mystoreID");function a(n){n&&n.forEach((function(n){if(n.CreatorLocalID===t||n.CreatorLocalID===o||r){var a=n.boardConfig?JSON.parse(n.boardConfig):{};a.Video=e,r&&(a.allTVideo=e),n.boardConfig=JSON.stringify(a),Se(n)}}))}function i(n){a(n)}Ft(n.parentID,null,i),n.Classroom&&mr(n.Classroom,i,null,!1,null)}function Dr(n,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;function r(n){if(n){(t?n.filter((function(n){return n.CreatorLocalID===t})):n).forEach((function(n){var t=n.boardConfig?JSON.parse(n.boardConfig):{};t.Video=e,n.boardConfig=JSON.stringify(t),Se(n)}))}}function o(n){r(n)}Ft(n.parentID,null,o),n.Classroom&&mr(n.Classroom,o,null,!1,null)}function hr(n,e){Ft(n.parentID,null,(function(n){if(!n)return;n.forEach((function(n){var t=n.boardConfig?JSON.parse(n.boardConfig):{};t.Labels=e,n.boardConfig=JSON.stringify(t),Se(n)}))}))}function xr(n,e){Ft(n.parentID,null,(function(n){if(!n)return;n.forEach((function(n){n.name=e,Se(n)}))}))}function kr(n,e,t){function r(n){!function(n){n&&n.forEach((function(n){var r=n.boardConfig?JSON.parse(n.boardConfig):{};r[e]=t,n.boardConfig=JSON.stringify(r),Se(n)}))}(n)}Ft(n.parentID,null,r),n.Classroom&&mr(n.Classroom,r,null,!1,null)}function Or(n){var e=null,t=null;if(!n||!n.username)return{name:"unknown",avatar:null};if(n.username.startsWith("Facebook_")){var r=n.username.split("_")[1];t="https://graph.facebook.com/".concat(r,"/picture?type=large"),n.attributes.name&&(e=n.attributes.name)}else n.username.startsWith("Google_")&&(n.attributes.picture&&(t=(t=n.attributes.picture).replace(/=s96-c$/,"=s192-c")),n.attributes.name&&(e=n.attributes.name));return{name:e,avatar:t}}function Sr(){var n=window.location.href.split("/board/")[1];return n.includes("?")&&(n=n.split("?")[0]),we(n)}function wr(n){return En(U,{input:n})}function Ar(n){return ce(n),wr(n)}function $r(n,e,t){En(v,{limit:100,nextToken:t,Classroom:n,filter:{deleted:{ne:!0}}}).then((function(t){var r=t.data.queryByGroupsClassroom;r&&e(r.items,!1),r.nextToken&&$r(n,e,r.nextToken)}))}function jr(n){void 0===n.retryCount&&(n.retryCount=3),n.doList&&$r(n.ClassroomID,n.cb,null);var e,t=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToClassGroup($Classroom: ID) {\n    subscribeToClassGroup(Classroom: $Classroom) {\n      id\n      createdAt\n      updatedAt\n      ttl\n      name\n      content\n      Classroom\n      SessionID\n      deleted\n    }\n  }\n",{Classroom:n.ClassroomID})),r=!1;e=Nn(t,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToClassGroup;t.deleted?n.delCB(t):n.cb([t],!0)},error:function(e){console.log(JSON.stringify(e)),$n(r,"SubscribeClassGroupByClass:subscribeToClassGroup",e,void 0,jr,n),r=!0}},"SubscribeClassGroupByClass:subscribeToClassGroup"),n.subCB([e,void 0])}function Br(n){var e;void 0===n.retryCount&&(n.retryCount=3),n.doList&&function n(e,t,r){En("\n  query QueryByEventsByTutorGroup(\n    $TutorGroupID: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelClassroomEventFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryByEventsByTutorGroup(\n      TutorGroupID: $TutorGroupID\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        createdAt\n        updatedAt\n        ttl\n        type\n        event\n        For\n        State\n        Content\n        Classroom\n        deleted\n        TutorGroupID\n        TutorClassID\n      }\n      nextToken\n    }\n  }\n",{limit:100,nextToken:r,TutorGroupID:e,filter:{deleted:{ne:!0}}}).then((function(r){var o=r.data.queryByEventsByTutorGroup;o&&t(o.items,!1),o.nextToken&&n(e,t,o.nextToken)}
1))}(n.TutorGroupID,n.cb,null);var t=X.a.graphql(Object(nn.a)(z,{TutorGroupID:n.TutorGroupID})),r=!1;e=Nn(t,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToClassroomEventsByTutorGroup;t.deleted?n.delCB(t):n.cb([t],!0)},error:function(e){console.log(JSON.stringify(e)),$n(r,"SubscribeClassroomEventByTutorGroup",e,void 0,Br,n),r=!0}},"SubscribeClassroomEventByTutorGroup"),n.subCB([e,void 0])}function Pr(n,e,t,r,o,a){if(t){for(var i=o||Object(en.a)(),s=i+"-pgNum-1",u=!1,c=0;c<e.length;c++)e[c].type&&"precog"===e[c].type&&(u=!0);var d=t.boardConfig;try{!(d=JSON.parse(t.boardConfig)).hasPreCogs&&u&&(d.hasPreCogs=!0,t.boardConfig=JSON.stringify(d),Se(t))}catch(p){console.log("ERROR IS ",p)}var l=t.parentBoardID.split("-pgNum-")[0]+"-pgNum-1";ut(l,i,t.ttl),Zn(s,"group-"+n,"somecontent",i,1,l,t.boardConfig,t.Classroom,!0,t.ttl).then((function(o){var i=JSON.stringify({members:e});a&&(i=JSON.stringify({members:e,count:a})),function(n){return n.ttl||(n.ttl=xn()),Yr("SUBSCRIBE-GROUP",!0,n.Classroom,n.Classroom,n.id,n.ttl,!0,null),En("\n  mutation CreateClassGroup(\n    $input: CreateClassGroupInput!\n    $condition: ModelClassGroupConditionInput\n  ) {\n    createClassGroup(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      ttl\n      name\n      content\n      Classroom\n      SessionID\n      deleted\n    }\n  }\n",{input:n})}({name:n,Classroom:t.Classroom,content:i,SessionID:s,ttl:o.ttl}).then((function(n){var e=n.data.createClassGroup;r&&r(e)}))}))}}function Nr(n,e,t,r){Sr().then((function(o){var a=o.data.getSession;Pr(n,e,a,t,null,r)}))}function Mr(n,e){for(var t=!1,r=0;r<e.length;r++)e[r].type&&"precog"===e[r].type&&(t=!0);t?Sr().then((function(e){var r=e.data.getSession,o=r.boardConfig;try{!(o=JSON.parse(r.boardConfig)).hasPreCogs&&t&&(o.hasPreCogs=!0,r.boardConfig=JSON.stringify(o),Se(r))}catch(a){console.log("ERROR IS ",a)}wr(n)})):wr(n)}function Er(n){return En("\n  query GetClassroomEvent($id: ID!) {\n    getClassroomEvent(id: $id) {\n      id\n      createdAt\n      updatedAt\n      ttl\n      type\n      event\n      For\n      State\n      Content\n      Classroom\n      deleted\n      TutorGroupID\n      TutorClassID\n    }\n  }\n",{id:n})}function Ur(n){return n.ttl||(n.ttl=xn()),n.TutorGroupID||(n.TutorGroupID="NO_GROUP"),En("\n  mutation CreateClassroomEvent(\n    $input: CreateClassroomEventInput!\n    $condition: ModelClassroomEventConditionInput\n  ) {\n    createClassroomEvent(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      ttl\n      type\n      event\n      For\n      State\n      Content\n      Classroom\n      deleted\n      TutorGroupID\n      TutorClassID\n    }\n  }\n",{input:n})}function Gr(n){return delete n.createdAt,delete n.name,delete n.Render,delete n.RenderButtons,En(G,{input:n})}function Lr(n,e,t){En(D,{limit:100,nextToken:t,Classroom:n,filter:{deleted:{ne:!0}}}).then((function(t){var r=t.data.queryByEventsClassroom;r&&e(r.items,!1),r.nextToken&&Lr(n,e,r.nextToken)}))}function Rr(n,e){return Jr.apply(this,arguments)}function Jr(){return(Jr=Object(c.a)(u.a.mark((function n(e,t){var r,a,i,s,c;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:r=[],a=null;case 2:return(i={limit:100,nextToken:a,Classroom:e}).filter=t?{and:Object(d.a)(Object(d.a)({},t),{},{deleted:{ne:!0}})}:{deleted:{ne:!0}},n.next=6,En(D,i);case 6:s=n.sent,c=s.data.queryByEventsClassroom,r=[].concat(Object(o.a)(r),Object(o.a)(c.items)),a=c.nextToken;case 10:if(null!==a){n.next=2;break}case 11:return n.abrupt("return",r);case 12:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function _r(n){Lr(n.Classroom?n.Classroom:n.parentID,(function(n){n.forEach((function(n){var e;"Chat"===n.type&&(ce(e=n),Gr(e))}))}),null)}function qr(n){var e;void 0===n.retryCount&&(n.retryCount=3),n.doList&&Lr(n.ClassroomID,n.cb,null);var t=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToClassroomEvents($Classroom: ID) {\n    subscribeToClassroomEvents(Classroom: $Classroom) {\n      id\n      createdAt\n      updatedAt\n      ttl\n      type\n      event\n      For\n      State\n      Content\n      Classroom\n      deleted\n      TutorGroupID\n      TutorClassID\n    }\n  }\n",{Classroom:n.ClassroomID})),r=!1;e=Nn(t,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToClassroomEvents;t.deleted?n.delCB(t):n.cb([t],!0)},error:function(e){console.log(JSON.stringify(e)),$n(r,"SubscribeClassroomEventByClass",e,void 0,qr,n),r=!0}},"SubscribeClassroomEventByClass"),n.subCB([e,void 0])}function Fr(n){return n.ttl=Rn(),En("\n  mutation CreateErrorLog(\n    $input: CreateErrorLogInput!\n    $condition: ModelErrorLogConditionInput\n  ) {\n    createErrorLog(input: $input, condition: $condition) {\n      id\n      name\n      createdAt\n      updatedAt\n      content\n      ttl\n    }\n  }\n",{input:n})}var Kr={},Vr=null;function Wr(){var n=Date.now(),e=function(e){var t=Kr[e];!function n(e,t,r,o,a){var i={limit:100,nextToken:t,sortDirection:"ASC",SessionID:e};o&&(i.filter={createdAt:{gt:o}}),En(O,i).then((function(t){var a=t.data.sessionSorted;r(a.items),a.nextToken&&n(e,a.nextToken,r,o)})).catch((function(n){a&&a(n)}))}(e,null,(function(e){for(var r=0;r<e.length;r++){var o=e[r];if(!o.deleted){var a=new Date(o.createdAt);if((n-a)/1e3>20&&t.cb)return void t.cb()}}}),t.lastObjTS,(function(n){console.log("ERROR FETCH",n),t.cb&&t.cb();return}))};for(var t in Kr)e(t)}function zr(n){if(!n.localDB_opertaion&&n.SessionID in Kr){if(Kr[n.SessionID].lastObjTS)if(new Date(n.createdAt)<new Date(Kr[n.SessionID].lastObjTS))return;Kr[n.SessionID].lastObj=n,Kr[n.SessionID].lastObjTS=n.createdAt}}function Qr(n,e){Vr||(Vr=setInterval(Wr,6e4)),n in Kr||(Kr[n]={lastObj:null,lastObjTS:null,cb:e})}function Zr(){Vr&&(clearInterval(Vr),Vr=null),Kr={}}function Hr(n,e){var t=document.createElement("script");t.src=n,t.async=!0,document.body.appendChild(t),t.onload=function(){e()}}function Yr(n,e,t,r,o,a,i,s){var u=t+"-"+r+n,c={action:n,state:e,value:o},d={id:u,ttl:a,event:u,Classroom:t,deleted:!1,type:n,State:e,Content:JSON.stringify(c)};d.For=r,Er(u).then((function(n){n.data.getClassroomEvent?i&&Gr(d):Ur(d).then((function(n){if(s){var e=n.data.createClassroomEvent;s(e)}}))}))}function Xr(n,e,t){return no.apply(this,arguments)}function no(){return(no=Object(c.a)(u.a.mark((function n(e,t,r){var o,a;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=e.Classroom?e.Classroom:e.parentID,a=[],n.next=4,Rr(o,null);case 4:n.sent.forEach((function(n){"CLASSPOLLER"===n.type&&(n.Content=JSON.parse(n.Content),a.push(n))})),a.forEach((function(n){r||n.Content.question!==t||n.Content.teacher||(n.Content=JSON.stringify(n.Content),n.State="DONE",Gr(n)),r&&(n.Content=JSON.stringify(n.Content),n.State="DONE",Gr(n))}));case 7:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function eo(n,e,t,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,i=n.Classroom?n.Classroom:n.parentID,s=n.ttl,u=an.b("mystoreID"),c=an.b("myname"),d="CLASSPOLLER",l=i+"-"+u+r,p={action:d,state:e,value:t,teacher:o,question:r,luid:u,name:c},f={id:l,ttl:s,event:l,Classroom:i,deleted:!1,type:d,State:e,Content:JSON.stringify(p)};f.For=i,Er(l).then((function(n){n.data.getClassroomEvent?Gr(f):Ur
1(f).then((function(n){a&&a()}))}))}function to(n){n.Content=JSON.stringify(n.Content),Gr(n)}function ro(n,e,t){En("\n  query FoldersByOwner(\n    $userProfileId: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelFolderFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    foldersByOwner(\n      userProfileId: $userProfileId\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        createdAt\n        updatedAt\n        userProfileId\n        user {\n          id\n          name\n          createdAt\n          updatedAt\n          email\n          boardConfig\n          avatar\n          personalConfig\n          emailOptIn\n          paidPlan\n          validTeacher\n          adminOfTenant\n          TenantID\n          FEMStatus\n          lastVisitedSubs\n          MemberOfTeam\n          TutorGroupID\n        }\n        parentFolderPath\n      }\n      nextToken\n    }\n  }\n",{limit:100,nextToken:t,userProfileId:n}).then((function(t){var r=t.data.foldersByOwner;r&&e(r.items,r.nextToken),r.nextToken?ro(n,e,r.nextToken):e(null)}))}function oo(n){void 0===n.retryCount&&(n.retryCount=3),void 0===n.doList&&(n.doList=!0),n.doList&&ro(n.user,n.cb,null);var e,t,r=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToFoldersbyOwner($userProfileId: ID) {\n    subscribeToFoldersbyOwner(userProfileId: $userProfileId) {\n      id\n      name\n      createdAt\n      updatedAt\n      userProfileId\n      user {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      parentFolderPath\n    }\n  }\n",{userProfileId:n.user})),o=!1;e=Nn(r,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToFoldersbyOwner;n.cb([t])},error:function(e){console.log(JSON.stringify(e)),$n(o,"SubscribeFoldersByOwner:subscribeToFoldersbyOwner",e,t,oo,n),o=!0}},"SubscribeFoldersByOwner:subscribeToFoldersbyOwner");var a=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToDelFoldersbyOwner($userProfileId: ID) {\n    subscribeToDelFoldersbyOwner(userProfileId: $userProfileId) {\n      id\n      name\n      createdAt\n      updatedAt\n      userProfileId\n      user {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      parentFolderPath\n    }\n  }\n",{userProfileId:n.user}));t=Nn(a,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToDelFoldersbyOwner;n.delcb(t)},error:function(t){console.log(JSON.stringify(t)),$n(o,"SubscribeFoldersByOwner:subscribeToDelFoldersbyOwner",t,e,oo,n),o=!0}},"SubscribeFoldersByOwner:subscribeToDelFoldersbyOwner"),n.subCB([e,t])}function ao(n,e,t){return En("\n  mutation CreateFolder(\n    $input: CreateFolderInput!\n    $condition: ModelFolderConditionInput\n  ) {\n    createFolder(input: $input, condition: $condition) {\n      id\n      name\n      createdAt\n      updatedAt\n      userProfileId\n      user {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      parentFolderPath\n    }\n  }\n",{input:{name:n,userProfileId:e,parentFolderPath:t}})}function io(n){return En("\n  mutation UpdateFolder(\n    $input: UpdateFolderInput!\n    $condition: ModelFolderConditionInput\n  ) {\n    updateFolder(input: $input, condition: $condition) {\n      id\n      name\n      createdAt\n      updatedAt\n      userProfileId\n      user {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      parentFolderPath\n    }\n  }\n",{input:n})}function so(n){return En("\n  mutation DeleteFolder(\n    $input: DeleteFolderInput!\n    $condition: ModelFolderConditionInput\n  ) {\n    deleteFolder(input: $input, condition: $condition) {\n      id\n      name\n      createdAt\n      updatedAt\n      userProfileId\n      user {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      parentFolderPath\n    }\n  }\n",{input:{id:n}})}function uo(n,e){Ve(e,null,(function(e){for(var t=0;t<e.length;t++){var r=e[t];if("drawPaper"===r.objType&&r.content){try{"type"in r&&(r.type=JSON.parse(r.type),r.type&&r.type.compressed&&(r.content=on.a.inflate(r.content,{to:"str
1ing"}),delete r.type))}catch(a){console.error("cannot decode",a,r);continue}var o;try{o=JSON.parse(r.content)}catch(i){continue}if(o&&!(o.length<=1)&&o[1]&&o[1].data&&o[1].data.studentMoveParent===n.data.studentMoveParentID)return n.visible=!1,void n.remove()}}}))}function co(n,e){var t=JSON.parse(JSON.stringify(n));return t.content?(delete t.created,t.type=JSON.stringify({compressed:e}),e&&(t.content=on.a.deflate(t.content,{to:"string"})),t):null}function lo(n,e,t,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;o||(o=xn());var a=["Raster",{applyMatrix:!1,matrix:[1,0,0,1,n,e],data:{palette:!0},crossOrigin:"anonymous",source:t}],i=Object(en.a)(),s=JSON.stringify(a),u={content:s,type:null},c=co(u,!0);Re(i,"name",r,c.content,"drawPaper",null,c.type,o)}function po(){return fo.apply(this,arguments)}function fo(){return(fo=Object(c.a)(u.a.mark((function n(){var e,t,r,a,i;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:e=[],t=null;case 2:return r={limit:100,nextToken:t},n.next=5,En(f,r);case 5:a=n.sent,i=a.data.listCommunityBoards,e=[].concat(Object(o.a)(e),Object(o.a)(i.items)),t=i.nextToken;case 9:if(null!==t){n.next=2;break}case 10:return e=e.filter((function(n){return!0!==n.deleted})),n.abrupt("return",e);case 12:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function mo(n){return En("\n  mutation UpdateCommunityBoard(\n    $input: UpdateCommunityBoardInput!\n    $condition: ModelCommunityBoardConditionInput\n  ) {\n    updateCommunityBoard(input: $input, condition: $condition) {\n      id\n      name\n      description\n      creator\n      creatorEmail\n      CreatorLocalID\n      Country\n      Grade\n      Subject\n      boardLink\n      content\n      createdAt\n      updatedAt\n      title\n      deleted\n    }\n  }\n",{input:n})}function bo(n){return En("\n  mutation CreateCommunityBoard(\n    $input: CreateCommunityBoardInput!\n    $condition: ModelCommunityBoardConditionInput\n  ) {\n    createCommunityBoard(input: $input, condition: $condition) {\n      id\n      name\n      description\n      creator\n      creatorEmail\n      CreatorLocalID\n      Country\n      Grade\n      Subject\n      boardLink\n      content\n      createdAt\n      updatedAt\n      title\n      deleted\n    }\n  }\n",{input:n})}function go(n,e){En("\n  query ListUserProfiles(\n    $filter: ModelUserProfileFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    listUserProfiles(filter: $filter, limit: $limit, nextToken: $nextToken) {\n      items {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      nextToken\n    }\n  }\n",{filter:{email:{eq:n}},limit:10,nextToken:null}).then((function(n){var t=n.data.listUserProfiles;t.items&&e(t.items)}))}function Co(n){return En("\n  mutation CreatePersonalPalette(\n    $input: CreatePersonalPaletteInput!\n    $condition: ModelPersonalPaletteConditionInput\n  ) {\n    createPersonalPalette(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      path\n      owner\n      name\n      content\n    }\n  }\n",{input:n})}function yo(n){return En("\n  mutation UpdatePersonalPalette(\n    $input: UpdatePersonalPaletteInput!\n    $condition: ModelPersonalPaletteConditionInput\n  ) {\n    updatePersonalPalette(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      path\n      owner\n      name\n      content\n    }\n  }\n",{input:n})}function To(n){return En("\n  mutation DeletePersonalPalette(\n    $input: DeletePersonalPaletteInput!\n    $condition: ModelPersonalPaletteConditionInput\n  ) {\n    deletePersonalPalette(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      path\n      owner\n      name\n      content\n    }\n  }\n",{input:{id:n}})}function Io(n){void 0===n.retryCount&&(n.retryCount=3),void 0===n.doList&&(n.doList=!0),n.doList&&function n(e,t,r){En("\n  query ByPOwnerSorted(\n    $owner: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelPersonalPaletteFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    b
1yPOwnerSorted(\n      owner: $owner\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        createdAt\n        updatedAt\n        path\n        owner\n        name\n        content\n      }\n      nextToken\n    }\n  }\n",{limit:100,nextToken:r,owner:e}).then((function(r){var o=r.data.byPOwnerSorted;o&&t(o.items),o.nextToken?n(e,t,o.nextToken):t(null)}))}(n.user,n.cb,null);var e,t,r=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToPalette($owner: ID) {\n    subscribeToPalette(owner: $owner) {\n      id\n      createdAt\n      updatedAt\n      path\n      owner\n      name\n      content\n    }\n  }\n",{owner:n.user})),o=!1;e=Nn(r,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToPalette;n.cb([t])},error:function(e){console.log(JSON.stringify(e)),$n(o,"subscribeToPalette:subscribeToPalette",e,t,Io,n),o=!0}},"SubscribePersonalPalettesByOwner:subscribeToPalette");var a=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToDelPalette($owner: ID) {\n    subscribeToDelPalette(owner: $owner) {\n      id\n      createdAt\n      updatedAt\n      path\n      owner\n      name\n      content\n    }\n  }\n",{owner:n.user}));t=Nn(a,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToDelPalette;n.delcb(t)},error:function(t){console.log(JSON.stringify(t)),$n(o,"SubscribePersonalPalettesByOwner:subscribeToDelPalette",t,e,Io,n),o=!0}},"SubscribePersonalPalettesByOwner:subscribeToDelPalette"),n.subCB([e,t])}function vo(n){return En("\n  mutation CreateCommunityPalette(\n    $input: CreateCommunityPaletteInput!\n    $condition: ModelCommunityPaletteConditionInput\n  ) {\n    createCommunityPalette(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      path\n      owner\n      name\n      content\n    }\n  }\n",{input:n})}function Do(n,e){var t=e||xn();return n.ttl=t,X.a.graphql(Object(nn.a)("\n  mutation CreateGamePlay(\n    $input: CreateGamePlayInput!\n    $condition: ModelGamePlayConditionInput\n  ) {\n    createGamePlay(input: $input, condition: $condition) {\n      id\n      Session\n      type\n      content\n      createdAt\n      updatedAt\n      version\n      ttl\n    }\n  }\n",{input:n}))}function ho(n){return n.expectedVersion=n.version,X.a.graphql(Object(nn.a)(E,{input:n}))}function xo(n){return X.a.graphql(Object(nn.a)("\n  query GetGamePlay($id: ID!) {\n    getGamePlay(id: $id) {\n      id\n      Session\n      type\n      content\n      createdAt\n      updatedAt\n      version\n      ttl\n    }\n  }\n",{id:n}))}function ko(n){void 0===n.retryCount&&(n.retryCount=3);var e,t=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToGamePlay($id: ID) {\n    subscribeToGamePlay(id: $id) {\n      id\n      Session\n      type\n      content\n      createdAt\n      updatedAt\n      version\n      ttl\n    }\n  }\n",{id:n.id})),r=!1;e=Nn(t,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToGamePlay;n.cb([t])},error:function(t){console.log(JSON.stringify(t)),$n(r,"subscribeToGamePlay",t,e,ko,n),r=!0}},"subscribeToGamePlay:subscribeToGamePlay"),n.subCB([e])}function Oo(){return So.apply(this,arguments)}function So(){return(So=Object(c.a)(u.a.mark((function n(){var e,t;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return"https://www.googleapis.com/language/translate/v2/languages?key=AIzaSyAo_Srf7D6PODgjHD3bPOjab-jDzwK9FvU",n.next=3,fetch("https://www.googleapis.com/language/translate/v2/languages?key=AIzaSyAo_Srf7D6PODgjHD3bPOjab-jDzwK9FvU",{method:"GET",headers:{"Content-Type":"application/json"}});case 3:return e=n.sent,n.next=6,e.json();case 6:if(!(t=n.sent)||!t.data){n.next=9;break}return n.abrupt("return",t.data.languages);case 9:return n.abrupt("return",null);case 10:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function wo(n,e){return Ao.apply(this,arguments)}function Ao(){return(Ao=Object(c.a)(u.a.mark((function n(e,t){var r,o,a,i;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=function(){return(o=Object(c.a)(u.a.mark((function n(){var e,t,r,o=arguments;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o.length>0&&void 0!==o[0]?o[0]:"",e=o.length>1&&void 0!==o[1]?o[1]:{},t="https://www.googleapis.com/language/translate/v2/?key="+e.key+"&target="+e.target+"&q="+e.q,n.next=5,fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}});case 5:return r=n.sent,n.abrupt("return",r.json());case 7:case"end":return n.stop()}}),n)})))).apply(this,arguments)},r=function(){return o.apply(this,arguments)},a={key:"AIzaSyAo_Srf7D6PODgjHD3bPOjab-jDzwK9FvU",q:e,target:t,alt:"json"},n.next=5,r("https://translation.googleapis.com/language/translate/v2",a);case 5:if(!((i=n.sent)&&i.data&&i.data.translations)){n.next=8;break}return n.abrupt("return",i.data.translations[0].translatedText);case 8:return n.abrupt("return",null);case 9:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function $o(n,e,t,r,o){var a=r?n.Classroom+"-"+e:n.parentID+"-"+e,i={action:e,state:t,bytimer:o,creator:n.CreatorLocalID},s={id:a,ttl:n.ttl,event:a,Classroom:n.Classroom,deleted:!1,type:e,State:"Sent",Content:JSON.stringify(i)};
1t||(s.State="Done"),s.For=r?n.Classroom:n.parentID,Er(a).then((function(n){n.data.getClassroomEvent?Gr(s):Ur(s)}))}function jo(n){var e=window.navigator.userLanguage||window.navigator.language;return n.toLocaleString(e,{weekday:"short",month:"2-digit",day:"numeric",hour:"2-digit",minute:"2-digit"})}function Bo(n,e){var t=new Date,r={};function o(n){n.forEach((function(n){if("drawPaper"===n.objType){"type"in n&&(n.type=JSON.parse(n.type),n.type&&n.type.compressed&&(n.content=on.a.inflate(n.content,{to:"string"})));var e=null;if(n.content)try{e=JSON.parse(n.content)}catch(s){}if(e&&"Group"===e[0]&&e[1]&&e[1].data&&e[1].data.gamePlayAvatar){var o=e[1].data.gamePlayAv.url,a=n.SessionID,i=new Date(n.createdAt);if(t-i<1e3)return;r[o]?r[o]!==a&&de(n):de(n)}}}))}for(var a in n.content.location){var i=n.content.location[a];for(var s in i){var u=i[s];u.url&&(r[u.url]=a)}}e&&mr(e,(function(n){!function(n){n&&n.forEach((function(n){Ve(n.id,null,o)}))}(n)}),null,!1,null)}function Po(n){var e=n.timeout?n.timeout:200;null!==n.timer&&(clearTimeout(n.timer),n.timer=null),n.timer=setTimeout((function(){n.function(n.args),clearTimeout(n.timer),n.timer=null}),e)}function No(n){return n.selected=!1,JSON.stringify({name:"WBC_OBJ",type:"image",obj:n.exportJSON()})}function Mo(n){var e=[];return n.forEach((function(n){var t=n.exportJSON();n.selected=!1,e.push(t)})),JSON.stringify({name:"WBC_SOBJ",type:"image",objs:e})}function Eo(n,e,t){we(n).then(function(){var r=Object(c.a)(u.a.mark((function r(o){var a,i,s,c,d;return u.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(a=o.data.getSession,s=a.boardConfig?JSON.parse(a.boardConfig):{},"true"===t&&(i=!0),"false"===t&&(i=!1),"check"!==t){r.next=11;break}return r.next=7,We(n);case 7:c=r.sent,d=!1,c.forEach((function(n){"drawPaper"===n.objType&&(_o(n),n.content[1].data.manualScore&&(d=!0))})),i=!!d;case 11:if(s[e]!==i){r.next=13;break}return r.abrupt("return");case 13:s[e]=i,a.boardConfig=JSON.stringify(s),Se(a);case 16:case"end":return r.stop()}}),r)})));return function(n){return r.apply(this,arguments)}}())}function Uo(n,e,t,r,o,a,i,s){var u={id:Object(en.a)(),objType:"text",ended:!0,SessionID:a},c={type:"text",points:{x:e,y:t},text:r,ended:!0,pointObj:s,color:n,brushRadius:o,font:i,size:{w:231,h:152}};u.content=JSON.stringify(c),Lt(u)}function Go(n,e){return Lo.apply(this,arguments)}function Lo(){return(Lo=Object(c.a)(u.a.mark((function n(e,t){var r,o;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,We(e.id);case 2:r=n.sent,o=1,r.forEach((function(n){if("text"===n.objType&&(_o(n),Vo(n))){if("text"===n.objType&&n.content.text.includes("Score")){var e=n.content.text.split("] Correction Count:")[1];e&&(o=parseInt(e)+1)}de(n)}})),Uo("green",200,8,"Score: "+t+"% ["+t+"/100] Correction Count:"+o,"3",e.id,"Roboto",!0),Eo(e.id,"autoGrade","true");case 8:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Ro(n,e){return Jo.apply(this,arguments)}function Jo(){return(Jo=Object(c.a)(u.a.mark((function n(e,t){var r,o,a,i,s,c,d,l,p,f,m,b,g,C,y;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return y=function(n,t,r){var o={id:Object(en.a)(),objType:"drawPaper",ended:!0,SessionID:e.id,type:'{"compressed":false}'},a=["Raster",{applyMatrix:!1,matrix:[1,0,0,1,t,r],opacity:.5,data:{drawPaper:!0,pointObj:!0},crossOrigin:"anonymous",source:"/engagement/"+n+".png"}],i=JSON.stringify(a);o.content=i,Lt(o)},C=function(n,t,r,o,a){var i={id:Object(en.a)(),objType:"text",ended:!0,SessionID:e.id},s={type:"text",points:{x:t,y:r},text:o,ended:!0,pointObj:!0,color:n,brushRadius:a,font:"Roboto",size:{w:231,h:152}};i.content=JSON.stringify(s),Lt(i)},g=function(n,e){if(n.length!==e.length)return!1;n.sort(),e.sort();for(var t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0},n.next=5,We(e.id);case 5:if(r=n.sent,o=0,a={},i={},s=1,r.forEach((function(n){if("drawPaper"===n.objType&&(_o(n),n.content&&n.content.length>1&&n.content[1])){var e=n.content[1].data;e&&e.DropZoneID&&(i[e.DropZoneID]||(i[e.DropZoneID]=[]),i[e.DropZoneID]=i[e.DropZoneID].concat(e.DropZoneMeat))}if("text"===n.objType||"drawPaper"===n.objType){if(_o(n),"text"===n.objType&&n.content&&n.content.textBoxID){var r=t[n.content.textBoxID];if(r){var u=(n.content.text?n.content.text.trim():"").toUpperCase(),c=r.answer.toUpperCase(),d=[c];c.includes(";")&&(d=c.split(";"));var l=!1;for(var p in d){var f=d[p].trim();if(u=u.replace(/\n/g,""),r.ignoreSpecial&&(u=u.replace(/[^a-zA-Z0-9]/g,""),f=f.replace(/[^a-zA-Z0-9]/g,"")),u===f){l=!0;break}}return l?(n.content.color="green",o+=r.points,a[n.content.textBoxID]=""+r.points):(n.content.color="red",a[n.content.textBoxID]="0"),n.content=JSON.stringify(n.content),delete n.type,delete n.Session,delete n.updatedAt,void Ke(n)}}if(Vo(n)){if("text"===n.objType&&n.content.text.includes("Score")){var m=n.content.text.split("] Correction Count:")[1];m&&(s=parseInt(m)+1)}de(n)}}})),c=e.id.split("-pgNum-")[1],d=0,t.pages[c]){for(l in t.pages[c])(p=t.pages[c][l]).dropZone&&p.dropZone.id in i&&(g(i[p.dropZone.id],p.dropZone.answers
1)?(f=p.ansKey.points?p.ansKey.points:0,a[l]=""+f,"0"===a[l]&&(a[l]="1"),o+=f):a[l]="0"),m=t.pages[c][l].ansKey.points?t.pages[c][l].ansKey.points:0,d+=t.pages[c][l].ansKey.points,a[l]?(m>0&&C("0"===a[l]?"red":"green",t.pages[c][l].location.x+10,t.pages[c][l].location.y+20,"["+a[l]+"/"+m+"]","2"),y("0"===a[l]?"wrong":"right",t.pages[c][l].location.x+10,t.pages[c][l].location.y-20)):(m>0&&C("red",t.pages[c][l].location.x+10,t.pages[c][l].location.y+20,"[0/"+m+"]","2"),y("wrong",t.pages[c][l].location.x+10,t.pages[c][l].location.y-20));"Score: "+o,d>0&&(b=(100*o/d).toFixed(2),C("green",80,28,"Score: "+b+"% ["+o+"/"+d+"] Correction Count:"+s,"3")),Eo(e.id,"autoGrade","true")}case 14:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function _o(n){try{"type"in n&&n.type&&(n.type=JSON.parse(n.type),n.type&&n.type.compressed&&(n.content=on.a.inflate(n.content,{to:"string"})))}catch(e){}try{n.content=JSON.parse(n.content)}catch(t){return!1}}function qo(n,e,t){return Fo.apply(this,arguments)}function Fo(){return(Fo=Object(c.a)(u.a.mark((function n(e,t,r){var o,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,pr(e);case 2:o=n.sent,a=null,i=0;case 5:if(!(i<o.length)){n.next=13;break}if(s=o[i],!t||t!==s.CreatorLocalID){n.next=10;break}return a=s,n.abrupt("break",13);case 10:i++,n.next=5;break;case 13:a&&$o(a,"LockClass",r,!1,!1);case 14:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Ko(n,e,t){return new Promise(function(){var r=Object(c.a)(u.a.mark((function r(o,a){var i,s,c,d,l,p;return u.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,pr(n);case 2:i=r.sent,s={pages:{}},c=0;case 5:if(!(c<i.length)){r.next=15;break}if((d=i[c]).id!==d.parentBoardID){r.next=12;break}return r.delegateYield(u.a.mark((function n(){var e;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e=d.id.split("-pgNum-")[1],!t||parseInt(e)===parseInt(t)){n.next=3;break}return n.abrupt("return","continue");case 3:return n.next=5,We(d.id);case 5:n.sent.forEach((function(n){if("drawPaper"===n.objType&&(_o(n),n.content&&n.content.length>1&&n.content[1])){var t=n.content[1].data;if(!t.linkData||!t.linkData.id)return;if(t&&t.answerKey){s[t.linkData.id]=t.answerKey,s.pages[e]||(s.pages[e]={});var r=0,o=2e3;if(n.content[1].segments)for(var a in n.content[1].segments){var i=n.content[1].segments[a],u=i[0],c=i[1];u>r&&(r=u),c<o&&(o=c)}s.pages[e][t.linkData.id]={ansKey:t.answerKey,dropZone:t.DropZone},r>0&&(s.pages[e][t.linkData.id].location={x:r,y:o})}}}));case 7:case"end":return n.stop()}}),n)}))(),"t0",9);case 9:if("continue"!==r.t0){r.next=12;break}return r.abrupt("continue",12);case 12:c++,r.next=5;break;case 15:l=0;case 16:if(!(l<i.length)){r.next=29;break}if(d=i[l],p=d.id.split("-pgNum-")[1],!t||parseInt(p)===parseInt(t)){r.next=21;break}return r.abrupt("continue",26);case 21:if(!e||e===d.CreatorLocalID){r.next=23;break}return r.abrupt("continue",26);case 23:if(d.id===d.parentBoardID){r.next=26;break}return r.next=26,Ro(d,s);case 26:l++,r.next=16;break;case 29:o();case 30:case"end":return r.stop()}}),r)})));return function(n,e){return r.apply(this,arguments)}}())}function Vo(n){return!("text"!==n.objType||(_o(n),!n.content||!n.content.pointObj))||(!!("drawPaper"===n.objType&&(_o(n),n.content&&"Raster"===n.content[0]&&n.content[1]&&n.content[1].data.pointObj))||!!(n.content&&"Raster"===n.content[0]&&n.content[1]&&n.content[1].source.includes("engagement")))}function Wo(n,e){return zo.apply(this,arguments)}function zo(){return(zo=Object(c.a)(u.a.mark((function n(e,t){var r;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,We(e.id);case 2:r=n.sent,Eo(e.id,"autoGrade","false"),r.forEach((function(n){"AICorrect"!==n.name?Vo(n)&&de(n):de(n)}));case 5:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Qo(n,e,t){return new Promise(function(){var e=Object(c.a)(u.a.mark((function e(t,r){var o,a,i,s;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pr(n);case 2:o=e.sent,a={pages:{}},i=0;case 5:if(!(i<o.length)){e.next=12;break}return s=o[i],e.next=9,Wo(s,a);case 9:i++,e.next=5;break;case 12:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}())}function Zo(n,e){return n.length<=e?n:n.slice(0,e)+"..."}var Ho={small:{w:1280,h:800},chromebook:{w:1366,h:625},ipad:{w:1024,h:700},a4:{w:750,h:900},medium:{w:1440,h:900},default:{w:2e3,h:1024},tiny:{w:1024,h:550},"4k":{w:3840,h:2160}};function Yo(){window.location.reload()}function Xo(){var n,e,t,r;function o(n,e){var a;if(isNaN(n)&&isNaN(e)&&"number"===typeof n&&"number"===typeof e)return!0;
1if(n===e)return!0;if("function"===typeof n&&"function"===typeof e||n instanceof Date&&e instanceof Date||n instanceof RegExp&&e instanceof RegExp||n instanceof String&&e instanceof String||n instanceof Number&&e instanceof Number)return n.toString()===e.toString();if(!(n instanceof Object&&e instanceof Object))return!1;if(n.isPrototypeOf(e)||e.isPrototypeOf(n))return!1;if(n.constructor!==e.constructor)return!1;if(n.prototype!==e.prototype)return!1;if(t.indexOf(n)>-1||r.indexOf(e)>-1)return!1;for(a in e){if(e.hasOwnProperty(a)!==n.hasOwnProperty(a))return!1;if(typeof e[a]!==typeof n[a])return!1}for(a in n){if(e.hasOwnProperty(a)!==n.hasOwnProperty(a))return!1;if(typeof e[a]!==typeof n[a])return!1;switch(typeof n[a]){case"object":case"function":if(t.push(n),r.push(e),!o(n[a],e[a]))return!1;t.pop(),r.pop();break;default:if(n[a]!==e[a])return!1}}return!0}if(arguments.length<1)return!0;for(n=1,e=arguments.length;n<e;n++)if(t=[],r=[],!o(arguments[0],arguments[n]))return!1;return!0}function na(n,e,t){var r="SHOWCASE",o=t.Classroom+"-"+r+"-"+n,a={action:r,state:e,student:n},i={id:o,ttl:t.ttl,deleted:!1,event:o,Classroom:t.Classroom,type:r,State:"Sent",Content:JSON.stringify(a)};e||(i.State="Done"),i.For=t.Classroom,Er(o).then((function(n){n.data.getClassroomEvent?Gr(i):Ur(i)}))}function ea(n,e,t,r){var o="FORMSUBMIT",a=an.b("mystoreID"),i=e.Classroom+"-"+o+"@"+n+"#"+a,s={action:o,state:"Sent",student:a,name:t,form:r},u={id:i,ttl:e.ttl,deleted:!1,event:i,Classroom:e.Classroom,type:o,State:"Sent",Content:JSON.stringify(s)};u.For=e.Classroom,Er(i).then((function(n){n.data.getClassroomEvent?Gr(u):Ur(u)}))}function ta(n){var e=Object(d.a)({},n),t=Object.keys(e);for(var r in t){var o=t[r];"undefined"===typeof e[o]&&delete e[o]}return delete e.Video,e}function ra(){return oa.apply(this,arguments)}function oa(){return(oa=Object(c.a)(u.a.mark((function n(){var e;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,X.a.get("serviceApi","/service",{});case 2:return e=n.sent,n.abrupt("return",e);case 4:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function aa(){return ia.apply(this,arguments)}function ia(){return(ia=Object(c.a)(u.a.mark((function n(){var e;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,X.a.get("serviceApi","/service/msMktpAccToken",{});case 2:return e=n.sent,n.abrupt("return",e);case 4:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function sa(){var n=document.getElementById("oembed-link"),e=encodeURIComponent(window.location.href);n&&(n.type="application/json+oembed",n.href="https://oembed.whiteboard.chat/oembed?url=".concat(e,"&format=json"))}function ua(n,e,t,r,o){return ca.apply(this,arguments)}function ca(){return(ca=Object(c.a)(u.a.mark((function n(e,t,r,o,a){var i;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:i={boardData:e,instanceObj:t,userEmailId:r},X.a.post("serviceApi","/copyboard",{body:i}).then((function(n){o(n.message)})).catch((function(n){return a("Export board failed. Please try again later.")}));case 2:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function da(n,e){var t=e+".csv",r=document.createElement("a");r.setAttribute("href","data:text/csv;charset=utf-8,"+encodeURI(n)),r.setAttribute("download",t),r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r);try{Y.a({category:"User",action:"BoardExported"})}catch(o){}}function la(n){return new Promise(function(){var e=Object(c.a)(u.a.mark((function e(t,r){var o,a,i,s,d,l,p,f,m,b,g,C,y,T,I,v,D,h,x,k,O,S,w,A,$,j,B,P,N,M,E,U,G,L,R,J,_,q;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return q=function(){return(q=Object(c.a)(u.a.mark((function n(e){var t,r,o,a,i,s,c,d;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if((t={}).pageCreated=jo(new Date(e.createdAt)).replace(/,/g,";"),e.Users.items.forEach((function(n){var t=JSON.parse(n.content);t.localID===e.CreatorLocalID&&(n.content=t,(r=n).luid=t.localID)})),r){n.next=5;break}return n.abrupt("return",null);case 5:return n.next=7,We(e.id);case 7:o=n.sent,a=0,t.Score="",t.manualGrade="",t.Stickers={},i=0;case 13:if(!(i<o.length)){n.next=25;break}if((s=o[i]).CreatedBy===r.id){n.next=19;break}return"text"===s.objType&&(_o(s),s.content&&s.content.pointObj&&s.content.text.includes("Score")&&(t.Score=s.content.text)),"drawPaper"===s.objType&&(_o(s),s&&s.content&&s.content.length>1&&("Raster"===s.content[0]&&s.content[1].data&&s.content[1].data.palette&&((c=(c=s.content[1].source.split(/[\\\/]/).pop()).replace(".png",""))in t.Stickers||(t.Stickers[c]={type:c,count:0}),t.Stickers[c].count+=1),"Group"===s.content[0]&&s.content[1].data&&s.content[1].data.manualScore&&(t.manualGrade+=s.content[1].data.manualScore.text
1+";"))),n.abrupt("continue",22);case 19:t.firstObj||(t.firstObj=new Date(s.updatedAt)),t.lastObj=new Date(s.updatedAt),a++;case 22:i++,n.next=13;break;case 25:return 0===a?(t.firstObj="NA",t.lastObj="NA",t.timeSpent="0"):(d=t.lastObj-new Date(e.createdAt),t.firstObj=jo(t.firstObj).replace(/,/g,";"),t.lastObj=jo(t.lastObj).replace(/,/g,";"),t.timeSpent=Math.floor(d/1e3/60)),t.stickers=[],Object.keys(t.Stickers).map((function(n){var e=t.Stickers[n];return t.stickers.push(n+":"+e.count),null})),t.objectCount=a,t.luid=r.luid,t.name=r.name,t.pgNum=e.id.split("-pgNum-")[1],n.abrupt("return",t);case 33:case"end":return n.stop()}}),n)})))).apply(this,arguments)},_=function(n){return q.apply(this,arguments)},e.next=4,pr(n);case 4:return o=e.sent,a={},i={},s={},d={},l={},p={},f="WBC",e.next=14,Rr(n,null);case 14:return m=e.sent,e.next=17,ba(n,null);case 17:for(b=e.sent,g=0;g<b.length;g++)C=b[g],y=JSON.parse(C.Content),C.luid in p||(p[C.luid]=0),p[C.luid]+=parseInt(y.engagementScore.calculated);T=0;case 20:if(!(T<m.length)){e.next=49;break}if(I=m[T],v=I.For.split(":"),"RaiseHand"!==I.type){e.next=28;break}if(!(v.length<=1)){e.next=26;break}return e.abrupt("continue",46);case 26:D=v[1];try{h=JSON.parse(I.Content),D in s||(s[D]=""),x=h.kind,s[D]=x}catch(r){}case 28:if("FORMSUBMIT"===I.type)try{k=JSON.parse(I.Content),(O=k.name)in l||(l[O]=""),S="";for(w=0;w<k.form.length;w++)A=k.form[w],S=S+A.val+":"+A.set+";";l[O]=l[O]+"  "+S}catch(F){}if("Chat"!==I.type){e.next=41;break}if(e.prev=30,$=JSON.parse(I.Content),j=$.from?$.from.name:null){e.next=35;break}return e.abrupt("continue",46);case 35:j in d||(d[j]=0),d[j]++,e.next=41;break;case 39:e.prev=39,e.t0=e.catch(30);case 41:if("Poll"!==I.type){e.next=46;break}if(!(v.length<=1)){e.next=44;break}return e.abrupt("continue",46);case 44:B=v[1];try{P=JSON.parse(I.Content),B in i||(i[B]=""),N=(N=P.text).replace(/,/g,";"),i[B]+=" "+N+","}catch(K){}case 46:T++,e.next=20;break;case 49:M=0;case 50:if(!(M<o.length)){e.next=66;break}if((E=o[M]).id===E.parentBoardID){e.next=62;break}return e.next=55,_(E);case 55:if(U=e.sent){e.next=58;break}return e.abrupt("continue",63);case 58:a[U.name+"-"+U.pgNum]=U.name+","+U.pgNum+","+U.pageCreated+","+U.objectCount+","+U.stickers.join("; ")+","+U.lastObj+","+U.timeSpent+","+U.Score+","+U.manualGrade,"1"===U.pgNum&&(i[U.name]?a[U.name+"-"+U.pgNum]+=","+i[U.name]:a[U.name+"-"+U.pgNum]+=",",l[U.name]?a[U.name+"-"+U.pgNum]+=","+l[U.name]:a[U.name+"-"+U.pgNum]+=",",s[U.name]?a[U.name+"-"+U.pgNum]+=","+s[U.name]:a[U.name+"-"+U.pgNum]+=",",d[U.name]?a[U.name+"-"+U.pgNum]+=","+d[U.name]:a[U.name+"-"+U.pgNum]+=",",p[U.luid]?a[U.name+"-"+U.pgNum]+=","+p[U.luid]:a[U.name+"-"+U.pgNum]+=","),e.next=63;break;case 62:f=E.name;case 63:M++,e.next=50;break;case 66:for(G="Name, Page Number, Page Created, Number of Objects, Awarded Stickers, Last Annotation, Time Spent, Auto Grade, Manual Grade, Poll Responses, Forms, Last Raise Hand, Chat count, Engagement Score\n",L=Object.keys(a).sort(),R=0;R<L.length;R++)J=a[L[R]],G+=J+"\n";da(G,f),t();case 71:case"end":return e.stop()}}),e,null,[[30,39]])})));return function(n,t){return e.apply(this,arguments)}}())}function pa(n,e){var t=an.b("escapeRoom");return t?(t=JSON.parse(t)).board!==n.Classroom?(an.c("escapeRoom"),null):t.pages[e]:null}function fa(n,e,t){var r=an.b("escapeRoom");r&&(r=JSON.parse(r)).board!==n.Classroom&&(an.c("escapeRoom"),r=null),r||(r={board:n.Classroom,pages:{}});var o=r.pages[e];r.pages[e]=Object(d.a)(Object(d.a)({},o),t),an.d("escapeRoom",JSON.stringify(r))}function ma(n){return n.ttl=Math.round(Date.now()/1e3)+777600,En("\n  mutation CreateEngagementEvent(\n    $input: CreateEngagementEventInput!\n    $condition: ModelEngagementEventConditionInput\n  ) {\n    createEngagementEvent(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      luid\n      name\n      time\n      ttl\n      Content\n      Classroom\n    }\n  }\n",{input:n})}function ba(n){return ga.apply(this,arguments)}function ga(){return(ga=Object(c.a)(u.a.mark((function n(e){var t,r,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t=[],r=null;case 2:return a={limit:100,nextToken:r,sortDirection:"ASC",Classroom:e},n.next=5,En(h,a);case 5:i=n.sent,s=i.data.querybyEngagementClass,t=[].concat(Object(o.a)(t),Object(o.a)(s.items)),r=s.nextToken;case 9:if(null!==r){n.next=2;break}case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Ca(n){void 0===n.retryCount&&(n.retryCount=3),void 0===n.doList&&(n.doList=!0),n.doList&&function n(e,t,r,o){En(h,{limit:100,nextToken:r,owner:e,Classroom:o}).then((function(r){var a=r.data.querybyEngagementClass;a&&t(a.items),a.nextToken?n(e,t,a.nextToken,o):t(null)}))}(n.user,n.cb,null,n.Classroom);var e,t=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToEngagementEvent($Classroom: ID) {\n    subscribeToEngagementEvent(Classroom: $Classroom) {\n      id\n      createdAt\n      updatedAt\n      luid\n      name\n      time\n      ttl\n      Content\n      Classroom\n    }\n  }\n",{Classroom:n.Classroom})),r=!1;e=Nn(t,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToEngagementEvent;n.cb([t])},error:function(e){console.log(JSON.stringify(e)),$n(r,"subscribeToEngagementEvent:subscribeToEngagementEvent",e,null,Ca,n),r=!0}},"SubscribeEngagementEventsByOwner:subscribeToEngagementEvent"),n.subCB([e])}var ya=function(n){return n?(/^[?#]/.test(n)?n.slice(1):n).split("&").reduce((function(n,e){var t=e.split("="),r=Object(a.a)(t,2),o=r[0],i=r[1];
1return n[o]=i?decodeURIComponent(i.replace(/\+/g," ")):"",n}),{}):{}};function Ta(n,e,t){var r=ya(n);if(r.key){r.resetStore&&t&&an.a(),r.userid&&an.d("mystoreID",r.userid),r.username&&an.d("myname",r.username),function(n,e){X.a.graphql(Object(nn.a)("\n  query ByApiKey(\n    $key: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelApiInfoFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    byApiKey(\n      key: $key\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        key\n        content\n        count\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n",{key:n})).then((function(n){var t=n.data.byApiKey;t&&t.items[0]?e(t.items[0]):e(null)}))}(r.key,(function(n){if(n){var t=function(){var n=document.referrer;return""===document.referrer&&(n=document.location.href),n=n.replace("@","__"),window.location!==window.parent.location?n:document.location.href}();Y.a({category:"B2B",action:t});var o=Object(d.a)(Object(d.a)({},r),{},{obj:n});if(an.d("apiArgs",JSON.stringify(o)),n.content)n.content.split(",").forEach((function(n){if(n.includes("paidPlan")){var r=n.split(":");r[1]&&an.d("paidPlan",r[1])}if(n.includes("domainVerify")){var o=n.split(":");if(o[1]&&!t.includes(o[1]))return alert("Sorry this key is not valid for this domain"),void e(null)}})),an.d("apiSetting",n.content);r.userEmail&&r.userEmail.length>0?Qa(r.userEmail).then((function(n){var t=n.data.byEmamilUP;if(t&&t.items&&t.items.length>0){var a=t.items[0];an.d("mystoreID",a.id),!r.username&&a.name&&an.d("myname",a.name)}else{var i=window.btoa(r.userEmail);an.d("mystoreID",i);var s={id:i,name:r.username?r.username:r.userEmail,email:r.userEmail,emailOptIn:!1};En(q,{input:s})}e(o)})):e(o)}else alert("BAD API KEY"),e(null)}))}else e(null)}function Ia(n){if(!tn.a)return null;var e=tn.a.user.username;(function(n,e){return X.a.graphql(Object(nn.a)("\n  query GetApiInfo($id: ID!) {\n    getApiInfo(id: $id) {\n      id\n      key\n      content\n      count\n      createdAt\n      updatedAt\n    }\n  }\n",{id:n}))})(e).then((function(t){var r=t.data.getApiInfo;r?n(r):function(n){return X.a.graphql(Object(nn.a)("\n  mutation CreateApiInfo(\n    $input: CreateApiInfoInput!\n    $condition: ModelApiInfoConditionInput\n  ) {\n    createApiInfo(input: $input, condition: $condition) {\n      id\n      key\n      content\n      count\n      createdAt\n      updatedAt\n    }\n  }\n",{input:n}))}({id:e,key:Object(en.a)()}).then((function(e){var t=e.data.createApiInfo;n(t)}))}))}function va(n){return Da.apply(this,arguments)}function Da(){return(Da=Object(c.a)(u.a.mark((function n(e){var t;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t={prompt:e,n:1,size:"256x256"},n.abrupt("return",ha("OPENAIIMG",t,null));case 2:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function ha(n,e,t){return xa.apply(this,arguments)}function xa(){return(xa=Object(c.a)(u.a.mark((function n(e,t,r){var o,a;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o={type:e,value:t,value2:r},n.next=3,X.a.post("serviceApi","/voiceToText",{method:"POST",headers:{"Content-Type":"application/json"},body:o});case 3:return a=n.sent,n.abrupt("return",a);case 5:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function ka(n,e){return Oa.apply(this,arguments)}function Oa(){return(Oa=Object(c.a)(u.a.mark((function n(e,t){var r;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t={type:e,data:t},n.next=3,X.a.post("tenantApi","/tenantApi",{method:"POST",headers:{"Content-Type":"application/json"},body:t});case 3:return r=n.sent,n.abrupt("return",r);case 5:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Sa(n,e){return wa.apply(this,arguments)}function wa(){return(wa=Object(c.a)(u.a.mark((function n(e,t){var r,o,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Qa(e);case 2:return r=n.sent,n.next=5,Qa(t);case 5:return o=n.sent,a=r.data.byEmamilUP.items,i=o.data.byEmamilUP.items,s={old:a,new:i},n.abrupt("return",s);case 10:case"end":return n.stop()}}),n)})))).apply(this,arguments)}
1function Aa(n,e){ro(n,(function(n){n&&(console.log("GOT ITEMS",n),n.forEach((function(n){delete n.user,delete n.createdAt,delete n.updatedAt,n.userProfileId=e,console.log("UPDATING",n),io(n)})))}),null),Yt(n,(function(n){console.log("GOT Session ITEMS",n),n.forEach(function(){var n=Object(c.a)(u.a.mark((function n(t){var r;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return delete t.MultiBoard,delete t.Objects,delete t.Users,delete t.createdAt,delete t.updatedAt,t.CreatorLocalID=e,t.savedOwner=e,console.log("UPDATE SESSION",t),r={id:t.Classroom,TeacherID:e},console.log("UPdate class",r),n.next=12,new Promise((function(n){return setTimeout(n,500)}));case 12:er(r),Se(t);case 14:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())}),null),function n(e,t,r){En("\n  query QueryByTeacher(\n    $TeacherID: ID\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelClassroomFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryByTeacher(\n      TeacherID: $TeacherID\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        TeacherID\n        content\n        Teacher {\n          id\n          name\n          createdAt\n          updatedAt\n          email\n          boardConfig\n          avatar\n          personalConfig\n          emailOptIn\n          paidPlan\n          validTeacher\n          adminOfTenant\n          TenantID\n          FEMStatus\n          lastVisitedSubs\n          MemberOfTeam\n          TutorGroupID\n        }\n        Users {\n          nextToken\n        }\n        ttl\n        createdAt\n        updatedAt\n        TeacherList\n      }\n      nextToken\n    }\n  }\n",{limit:100,nextToken:r,TeacherID:e,sortDirection:"ASC"}).then((function(r){var o=r.data.queryByTeacher;o&&t(o.items),o.nextToken&&n(e,t,o.nextToken)}))}(n,(function(n){n.forEach((function(n){var t={id:n.id,TeacherID:e};console.log("UPdate class",t),er(t)}))}),null)}function $a(){var n=an.b("paidPlan");return null===n||"educator-free"===n?"educator-free":n}var ja=!0;function Ba(){ja=!0,window.kommunicate&&window.kommunicate.displayKommunicateWidget&&window.kommunicate.displayKommunicateWidget(!1),console.log("DS WOBOT")}var Pa=!1,Na=null,Ma=!1,Ea=null;function Ua(){Ea&&Ea.unsubscribe(),Ea=null}function Ga(n,e){Na={sess:n,cb:e};var t=an.b("kommunicate");if(Ma||t&&t.includes("mckActiveConversationInfo")){Ua(),La(),console.log("SUBSCRIBE)");var r=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToRemoteControl($parentID: ID) {\n    subscribeToRemoteControl(parentID: $parentID) {\n      id\n      parentID\n      ttl\n      createdAt\n      updatedAt\n      content\n    }\n  }\n",{parentID:n.parentID}));Ea=r.subscribe({next:function(n){console.log("SUBSCRIBE)",n);var t=n.value.data.subscribeToRemoteControl;e(t)}})}}function La(){if(window.kommunicate&&window.kommunicate.updateChatContext){var n=an.b("mystoreID"),e=Na?Na.sess.parentID:null,t={url:window.location.href,parentID:e,lu:n};window.kommunicate.updateChatContext(t)}}function Ra(n){if(ja)Ba();else{La();var e={onMessageReceived:function(n){},onChatWidgetOpen:function(n){Ma=!0,Na&&Ga(Na.sess,Na.cb)},onChatWidgetClose:function(n){Ma=!1,Ua()}};window.kommunicate.subscribeToEvents(e)}}function Ja(n){if(!an.b("disableWobot")&&!("undefined"!==typeof window.orientation&&window.screen.width<1100))if(Pa)window.kommunicate&&window.kommunicate.displayKommunicateWidget&&window.kommunicate.displayKommunicateWidget(!0);else{Pa=!0;var e={appId:"35fc90786629d1baaf7eb3f5bd123c993",popupWidget:!0,automaticChatOpenOnNavigation:!0,voiceInput:!0,voiceOutput:!1,voiceName:"Google UK English Female",restartConversationByUser:!0};ja=!1,e.onInit=Ra,n&&n.username&&(e.userId=n.username,e.userName=n.attributes&&n.attributes.name?n.attributes.name:n.attributes.email,e.email=n.attributes.email),function(n,t){var r=document.createElement("script");r.type="text/javascript",r.async=!0,r.src="https://widget.kommunicate.io/v2/kommunicate.app",document.getElementsByTagName("head")[0].appendChild(r),window.kommunicate=t,t._globals=e}(document,window.kommunicate||{})}}function _a(n){var e=an.b("paidPlan");if(!n&&(null===e||"educator-free"===e))return"Educator-Free";switch(n||e){case"gold":return"Gold Monthly";case"goldannual":return"Gold Annual";case"starter":return"Starter Monthly";
1case"starterannual":return"Starter Annual";case"basic":return"Basic Monthly";case"basicannual":return"Basic Annual";default:return"Educator-Free"}}function qa(n){return En("\n  mutation CreateTeam(\n    $input: CreateTeamInput!\n    $condition: ModelTeamConditionInput\n  ) {\n    createTeam(input: $input, condition: $condition) {\n      id\n      name\n      TenantID\n      Members\n      Config\n      createdAt\n      updatedAt\n    }\n  }\n",{input:n})}function Fa(n){return En("\n  query GetTeam($id: ID!) {\n    getTeam(id: $id) {\n      id\n      name\n      TenantID\n      Members\n      Config\n      createdAt\n      updatedAt\n    }\n  }\n",{id:n})}function Ka(n){return En("\n  mutation UpdateTeam(\n    $input: UpdateTeamInput!\n    $condition: ModelTeamConditionInput\n  ) {\n    updateTeam(input: $input, condition: $condition) {\n      id\n      name\n      TenantID\n      Members\n      Config\n      createdAt\n      updatedAt\n    }\n  }\n",{input:n})}function Va(n){return En("\n  mutation DeleteTeam(\n    $input: DeleteTeamInput!\n    $condition: ModelTeamConditionInput\n  ) {\n    deleteTeam(input: $input, condition: $condition) {\n      id\n      name\n      TenantID\n      Members\n      Config\n      createdAt\n      updatedAt\n    }\n  }\n",{input:{id:n.id}})}function Wa(n){return za.apply(this,arguments)}function za(){return(za=Object(c.a)(u.a.mark((function n(e){var t,r,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t=[],r=null;case 2:return a={limit:100,nextToken:r,TenantID:e},n.next=5,En(S,a);case 5:i=n.sent,s=i.data.byTeamTenant,t=[].concat(Object(o.a)(t),Object(o.a)(s.items)),r=s.nextToken;case 9:if(null!==r){n.next=2;break}case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Qa(n){return En("\n  query ByEmamilUP(\n    $email: String\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelUserProfileFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    byEmamilUP(\n      email: $email\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        createdAt\n        updatedAt\n        email\n        boardConfig\n        avatar\n        personalConfig\n        emailOptIn\n        paidPlan\n        validTeacher\n        adminOfTenant\n        TenantID\n        FEMStatus\n        lastVisitedSubs\n        MemberOfTeam\n        TutorGroupID\n      }\n      nextToken\n    }\n  }\n",{email:n,limit:100,nextToken:null})}function Za(n,e,t,r){var o={limit:100,nextToken:t,Classroom:n,sortDirection:"ASC",filter:{deleted:{ne:!0}}};o.filter={and:{ttl:{ne:95e7},deleted:{ne:!0}}},En(Z,o).then((function(t){var r=t.data.queryByClassroom;r&&e(r.items),r.nextToken&&Za(n,e,r.nextToken)}))}function Ha(n,e,t){var r={limit:100,nextToken:t,savedOwner:n,sortDirection:"ASC",filter:{deleted:{ne:!0}}};r.filter={deleted:{ne:!0}},En(H,r).then((function(t){var r=t.data.queryBySavedOwner;r&&e(r.items),r.nextToken&&Yt(n,e,r.nextToken)}))}function Ya(n,e){var t=JSON.parse(e.entitlements);n.forEach((function(n){var r={id:n,TenantID:e.id,paidPlan:t.planType};return En(F,{input:r})}))}function Xa(n,e,t){n.forEach((function(n){En(F,{input:{id:n,TenantID:null,paidPlan:"starter"}}).then((function(n){var r=n.data.updateUserProfile;r&&!t&&e(r)}))})),t&&e()}function ni(){return(ni=Object(c.a)(u.a.mark((function n(e,t,r,a){var i,s,c;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!t){n.next=10;break}return i={TenantID:e,limit:100,nextToken:t},n.next=4,En(w,i);case 4:s=n.sent,c=s.data.UPByTenant,t=c.nextToken,r.licensedUsers.items=[].concat(Object(o.a)(r.licensedUsers.items),Object(o.a)(c.items)),n.next=0;break;case 10:a(r);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function ei(n,e){En(C,{id:n}).then((function(t){var r=t.data.getTenant;if(r&&r.licensedUsers&&r.licensedUsers.nextToken){var o=r.licensedUsers.nextToken;!function(n,e,t,r){ni.apply(this,arguments)}(n,o,r,e)}else e(t.data.getTenant)}))}function ti(n){return En(C,{id:n})}function ri(n){return En("\n  query QueryByDomainName(\n    $domainName: String\n    $updatedAt: ModelStringKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelTenantFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryByDomainName(\n      domainName: $domainName\n      updatedAt: $updatedAt\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        domainName\n        createdAt\n        updatedAt\n        entitlements\n        adminUsers\n        tenantConfig\n        secondary
1DomainConfig\n        licensedUsers {\n          nextToken\n        }\n      }\n      nextToken\n    }\n  }\n",{domainName:n})}function oi(n){return En("\n  mutation UpdateTenant(\n    $input: UpdateTenantInput!\n    $condition: ModelTenantConditionInput\n  ) {\n    updateTenant(input: $input, condition: $condition) {\n      id\n      name\n      domainName\n      createdAt\n      updatedAt\n      entitlements\n      adminUsers\n      tenantConfig\n      secondaryDomainConfig\n      licensedUsers {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          email\n          boardConfig\n          avatar\n          personalConfig\n          emailOptIn\n          paidPlan\n          validTeacher\n          adminOfTenant\n          TenantID\n          FEMStatus\n          lastVisitedSubs\n          MemberOfTeam\n          TutorGroupID\n        }\n        nextToken\n      }\n    }\n  }\n",{input:n})}function ai(n,e){var t={name:n.name,domainName:n.domainName,entitlements:JSON.stringify(n.entitlements),adminUsers:n.adminUsers};n.id&&(t.id=n.id),En("\n  mutation CreateTenant(\n    $input: CreateTenantInput!\n    $condition: ModelTenantConditionInput\n  ) {\n    createTenant(input: $input, condition: $condition) {\n      id\n      name\n      domainName\n      createdAt\n      updatedAt\n      entitlements\n      adminUsers\n      tenantConfig\n      secondaryDomainConfig\n      licensedUsers {\n        items {\n          id\n          name\n          createdAt\n          updatedAt\n          email\n          boardConfig\n          avatar\n          personalConfig\n          emailOptIn\n          paidPlan\n          validTeacher\n          adminOfTenant\n          TenantID\n          FEMStatus\n          lastVisitedSubs\n          MemberOfTeam\n          TutorGroupID\n        }\n        nextToken\n      }\n    }\n  }\n",{input:t}).then((function(n){e(n.data.createTenant)}))}function ii(n){return En("\n  query GetFrequentEngagementMin($id: ID!) {\n    getFrequentEngagementMin(id: $id) {\n      id\n      name\n      AvatarName\n      Public\n      Minutes\n      Rating\n      Ranking\n      Content\n      TierQualifingPoints\n      createdAt\n      updatedAt\n    }\n  }\n",{id:n})}function si(n){return En("\n  query ByAvatar(\n    $AvatarName: String\n    $Minutes: ModelIntKeyConditionInput\n    $sortDirection: ModelSortDirection\n    $filter: ModelFrequentEngagementMinFilterInput\n    $limit: Int\n    $nextToken: String\n  ) {\n    byAvatar(\n      AvatarName: $AvatarName\n      Minutes: $Minutes\n      sortDirection: $sortDirection\n      filter: $filter\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items {\n        id\n        name\n        AvatarName\n        Public\n        Minutes\n        Rating\n        Ranking\n        Content\n        TierQualifingPoints\n        createdAt\n        updatedAt\n      }\n      nextToken\n    }\n  }\n",{AvatarName:n})}function ui(){return ci.apply(this,arguments)}function ci(){return(ci=Object(c.a)(u.a.mark((function n(){var e,t,r,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:e=null,t=[];case 2:return r={limit:100,nextToken:e,sortDirection:"ASC",filter:{Public:{eq:!0}}},n.next=5,En(g,r);case 5:a=n.sent,(i=a.data.listFrequentEngagementMins)&&i.items&&i.items.length>0&&(s=i.items,t=[].concat(Object(o.a)(t),Object(o.a)(s))),e=i.nextToken;case 9:if(null!==e){n.next=2;break}case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function di(n){if(!Fn())return En("\n  mutation CreateFrequentEngagementMin(\n    $input: CreateFrequentEngagementMinInput!\n    $condition: ModelFrequentEngagementMinConditionInput\n  ) {\n    createFrequentEngagementMin(input: $input, condition: $condition) {\n      id\n      name\n      AvatarName\n      Public\n      Minutes\n      Rating\n      Ranking\n      Content\n      TierQualifingPoints\n      createdAt\n      updatedAt\n    }\n  }\n",{input:n})}function li(n){if(!Fn())return En("\n  mutation UpdateFrequentEngagementMin(\n    $input: UpdateFrequentEngagementMinInput!\n    $condition: ModelFrequentEngagementMinConditionInput\n  ) {\n    updateFrequentEngagementMin(input: $input, condition: $condition) {\n      id\n      name\n      AvatarName\n      Public\n      Minutes\n      Rating\n      Ranking\n      Content\n      TierQualifingPoints\n      createdAt\n      updatedAt\n    }\n  }\n",{input:n})}function pi(n){return delete n.Tenant,delete n.TenantID,delete n.isChecked,En(F,{input:n})}function fi(n,e,t){En("\n  query QueryByTenantName(\n    $name: String\n    $limit: Int\n    $nextToken: String\n  ) {\n    queryByTenantName(\n      name: $name\n      limit: $limit\n      nextToken: $nextToken\n    ) {\n      items{\n        id\n        name\n        domainName\n        createdAt\n      }\n      nextToken\n    }\n  }\n",{name:n,limit:100,nextToken:t}).then((function(t){var r=t.data.queryByTenantName;r&&r.items.length>0?e(!0):e(!1),r.nextToken&&fi(n,e,r.nextToken)}
1))}function mi(){var n=an.b("myname");return n||"none"}function bi(){var n=!1,e=tn.a&&tn.a.user?tn.a.user:null;return e&&e.attributes&&e.attributes.email&&("[email protected]"===e.attributes.email&&(n=!0),e.attributes.email.includes("epiphani.io")&&(n=!0)),n}function gi(n){return En(M,{input:n})}function Ci(n){an.b("apiArgs")&&window.parent.postMessage({changedBoardName:n},"*")}function yi(n){return En("\n  mutation CreateTutorGroup(\n    $input: CreateTutorGroupInput!\n    $condition: ModelTutorGroupConditionInput\n  ) {\n    createTutorGroup(input: $input, condition: $condition) {\n      id\n      name\n      createdAt\n      updatedAt\n      config\n      roster\n      creator\n      TenantID\n      tutorClasses {\n        items {\n          id\n          name\n          description\n          videoMode\n          createdAt\n          updatedAt\n          config\n          roster\n          TutorGroupID\n          Sessions\n        }\n        nextToken\n      }\n    }\n  }\n",{input:n})}function Ti(n){return En("\n  mutation UpdateTutorGroup(\n    $input: UpdateTutorGroupInput!\n    $condition: ModelTutorGroupConditionInput\n  ) {\n    updateTutorGroup(input: $input, condition: $condition) {\n      id\n      name\n      createdAt\n      updatedAt\n      config\n      roster\n      creator\n      TenantID\n      tutorClasses {\n        items {\n          id\n          name\n          description\n          videoMode\n          createdAt\n          updatedAt\n          config\n          roster\n          TutorGroupID\n          Sessions\n        }\n        nextToken\n      }\n    }\n  }\n",{input:n})}function Ii(n){return En("\n  query GetTutorGroup($id: ID!) {\n    getTutorGroup(id: $id) {\n      id\n      name\n      createdAt\n      updatedAt\n      config\n      roster\n      creator\n      TenantID\n      tutorClasses {\n        items {\n          id\n          name\n          description\n          videoMode\n          createdAt\n          updatedAt\n          config\n          roster\n          TutorGroupID\n          Sessions\n        }\n        nextToken\n      }\n    }\n  }\n",{id:n})}function vi(n){return En("\n  mutation CreateTutorClass(\n    $input: CreateTutorClassInput!\n    $condition: ModelTutorClassConditionInput\n  ) {\n    createTutorClass(input: $input, condition: $condition) {\n      id\n      name\n      description\n      videoMode\n      createdAt\n      updatedAt\n      config\n      roster\n      TutorGroupID\n      TutorGroup {\n        id\n        name\n        createdAt\n        updatedAt\n        config\n        roster\n        creator\n        TenantID\n        tutorClasses {\n          nextToken\n        }\n      }\n      Sessions\n      TutorClassEvents {\n        items {\n          id\n          createdAt\n          updatedAt\n          config\n          type\n          TutorGroupID\n          TutorClassID\n        }\n        nextToken\n      }\n    }\n  }\n",{input:n})}function Di(n){return En("\n  mutation UpdateTutorClass(\n    $input: UpdateTutorClassInput!\n    $condition: ModelTutorClassConditionInput\n  ) {\n    updateTutorClass(input: $input, condition: $condition) {\n      id\n      name\n      description\n      videoMode\n      createdAt\n      updatedAt\n      config\n      roster\n      TutorGroupID\n      TutorGroup {\n        id\n        name\n        createdAt\n        updatedAt\n        config\n        roster\n        creator\n        TenantID\n        tutorClasses {\n          nextToken\n        }\n      }\n      Sessions\n      TutorClassEvents {\n        items {\n          id\n          createdAt\n          updatedAt\n          config\n          type\n          TutorGroupID\n          TutorClassID\n        }\n        nextToken\n      }\n    }\n  }\n",{input:n})}function hi(n){return En("\n  query GetTutorClass($id: ID!) {\n    getTutorClass(id: $id) {\n      id\n      name\n      description\n      videoMode\n      createdAt\n      updatedAt\n      config\n      roster\n      TutorGroupID\n      TutorGroup {\n        id\n        name\n        createdAt\n        updatedAt\n        config\n        roster\n        creator\n        TenantID\n        tutorClasses {\n          nextToken\n        }\n      }\n      Sessions\n      TutorClassEvents {\n        items {\n          id\n          createdAt\n          updatedAt\n          config\n          type\n          TutorGroupID\n          TutorClassID\n        }\n        nextToken\n      }\n    }\n  }\n",{id:n})}function xi(n){return En("\n  mutation DeleteTutorClass(\n    $input: DeleteTutorClassInput!\n    $condition: ModelTutorClassConditionInput\n  ) {\n    deleteTutorClass(input: $input, condition: $condition) {\n      id\n      name\n      description\n      videoMode\n      createdAt\n      updatedAt\n      config\n      roster\n      TutorGroupID\n      TutorGroup {\n        id\n        name\n        createdAt\n        updatedAt\n        config\n        roster\n        creator\n        TenantID\n        tutorClasses {\n          nextToken\n        }\n      }\n      Sessions\n      TutorClassEvents {\n        items {\n          id\n          createdAt\n          updatedAt\n          config\n          type\n          TutorGroupID\n          TutorClassID\n        }\n        nextToken\n      }\n    }\n  }\n",{input:{id:n}})}function ki(n){return Oi.apply(this,arguments)}function Oi(){return(Oi=Object(c.a)(u.a.mark((function n(e){var t,r,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t=[],r=null;case 2:return a={limit:100,nextToken:r,TutorGroupID:e},n.next=5,En(A,a);case 5:i=n.sent,s=i.data.queryClassByTutorGroup,t=[].concat(Object(o.a)(t),Object(o.a)(s.items)),r=s.nextToken;case 9:if(null!==r){n.next=2;break}case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}
1function Si(n,e,t){function r(n){!function(n){n&&n.forEach((function(n){e(n,t),Se(n)}))}(n)}Ft(n.parentID,null,r),n.Classroom&&mr(n.Classroom,r,null,!1,null)}function wi(n,e,t){return Ai.apply(this,arguments)}function Ai(){return(Ai=Object(c.a)(u.a.mark((function n(e,t,r){var o,a,i,s,c,d,l;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=e.attributes.email.toLowerCase(),a=Gn(o),n.next=4,hi(t.TutorClass);case 4:i=n.sent,s=i.data.getTutorClass,c=[];try{c=JSON.parse(s.roster)}catch(p){console.error("CHECK ",p,s)}n.t0=u.a.keys(c);case 9:if((n.t1=n.t0()).done){n.next=17;break}if(d=n.t1.value,(l=c[d]).email!==a){n.next=15;break}return an.d("myname",l.name),n.abrupt("return",l);case 15:n.next=9;break;case 17:if(!r){n.next=20;break}if(r.TutorGroupID!==(null===s||void 0===s?void 0:s.TutorGroupID)&&s){n.next=20;break}return n.abrupt("return","admin");case 20:return n.abrupt("return",null);case 21:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function $i(n){return En("\n  mutation CreateTutorClassEvent(\n    $input: CreateTutorClassEventInput!\n    $condition: ModelTutorClassEventConditionInput\n  ) {\n    createTutorClassEvent(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      config\n      type\n      TutorGroupID\n      TutorGroup {\n        id\n        name\n        createdAt\n        updatedAt\n        config\n        roster\n        creator\n        TenantID\n        tutorClasses {\n          nextToken\n        }\n      }\n      TutorClassID\n      TutorClass {\n        id\n        name\n        description\n        videoMode\n        createdAt\n        updatedAt\n        config\n        roster\n        TutorGroupID\n        TutorGroup {\n          id\n          name\n          createdAt\n          updatedAt\n          config\n          roster\n          creator\n          TenantID\n        }\n        Sessions\n        TutorClassEvents {\n          nextToken\n        }\n      }\n    }\n  }\n",{input:n})}function ji(n){return En("\n  mutation UpdateTutorClassEvent(\n    $input: UpdateTutorClassEventInput!\n    $condition: ModelTutorClassEventConditionInput\n  ) {\n    updateTutorClassEvent(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      config\n      type\n      TutorGroupID\n      TutorGroup {\n        id\n        name\n        createdAt\n        updatedAt\n        config\n        roster\n        creator\n        TenantID\n        tutorClasses {\n          nextToken\n        }\n      }\n      TutorClassID\n      TutorClass {\n        id\n        name\n        description\n        videoMode\n        createdAt\n        updatedAt\n        config\n        roster\n        TutorGroupID\n        TutorGroup {\n          id\n          name\n          createdAt\n          updatedAt\n          config\n          roster\n          creator\n          TenantID\n        }\n        Sessions\n        TutorClassEvents {\n          nextToken\n        }\n      }\n    }\n  }\n",{input:n})}function Bi(n){return En("\n  mutation DeleteTutorClassEvent(\n    $input: DeleteTutorClassEventInput!\n    $condition: ModelTutorClassEventConditionInput\n  ) {\n    deleteTutorClassEvent(input: $input, condition: $condition) {\n      id\n      createdAt\n      updatedAt\n      config\n      type\n      TutorGroupID\n      TutorGroup {\n        id\n        name\n        createdAt\n        updatedAt\n        config\n        roster\n        creator\n        TenantID\n        tutorClasses {\n          nextToken\n        }\n      }\n      TutorClassID\n      TutorClass {\n        id\n        name\n        description\n        videoMode\n        createdAt\n        updatedAt\n        config\n        roster\n        TutorGroupID\n        TutorGroup {\n          id\n          name\n          createdAt\n          updatedAt\n          config\n          roster\n          creator\n          TenantID\n        }\n        Sessions\n        TutorClassEvents {\n          nextToken\n        }\n      }\n    }\n  }\n",{input:{id:n}})}function Pi(n){return En("\n  mutation CreateVideoRoom(\n    $input: CreateVideoRoomInput!\n    $condition: ModelVideoRoomConditionInput\n  ) {\n    createVideoRoom(input: $input, condition: $condition) {\n      id\n      SID\n      name\n      createdAt\n      updatedAt\n      state\n      url\n      content\n      SessionID\n      recordingTurnedOn\n      Session {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      ttl\n    }\n  }\n",{input:n})}function Ni(n){return En("\n  mutation UpdateVideoRoom(\n    $input: UpdateVideoRoomInput!\n    $condition: ModelVideoRoomConditionInput\n  ) {\n    updateVideoRoom(input: $input, condition: $condition) {\n      id\n      SID\n      name\n      createdAt\n      updatedAt\n      state\n      url\n      content\n      SessionID\n      recordingTurnedOn\n      Session {\n        id\n        name\n        content\n        createdAt\n        updatedAt\n        Objects {\n          nextToken\n        }\n        ttl\n        savedOwner\n        parentID\n        pageNumber\n        boardConfig\n        Users {\n          nextToken\n        }\n        parentBoardID\n        folderID\n        Classroom\n        CreatorLocalID\n        MultiBoard {\n          nextToken\n        }\n        isGroup\n        joinCode\n        TenantID\n        deleted\n        TutorClass\n      }\n      ttl\n    }\n  }\n",{input:n})}function Mi(n){return Ei.apply(this,arguments)}function Ei(){return(Ei=Object(c.a)(u.a.mark((function n(e){var t,r,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t=[],r=null;case 2:return a={limit:100,nextToken:r,SessionID:e},n.next=5,En(B,a);case 5:i=n.sent,s=i.data.videoRoomBySession,t=[].concat(Object(o.a)(t),Object(o.a)(s.items)),r=s.nextToken;case 9:if(null!==r){n.next=2;break}case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Ui(n){return Gi.apply(this,arguments)}function Gi(){return(Gi=Object(c.a)(u.a.mark((function n(e){var t,r,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t=[],r=null;case 2:return a={limit:100,nextToken:r,SID:e},n.next=5,En(P,a);
1case 5:i=n.sent,s=i.data.videoRoomBySID,t=[].concat(Object(o.a)(t),Object(o.a)(s.items)),r=s.nextToken;case 9:if(null!==r){n.next=2;break}case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Li(n){return Ri.apply(this,arguments)}function Ri(){return(Ri=Object(c.a)(u.a.mark((function n(e){var t;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Ui(e.SID);case 2:if(!((t=n.sent)&&t.length>0)){n.next=5;break}return n.abrupt("return");case 5:Pi(e);case 6:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Ji(n){return _i.apply(this,arguments)}function _i(){return(_i=Object(c.a)(u.a.mark((function n(e){var t,r;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Ui(e);case 2:(t=n.sent)&&t.length>0&&((r=t[0]).recordingTurnedOn=!0,delete r.Session,Ni(r));case 4:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function qi(n){return Fi.apply(this,arguments)}function Fi(){return(Fi=Object(c.a)(u.a.mark((function n(e){var t,r,o,a,i,s,c;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,we(e);case 2:if(t=n.sent,r=t.data.getSession){n.next=6;break}return n.abrupt("return",[]);case 6:return o=r.Classroom?r.Classroom:r.parentID,a=[],n.next=10,Mi(o);case 10:if((i=n.sent)&&0!==i.length){n.next=13;break}return n.abrupt("return",null);case 13:for(s in i)(c=i[s]).recordingTurnedOn&&a.push(c);return n.abrupt("return",a);case 15:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Ki(n){return Vi.apply(this,arguments)}function Vi(){return(Vi=Object(c.a)(u.a.mark((function n(e){var t,r,a,i,s;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:t=[],r=null;case 2:return a={limit:100,nextToken:r,TutorClassID:e},n.next=5,En($,a);case 5:i=n.sent,s=i.data.eventByTutorClass,t=[].concat(Object(o.a)(t),Object(o.a)(s.items)),r=s.nextToken;case 9:if(null!==r){n.next=2;break}case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Wi(){return zi.apply(this,arguments)}function zi(){return(zi=Object(c.a)(u.a.mark((function n(){var e,t,r,a,i;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:e=[],t=null;case 2:return r={limit:100,nextToken:t},n.next=5,En(b,r);case 5:a=n.sent,i=a.data.listTutorGroups,e=[].concat(Object(o.a)(e),Object(o.a)(i.items)),t=i.nextToken;case 9:if(null!==t){n.next=2;break}case 10:return n.abrupt("return",e);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Qi(n){void 0===n.retryCount&&(n.retryCount=3),void 0===n.doList&&(n.doList=!0),n.doList&&function n(e,t,r){En($,{limit:100,nextToken:r,TutorClassID:e}).then((function(o){var a=o.data.eventByTutorClass;t(a.items),a.nextToken?n(e,t,r):t(null)}))}(n.classId,n.cb,null);var e,t,r=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToTutorClassEvent($TutorClassID: ID) {\n    subscribeToTutorClassEvent(TutorClassID: $TutorClassID) {\n      id\n      createdAt\n      updatedAt\n      config\n      type\n      TutorGroupID\n      TutorGroup {\n        id\n        name\n        createdAt\n        updatedAt\n        config\n        roster\n        creator\n        TenantID\n        tutorClasses {\n          nextToken\n        }\n      }\n      TutorClassID\n      TutorClass {\n        id\n        name\n        description\n        videoMode\n        createdAt\n        updatedAt\n        config\n        roster\n        TutorGroupID\n        TutorGroup {\n          id\n          name\n          createdAt\n          updatedAt\n          config\n          roster\n          creator\n          TenantID\n        }\n        Sessions\n        TutorClassEvents {\n          nextToken\n        }\n      }\n    }\n  }\n",{TutorClassID:n.classId})),o=!1;e=Nn(r,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToTutorClassEvent;n.cb([t])},error:function(e){console.log(JSON.stringify(e)),$n(o,"subscribeToTutorClassEvent:subscribeToTutorClassEvent",e,t,Qi,n),o=!0}},"SubscribeToTutorClassEvent:subscribeToTutorClassEvent");var a=X.a.graphql(Object(nn.a)("\n  subscription SubscribeToTutorClassEventDel($TutorClassID: ID) {\n    subscribeToTutorClassEventDel(TutorClassID: $TutorClassID) {\n      id\n      createdAt\n      updatedAt\n      config\n      type\n      TutorGroupID\n      TutorGroup {\n        id\n        name\n        createdAt\n        updatedAt\n        config\n        roster\n        creator\n        TenantID\n        tutorClasses {\n          nextToken\n        }\n      }\n      TutorClassID\n      TutorClass {\n        id\n        name\n        description\n        videoMode\n        createdAt\n        updatedAt\n        config\n        roster\n        TutorGroupID\n        TutorGroup {\n          id\n          name\n          createdAt\n          updatedAt\n          config\n          roster\n          creator\n          TenantID\n        }\n        Sessions\n        TutorClassEvents {\n          nextToken\n        }\n      }\n    }\n  }\n",{TutorClassID:n.classId}));t=Nn(a,{next:function(e){n.retryCount<3&&(n.retryCount=3);var t=e.value.data.subscribeToTutorClassEventDel;n.delcb(t)},error:function(t){console.log(JSON.stringify(t)),$n(o,"subscribeToTutorClassEventDel:subscribeToTutorClassEventDel",t,e,Io,n),o=!0}},"subscribeToTutorClassEventDel:subscribeToTutorClassEventDel"),n.subCB([e,t])}function Zi(n,e){var t=new Blob([n],{type:"application/json"}),r=URL.createObjectURL(t),o=document.createElement("a");o.href=r,o.download=e||"download",o.click(),o.remove()}function Hi(n){return Yi.apply(this,arguments)}function Yi(){return(Yi=Object(c.a)(u.a.mark((function n(e){var t,r,o,a;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,We(e);case 2:for(t=n.sent,r=[],o=0;o<t.length;o++)_o(a=t[o]),delete a.Session,r.push(a);Zi(JSON.stringify(r,null,4),e+".json");case 8:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Xi(){return window.location.href.includes("apiModeLoad")}function ns(n){return es.apply(this,arguments)}function es(){return(es=Object(c.a)(u.a.mark((function n(e){var t,r;return u.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,fetch("https://api.epiphani.ai/",{method:"POST",headers:{"Content-Type":"application/json"},body:e});case 2:return t=n.sent,n.next=5,t.json();case 5:return r=n.sent,n.abrupt("return",r);case 7:case"end":return n.stop()}}),n)})))).apply(this,arguments)}},425:function(n,e,t){"use strict";t.d(e,"l",(function(){return b})),t.d(e,"k",(function(){return g})),t.d(e,"j",(function(){return I})),t.d(e,"m",(function(){return h})),t.d(e,"r",(function(){return S})),t.d(e,"i",(function(){return j})),t.d(e,"n",(function(){return P})),t.d(e,"p",(function(){return N})),t.d(e,"h",(function(){return E})),t.d(e,"g",(function(){return G})),t.d(e,"f",(function(){return R})),t.d(e,"c",(function(){return _})),t.d(e,"d",(function(){return F})),t.d(e,"e",(function(){return V})),t.d(e,"q",(function(){return z})),t.d(e,"a",(function(){return Z})),t.d(e,"b",(function(){return X})),t.d(e,"o",(function(){return tn}));var r=t(6),o=t.n(r),a=t(90),i=t(1316),s=t(2549),u=t(223),c=t(231),d=t(47),l=t(584),p=t(8),f=i.a.aws_user_files_s3_bucket_region,m=i.a.aws_user_files_s3_bucket;function b(n,e){for(var t=n.split(","),r=t[0].match(/:(.*?);/)[1],o=atob(t[1]),a=o.length,i=new Uint8Array(a);a--;
1)i[a]=o.charCodeAt(a);return new File([i],e,{type:r})}var g=function(n){for(var e=n.split(",")[0].indexOf("base64")>=0?atob(n.split(",")[1]):unescape(n.split(",")[1]),t=n.split(",")[0].split(":")[1].split(";")[0],r=e.length,o=new Uint8Array(r),a=0;a<r;a++)o[a]=e.charCodeAt(a);return new Blob([o],{type:t})};function C(n){return y.apply(this,arguments)}function y(){return(y=Object(a.a)(o.a.mark((function n(e){var t,r,a,i,s,u;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.file,r=e.maxSize,a=new FileReader,i=new Image,(s=document.createElement("canvas")).style.background="#ffffff",u=function(){var n=i.width,t=i.height,o=!1;n>t?n>r&&(t*=r/n,n=r,o=!0):t>r&&(n*=r/t,t=r,o=!0),s.width=n,s.height=t;var a=s.getContext("2d");("png"!==e.ext||o)&&(a.fillStyle="#FFFFFF",a.fillRect(0,0,n,t)),a.drawImage(i,0,0,n,t);var u="jpeg";"png"!==e.ext||o||(u="png");var c=s.toDataURL("image/"+u),d=o?"jpg":e.ext;return{file:g(c),ext:d}},n.abrupt("return",new Promise((function(n,e){t.type.match(/image.*/)?(a.onload=function(e){i.onload=function(){return n(u())},i.onerror=function(n){console.log("Image on error",n)},i.src=e.target.result},a.readAsDataURL(t)):e(new Error("Not an image"))})));case 8:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function T(n,e,t,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5?arguments[5]:void 0,i=arguments.length>6?arguments[6]:void 0,s=arguments.length>7?arguments[7]:void 0,d=arguments.length>8?arguments[8]:void 0,l=20+i/2,p=20+s/2,f=d,m=["Raster",{applyMatrix:!1,matrix:[f,0,0,f,l,p],data:{drawPaper:!0,pdfText:a},crossOrigin:"anonymous",source:n}],b=Object(u.a)(),g=window.location.href.includes("phonescan")?"/phonescan/":"/board/",C=window.location.href.split(g),y=C[1].split("?")[0],T=y.split("-pgNum-"),I=Number(T[1])+(e-1),v=T[0]+"-pgNum-"+I,D=JSON.stringify(m),h={content:D,type:null},x=c.sd(h,!0);c.jb(b,"name",v,x.content,"drawPaper",null,x.type,o).then((function(n){})),c.pb(v)}function I(n,e,t,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5?arguments[5]:void 0,i=Object(u.a)(),s=window.location.href.includes("phonescan")?"/phonescan/":"/board/",d=window.location.href.split(s),l=d[1].split("?")[0],f=l.split("-pgNum-"),m=Number(f[1])+(e-1);window.location.href.includes("phonescan")&&(m=e);var b=f[0]+"-pgNum-"+m,g={type:"image",points:{x:20,y:20},url:n,newPoints:{x:20,y:20},ended:!0,pdfText:a};if("none"!==t){for(var C={},y=1;y<=r;y++)C[y]="";g.type=t,g.id=i,g.pageArray=C,g.pages=r}var T=p.b("localuserid"),I=T||null;if(c.jb(i,"name",b,JSON.stringify(g),"image",I,null,o).then((function(n){var e=n.data.createObject;delete e.Session,c.Zd(e)})),c.pb(b),"amongUs"===t)for(var v=JSON.stringify(g),D=2;D<10;D++)i=Object(u.a)(),b=f[0]+"-pgNum-"+D,c.jb(i,"name",b,v,"image",I,null,o),c.pb(b)}function v(n,e){return D.apply(this,arguments)}function D(){return(D=Object(a.a)(o.a.mark((function n(e,r){var i,s,c,l=arguments;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:i=l.length>2&&void 0!==l[2]?l[2]:0,s=l.length>3?l[3]:void 0,l.length>4?l[4]:void 0,c=2,Promise.all([t.e(49),t.e(89)]).then(t.t.bind(null,2110,7)).then((function(n){var l=n;t.e(48).then(t.t.bind(null,2116,7)).then((function(n){var t=n;l.GlobalWorkerOptions.workerSrc=t,l.getDocument(e).promise.then((function(n){d.a({category:"Teacher",action:"LoadPDF-"+n.numPages});var e=50;if("bingo"===r&&(e=150),n.numPages>e)return alert("You can only have upto 50 pages per book. Not loading"),null;for(var t=Object(u.a)(),l=function(e){n.getPage(e).then(function(){var u=Object(a.a)(o.a.mark((function u(d){var l,p,f,m,b,C,y,v,D,h,x;return o.a.wrap((function(u){for(;;)switch(u.prev=u.next){case 0:return l=c,p=d.getViewport({scale:l}),f=p.height,m=p.width,b=1,C=1,f>(y=s*c)&&(b=y/f),m>y&&(C=y/m),1===b&&1===C||(l=b<C?b:C,l*=c,p=d.getViewport({scale:l})),v=document.createElement("canvas"),D=v.getContext("2d"),v.height=p.height,v.width=p.width,h="",u.next=17,d.getTextContent();case 17:(x=u.sent)&&(h=x.items.map((function(n){return n.str})).join("\n")),d.render({canvasContext:D,viewport:p,intent:"print"}).promise.then(Object(a.a)(o.a.mark((function a(){var s,u,d,l,f,m,b,C,y,x,k;return o.a.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:if(s=v.toDataURL("image/jpeg",1),"amongUs"!==r){o.next=21;break}return u=D.getImageData(0,0,100,100),(d=document.createElement("canvas")).height=100,d.width=100,(l=d.getContext("2d")).fillStyle="#FFFFFF",l.fillRect(0,0,200,200),l.putImageData(u,0,0),f=d.toDataURL("image/jpeg"),m=g(f),b=t+"-pg-"+e+"-avatar",o.next=15,S(m,b,null,null);case 15:C=D.getImageData(p.width/2,0,p.width,p.height),v.width=p.width/2,D.putImageData(C,0,0),s=v.toDataURL("image/jpeg"),o.next=29;break;case 21:y=document.createElement("canvas"),x=p.width/c,k=p.height/c,y.height=k,y.width=x,y.getContext("2d").drawImage(v,0,0,x,k),"none"!==r&&(s=y.toDataURL("image/jpeg",1));case 29:S(g(s),t+"-pg-"+e,(function(t){"none"===r?T(t,e,r,n.numPages,i,h,p.width/c,p.height/c,1/c):1===e&&I(t,e,r,n.numPages,i,h)}),null);case 32:case"end":return o.stop()}}),a)}))));case 21:case"end":return u.stop()}}),u)})));return function(n){return u.apply(this,arguments)}}())},p=1;p<=n.numPages;p++)l(p)})).catch((function(n){console.log("pdf load ",n)}))}))}));case 5:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function h(n){return new Promise((function(e){var t=document.createElement("canvas"),r=document.createElement("video");r.autoplay=!0,r.muted=!0,r.crossOrigin="anonymous",r.src=n,r.onloadeddata=function(){var n=t.getContext("2d");return t.width=r.videoWidth,t.height=r.videoHeight,n.drawImage(r,0,0,r.videoWidth,r.videoHeight),r.pause(),e(t.toDataURL("image/jpg",.8))}}))}function x(n,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return new Promise((function(a,i){var s=new FileReader;s.onload=function(n){return v(n.target.result,e,t,r,o),a(n.target.result)},s.readAsArrayBuffer(n)}))}function k(n){return O.apply(this,arguments)}function O(){return(O=Object(a.a)(o.a.mark((function n(e){var t;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=new FileReader,n.abrupt("return",new Promise((function(n,r){e.type.match(/image.*/)?(t.readAsD
1ataURL(e),t.onload=function(e){return n(g(e.target.result))}):r(new Error("Not an image"))})));case 2:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function S(n,e,t){return w.apply(this,arguments)}function w(){return(w=Object(a.a)(o.a.mark((function n(e,t,r){var a,i,c,d,p,b,g,C,y=arguments;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=y.length>3&&void 0!==y[3]?y[3]:null,i=y.length>4&&void 0!==y[4]&&y[4],c=i||l.b()?"paidImages":"images",d=a||"jpg",p=e.type,b=t||Object(u.a)(),g="".concat(c,"/").concat(b,".").concat(d),C="https://".concat(m,".s3.").concat(f,".amazonaws.com/public/").concat(g),n.next=10,s.a.put(g,e,{contentType:p}).then((function(n){r&&r(C)})).catch((function(n){console.error("changeAvatar error ",n),alert("file cannot be uploaded, please check the time on your computer:",n.message)}));case 10:return n.abrupt("return",C);case 11:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function A(n){return $.apply(this,arguments)}function $(){return($=Object(a.a)(o.a.mark((function n(e){var t,r;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Y(e);case 2:return t=n.sent,n.prev=3,n.next=6,fetch(t);case 6:r=n.sent,n.next=12;break;case 9:return n.prev=9,n.t0=n.catch(3),n.abrupt("return",null);case 12:return n.abrupt("return",r);case 13:case"end":return n.stop()}}),n,null,[[3,9]])})))).apply(this,arguments)}function j(n){return B.apply(this,arguments)}function B(){return(B=Object(a.a)(o.a.mark((function n(e){var t,r,a,i,s,c,d,l,p,f,m,b=arguments;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=b.length>1&&void 0!==b[1]?b[1]:null,r=b.length>2&&void 0!==b[2]?b[2]:null,a=b.length>3&&void 0!==b[3]&&b[3],i=e.split("?X-Amz")[0],s=(" "+i).slice(1),t||(c=s.split("-pg-"),d=s.split("."),r||(r=d[d.length-1]),c.length>1&&(l=c[1].split("."),t=Object(u.a)()+"-pg-"+l[0])),n.prev=6,n.next=9,fetch(s);case 9:if(403!==(p=n.sent).status){n.next=14;break}return n.next=13,A(e);case 13:p=n.sent;case 14:n.next=21;break;case 16:return n.prev=16,n.t0=n.catch(6),n.next=20,A(e);case 20:p=n.sent;case 21:return n.next=23,p.blob();case 23:return f=n.sent,n.next=26,S(f,t,null,r,a);case 26:return m=n.sent,n.abrupt("return",m);case 28:case"end":return n.stop()}}),n,null,[[6,16]])})))).apply(this,arguments)}function P(n){var e="images/".concat(n);return"https://".concat(m,".s3.").concat(f,".amazonaws.com/public/").concat(e)}function N(n,e,t){return M.apply(this,arguments)}function M(){return(M=Object(a.a)(o.a.mark((function n(e,t,r){var a,i;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a="images/".concat(t),i=P(t),n.next=4,s.a.put(a,e,{contentType:r}).then((function(n){})).catch((function(n){console.error("upload error ",n),alert("file cannot be uploaded, please check the time on your computer:",n.message)}));case 4:return n.abrupt("return",i);case 5:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function E(n,e){return U.apply(this,arguments)}function U(){return(U=Object(a.a)(o.a.mark((function n(e,t){var r,a,i,c,d;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return"png",r=g(e),a=r.type,i=Object(u.a)(),c="palette/".concat(i,".").concat("png"),d="https://".concat(m,".s3.").concat(f,".amazonaws.com/public/").concat(c),n.next=8,s.a.put(c,r,{contentType:a}).then((function(n){t&&t(d)})).catch((function(n){console.error("changeAvatar error ",n),alert("cannot save palette, check the time on your computer",n)}));case 8:return n.abrupt("return",d);case 9:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function G(n,e){return L.apply(this,arguments)}function L(){return(L=Object(a.a)(o.a.mark((function n(e,r){return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:Promise.all([t.e(14),t.e(99)]).then(t.bind(null,2118)).then((function(n){n.SmartImport().importFile(e,r)}));case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function R(n,e,t){return J.apply(this,arguments)}function J(){return(J=Object(a.a)(o.a.mark((function n(e,r,a){return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:Promise.all([t.e(14),t.e(95)]).then(t.bind(null,2119)).then((function(n){n.IwbImport().importFile(e,r,a)}));case 1:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function _(n,e){return q.apply(this,arguments)}function q(){return(q=Object(a.a)(o.a.mark((function n(e,t){var r,a,i,s,u,c,l,p,f=arguments;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=f.length>2&&void 0!==f[2]?f[2]:0,a=f.length>3?f[3]:void 0,i=f.length>4&&void 0!==f[4]?f[4]:1150,n.prev=3,-1===e.type.indexOf("application/pdf")){n.next=7;break}return x(e,t,r,i,a),n.abrupt("return",null);case 7:if(s="jpg",-1!==e.type.indexOf("image/png")&&(s="png"),-1!==e.type.indexOf("image/gif")&&(s="gif"),d.a({category:"Teacher",action:"Load-Image"}),"gif"!==s){n.next=17;break}return n.next=14,k(e);case 14:u=n.sent,n.next=22;break;case 17:return n.next=19,C({file:e,ext:s,maxSize:i});case 19:c=n.sent,u=c.file,s=c.ext;case 22:return n.next=24,S(u,null,null,s);case 24:return l=n.sent,n.next=27,Y(l);case 27:return p=n.sent,n.abrupt("return",{img:p,url:l});case 31:n.prev=31,n.t0=n.catch(3),console.error("Something went wrong",n.t0),alert("Could not upload file",n.t0);case 35:return n.abrupt("return",null);case 36:case"end":return n.stop()}}),n,null,[[3,31]])})))).apply(this,arguments)}function F(n,e){return K.apply(this,arguments)}function K(){return(K=Object(a.a)(o.a.mark((function n(e,t){var r,a,i,s=arguments;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return s.length>2&&void 0!==s[2]?s[2]:0,s.length>3?s[3]:void 0,s.length>4&&void 0!==s[4]?s[4]:1150,n.prev=3,r="png",-1!==e.type.indexOf("image/png")&&(r="png"),n.next=8,S(e,null,null,r);case 8:return a=n.sent,n.next=11,Y(a);case 11:return i=n.sent,n.abrupt("return",{img:i,url:a});case 15:n.prev=15,n.t0=n.catch(3),console.error("Something went wrong",n.t0),alert("Could not upload file",n.t0);case 19:return n.abrupt("return",null);case 20:case"end":return n.stop()}}),n,null,[[3,15]])})))).apply(this,arguments)}function V(n,e){return W.apply(this,arguments)}function W(){return(W=Object(a.a)(o.a.mark((function n(e,t){var r,a,i,s,u,c,l,p=arguments;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=p.length>2&&void 0!==p[2]?p[2]:0,a=p.length>3&&void 0!==p[3]?p[3]:1150,n.prev=2,-1===e.type.indexOf("application/pdf")){n.next=6;break}return x(e,t,r,a),n.abrupt("return",null);case 6:if(i="jpg",-1!==e.type.indexOf("image/png")&&(i="png"),-1!==e.type.indexOf("image/gif")&&(i="gif"),"mp4"===e.type&&(i="mp4"),d.a({category:"Teacher",action:"Load-Image"+i}),"gif"!==i){n.next=17;break}return n.next=14,k(e);case 14:s=n.sent,n.next=26;break;case 17:if("mp4"===i){n.next=26;break}return n.next=20,C({file:e,ext:i,maxSize:a});case 20:return c=n.sent,s=c.file,i=c.ext,n.next=25,S(s,null,null,i);case 25:u=n.sent;case 26:if("mp4"!==i){n.next=30;break}return n.next=29,S(e,null,null,"mp4");case 29:u=n.sent;case 30:return n.next=32,Y(u);case 32:return l=n.sent,n.abrupt("return",{img:l,url:u});case 36:n.prev=36,n.t0=n.catch(2),console.error("Something went wrong",n.t0),alert("Could not upload file",n.t0);case 40:return n.abrupt("return",null);case 41:case"end":return n.stop()}}),n,null,[[2,36]])})))).apply(this,arguments)}function z(n,e){return Q.apply(this,arguments)}function Q(){return(Q=Object(a.a)(o.a.mark((function n(e,t){var r,a,i;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=g(e),n.next=3,S(r,t,null,null);case 3:return a=n.sent,n.next=6,Y(a);case 6:return i=n.sent,n.abrupt("return",{img:i,url:a});case 8:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Z(n){return H.apply(this,arguments)}function H(){return(H=Object(a.a)(o.a.mark((function n(e){var t;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Y(e);case 2:return t=n.sent,n.abrupt("return",{img:t,url:e});case 4:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function Y(n){if(n){if(n.includes("googleusercontent"))return n;if(n.includes("/assets/images/")||n.includes("/assets/paidImages/"))return n;var e=n.split("public/").pop();return s.a.get(e,{expires:604800}).then((function(n){return n})).catch((function(n){return console.log(n)}))}}function X(n){if(n){if(n.includes("googleusercontent"))return n;if(n.includes("/assets/images/")||n.includes("/assets/paidImages/"))return n;var e=n.split("public/").pop();return s.a.get(e,{expires:604800,download:!0}).then((function(e){return{img:e,url:n}})).catch((function(n){return console.log(n)}))}}function nn(n){return en.apply(this,arguments)}function en(){return(en=Object(a.a)(o.a.mark((function n(e){var t;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=new FileReader,n.abrupt("return",new Promise((function(n,r){t.readAsD
1ataURL(e),t.onload=function(e){return n(g(e.target.result))}})));case 2:case"end":return n.stop()}}),n)})))).apply(this,arguments)}function tn(n){return rn.apply(this,arguments)}function rn(){return(rn=Object(a.a)(o.a.mark((function n(e){var t,r,a,i;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.name.split("."),r=t[t.length-1],n.next=4,nn(e);case 4:return a=n.sent,n.next=7,S(a,null,null,r);case 7:return i=n.sent,n.abrupt("return",i);case 9:case"end":return n.stop()}}),n)})))).apply(this,arguments)}},584:function(n,e,t){"use strict";t.d(e,"b",(function(){return a})),t.d(e,"a",(function(){return i})),t.d(e,"c",(function(){return s}));var r=t(2552),o=t(8);function a(){if(r.a&&r.a.user){if(r.a.user.attributes&&"[email protected]"===r.a.user.attributes.email)return!0;var n=o.b("paidPlan");if(n&&n.startsWith("gold"))return!0}return!1}function i(n){var e=n.id;return e.startsWith("Microsoft")&&(e=e.replace("Microsoft","MS")),e}function s(n){return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(n)}},788:function(n,e,t){"use strict";t.d(e,"a",(function(){return i}));var r=t(558),o=t(1316),a=!1;function i(){a||(a=!0,o.a.oauth&&(o.a.oauth.redirectSignIn=window.location.origin+"/login/",o.a.oauth.redirectSignOut=window.location.origin+"/logout/",o.a.aws_appsync_authenticationType="AWS_IAM"),r.a.configure(o.a))}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.