;// bundle: page___defb32324f672f20510450cc803e8a63_m
;// files: utilities/robloxAds.js, EventTracker.js, NumberFormatting.js, ~/Generated/js/Roblox_TranslationResources_Feature_GroupsResources_en_us_standard.js, GenericConfirmation.js, utilities/dialog.js, common/deviceMeta.js, TosModalCheck.js, AbuseReport/AbuseReportDispatcher.js

;// utilities/robloxAds.js
"use strict";var Roblox=Roblox||{};Roblox.AdsHelper=Roblox.AdsHelper||{},Roblox.AdsLibrary={},Roblox.AdsLibrary.adsIdList=["Skyscraper-Abp-Left","Skyscraper-Abp-Right","Leaderboard-Abp","GamePageAdDiv1","GamePageAdDiv2","GamePageAdDiv3","ProfilePageAdDiv1","ProfilePageAdDiv2"],Roblox.AdsLibrary.adsParameters={"Skyscraper-Abp-Left":{element:$("#Skyscraper-Abp-Left"),template:null,fitTwoAds:!0,fitOneAd:!1,isSkyscraper:!0},"Skyscraper-Abp-Right":{element:$("#Skyscraper-Abp-Right"),tempalte:null,fitTwoAds:!0,fitOneAd:!0,isSkyscraper:!0},"Leaderboard-Abp":{element:$("#Leaderboard-Abp"),tempalte:null,fitTwoAds:!0,fitOneAd:!0,isLeaderboard:!0},GamePageAdDiv1:{element:$("#GamePageAdDiv1"),template:null,isPageAd:!0},GamePageAdDiv2:{element:$("#GamePageAdDiv2"),template:null,isPageAd:!0},GamePageAdDiv3:{element:$("#GamePageAdDiv3"),template:null,isPageAd:!0},ProfilePageAdDiv1:{element:$("#ProfilePageAdDiv1"),template:null,isPageAd:!0},ProfilePageAdDiv2:{element:$("#ProfilePageAdDiv2"),template:null,isPageAd:!0}},Roblox.AdsHelper.AdRefresher=function(){function c(n){return!n||!$.trim($(n).html())}function h(n){t.push(n)}function s(){return googletag.pubadsReady}function r(n){var u,f,e,i;typeof n=="undefined"&&(n=v),u=!1;for(f in t){if(e="#"+t[f]+" [data-js-adtype]",i=$(e),typeof i=="undefined")return;if(i.attr("data-js-adtype")==="iframead")o(i);else if(i.attr("data-js-adtype")==="gptAd")if(s())u=!0;else if(n>0){setTimeout(function(){r(--n)},y);break}}u&&googletag.cmd.push(function(){googletag.pubads().refresh()})}function o(n){var i=n.attr("src"),r,u,t;typeof i=="string"&&(r=i.indexOf("?")<0?"?":"&",u=i+r+"nocache="+(new Date).getMilliseconds().toString(),typeof n[0]!="undefined")&&(t=n[0].contentDocument,t===undefined&&(t=n[0].contentWindow),t&&t.location.href!=="about:blank"&&t.location.replace(u))}function n(n,t,i){i.length&&c(i)&&(i.append(n),r())}function b(){for(var u=$(window).width(),f,r,t,i=0;i<Roblox.AdsLibrary.adsIdList.length;i++)r=Roblox.AdsLibrary.adsIdList[i],t=Roblox.AdsLibrary.adsParameters[r],t&&!t.template&&(f=t.element,t.template=f.html());for(i=0;i<Roblox.AdsLibrary.adsIdList.length;i++)(r=Roblox.AdsLibrary.adsIdList[i],t=Roblox.AdsLibrary.adsParameters[r],t)&&(t.isSkyscraper?u>=e&&t.fitTwoAds?n(t.template,r,t.element):u<e&&u>=l?t.fitOneAd?n(t.template,r,t.element):t.element.empty():t.element.empty():t.isLeaderboard?u<p?t.element.empty():n(t.template,r,t.element):t.isPageAd&&(u<w?t.element.empty():n(t.template,r,t.element)))}var t=[],i=20,u=970,f=160,p=728,y=100,v=16,e=$("[data-max-width-for-two-ads]").attr("data-max-width-for-two-ads")||u+f*2+48-i,l=$("[data-max-width-for-one-ads]").attr("data-max-width-for-one-ads")||u+f+24-i,a=1024,w=a-i;return{registerAd:h,refreshAds:r,adjustAdsFitScreen:b,getAds:n}}(),Roblox.AdsHelper.DynamicAdCreator=function(){function n(){var n=$(".dynamic-ad").filter(".unpopulated");n.each(function(n,t){var i=$(t),u=i.attr("data-ad-slot"),f=parseInt(i.attr("data-ad-width")),e=parseInt(i.attr("data-ad-height")),r=i.children(".ad-slot").attr("id");googletag.cmd.push(function(){var n=googletag.defineSlot(u,[f,e],r).addService(googletag.pubads());googletag.display(r),googletag.pubads().refresh([n])}),i.removeClass("unpopulated")})}return{populateNewAds:n}}(),$(function(){$(window).resize(function(){Roblox.AdsHelper.AdRefresher.adjustAdsFitScreen()})});

;// EventTracker.js
EventTracker=new function(){var n=this;n.logMetrics=!1,n.transmitMetrics=!0,n.localEventLog=[];var t=new function(){var n={};this.get=function(t){return n[t]},this.set=function(t,i){n[t]=i},this.remove=function(t){delete n[t]}},r=function(){return(new Date).valueOf()},i=function(n,t){var i=r();$.each(n,function(n,r){u(r,t,i)})},u=function(i,r,u){var e=t.get(i),f,o;e?(t.remove(i),f=u-e,n.logMetrics&&console.log("[event]",i,r,f),n.transmitMetrics&&(o=i+"_"+r,$.ajax({type:"POST",timeout:5e4,url:"/game/report-stats?name="+o+"&value="+f,crossDomain:!0,xhrFields:{withCredentials:!0}}))):n.logMetrics&&console.log("[event]","ERROR: event not started -",i,r)};n.start=function(){var n=r();$.each(arguments,function(i,r){t.set(r,n)})},n.endSuccess=function(){i(arguments,"Success")},n.endCancel=function(){i(arguments,"Cancel")},n.endFailure=function(){i(arguments,"Failure")},n.fireEvent=function(){$.each(arguments,function(t,i){$.ajax({type:"POST",timeout:5e4,url:"/game/report-event?name="+i,crossDomain:!0,xhrFields:{withCredentials:!0}}),n.logMetrics&&console.log("[event]",i),n.localEventLog.push(i)})}};

;// NumberFormatting.js
typeof Roblox=="undefined"&&(Roblox={}),typeof Roblox.NumberFormatting=="undefined"&&(Roblox.NumberFormatting=function(){var n=function(n){if(typeof n!="number")throw"'number' is not a number";return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},t=function(n){var t;if(typeof n!="number")throw"'number' is not a number";var i=1e3,r=1e6,u=1e9;return n<=0?"0":n<i?n:n<r?(t=Math.round(n/i*10)/10,t>=i)?Math.round(t/i*10)/10+"M":t+"K":n<u?(t=Math.round(n/r*10)/10,t>=i)?Math.round(t/i*10)/10+"B":t+"M":Math.round(n/u*10)/10+"B"},i=function(t){var i,r,u;if(typeof t!="number")throw"'number' is not a number";var f=1e4,e=1e6,o=1e9;return t==0?"0":t<f?n(t):(i="B+",r=9,t<e?(i="K+",r=3):t<o&&(i="M+",r=6),u=t.toString(),u.substring(0,u.length-r)+i)};return{abbreviatedFormat:i,commas:n,abbreviate:t}}());

;// ~/Generated/js/Roblox_TranslationResources_Feature_GroupsResources_en_us_standard.js
var Roblox=Roblox||{};Roblox.Lang=Roblox.Lang||{},Roblox.Lang["Feature.Groups"]={"Action.AcceptAll":"Accept All","Action.AdvertiseGroup":"Advertise Group","Action.AuditLog":"Audit Log","Action.BackToGroup":"Back to Group","Action.Cancel":"Cancel","Action.CancelRequest":"Cancel Request","Action.ClaimOwnership":"Claim Ownership","Action.Close":"Close","Action.ConfigureGroup":"Configure Group","Action.CreateGroup":"Create Group","Action.CreateRole":"Create Role","Action.DeclineAll":"Decline All","Action.Delete":"Delete","Action.DeleteRole":"Delete Role","Action.Exile":"Exile","Action.ExileUser":"Exile User","Action.GoToDetails":"Go to Details","Action.GoToSecurity":"Go To Security","Action.GoToSettings":"Go to Settings","Action.GroupAdmin":"Group Admin","Action.GroupShout":"Group Shout","Action.JoinGroup":"Join Group","Action.LeaveGroup":"Leave Group","Action.MakePrimary":"Make Primary","Action.MakePrimaryGroup":"Make Primary Group","Action.MoreGroups":"More Groups","Action.MyGroups":"My Groups","Action.Post":"Post","Action.Purchase":"Purchase","Action.ReadMore":"Read More","Action.RemovePrimary":"Remove Primary","Action.Report":"Report","Action.ReportAbuse":"Report Abuse","Action.Request":"Request","Action.RequestToJoin":"Request to Join","Action.SeeAll":"See All","Action.SeeNewWallPosts":"See New Wall Posts","Action.Send":"Send","Action.ShowLess":"Show Less","Action.Upgrade":"Upgrade","Action.UpgradeToJoin":"Upgrade to Join","Action.Yes":"Yes","Description.ChangeGroupNameCost":"Changing a group name will cost {robuxAmount}.","Description.ChangeNameCooldown":"Your group name was changed too recently.{lineBreak}You will be able to change your group name again in {numDays, plural, =0 {# days} =1 {# day} other {# days}}.","Description.ChangeOwnerWarning":"This is a permanent change and you will lose all of the privileges of group ownership.","Description.ClothingRevenue":"Groups have the ability to create and sell official shirts, pants, and t-shirts! All revenue goes to group funds.","Description.CreateGroup":"Create your own group! Invite all of your friends, and duke it out with all your rivals!","Description.DeleteAllPostsByUser":"Also delete all posts by this user.","Description.EnterGroupName":"Enter the group name","Description.ExileUserWarning":"Are you sure you want to exile this user?","Description.GroupNameChangeBody":"{oldName} has been renamed to {newName}. You can visit the group here: {groupLink}","Description.GroupNameChangeDetails":"I understand that once the group name has been changed:{listItemStart}it cannot be changed again for {numDays} days{listItemEnd}{listItemStart}group members will be notified of the change{listItemEnd}{listItemStart}the group will no longer be searchable under the previous name{listItemEnd}","Description.GroupNameChangeTerms":"I understand that once the group name has been changed:{listStart}{listItemStart}it cannot be changed again for {numDays} days{listItemEnd}{listItemStart}group members will be notified of the change{listItemEnd}{listItemStart}the group will no longer be searchable under the previous name{listItemEnd}{listEnd}","Description.JoinGroup":"Join a group to connect with people like you! Groups exist for all types of communities - fan clubs, help groups, hobbies, corporations, and more. Groups have their own walls and shared places.","Description.LeaveGroupAsOwnerWarning":"This will leave the group ownerless.","Description.LeaveGroupWarning":"Are you sure you want to leave this group?","Description.MakePrimaryGroupWarning":"Are you sure you want to make this your primary group?","Description.NewGroupName":"Enter the new group name","Description.NoneMaxGroups":"Upgrade to Roblox Premium to join more groups.","Description.NoneMaxGroupsPremium":"Upgrade to Roblox Premium to join more groups.","Description.ObcMaxGroups":"You have joined the maximum number of groups.","Description.OtherBcMaxGroups":"Upgrade your Builders Club to join more groups.","Description.PendingRobux":"Pending Robux are not included in your total until released, which could take up to a few days","Description.PendingSales":"Pending sales are not included in your total until released, which could take up to a few days","Description.PendingTransaction":"Pending","Description.PurchaseBody":"Would you like to create this group for","Description.PurchaseBodyAmount":"Would you like to create this group for {amount}?","Description.RemoveAlly":"Are you sure you want to remove this group as an ally?","Description.RemoveEnemy":"Are you sure you want to remove this group as an enemy?","Description.RemovePrimaryGroupWarning":"Are you sure you want to remove your primary group?","Description.ReportAbuseDescription":"What would you like to report?","Description.VerifiedEmailRequired":"A verified email is required to change your group’s name. Please verify an email address in your account settings.","Description.WallPrivacySettings":"Your privacy settings do not allow you to post to group walls. Click here to adjust these settings.","Header.VerifiedEmailRequired":"Email Verification Required","Heading.About":"About","Heading.AddFunds":"Add Funds","Heading.AddFundsModal":"Transfer Funds","Heading.Affiliates":"Affiliates","Heading.Allies":"Allies","Heading.Amount":"Amount","Heading.AuditLog":"Audit Log","Heading.Categories":"Categories","Heading.ChangeGroupName":"Change Group Name","Heading.ConfigureGroup":"Configure {groupName}","Heading.Date":"Date","Heading.Description":"Description","Heading.EconomyPermissions":"Assets","Heading.Enemies":"Enemies","Heading.ExileUserWarning":"Warning","Heading.Funds":"Funds","Heading.Games":"Experiences","Heading.GroupNameChangeSubject":"Group Name Changed: {previousGroupName}","Heading.GroupProfile":"Group Profile","Heading.GroupPurchase":"Group Purchase Confirmation","Heading.Groups":"Groups","Heading.GroupSearchCategoryBuilding":"Building","Heading.GroupSearchCategoryFan":"Fan","Heading.GroupSearchCategoryFriends":"Friends' Groups","Heading.GroupSearchCategoryGameDevelopment":"Experience Development","Heading.GroupSearchCategoryGameStudios":"Experience Studios","Heading.GroupSearchCategoryMilitary":"Military","Heading.GroupSearchCategoryRoleplaying":"Roleplaying","Heading.GroupShout":"Group Shout","Heading.GroupsYouAreIn":"Groups You Are In","Heading.GroupsYouOwn":"Groups You Own","Heading.Information":"Information","Heading.Item":"Item","Heading.JoinGroup":"Join a Group","Heading.JoinRequirements":"Join Requirements","Heading.LeaveGroup":"Leave Group","Heading.MakePrimaryGroup":"Make Primary Group","Heading.ManagementPermissions":"Miscellaneous","Heading.Members":"Members","Heading.MembershipPermissions":"Members","Heading.MyGroups":"My Groups","Heading.NameOrDescription":"Name, Icon, or Description","Heading.OneTimePayout":"One-time Payout","Heading.OpenCloudPermissions":"Open Cloud","Heading.Payouts":"Payouts","Heading.PostsPermissions":"Posts","Heading.PreviousGroupNames":"Previous Group Names","Heading.Primary":"Primary","Heading.Purchaser":"Purchaser","Heading.Rank":"Rank","Heading.RecurringPayout":"Recurring Payout","Heading.RecurringPayouts":"Recurring Payouts","Heading.RemoveAlly":"Remove Ally","Heading.RemoveEnemy":"Remove Enemy","Heading.RemovePrimaryGroup":"Remove Primary Group","Heading.Requests":"Requests","Heading.Revenue":"Revenue","Heading.Role":"Role","Heading.Roles":"Roles","Heading.Sales":"Sales","Heading.Settings":"Settings","Heading.Shout":"Shout","Heading.SocialLinks":"Social Links","Heading.Store":"Store","Heading.Summary":"Summary","Heading.Transactions":"Transactions","Heading.TwoStepVerificationRequired":"Email Verification Required","Heading.TwoStepVerificationRequiredV2":"Email Verification Required","Heading.TwoStepVerificationRequiredV3":"2-Step Verification Required","Heading.UnableToChangeName":"Unable to Change Name","Heading.User":"User","Heading.Wall":"Wall","Label.Abandon":"Abandon","Label.AcceptAllyRequest":"Accept Ally Request","Label.AcceptJoinRequest":"Accept Join Request","Label.AddFunds":"Add Funds","Label.AddFundsAmount":"Amount","Label.AddFundsPrompt":"Transfer from {userName} to {groupName}","Label.AddGroupPlace":"Add Group Place","Label.AddMember":"Add Member","Label.AddPayoutRecipient":"Add Payout Recipient","Label.AddPayoutRecipients":"Add Payout Recipients","Label.AdjustCurrencyAmounts":"Adjust Currency Amounts","Label.Admin":"Admin","Label.AdministerCloudAuthentication":"Administer all group API keys","Label.AdvertiseGroup":"Advertise the group","Label.All":"All","Label.AllowDeclarations ":"Allow enemy declarations","Label.AnyoneCanJoin":"Anyone Can Join","Label.AvailableFunds":"Available Funds","Label.BuyAd":"Buy Ad","Label.BuyClan":"Buy Clan","Label.ByOwner":"By","Label.CancelClanInvite":"Cancel Clan Invite","Label.ChangeDescription":"Change Description","Label.ChangeGroupOwner":"Change the group's owner","Label.ChangeName":"Change Name","Label.ChangeOwner":"Change Owner","Label.ChangeRank":"Change Rank","Label.ChangeRanks":"Manage lower-ranked member ranks","Label.Claim":"Claim","Label.ConfigureBadge":"Configure Badge","Label.ConfigureGroupAsset":"Configure Group Asset","Label.ConfigureGroupClothing":"Configure group clothing items","Label.ConfigureGroupDevelopmentItem":"Configure Group Development Item","Label.ConfigureGroupGame":"Configure Group \nExperience","Label.ConfigureItems":"Configure Items","Label.CreateBadge":"Create Badge","Label.CreateEnemy":"Create Enemy","Label.CreateGamePass":"Create Pass","Label.CreateGroup":"Create Group","Label.CreateGroupAsset":"Create Group Asset","Label.CreateGroupBuildersClubTooltip":"Creating a group requires a Roblox Premium membership.","Label.CreateGroupClothing":"Create group clothing items","Label.CreateGroupDescription":"Description (optional)","Label.CreateGroupDeveloperProduct":"Create Group Developer Product","Label.CreateGroupEmblem":"Emblem","Label.CreateGroupFee":"Group Creation Fee","Label.CreateGroupGamesAndAssets":"Create and configure group experience and development items","Label.CreateGroupName":"Name your group","Label.CreateGroupPremiumTooltip":"Creating a group requires a Roblox Premium membership.","Label.CreateGroupTooltip":"Create a new group","Label.CreateItem":"Create group items","Label.CreateItems":"Create Items","Label.DeclareEnemy":"Declare Enemy","Label.DeclineAllyRequest":"Decline Ally Request","Label.DeclineJoinRequest":"Decline Join Request","Label.Delete":"Delete","Label.DeleteAllPostsByUser":"Also delete all posts by this user.","Label.DeleteAlly":"Delete Ally","Label.DeleteEnemy":"Delete Enemy","Label.DeleteFromWall":"Delete group wall posts","Label.DeleteGroupPlace":"Delete Group Place","Label.DeletePost":"Delete Post","Label.DistributeBy":"Distributing Robux by:","Label.EnemyDeclarationsNotEnabled":"Enemy declarations are not enabled. Please update your settings if you would like to enable this feature.","Label.EnterPayoutRecipient":"Enter the payout recipient's username","Label.FilterGroups":"Filter Groups","Label.Funds":"Funds","Label.FundsVisible":"Group funds publicly visible","Label.GamesVisible":"Group experiences are visible on the group home page","Label.GroupClosed":"Group Closed","Label.GroupFunds":"Group Funds:","Label.GroupLocked":"This group has been locked","Label.GroupName":"Group Name","Label.GroupPayouts":"Group Revenue Payouts","Label.GroupPremiumPayouts":"Group Premium Payouts","Label.GroupSearchResults":"Group Results For {searchTerm}","Label.Guest":"Guest","Label.IndividualToGroupTotal":"Individual to Group Robux Transfers (includes pending transfers)","Label.InviteMembers":"Accept join requests","Label.InviteToClan":"Invite to Clan","Label.KickFromClan":"Kick from Clan","Label.LastAddedFunds":"Successful transfer from {userName} to {groupName} on {transferDate}.","Label.Loading":"Loading...","Label.Lock":"Lock","Label.ManageCloudAuthentication":"Create group API keys","Label.ManageGroupCreations":"Create or manage group items.","Label.ManageGroupGames":"Create and edit group experiences","Label.ManageItems":"Configure group items","Label.ManageRelationships":"Manage allies and enemies","Label.ManualApproval":"Manual Approval","Label.MaxGroupsTooltip":"You may only be in a maximum of {maxGroups} groups at one time","Label.Member":"Member","Label.Members":"{memberCount, plural, =0 {# Members} =1 {# Member} other {# Members}}","Label.MembersCount":"{memberCount, plural, =0 {# Members} =1 {# Member} other {# Members}}","Label.ModerateDiscussion":"Moderate Discussion","Label.MustBeAccepted":"User requests must be accepted to join group","Label.NewGroupName":"New group name","Label.NoAllies":"This group does not have any allies.","Label.NoEnemies":"This group does not have any enemies.","Label.NoGames":"No experiences are associated with this group.","Label.NoLongerModify":"If you turn this setting off, you will no longer be able to modify it","Label.NoMembersInRole":"No group members are in this role.","Label.NoOne":"No One!","Label.NoResults":'No results for "{searchTerm}"',"Label.NoStoreItems":"No items are for sale in this group.","Label.NoWallPosts":"Nobody has said anything yet...","Label.OnlyBcCanJoin":"Only Builders Club members can join","Label.OnlyPremiumCanJoin":"Only users with membership can join","Label.Owner":"Owner","Label.Ownership":"Ownership","Label.PayingOut":"Paying out:","Label.PendingRobux":"Pending Robux","Label.PendingSales":"Pending Sales","Label.Percentage":"Percentage","Label.PermDeleteRole":"Permanently delete this role","Label.PostStatus":"Post Shout","Label.PostToStatus":"Post group shout","Label.PostToWall":"Post on group wall","Label.PremiumOnly":"Premium Only","Label.PreviousGroupName":"Previous group name","Label.PreviousGroupNames":"Previous group names","Label.PrivateGroup":"Private","Label.PublicGroup":"Public","Label.PublishPlace":"Publish Place","Label.RemainingFunds":"Remaining Funds:","Label.RemoveGroupPlace":"Remove Group Place","Label.RemoveMember":"Remove Member","Label.RemoveMembers":"Kick lower-ranked members","Label.Rename":"Rename","Label.RevenueToGroupFund":"Revenue going to group fund:","Label.RevertGroupAsset":"Revert Group Asset","Label.SaleOfGoods":"Sale of Goods","Label.SavePlace":"Save Place","Label.SearchAllGroups":"Search All Groups","Label.SearchGroups":"Search Groups","Label.SearchMembers":"Search Members","Label.SearchMyGroups":"Search My Groups","Label.SearchUsers":"Search Users","Label.SelectNewOwner":"Select the new group owner","Label.SendAllyRequest":"Send Ally Request","Label.ShoutPlaceholder":"Enter your shout","Label.SpendGroupFund":"Spend group funds","Label.SpendGroupFunds":"Spend Group Funds","Label.Success":"Success","Label.Total":"Total","Label.Unlock":"Unlock","Label.UpdateGroupAsset":"Update Group Asset","Label.UseGroupFunds":"Use group funds to purchase this role","Label.Username":"Username","Label.ViewAnalytics":"View group experience analytics","Label.ViewAuditLogs":"View audit log","Label.ViewStatus":"View group shout","Label.ViewWall":"View group wall","Label.WallPostPlaceholder":"Say something...","Label.WallPostsUnavailable":"Wall posts are temporarily unavailable, please check back later.","Label.Warning":"Warning","Message.Abandon":"{actor} (group owner) abandoned the group","Message.AcceptAllyRequest":"{actor} accepted group {group}'s ally request","Message.AcceptJoinRequest":"{actor} accepted user {user}'s join request","Message.AddFundsLimitMessage":"Transfers subject to holds. You can only transfer robux to this group from your account once every {limit} days","Message.AddFundsModal":"Are you sure you want to transfer {robuxWithIcon} to {groupName}?","Message.AddGroupPlace":"{actor} added experience {game} as a group experience","Message.AdjustCurrencyAmountsDecreased":"{actor} decreased group funds by {amount}","Message.AdjustCurrencyAmountsIncreased":"{actor} increased group funds by {amount}","Message.Admin":"A group administrator.","Message.AllyRequestSent":"Ally request sent to {group}","Message.AlreadyMember":"You are already a member of this group.","Message.AlreadyRequested":"You have already requested to join this group.","Message.AmountPaidOut":"{amount} Robux were paid out to users from the group","Message.BuildGroupRolesListError":"Unable to load members for selected role.","Message.BuyAd":"{actor} bid {bid} on group ad {adName}","Message.BuyClan":"{actor} bought a group clan","Message.CancelClanInvite":"{actor} cancelled {user}'s clan invite","Message.CannotChangeOwnRole":"You cannot change your own role.","Message.CannotChangeToSameRole":"You cannot change a member's role to their same role.","Message.CannotClaimGroupWithOwner":"This group already has an owner.","Message.CannotDeleteRole":"Cannot delete this role.","Message.CannotDeleteThisRole":"Cannot delete this role.","Message.CannotHaveRelationshipWithGroup":"Other group does not allow enemy declarations.","Message.CannotHaveRelationshipWithSelf":"Your group cannot establish a relationship with itself.","Message.CannotRemoveRole":"Cannot remove any more roles.","Message.CannotUpdateGuest":"Cannot update Guest role.","Message.CannotUpdateOwner":"Cannot update Owner role rank.","Message.ChangeDescription":'{actor} changed the description to "{newDescription}"',"Message.ChangedGroupName":"{actor} changed the group name from {previousGroupName} to {currentGroupName}","Message.ChangeOwner":"{actor} changed the group owner. {user} is the new group owner","Message.ChangeOwnerEmpty":"There is no owner of the group","Message.ChangeRank":"{actor} changed user {user}'s rank from {oldRoleSet} to {newRoleSet}","Message.Claim":"{actor} claimed ownership of the group","Message.ClaimOwnershipError":"Unable to claim ownership of group.","Message.ClaimOwnershipSuccess":"Successfully claimed ownership of group.","Message.ConfigMetadataLoadFail":"Could not load group configuration metadata.","Message.ConfigureAsset":"{actor} updated asset {item}: {actions}","Message.ConfigureBadgeDisabled":"{actor} disabled the badge {badge}","Message.ConfigureBadgeEnabled":"{actor} enabled the badge {badge}","Message.ConfigureBadgeUpdate":"{actor} configured the badge {badge}","Message.ConfigureGame":"{actor} updated {game}: {actions}","Message.ConfigureGameDeveloperProduct":"{actor} updated developer product {id}: {actions}","Message.ConfigureItems":"{actor} configured the group item {item}","Message.CreateAsset":"{actor} created asset {item}","Message.CreateBadge":"{actor} created the badge {badge}","Message.CreateDeveloperProduct":"{actor} created developer product with id {id}","Message.CreateEnemy":"{actor} declared group {group} as an enemy","Message.CreateGamePass":"{actor} created a Pass for {game}: {gamePass}","Message.CreateItems":"{actor} created the group item {item}","Message.DeclineAllyRequest":"{actor} declined group {group}'s ally request","Message.DeclineJoinRequest":"{actor} declined user {user}'s join request","Message.DefaultError":"An error occurred.","Message.Delete":"{actor} deleted current group","Message.DeleteAlly":"{actor} removed group {group} as an ally","Message.DeleteEnemy":"{actor} removed group {group} as an enemy","Message.DeleteGroupPlace":"{actor} removed experience {game} as a group experience","Message.DeletePost":'{actor} deleted post "{postDesc}" by user {user}',"Message.DeleteRoleset":"Are you sure you want to delete {role}?","Message.DeleteWallPostError":"Unable to delete wall post.","Message.DeleteWallPostsByUserError":"Unable to delete wall posts by user.","Message.DeleteWallPostSuccess":"Successfully deleted wall post.","Message.DescriptionEmpty":"Your group description was empty.","Message.DescriptionTooLong":"The description is too long.","Message.DistributeFundsError":"Unable to distribute funds. Please refresh and verify your funds before trying again.","Message.DuplicateName":"Name is already taken. Please try another.","Message.DuplicateRelationship":"Your group already has a relationship with the target group.","Message.ExileUserError":"Unable to exile user.","Message.FeatureDisabled":"The feature is disabled.","Message.ForPlace":"For {place}","Message.GeneralAddFundsError":"Something Went Wrong","Message.GetGroupRelationshipsError":"Unable to load group affiliates.","Message.GroupBlocked":"You are blocked from communicating with this user.","Message.GroupCannotDeclareEnemies":"Your group does not allow enemy declarations.","Message.GroupClosed":"You cannot join a closed group.","Message.GroupCreationDisabled":"Group creation is currently disabled.","Message.GroupIconInvalid":"Icon is missing or invalid.","Message.GroupIconTooLarge":"Icon cannot be larger than {maxSize} mb.","Message.GroupMaxMemberLimitExceededError":"Group max member limit exceeded.","Message.GroupMembershipsUnavailableError":"The group membership system is temporarily unavailable. Please try again later.","Message.GroupNameChangeInsufficientFunds":"Name change unsuccessful. You need {robuxAmount} more to change the group name.","Message.GroupRestricted":"This group is not available in your region","Message.Guest":"A non-group member.","Message.ImmutableRole":"This role's permissions can not be modified.","Message.InsufficentFunds":"Insufficent Robux Funds","Message.InsufficientFunds":"Insufficient Robux funds.","Message.InsufficientGroupSpace":"You are already in the maximum number of groups.","Message.InsufficientMembership":"You do not have the Roblox Premium membership necessary to join this group.","Message.InsufficientPermission":"Insufficient permissions to complete the request.","Message.InsufficientPermissionsForRelationships":"You don't have permission to manage this group's relationships.","Message.InsufficientRobux":"You do not have enough Robux to create the group.","Message.InvalidAmount":"The amount is invalid.","Message.InvalidFileType":"Invalid file type for group icon.","Message.InvalidGroup":"Group is invalid or does not exist.","Message.InvalidGroupIcon":"The group icon is invalid.","Message.InvalidGroupId":"The group is invalid or does not exist.","Message.InvalidGroupJoinRequest":"The group join request is invalid.","Message.InvalidGroupWallPostId":"The group wall post id is invalid or does not exist.","Message.InvalidIds":"Ids could not be parsed from request.","Message.InvalidIdsError":"Ids could not be parsed from request.","Message.InvalidMembership":"User must have Roblox Premium membership.","Message.InvalidName":"The name is invalid.","Message.InvalidPaginationParameters":"Invalid or missing pagination parameters.","Message.InvalidPayoutType":"Invalid payout type.","Message.InvalidRecipient":"The recipient is invalid.","Message.InvalidRelationshipType":"Group relationship type is invalid.","Message.InvalidRoleSetId":"The roleset is invalid or does not exist.","Message.InvalidTargetGroup":"Target group is invalid or does not exist","Message.InvalidUser":"The user is invalid or does not exist.","Message.InvalidWallPostContent":"Your post was empty, white space, or more than 500 characters.","Message.InviteToClan":"{actor} invited user {user} to the clan","Message.JoinGroupError":"Unable to join group.","Message.JoinGroupPendingSuccess":"Requested to join group, your request is pending.","Message.JoinGroupSuccess":"Successfully joined the group.","Message.KickFromClan":"{actor} kicked user {user} out of the clan","Message.LeaveGroupError":"Unable to leave group.","Message.LoadAuditLogsError":"Unable to load audit logs.","Message.LoadGroupError":"Unable to load group.","Message.LoadGroupGamesError":"Unable to load experiences.","Message.LoadGroupListError":"Unable to load group list.","Message.LoadGroupMembershipsError":"Unable to load user membership information.","Message.LoadGroupMetadataError":"Unable to load group info.","Message.LoadGroupStoreItemsError":"Unable to load store items.","Message.LoadPayoutsError":"Unable to load payouts","Message.LoadPreviousGroupNamesError":"Unable to load previous group names.","Message.LoadTransactionsError":"Unable to load transactions.","Message.LoadUserGroupMembershipError":"Unable to load group member information.","Message.LoadWallPostsError":"Unable to load wall posts.","Message.Lock":"{actor} locked the group","Message.MakePrimaryError":"Unable to make primary group.","Message.MaxGroups":"User is in maximum number of groups.","Message.MaximumExceeded":"The maximum amount of Robux eligible to be transferred is {robux}","Message.MaximumNumberOfPayoutRecipients":"You can only pay out {numUsers} users at a time.","Message.MaxNumberRoles":"A maximum of {maxRoles} roles are allowed.","Message.MaxRoles":"A maximum of 40 roles are allowed.","Message.Member":"A regular group member.","Message.MemberAdded":"Member was already added to payout.","Message.MemberNotFound":"Member does not exist within this role.","Message.MissingGroupIcon":"The group icon is missing from the request.","Message.MissingGroupStatusContent":"Missing group shout content.","Message.MissingRoleName":"Missing role name.","Message.MissingRoleRank":"Missing role rank.","Message.NameChangeCooldown":"The name was changed too recently.","Message.NameFieldEmpty":"The name field cannot be empty","Message.NameInvalid":"Name is missing or has invalid characters.","Message.NameModerated":"The name is moderated.","Message.NameReuseCooldown":"The name was in use too recently.\t","Message.NameTaken":"The name has been taken.","Message.NameTooLong":"The name is too long.","Message.NoAllyRequests":"No ally requests","Message.NoFundsDistribute":"You do not have any funds to distribute.","Message.NoPendingRequests":"There are no pending member requests.","Message.NoPrimary":"The user specified does not have a primary group.","Message.NoRecordsFound":"No records found.","Message.NotEnoughFunds":"You do not have enough funds to purchase this role","Message.NotEnoughFundsDistribute":"You do not have enough funds to distribute this amount.","Message.NotEnoughFundsNameChange":"You do not have enough funds to change your groups name.","Message.NoTransactions":"No transactions have been completed.","Message.Owner":"The group's owner.","Message.PaidOutRecently":"Group has paid out too recently. Please wait and try again.","Message.PassCaptchaToJoin":"You must pass the captcha test before joining this group.","Message.PassCaptchaToPost":"Captcha must be solved to post to the group wall.","Message.PayoutRestricted":"Your funds were recently transferred and are being verified. Please try again later.","Message.PercentagePaidOut":"{percentage}% of the group's proceeds will be paid out","Message.PermissionUpdateFail":"Unable to update permission.","Message.PermissionUpdateSuccess":"Permission successfully updated.","Message.PinLocked":"You cannot perform this action with a locked pin. Unlock your pin in the Account Settings page.","Message.PostStatus":'{actor} changed the group shout to "{groupStatus}"',"Message.PurchasedBy":"Purchased by {user}","Message.PurchaseRole":"Purchasing a new role will cost {cost}","Message.RankOutOfBounds":"Rank value is out of bounds.","Message.RankReserved":"Ranks must be between {minRankPlusOne} and {maxRankMinusOne}. {minRank} and {maxRank} are reserved for guests and the owner.","Message.RecentOwnershipChange":"Group ownership was changed too recently.","Message.RelationshipDoesNotExist":"Relationship does not exist.","Message.RelationshipRequestDoesNotExist":"Relationship request does not exist.","Message.RemoveMember":"{actor} kicked user {user}","Message.RemovePrimaryError":"Unable to remove primary group.","Message.Rename":"{actor} renamed current group to {newName}","Message.RoleDeleteFail":"Unable to delete role.","Message.RoleDeleteSuccess":"Role successfully deleted.","Message.RoleDescriptionTooLong":"The roles description is too long.","Message.RoleLimitReached":"Limit for roles have been reached on this group.","Message.RoleNameExists":"Role name already exists.","Message.RoleNameTooLong":"The role name is too long.","Message.RoleUpdateFail":"Unable to update role.","Message.RoleUpdateSuccess":"Role successfully updated.","Message.RoleWithUsers":"There {amount, plural, =0 {are # users} =1 {is # user} other {are # users}} in this role. You cannot delete a role with users","Message.SearchTermCharactersLimit":"The search term needs to be between 2 and 50 characters","Message.SearchTermConstraint":"Search terms can be 2 to 50 characters long.","Message.SearchTermEmpty":"Search term was left empty.","Message.SearchTermEmptyError":"Search term is empty","Message.SearchTermFiltered":"Search term not appropriate for Roblox.","Message.SearchTermFilteredError":"Search term was filtered","Message.SearchTermMinMax":"The search term needs to be between {min} and {max} characters","Message.SendAllyRequest":"{actor} sent an ally request to group {group}","Message.SendGroupShoutError":"Unable to send group shout.","Message.SendPostError":"Unable to send post.","Message.SettingFail":"Unable to update setting","Message.SettingsLoadFail":"Unable to load group settings.","Message.SettingUpdated":"Setting successfully updated","Message.SpendGroupFunds":"{actor} spent {amount} of group funds for: {item}","Message.SuccessfullyUpdatedRole":"Successfully updated user's role","Message.TargetUserNotInGroup":"User is not a member of the group.","Message.TooManyAttempts":"Too many attempts to join the group. Please try again later.","Message.TooManyAttemptsToClaimGroups":"Too many attempts to claim groups. Please try again later.","Message.TooManyGroups":"You have reached the group capacity. Please leave a group before creating a new one.","Message.TooManyIds":"Too many ids in request.","Message.TooManyPosts":"You are posting too fast, please try again in a few minutes.","Message.TooManyRecipients":"Too many recipients.","Message.TooManyRequests":"Too many requests.","Message.Transaction":"Sold {item}","Message.TransactionBalance":"Your balance after this transaction will be","Message.TransactionForPlace":"Sold {item} for {place}","Message.TransactionsBalance":"Your balance after this transaction will be {balance}","Message.TwoStepVerificationRequired":"2-Step Verification is required to make further transactions. Go to Settings > Security to complete 2-Step Verification.","Message.TwoStepVerificationRequiredv2":"2-Step Verification is required to make further transactions. Go to your Security page to enable and complete 2-Step Verification via email.","Message.TwoStepVerificationRequiredV3":"2-Step Verification is required to make further transactions. Go to your Security page to enable and complete 2-Step Verification via email.","Message.TwoStepVerificationRequiredV4":"2-Step Verification is required to make further transactions. Go to your Security page to enable and complete 2-Step Verification.\t","Message.UnableToAcceptAllRequests":"Unable to accept all requests. Please try again.","Message.UnableToDeclineAllRequests":"Unable to decline all requests. Please try again.","Message.UnableToLoadAllyRequests":"Unable to load ally requests","Message.UnableToLoadRevenue":"Unable to load revenue summary","Message.UnableToPurchaseRole":"Failed to process payment to purchase role.","Message.UnableToRemoveAffiliate":"Unable to remove group affiliate.","Message.UnableToUpdateRole":"Unable to update the user's role.","Message.UnauthorizedForPostStatus":"You are not authorized to post a shout for this group.","Message.UnauthorizedForViewGroupPayouts":"You don't have permission to view this group's payouts.","Message.UnauthorizedToChangeOwner":"You are not authorized to change the owner of this group.","Message.UnauthorizedToClaimGroup":"You are not authorized to claim this group.","Message.UnauthorizedToEditPermissions":"You are not authorized to view/edit permissions for this role.","Message.UnauthorizedToManageMember":"You do not have permission to manage this member.","Message.UnauthorizedToViewRolesetPermissions":"You are not authorized to view permissions for this roleset.","Message.UnauthorizedToViewWall":"You do not have permission to access this group wall.","Message.UnknownError":"Unknown error","Message.UnkownError":"An unknown error occurred.","Message.Unlock":"{actor} unlocked the group","Message.UpdateAsset":"{actor} created new version {version} of asset {item}","Message.UpdateAssetRevert":"{actor} reverted asset {item} from version {version} to {oldVersion}","Message.UpdateRecurringPayoutsError":"Unable to update recurring payouts.","Message.UpdateRolesetData":'{actor} updated roleset {oldName}\'s name to {newName} and changed description from "{oldDescription}" to "{newDescription}"',"Message.UpdateRolesetDataDescOnly":'{actor} updated roleset {newName}\'s description from "{oldDescription}" to "{newDescription}"',"Message.UpdateRolesetDataNameOnly":"{actor} updated roleset {oldName}'s name to {newName}","Message.UpdateRolesetRank":"{actor} updated roleset {roleSetName}'s rank from {oldRank} to {newRank}","Message.UserAlreadyAdded":"User is already a payout recipient.","Message.UserGroupPayoutIneligible":"User is new to group and not yet eligible for payouts. Please try again later.","Message.UserHasInsufficientMembership":"The user does not have the necessary level of premium membership.","Message.UserIsOwner":"User is already the owner.","Message.UserNotInGroup":"You aren't a member of the group specified.","Message.UsersInRole":"There are users in this role.","Message.ValueMustBeWhole":"Value must be a whole number.","Message.YouAreOwner":"You are already the owner of this group."},Roblox.Lang.GroupsResources=Roblox.Lang["Feature.Groups"];

;// GenericConfirmation.js
typeof Roblox=="undefined"&&(Roblox={}),typeof Roblox.GenericConfirmation=="undefined"&&(Roblox.GenericConfirmation=function(){function w(){n.isOpen=!1,t()}function k(t){var a,e,o,s,l;n.isOpen=!0,a={titleText:"",bodyContent:"",footerText:"",acceptText:Roblox.Resources.GenericConfirmation.yes,declineText:Roblox.Resources.GenericConfirmation.No,acceptColor:u,declineColor:f,xToCancel:!1,onAccept:function(){return!1},onDecline:function(){return!1},onCancel:function(){return!1},imageUrl:null,allowHtmlContentInBody:!1,allowHtmlContentInFooter:!1,dismissable:!0,fieldValidationRequired:!1,onOpenCallback:function(){}},t=$.extend({},a,t),c.overlayClose=t.dismissable,c.escClose=t.dismissable,e=$(i),e.html(t.acceptText),e.attr("class","btn-large "+t.acceptColor),e.unbind(),e.bind("click",function(){return v(e)?!1:(t.fieldValidationRequired?nt(t.onAccept):h(t.onAccept),!1)}),o=$(r),o.html(t.declineText),o.attr("class","btn-large "+t.declineColor),o.unbind(),o.bind("click",function(){return v(o)?!1:(h(t.onDecline),!1)}),$('[data-modal-handle="confirmation"] div.Title').text(t.titleText),s=$("[data-modal-handle='confirmation']"),t.imageUrl==null?s.addClass("noImage"):(s.find("img.GenericModalImage").attr("src",t.imageUrl),s.removeClass("noImage")),t.allowHtmlContentInBody?$("[data-modal-handle='confirmation'] div.Message").html(t.bodyContent):$("[data-modal-handle='confirmation'] div.Message").text(t.bodyContent),$.trim(t.footerText)==""?$('[data-modal-handle="confirmation"] div.ConfirmationModalFooter').hide():$('[data-modal-handle="confirmation"] div.ConfirmationModalFooter').show(),t.allowHtmlContentInFooter?$('[data-modal-handle="confirmation"] div.ConfirmationModalFooter').html(t.footerText):$('[data-modal-handle="confirmation"] div.ConfirmationModalFooter').text(t.footerText),$("[data-modal-handle='confirmation']").modal(c),l=$("a.genericmodal-close"),l.unbind(),l.bind("click",function(){return h(t.onCancel),!1}),t.xToCancel||l.hide(),t.onOpenCallback()}function a(n){n.hasClass(f)?n.addClass(s):n.hasClass(l)?n.addClass(e):n.hasClass(u)&&n.addClass(o)}function v(n){return n.hasClass(o)||n.hasClass(s)||n.hasClass(e)?!0:!1}function b(){var n=$(i),t=$(r);a(n),a(t)}function g(){var u=$(i),t=$(r),n=o+" "+s+" "+e;u.removeClass(n),t.removeClass(n)}function p(){if(n.isOpen){var t=$(i);t.click()}}function y(){var n=$(r);n.click()}function t(t){n.isOpen=!1,typeof t!="undefined"?$.modal.close(t):$.modal.close()}function h(n){t(),typeof n=="function"&&n()}function nt(n){if(typeof n=="function"){var i=n();if(i!=="undefined"&&i==!1)return!1}t()}var l="btn-primary",u="btn-neutral",f="btn-negative",e="btn-disabled-primary",o="btn-disabled-neutral",s="btn-disabled-negative",d="btn-none",i="#roblox-confirm-btn",r="#roblox-decline-btn",n={isOpen:!1},c={overlayClose:!0,escClose:!0,opacity:80,overlayCss:{backgroundColor:"#000"},onClose:w};return{open:k,close:t,disableButtons:b,enableButtons:g,clickYes:p,clickNo:y,status:n,green:l,blue:u,gray:f,none:d}}()),$(document).keypress(function(n){Roblox.GenericConfirmation.status.isOpen&&n.which===13&&Roblox.GenericConfirmation.clickYes()});

;// utilities/dialog.js
typeof Roblox=="undefined"&&(Roblox={}),typeof Roblox.Dialog=="undefined"&&(Roblox.Dialog=function(){function g(f){var k,c,v,w,o,b;n.isOpen=!0,k={titleText:"",bodyContent:"",footerText:"",footerMiddleAligned:!1,acceptText:Roblox.Lang.ControlsResources["Action.Yes"]||a.Yes,declineText:Roblox.Lang.ControlsResources["Action.No"]||a.No,acceptColor:h,declineColor:s,xToCancel:!1,onAccept:function(){return!1},onDecline:function(){return!1},onCancel:function(){return!1},imageUrl:null,showAccept:!0,showDecline:!0,allowHtmlContentInBody:!1,allowHtmlContentInFooter:!1,dismissable:!0,fieldValidationRequired:!1,onOpenCallback:function(){},onCloseCallback:t,cssClass:null,checkboxAgreementText:Roblox.Lang.ControlsResources["Action.Agree"]||a.Agree,checkboxAgreementRequired:!1},f=$.extend({},k,f),i.overlayClose=f.dismissable,i.escClose=f.dismissable,f.onCloseCallback&&(i.onClose=function(){f.onCloseCallback(),t()}),c=$(u),c.html(f.acceptText),c.attr("class",f.acceptColor),c.unbind(),c.bind("click",function(){return p(c)?!1:(f.fieldValidationRequired?nt(f.onAccept):l(f.onAccept),!1)}),v=$(e),v.html(f.declineText),v.attr("class",f.declineColor),v.unbind(),v.bind("click",function(){return p(v)?!1:(l(f.onDecline),!1)}),w=$(tt),w.unbind(),w.bind("change",function(){w.is(":checked")?y(c):r(c)}),o=$('[data-modal-type="confirmation"]'),o.find(".modal-title").text(f.titleText),f.imageUrl==null?o.addClass("noImage"):(o.find("img.modal-thumb").attr("src",f.imageUrl),o.removeClass("noImage")),n.extraClass&&(o.removeClass(n.extraClass),n.extraClass=!1),f.cssClass!=null&&(o.addClass(f.cssClass),n.extraClass=f.cssClass),f.allowHtmlContentInBody?o.find(".modal-message").html(f.bodyContent):o.find(".modal-message").text(f.bodyContent),f.checkboxAgreementRequired?(r(c),o.find(".modal-checkbox.checkbox > input").prop("checked",!1),o.find(".modal-checkbox.checkbox > label").text(f.checkboxAgreementText),o.find(".modal-checkbox.checkbox").show()):(o.find(".modal-checkbox.checkbox > input").prop("checked",!0),o.find(".modal-checkbox.checkbox").hide()),$.trim(f.footerText)==""?o.find(".modal-footer").hide():o.find(".modal-footer").show(),f.allowHtmlContentInFooter?o.find(".modal-footer").html(f.footerText):o.find(".modal-footer").text(f.footerText),f.footerMiddleAligned&&o.find(".modal-footer").addClass("modal-footer-center"),o.modal(i),b=$(d+" .modal-header .close"),b.unbind(),b.bind("click",function(){return l(f.onCancel),!1}),f.xToCancel||b.hide(),f.showAccept||c.hide(),f.showDecline||v.hide(),$("#rbx-body").addClass("modal-mask"),f.onOpenCallback()}function r(n){n.hasClass(s)?n.addClass(f):n.hasClass(v)?n.addClass(o):n.hasClass(h)&&n.addClass(c)}function p(n){return n.hasClass(c)||n.hasClass(f)||n.hasClass(o)?!0:!1}function rt(){var n=$(u),t=$(e);r(n),r(t)}function y(n){n.hasClass(f)?(n.removeClass(f),n.addClass(s)):n.hasClass(o)?(n.removeClass(o),n.addClass(v)):n.hasClass(c)&&(n.removeClass(c),n.addClass(h))}function w(){var n=$(u),t=$(e);y(n),y(t)}function k(){if(n.isOpen){var t=$(u);t.click()}}function b(){var n=$(e);n.click()}function t(t){n.isOpen=!1,typeof t!="undefined"?$.modal.close(t):$.modal.close(),$("#rbx-body").removeClass("modal-mask")}function l(n){t(),typeof n=="function"&&n()}function nt(n){if(typeof n=="function"){var i=n();if(i!=="undefined"&&i==!1)return!1}t()}function ut(n,t){var i=$(".modal-body");n?(i.find(".modal-btns").hide(),i.find(".modal-processing").show()):(i.find(".modal-btns").show(),i.find(".modal-processing").hide()),typeof t!="undefined"&&t!==""&&$.modal.close("."+t)}var d=".simplemodal-container",v="btn-primary-md",h="btn-secondary-md",s="btn-control-md",o="btn-primary-md disabled",c="btn-secondary-md disabled",f="btn-control-md disabled",it="btn-none",u=".modal-btns #confirm-btn",e=".modal-btns #decline-btn",tt="#modal-checkbox-input",n={isOpen:!1},i={overlayClose:!0,escClose:!0,opacity:80,zIndex:1040,overlayCss:{backgroundColor:"#000"},onClose:t,focus:!1},a={Yes:"Yes",No:"No",Agree:"Agree"};return{open:g,close:t,disableButtons:rt,enableButtons:w,clickYes:k,clickNo:b,status:n,toggleProcessing:ut,green:v,blue:h,white:s,none:it}}()),$(document).keypress(function(n){Roblox.Dialog.isOpen&&n.which===13&&Roblox.Dialog.clickYes()});

;// common/deviceMeta.js
var Roblox=Roblox||{};Roblox.DeviceMeta=function(){var t=document.querySelector('meta[name="device-meta"]');if(t===null){console.debug("Error loading device information from meta tag - please check if meta tag is present");return}var n=t.dataset||{},i={android:"android",ios:"ios",xbox:"xbox",uwp:"uwp",amazon:"amazon",win32:"win32",universalapp:"universalApp",unknown:"unknown"},r={computer:"computer",tablet:"tablet",phone:"phone",console:"console"};return function(){return{deviceType:r[n.deviceType]||"",appType:i[n.appType]||"",isInApp:n.isInApp==="true",isDesktop:n.isDesktop==="true",isPhone:n.isPhone==="true",isTablet:n.isTablet==="true",isConsole:n.isConsole==="true",isAndroidApp:n.isAndroidApp==="true",isIosApp:n.isIosApp==="true",isUWPApp:n.isUwpApp==="true",isXboxApp:n.isXboxApp==="true",isAmazonApp:n.isAmazonApp==="true",isWin32App:n.isWin32App==="true",isStudio:n.isStudio==="true",isIosDevice:n.isIosDevice==="true",isAndroidDevice:n.isAndroidDevice==="true",isUniversalApp:n.isUniversalApp==="true"}}}();

;// TosModalCheck.js
function showTosModal(n,t,i,r){Roblox.Dialog.open({titleText:n,bodyContent:t,acceptText:i,onAccept:function(){submitTosAgreement(r)},acceptColor:Roblox.Dialog.blue,fieldValidationRequired:!1,dismissable:!1,xToCancel:!1,declineColor:Roblox.Dialog.none,allowHtmlContentInBody:!0})}function submitTosAgreement(n){$.ajax({type:"POST",url:n,contentType:"application/json; charset=utf-8",success:function(){}})}$(function(){var n,t,i,r,u="/UserCheck/show-tos",f=$("#TosAgreementInfo").data("terms-check-needed");$.ajax({type:"GET",url:u,data:{isLicensingTermsCheckNeeded:f},contentType:"application/json; charset=utf-8",success:function(u){if(u.PartialViewName){var f=Roblox.Intl&&new Roblox.Intl,e='<a href="'+u.TermsOfServiceUrl+'" class="text-link" target="_blank">',s=' <a href="'+u.PrivacyUrl+'" class="text-link" target="_blank">',o='<a href="'+u.LegalChangesUrl+'" class="text-link" target="_blank">';u.PartialViewName==="CaptureTosAgreement_v2"?(n=f.f(u.LangResources["Heading.TosHaveChangedTitle"]),t=f.f(u.LangResources["Message.AgreeToTosAndPrivacyBody"],{tosLinkStart:e,tosLinkEnd:"</a>",privacyLinkStart:s,privacyLinkEnd:"</a>",legalChangesLinkStart:o,legalChangesLinkEnd:"</a>"}),i=f.f(u.LangResources["Label.IAgree"]),r="/UserCheck/update-tos"):u.PartialViewName==="CaptureTosAgreementWithExplicitLicenseClause"&&(n=f.f(u.LangResources["Heading.TosAgreementTitle"]),t=f.f(u.LangResources["Message.TosAgreementBody"],{tosLinkStart:e,tosLinkEnd:"</a>",legalChangesLinkStart:o,legalChangesLinkEnd:"</a>"}),i=f.f(u.LangResources["Label.IAgree"]),r="/UserCheck/update-tos-licensing"),showTosModal(n,t,i,r)}},error:function(){}})});

;// AbuseReport/AbuseReportDispatcher.js
var Roblox=Roblox||{};Roblox.AbuseReportDispatcher=function(){var i=!1,n=function(n,t){n=n.replace(/[\[\]]/g,"\\$&");var r=new RegExp("[?&]"+n+"(=([^&#]*)|&|#|$)"),i=r.exec(t);return i?i[2]?decodeURIComponent(i[2].replace(/\+/g," ")):"":null},r=function(t){var i,o;if(typeof t!="string")return!1;t=t.toLowerCase();var s=t.split("?"),f=s[0],r,u=Roblox.AbuseReportPVMeta,h=Roblox.DeviceMeta();if(u.inApp=h.isInApp,f&&typeof f=="string"&&(r=f.split("abusereport/")[1]),r&&(i={actionName:r,id:n("id",t),redirectUrl:n("redirecturl",t)},n("conversationid",t)&&(i.conversationId=n("conversationid",t)),n("partyguid",t)&&(i.partyGuid=n("partyguid",t)),i.id&&i.redirectUrl)){var c=$.param(i),e="abusereport/embedded/"+r+"?"+c,l=Roblox.Endpoints.getAbsoluteUrl("/"+e);u.inApp?u.inAppEnabled?(o={urlPath:e,feature:"Abuse Report"},console.debug("Calling navigateToFeature for Hybrid Overlay"),Roblox.Hybrid.Navigation.navigateToFeature(o,function(n){console.debug("navigateToFeature ---- status:"+n)})):window.location.href=t:window.location.href=u.phoneEnabled?l:t}},t=function(n){n.preventDefault();var t=$(this).attr("href");t&&r(t)},u=function(){if(!i){$(".abuse-report-modal").click(t);$(".messages-container").on("click",".abuse-report-modal",t);$("#AjaxCommentsContainer").on("click",".abuse-report-modal",t);$("#item-context-menu").on("click",".abuse-report-modal",t);$(".GroupWallPane").on("click",".abuse-report-modal",t);$(".group-details-container").on("click",".abuse-report-modal",t);i=!0}};return{triggerUrlAction:r,initialize:u}}(),$(document).ready(function(){Roblox.AbuseReportDispatcher.initialize()});

;//Bundle detector
Roblox && Roblox.BundleDetector && Roblox.BundleDetector.bundleDetected('page');