Compare commits

..
Author SHA1 Message Date
raucao 8c5c6b7c6b WIP Fetch Reimbursement events 2024-03-14 16:44:09 +01:00
raucao 77f95a096a Hide veto button for confirmed reimbursements 2024-03-14 16:44:09 +01:00
raucao 4bd6bc8269 Move reimbursement items to separate component 2024-03-14 16:44:09 +01:00
raucao bcdd033f34 Use prod budget endpoints in dev by default 2024-03-14 16:43:29 +01:00
raucao b9e7737589 Fix typo 2024-03-14 16:43:21 +01:00
raucao 57b9bccb4a 2.1.1 2024-01-22 15:48:12 +03:00
raucao 5c9fbf5043 Prevent fingerprinting for filenames from config
Ember has no way of finding them in the code and thus cannot turn hrefs
into fingerprinted URLs
2024-01-22 15:46:39 +03:00
raucao 205d2d2afc 2.1.0 2024-01-22 14:08:21 +03:00
Râu Cao 895bf569ff Merge pull request #217 from 67P/feature/budget-balances
Use new balance APIs from akkounts, add Lightning balance
2024-01-14 17:29:07 +01:00
raucao dbedf1dbe8 Use new balance APIs from akkounts
* Use sats integer values instead of floats
* Add lightning Network account balance
* Use icons and titles/descriptions to discern between balance types
* Use more flexible config for balances (to add e.g. RBTC or BTC ecash
  later)
2024-01-12 14:59:57 +03:00
Râu Cao 26f2f2afe9 Merge pull request #216 from 67P/feature/main_nav
Add main navigation menu, replace intro blurb with full About page
2023-12-05 09:17:31 +01:00
Râu Cao 6c456b1184 Update release build 2023-11-17 14:29:24 +01:00
Râu Cao 03e7f14d1c Use native class 2023-08-30 17:18:33 +02:00
Râu Cao e94e747ba1 Wording 2023-08-30 17:18:26 +02:00
Râu Cao 3679412b3c Add main navigation menu, replace intro blurb with full About page 2023-08-30 17:17:39 +02:00
Râu Cao ea15e69d79 Update README 2023-08-15 10:27:27 +02:00
39 changed files with 537 additions and 286 deletions

No files matched your search

+2 -2
View File
@@ -31,8 +31,8 @@ You will need the following things properly installed on your computer.
### Building/running for development
* `npm start` - by default Kredits Web connects to the Rootstock testnet network
* Visit your app at [http://localhost:4200](http://localhost:4200).
* Visit your tests at [http://localhost:4200/tests](http://localhost:4200/tests).
* Visit the app at [http://localhost:4200](http://localhost:4200).
* Visit the tests at [http://localhost:4200/tests](http://localhost:4200/tests).
See [working with locally deployed contracts](https://github.com/67P/kredits-web#working-with-locally-deployed-contracts) for details on how to develop with locally deployed contracts.
+5 -2
View File
@@ -1,10 +1,13 @@
import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import { alias } from '@ember/object/computed';
export default class BudgetBalancesComponent extends Component {
@service communityFunds;
@alias('communityFunds.balances') balances;
get balancesSorted () {
return this.communityFunds.balances
.sortBy('confirmed_balance').reverse();
}
get loading () {
return !this.communityFunds.balancesLoaded;
+12 -4
View File
@@ -7,11 +7,19 @@
</tr>
</thead>
<tbody>
{{#each this.balances as |balance|}}
{{#each this.balancesSorted as |balance|}}
<tr>
<th>{{balance.token.symbol}}</th>
<td class="amount">{{balance.confirmed_balance}}</td>
<td class="fiat-amount">~{{balance.balanceUSD}} USD</td>
<th>
<img src={{balance.token.icon}}
alt={{balance.token.description}}
title={{balance.token.description}} />
</th>
<td class="amount">
{{fmt-number balance.confirmed_balance}} <span class="unit">sats</span>
</td>
<td class="fiat-amount">
~{{balance.balanceUSD}} USD
</td>
</tr>
{{/each}}
</tbody>
@@ -0,0 +1,7 @@
<nav id="main-menu">
<ul>
<li><LinkTo @route="dashboard">Dashboard</LinkTo></li>
<li><LinkTo @route="budget">Budget</LinkTo></li>
<li><LinkTo @route="about">About</LinkTo></li>
</ul>
</nav>
@@ -0,0 +1,31 @@
import Component from '@glimmer/component';
import { action } from '@ember/object';
import { inject as service } from '@ember/service';
import config from 'kredits-web/config/environment';
export default class ReimbursementItemComponent extends Component {
@service kredits;
get ipfsGatewayUrl () {
return config.ipfs.gatewayUrl;
}
get isConfirmed () {
return (this.args.reimbursement.confirmedAt - this.kredits.currentBlock) <= 0;
}
get isUnconfirmed () {
return !this.isConfirmed;
}
get showVetoButton () {
return this.isUnconfirmed && this.kredits.currentUserIsCore;
}
@action
veto (id) {
this.kredits.vetoReimbursement(id).then(transaction => {
console.debug('[controllers:budget] Veto submitted to chain: '+transaction.hash);
});
}
}
@@ -0,0 +1,34 @@
<li data-reimbursement-id={{@reimbursement.id}}
class="{{item-status @reimbursement}}">
<p class="meta">
<span class="recipient">
<UserAvatar @contributor={{@reimbursement.contributor}} />
</span>
<span class="title">
Expenses covered by {{@reimbursement.contributor.name}}
</span>
</p>
<p class="token-amount">
<span class="amount">
{{sats-to-btc @reimbursement.amount}}</span>&#8239;<span class="symbol">BTC</span>
</p>
<ExpenseList @expenses={{@reimbursement.expenses}} />
<div class="meta">
<p class="confirmation-eta">
<ConfirmedIn @confirmedAtBlock={{@reimbursement.confirmedAt}} />
</p>
<p class="actions">
<a href="{{this.ipfsGatewayUrl}}/{{@reimbursement.ipfsHash}}"
class="button small" target="_blank" rel="noopener noreferrer">
Inspect IPFS data
</a>
{{#if this.showVetoButton}}
<button {{on "click" (fn this.veto @reimbursement.id)}}
disabled={{@reimbursement.vetoed}}
class="button small danger" type="button">veto</button>
{{/if}}
</p>
</div>
</li>
@@ -1,23 +1,10 @@
import Component from '@glimmer/component';
import { sort } from '@ember/object/computed';
import { action } from '@ember/object';
import { inject as service } from '@ember/service';
import config from 'kredits-web/config/environment';
export default class ReimbursementListComponent extends Component {
@service kredits;
itemSorting = Object.freeze(['pendingStatus:asc', 'id:desc']);
@sort('args.items', 'itemSorting') itemsSorted;
get ipfsGatewayUrl () {
return config.ipfs.gatewayUrl;
}
@action
veto (id) {
this.kredits.vetoReimbursement(id).then(transaction => {
console.debug('[controllers:budget] Veto submitted to chain: '+transaction.hash);
});
}
}
+2 -35
View File
@@ -1,38 +1,5 @@
<ul class="item-list spaced reimbursement-list {{if @loading 'loading'}}">
{{#each this.itemsSorted as |reimbursement|}}
<li data-reimbursement-id={{reimbursement.id}}
class="{{item-status reimbursement}}">
<p class="meta">
<span class="recipient">
<UserAvatar @contributor={{reimbursement.contributor}} />
</span>
<span class="title">
Expenses covered by {{reimbursement.contributor.name}}
</span>
</p>
<p class="token-amount">
<span class="amount">
{{sats-to-btc reimbursement.amount}}</span>&#8239;<span class="symbol">BTC</span>
</p>
<ExpenseList @expenses={{reimbursement.expenses}} />
<div class="meta">
<p class="confirmation-eta">
<ConfirmedIn @confirmedAtBlock={{reimbursement.confirmedAt}} />
</p>
<p class="actions">
<a href="{{this.ipfsGatewayUrl}}/{{reimbursement.ipfsHash}}"
class="button small" target="_blank" rel="noopener noreferrer">
Inspect IPFS data
</a>
{{#if this.kredits.currentUserIsCore}}
<button {{on "click" (fn this.veto reimbursement.id)}}
disabled={{reimbursement.vetoed}}
class="button small danger" type="button">veto</button>
{{/if}}
</p>
</div>
</li>
{{#each this.itemsSorted as |item|}}
<ReimbursementItem @reimbursement={{item}} />
{{/each}}
</ul>
+3 -3
View File
@@ -1,6 +1,6 @@
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';
export default Controller.extend({
kredits: service(),
});
export default class ApplicationController extends Controller {
@service kredits;
}
-4
View File
@@ -35,10 +35,6 @@ export default Controller.extend({
showFullContributionSync: gt('kredits.missingHistoricContributionsCount', 0),
showIntroText: computed('kredits.{hasAccounts,currentUser}', function(){
return (!this.kredits.hasAccounts || !this.kredits.currentUser);
}),
actions: {
vetoContribution (contributionId) {
+6
View File
@@ -0,0 +1,6 @@
import { helper } from '@ember/component/helper';
export default helper(function fmtNumber(number) {
const lang = navigator.language || navigator.userLanguage;
return number.toLocaleString(lang);
});
+1 -3
View File
@@ -11,7 +11,6 @@ Router.map(function() {
this.route('contributors', function() {
this.route('show', { path: ':id' });
});
this.route('contributions', function() {
this.route('show', { path: ':id' });
});
@@ -31,11 +30,10 @@ Router.map(function() {
});
this.route('budget', function() {
this.route('expenses');
this.route('reimbursements', function() {});
});
this.route('reimbursements', function() {
this.route('new');
});
this.route('about');
});
+4
View File
@@ -0,0 +1,4 @@
import Route from '@ember/routing/route';
export default class AboutRoute extends Route {
}
+3
View File
@@ -30,5 +30,8 @@ export default class BudgetRoute extends Route {
}
schedule('afterRender', this.kredits.fetchMissingReimbursements,
this.kredits.fetchMissingReimbursements.perform);
schedule('afterRender', this.kredits.syncReimbursementEvents,
this.kredits.syncReimbursementEvents.perform);
}
}
+24 -10
View File
@@ -1,7 +1,7 @@
import Service, { inject as service } from '@ember/service';
import { tracked } from '@glimmer/tracking';
import { A } from '@ember/array';
import { task } from 'ember-concurrency-decorators';
import { tracked } from '@glimmer/tracking';
import Service, { inject as service } from '@ember/service';
import config from 'kredits-web/config/environment';
export default class CommunityFundsService extends Service {
@@ -12,9 +12,20 @@ export default class CommunityFundsService extends Service {
@task
*fetchBalances () {
yield fetch(config.btcBalanceAPI).then(res => res.json())
.then(res => {
return this.processBalances(res);
const promises = [];
const balances = config.communityFundsAPI.balances;
for (const item of Object.keys(balances)) {
const c = balances[item];
promises.push(
this.fetchBalance(c.url)
.then(res => { return this.processBalance(res, c) })
)
}
yield Promise.all(promises)
.then(() => {
this.balancesLoaded = true;
})
.catch(err => {
console.log(`[community-funds] Fetching balances failed:`);
@@ -22,18 +33,21 @@ export default class CommunityFundsService extends Service {
});
}
async processBalances (res) {
async fetchBalance(url) {
return fetch(url).then(res => res.json());
}
async processBalance (res, config) {
await this.exchangeRates.fetchRates();
// Format and round the approximate USD value
const lang = navigator.language || navigator.userLanguage;
const balanceUSD = res.confirmed_balance * this.exchangeRates.btcusd;
const balanceUSD = (res.confirmed_balance / 100000000) * this.exchangeRates.btcusd;
res.balanceUSD = Math.round(balanceUSD).toLocaleString(lang);
this.balances.pushObject({
...res,
...{ token: { name: 'BTC', symbol: 'BTC'} }
...{ token: { icon: `/img/${config.icon}`, symbol: config.symbol, description: config.description } }
});
this.balancesLoaded = true;
}
}
+6
View File
@@ -19,7 +19,13 @@ export default class ExchangeRatesService extends Service {
@tracked btceur = 0;
@tracked btcusd = 0;
get exchangeRatesLoaded () {
return (this.btceur !== 0) && (this.btcusd !== 0);
}
async fetchRates (source='bitstamp') {
if (this.exchangeRatesLoaded) return;
switch(source) {
case 'bitstamp':
this.btceur = await fetchFromBitstamp('btceur');
+28 -1
View File
@@ -29,7 +29,7 @@ export default Service.extend({
browserCache: service(),
currentBlock: null,
currentUserAccounts: null, // default to not having an account. this is the wen web3 is loaded.
currentUserAccounts: null, // default to not having an account. this is the when web3 is loaded.
currentUser: null,
contributors: null,
contributions: null,
@@ -780,5 +780,32 @@ export default Service.extend({
this.contributors
.findBy('address', to)
.incrementProperty('balance', value);
},
syncReimbursementEvents: task(function * () {
yield this.fetchEvents(
'Reimbursement', // contract
'ReimbursementAdded', // event
0,
// this.kredits.currentBlock - (2*60*24*14), // from block
this.currentBlock // to block
);
}).group('syncTaskGroup'),
async fetchEvents(contractName, eventName, fromBlock, toBlock) {
const contract = this.kredits[contractName].contract;
const eventFilter = contract.filters[eventName]();
const filterOptions = { fromBlock, toBlock };
console.debug(contract, eventFilter, filterOptions);
contract.queryFilter(eventFilter)
.then(events => {
events.forEach(event => {
console.debug("Event:", event.args.creator, event.args.key, event.args.value);
});
}).catch(e => {
console.error(e);
});
}
});
+21 -35
View File
@@ -1,3 +1,7 @@
body {
margin-bottom: 10rem;
}
main {
padding: 1rem 2rem;
@@ -14,7 +18,7 @@ main {
"contributions";
}
&#budget {
&#budget, &#about {
width: 100%;
display: grid;
grid-row-gap: 2rem;
@@ -56,13 +60,12 @@ main {
&.text-lg {
p {
font-size: 1.2rem;
margin-bottom: 1em;
line-height: 1.5em;
font-size: 1.35rem;
margin-bottom: 2rem;
line-height: 150%;
}
}
// TODO Remove after switch to Tailwind CSS
&.text-center {
text-align: center;
}
@@ -74,40 +77,23 @@ main {
}
}
}
}
}
#intro {
padding: 2rem;
background-color: rgba(0,0,0,.2);
font-size: 1.6rem;
&.text {
h2 {
margin: 4rem 0 2rem 0;
@include media-max(small) {
padding: 2rem 1rem;
font-size: 1.5rem;
}
&:first-of-type {
margin-top: 0;
}
}
h2 {
font-size: inherit;
margin-bottom: 1em;
}
p {
margin-bottom: 1em;
line-height: 1.5em;
font-size: 1.2rem;
&:last-child {
margin-bottom: 0;
p {
font-size: 1.35rem;
margin-bottom: 2rem;
line-height: 150%;
}
}
}
a {
text-decoration: none;
&:hover, &:active {
text-decoration: underline;
}
}
}
@@ -128,7 +114,7 @@ main {
}
}
&#budget {
&#budget, &#about {
grid-column-gap: 3rem;
grid-template-columns: 2fr 4fr 2fr;
grid-template-areas:
+1
View File
@@ -98,6 +98,7 @@ section {
@import "components/contributor-profile";
@import "components/expense-list";
@import "components/external-account-link";
@import "components/main-navigation-menu";
@import "components/loading-spinner";
@import "components/reimbursement-list";
@import "components/topbar";
+10 -1
View File
@@ -16,8 +16,12 @@ section#funds {
}
th, td {
font-size: 1.2rem;
vertical-align: text-bottom;
img {
max-height: 1.5rem;
max-width: 1.5rem;
}
}
th {
@@ -35,8 +39,13 @@ section#funds {
}
&.fiat-amount {
font-size: 1.2rem;
color: rgba(255,255,255,0.8);
}
span.unit {
font-size: 1.5rem;
}
}
}
}
@@ -0,0 +1,30 @@
nav#main-menu {
padding: 2rem;
background-color: rgba(0,0,0,.2);
ul {
list-style: none;
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
gap: 3rem;
font-size: 1.5rem;
@include media-max(small) {
justify-content: center;
font-size: 1.2rem;
}
}
li {
a {
text-decoration: none;
color: #fff;
&.active, &:hover {
color: $yellow;
}
}
}
}
+1
View File
@@ -13,6 +13,7 @@
h1 {
display: inline-block;
text-transform: uppercase;
font-weight: bold;
a {
color: inherit;
+78
View File
@@ -0,0 +1,78 @@
<main id="about">
<div id="aside">
</div>
<div id="content">
<section class="text">
<h2>What is this?</h2>
<p>
You have found the contribution dashboard and budget management app of the
<a href="https://kosmos.org" target="_blank" rel="noreferrer noopener">Kosmos</a>
open-source co-operative.
</p>
<p>
We use this app to track what people contribute to all parts of our
projects (not just code), as well as for managing our community's budget.
</p>
<h2>Why?</h2>
<p>
We are trying out a new form of co-operative, native to the Internet,
creating and sharing digital resources the same way traditional
co-operatives share physical ones.
</p>
<p>
By knowing roughly how much people contribute, we are able to reward
co-operative members who contribute their time with money contributed
by the ones who don't.
</p>
<p>
In addition to open-source grant payouts, all contributors can also propose
reimbursements for specific expenses they covered on behalf of the
community.
</p>
<h2>How?</h2>
<p>
Instead of notaries, lawyers, courts, or banks, we record data and manage
certain decisions on a decentralized ledger called
<a href="https://rootstock.io/" target="_blank" rel="noreferrer noopener">Rootstock</a>,
which is cryptographically tied to the bitcoin timechain.
</p>
<p>
By doing this, we can ensure community control over the budget, as well as
full transparency and verifiability of everything that happens. It also
allows us to quickly, cheaply, and reliably send our open-source grants to
anyone who's contributing, no matter where they are on this beautiful
planet.
</p>
<h2>Kredits</h2>
<p>
All contributions are rewarded with so-called kredits. They are both
credits in the traditional sense of public attribution, as well as a
measure of how much and how regularly someone has added value to the
community and its products and services.
</p>
<p>
Kredits are considered for example for grant payouts, as well as
permissions for certain actions like vetos or votes. They may also be used
to access <a href="https://kosmos.org/services/">hosted services</a> for free,
or to unlock additional features on otherwise free services.
</p>
<h2>Getting started</h2>
<p>
We'd be delighted to welcome you as a new contributor!
If you'd like to start collecting kredits for your contributions, you can
<LinkTo @route="signup">create a contributor profile</LinkTo> now.
</p>
<p>
Next, you could learn more about
<a href="https://community.kosmos.org/t/how-kredits-for-contributions-are-proposed-and-confirmed/176">how kredits are proposed and issued</a>.
If you want to dive deeper into how this all works, head over to the
<a href="https://wiki.kosmos.org/Kredits">Kredits documentation</a>
page on our (soon to be phased out) wiki.
</p>
</section>
</div>
<div id="empty">
</div>
</main>
+3 -1
View File
@@ -1,6 +1,8 @@
<header id="topbar">
<h1><LinkTo @route="dashboard">Kosmos Kredits</LinkTo></h1>
<h1><LinkTo @route="dashboard">Kredits</LinkTo></h1>
<TopbarAccountPanel />
</header>
<MainNavigationMenu />
{{outlet}}
+1 -1
View File
@@ -45,7 +45,7 @@
{{#if this.reimbursementsConfirmed}}
<section id="expenses-confirmed">
<header class="with-nav">
<h2>Confirmed Expenses</h2>
<h2>Confirmed Reimbursements</h2>
<nav>
<LinkTo @route="reimbursements.new" @title="Submit a reimbursement" class="button small green">add</LinkTo>
</nav>
-16
View File
@@ -1,19 +1,3 @@
{{#if this.showIntroText}}
<div id="intro" class={{if this.showDetailsPane "with-details"}}>
<h2>
Welcome to the contribution dashboard of the
<a href="https://kosmos.org" target="_blank" rel="noreferrer noopener">Kosmos</a> project!
</h2>
<p>
If you want to learn more about what the numbers mean and how this works,
check out the
<a href="https://wiki.kosmos.org/Kredits" target="_blank" rel="noreferrer noopener">Kredits documentation</a>.
If you want to start earning kredits for your contributions,
<LinkTo @route="signup">create a contributor profile</LinkTo>.
</p>
</div>
{{/if}}
<main id="dashboard" class={{if this.showDetailsPane "with-details"}}>
<div id="stats">
+23 -2
View File
@@ -45,9 +45,26 @@ module.exports = function(environment) {
'BTC': '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599'
},
btcBalanceAPI: 'https://api.kosmos.org/kredits/onchain_btc_balance',
communityFundsAPI: {
balances: {
onchain: {
icon: 'icon-btc.png',
symbol: 'BTC',
description: 'BTC on chain',
url: 'https://api.kosmos.org/btcpay/onchain_btc_balance'
},
lightning: {
icon: 'icon-btc-lightning.png',
symbol: 'BTC',
description: 'BTC on Lightning Network',
url: 'https://api.kosmos.org/btcpay/lightning_btc_balance'
}
}
},
corsProxy: 'https://cors.5apps.com/?uri='
corsProxy: 'https://cors.5apps.com/?uri=',
hideVetoedEntriesAfterBlocks: 5760 // 48 hours
};
if (environment === 'development') {
@@ -66,6 +83,10 @@ module.exports = function(environment) {
protocol: 'http',
gatewayUrl: 'http://localhost:8080/ipfs'
};
// Uncomment if you want to use local akkounts
// ENV.communityFundsAPI.balances.onchain.url = 'http://localhost:3000/api/btcpay/onchain_btc_balance';
// ENV.communityFundsAPI.balances.lightning.url = 'http://localhost:3000/api/btcpay/lightning_btc_balance';
}
if (environment === 'test') {
+3
View File
@@ -29,6 +29,9 @@ module.exports = function(defaults) {
path: "empty" // needed for kosmos-schemas dependency
}
}
},
fingerprint: {
exclude: [ 'img/icon-btc' ]
}
});
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "kredits-web",
"version": "2.0.0",
"version": "2.1.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "kredits-web",
"version": "2.0.0",
"version": "2.1.1",
"license": "MIT",
"devDependencies": {
"@babel/eslint-parser": "^7.19.1",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "kredits-web",
"version": "2.0.0",
"version": "2.1.1",
"private": true,
"description": "Contribution dashboard of the Kosmos project",
"repository": "https://github.com/67P/kredits-web",
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

@@ -1,5 +1,5 @@
"use strict"
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}define("kredits-web/app",["exports","ember-resolver","ember-load-initializers","kredits-web/config/environment"],(function(e,t,n,r){function o(e,t){for(var n=0;n<t.length;n++){var r=t[n]
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}define("kredits-web/app",["exports","ember-resolver","ember-load-initializers","kredits-web/config/environment"],(function(e,t,n,r){function o(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
@@ -10,15 +10,15 @@ n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments)
return s(this,n)}}function s(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return c(e)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var f=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
return e}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var d=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)})(p,Ember.Application)
var n,s,l,f=a(p)
var n,s,l,d=a(p)
function p(){var e
i(this,p)
for(var n=arguments.length,o=new Array(n),u=0;u<n;u++)o[u]=arguments[u]
return d(c(e=f.call.apply(f,[this].concat(o))),"modulePrefix",r.default.modulePrefix),d(c(e),"podModulePrefix",r.default.podModulePrefix),d(c(e),"Resolver",t.default),e}return n=p,s&&o(n.prototype,s),l&&o(n,l),Object.defineProperty(n,"prototype",{writable:!1}),n}()
e.default=f,(0,n.default)(f,r.default.modulePrefix)})),define("kredits-web/component-managers/glimmer",["exports","@glimmer/component/-private/ember-component-manager"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/components/add-contribution/component",["exports","moment"],(function(e,t){function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
return f(c(e=d.call.apply(d,[this].concat(o))),"modulePrefix",r.default.modulePrefix),f(c(e),"podModulePrefix",r.default.podModulePrefix),f(c(e),"Resolver",t.default),e}return n=p,s&&o(n.prototype,s),l&&o(n,l),Object.defineProperty(n,"prototype",{writable:!1}),n}()
e.default=d,(0,n.default)(d,r.default.modulePrefix)})),define("kredits-web/component-managers/glimmer",["exports","@glimmer/component/-private/ember-component-manager"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/components/add-contribution/component",["exports","moment"],(function(e,t){function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
if(null==n)return
var r,o,i=[],u=!0,a=!1
try{for(n=n.call(e);!(u=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);u=!0);}catch(s){a=!0,o=s}finally{try{u||null==n.return||n.return()}finally{if(a)throw o}}return i}(e,t)||function(e,t){if(!e)return
@@ -43,7 +43,7 @@ this.set("inProgress",!0),this.save(r).then((function(){t.reset()})).catch((func
else window.alert("Only core team members can edit profiles. Please ask someone to set you up.")}}})
e.default=n})),define("kredits-web/components/add-contributor/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"sjEfCFXi",block:'{"symbols":[],"statements":[[10,"form"],[15,"onsubmit",[30,[36,0],[[32,0],"submit"],null]],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-account"],[12],[2,"Rootstock account"],[13],[2,"\\n "],[8,"input",[[24,3,"account"],[24,1,"c-account"],[24,"placeholder","0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4"],[16,0,[30,[36,1],[[32,0,["isValidAccount"]],"valid",""],null]]],[["@type","@value"],["text",[32,0,["account"]]]],null],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-kind"],[12],[2,"Kind"],[13],[2,"\\n "],[10,"select"],[14,"required",""],[15,"onchange",[30,[36,0],[[32,0],[30,[36,2],[[32,0,["kind"]]],null]],[["value"],["target.value"]]]],[14,1,"c-kind"],[12],[2,"\\n "],[10,"option"],[14,2,"person"],[15,"selected",[30,[36,3],[[32,0,["kind"]],"person"],null]],[12],[2,"Person"],[13],[2,"\\n "],[10,"option"],[14,2,"organization"],[15,"selected",[30,[36,3],[[32,0,["kind"]],"organization"],null]],[12],[2,"Organization"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-name"],[12],[2,"Name"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["name","text",[32,0,["name"]],"Zero Cool",[30,[36,1],[[32,0,["isValidName"]],"valid",""],null],"c-name"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-url"],[12],[2,"URL"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["url","text",[32,0,["url"]],"http://zerocool.bit",[30,[36,1],[[32,0,["isValidURL"]],"valid",""],null],"c-url"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-github-uid"],[12],[2,"GitHub UID"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["github_uid","text",[32,0,["github_uid"]],"2342",[30,[36,1],[[32,0,["isValidGithubUID"]],"valid",""],null],"c-github-uid"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-github-username"],[12],[2,"GitHub username"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["github_username","text",[32,0,["github_username"]],"zerocool",[30,[36,1],[[32,0,["isValidGithubUsername"]],"valid",""],null],"c-github-username"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-gitea-username"],[12],[2,"Gitea username"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["gitea_username","text",[32,0,["gitea_username"]],"zerocool",[30,[36,1],[[32,0,["isValidGiteaUsername"]],"valid",""],null],"c-gitea-username"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-wiki-username"],[12],[2,"Wiki username"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["wiki_username","text",[32,0,["wiki_username"]],"ZeroCool",[30,[36,1],[[32,0,["isValidWikiUsername"]],"valid",""],null],"c-wiki-username"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[14,"for","c-zoom-display-name"],[12],[2,"Zoom display name"],[13],[2,"\\n "],[1,[30,[36,4],null,[["name","type","value","placeholder","class","id"],["zoom_display_name","text",[32,0,["zoom_display_name"]],"Zero Cool",[30,[36,1],[[32,0,["isValidZoomDisplayName"]],"valid",""],null],"c-zoom-display-name"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n "],[1,[30,[36,4],null,[["type","disabled","value"],["submit",[32,0,["inProgress"]],[30,[36,1],[[32,0,["inProgress"]],"Processing","Save"],null]]]]],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["action","if","mut","eq","input"]}',meta:{moduleName:"kredits-web/components/add-contributor/template.hbs"}})
e.default=t})),define("kredits-web/components/add-expense-item/component",["exports","@glimmer/component","moment","kredits-web/utils/is-valid-amount"],(function(e,t,n,r){var o,i,u,a,s,c,l,d,f,p,b,m,y,h,v,g,w
e.default=t})),define("kredits-web/components/add-expense-item/component",["exports","@glimmer/component","moment","kredits-web/utils/is-valid-amount"],(function(e,t,n,r){var o,i,u,a,s,c,l,f,d,p,b,m,y,h,v,g,w
function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
if(null==n)return
var r,o,i=[],u=!0,a=!1
@@ -67,7 +67,7 @@ if(void 0!==t)throw new TypeError("Derived constructors may only return object o
return R(e)}function R(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function S(e){return(S=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function M(e,t,n,r,o){var i={}
return Object.keys(r).forEach((function(e){i[e]=r[e]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),i),o&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(o):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(e,t,i),i=null),i}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var B=(o=Ember._tracked,i=Ember._tracked,u=Ember._tracked,a=Ember._tracked,s=Ember._tracked,c=Ember._tracked,l=Ember._tracked,d=Ember._action,f=Ember._action,p=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
var B=(o=Ember._tracked,i=Ember._tracked,u=Ember._tracked,a=Ember._tracked,s=Ember._tracked,c=Ember._tracked,l=Ember._tracked,f=Ember._action,d=Ember._action,p=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&P(e,t)})(a,e)
var t,o,i,u=E(a)
function a(){var e
@@ -80,10 +80,10 @@ return this.isValidAmount||(document.querySelector("input[name=expense-amount]")
var t=this.date instanceof Array?this.date[0]:this.date,r=k((0,n.default)(t).utcOffset(0,!0).toISOString().split("T"),1)[0]
if(!this.validateForm())return!1
var o={amount:parseFloat(this.amount),currency:this.currency,date:r,title:this.title,description:Ember.isPresent(this.description)?this.description:void 0,url:Ember.isPresent(this.url)?this.url:void 0}
Ember.isPresent(this.tags)&&(o.tags=this.tags.split(",").map((function(e){return e.trim()})).filter((function(e){return e.length>0}))),this.args.addExpenseItem(o)}}])&&j(t.prototype,o),i&&j(t,i),Object.defineProperty(t,"prototype",{writable:!1}),a}(t.default),b=M(p.prototype,"amount",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"0"}}),m=M(p.prototype,"currency",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"EUR"}}),y=M(p.prototype,"date",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(0,n.default)().startOf("hour").toDate()}}),h=M(p.prototype,"title",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),v=M(p.prototype,"description",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),g=M(p.prototype,"url",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),w=M(p.prototype,"tags",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),M(p.prototype,"updateCurrency",[d],Object.getOwnPropertyDescriptor(p.prototype,"updateCurrency"),p.prototype),M(p.prototype,"submit",[f],Object.getOwnPropertyDescriptor(p.prototype,"submit"),p.prototype),p)
Ember.isPresent(this.tags)&&(o.tags=this.tags.split(",").map((function(e){return e.trim()})).filter((function(e){return e.length>0}))),this.args.addExpenseItem(o)}}])&&j(t.prototype,o),i&&j(t,i),Object.defineProperty(t,"prototype",{writable:!1}),a}(t.default),b=M(p.prototype,"amount",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"0"}}),m=M(p.prototype,"currency",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"EUR"}}),y=M(p.prototype,"date",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(0,n.default)().startOf("hour").toDate()}}),h=M(p.prototype,"title",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),v=M(p.prototype,"description",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),g=M(p.prototype,"url",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),w=M(p.prototype,"tags",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),M(p.prototype,"updateCurrency",[f],Object.getOwnPropertyDescriptor(p.prototype,"updateCurrency"),p.prototype),M(p.prototype,"submit",[d],Object.getOwnPropertyDescriptor(p.prototype,"submit"),p.prototype),p)
e.default=B})),define("kredits-web/components/add-expense-item/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"xrdEJbVd",block:'{"symbols":["currency"],"statements":[[11,"form"],[24,1,"add-expense-item"],[24,"novalidate",""],[4,[38,1],["submit",[32,0,["submit"]]],null],[12],[2,"\\n "],[10,"fieldset"],[14,0,"horizontal"],[12],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Amount:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@name","@type","@placeholder","@value","@required","@pattern","@class"],["expense-amount","text","10",[32,0,["amount"]],true,"([0-9]*[.])?[0-9]+",[32,0,["amountInputClass"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Currency:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[11,"select"],[24,"required",""],[24,3,"expense-currency"],[4,[38,1],["change",[32,0,["updateCurrency"]]],null],[12],[2,"\\n "],[10,"option"],[14,2,""],[14,"selected",""],[14,"disabled",""],[14,"hidden",""],[12],[13],[2,"\\n"],[6,[37,3],[[30,[36,2],[[30,[36,2],[[32,0,["currencies"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"option"],[15,2,[32,1,["code"]]],[15,"selected",[30,[36,0],[[32,0,["currency"]],[32,1,["code"]]],null]],[12],[1,[32,1,["code"]]],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Date:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"ember-flatpickr",[],[["@date","@defaultDate","@maxDate","@enableTime","@onChange"],[[32,0,["date"]],[32,0,["defaultDate"]],[32,0,["defaultDate"]],false,[30,[36,5],[[30,[36,4],[[32,0,["date"]]],null]],null]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Title:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@name","@type","@value","@required"],["expense-title","text",[32,0,["title"]],true]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Description (optional):"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@name","@type","@value"],["expense-description","text",[32,0,["description"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"URL (optional):"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@name","@type","@value"],["expense-url","url",[32,0,["url"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Tags (comma-separated, optional):"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@name","@type","@value"],["expense-tags","text",[32,0,["tags"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n "],[8,"input",[],[["@type","@value","@class","@title"],["submit","Add","green","Add item to reimbursement"]],null],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["eq","on","-track-array","each","mut","fn"]}',meta:{moduleName:"kredits-web/components/add-expense-item/template.hbs"}})
e.default=t})),define("kredits-web/components/add-reimbursement/component",["exports","@glimmer/component","kredits-web/utils/is-valid-amount","kredits-web/utils/read-file-content","kredits-web/config/environment"],(function(e,t,n,r,o){var i,u,a,s,c,l,d,f,p,b,m,y,h,v,g,w,k,O,_,x,j,P,E,C,R
e.default=t})),define("kredits-web/components/add-reimbursement/component",["exports","@glimmer/component","kredits-web/utils/is-valid-amount","kredits-web/utils/read-file-content","kredits-web/config/environment"],(function(e,t,n,r,o){var i,u,a,s,c,l,f,d,p,b,m,y,h,v,g,w,k,O,_,x,j,P,E,C,R
function S(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return
if("string"==typeof e)return z(e,t)
@@ -109,7 +109,7 @@ if(void 0!==t)throw new TypeError("Derived constructors may only return object o
return F(e)}function F(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function N(e){return(N=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function L(e,t,n,r,o){var i={}
return Object.keys(r).forEach((function(e){i[e]=r[e]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),i),o&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(o):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(e,t,i),i=null),i}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var H=(i=Ember.inject.service,u=Ember.inject.service,a=Ember.inject.service,s=Ember.computed.alias("kredits.contributorsSorted"),c=Ember._tracked,l=Ember._tracked,d=Ember._tracked,f=Ember._tracked,p=Ember._tracked,b=Ember._action,m=Ember._action,y=Ember._action,h=Ember._action,v=Ember._action,g=Ember._action,w=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
var H=(i=Ember.inject.service,u=Ember.inject.service,a=Ember.inject.service,s=Ember.computed.alias("kredits.contributorsSorted"),c=Ember._tracked,l=Ember._tracked,f=Ember._tracked,d=Ember._tracked,p=Ember._tracked,b=Ember._action,m=Ember._action,y=Ember._action,h=Ember._action,v=Ember._action,g=Ember._action,w=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&I(e,t)})(l,e)
var t,i,u,a,s,c=D(l)
function l(){var e
@@ -126,32 +126,31 @@ function i(e){M(o,n,r,i,u,"next",e)}function u(e){M(o,n,r,i,u,"throw",e)}i(void
if(e.preventDefault(),!this.kredits.currentUser)return window.alert("You need to connect your RSK account first."),!1
if(!this.kredits.currentUserIsCore)return window.alert("Only core contributors can submit reimbursements."),!1
var n=this.contributors.findBy("id",parseInt(this.recipientId)),r={amount:parseInt(1e8*parseFloat(this.total)),token:o.default.tokens.BTC,recipientId:parseInt(this.recipientId),title:"Expenses covered by ".concat(n.name),description:this.description,url:this.url,expenses:JSON.parse(JSON.stringify(this.expenses))}
this.inProgress=!0,this.kredits.addReimbursement(r).then((function(){t.router.transitionTo("budget")})).catch((function(e){console.error("Could not add reimbursement:",e),window.alert("Something went wrong. Please check the browser console.")})).finally((function(){t.inProgress=!1}))}}])&&A(t.prototype,i),u&&A(t,u),Object.defineProperty(t,"prototype",{writable:!1}),l}(t.default),k=L(w.prototype,"router",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=L(w.prototype,"kredits",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=L(w.prototype,"exchangeRates",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=L(w.prototype,"contributors",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=L(w.prototype,"recipientId",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),P=L(w.prototype,"title",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),E=L(w.prototype,"total",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"0"}}),C=L(w.prototype,"expenses",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.A([])}}),R=L(w.prototype,"expenseFormVisible",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),L(w.prototype,"addExpensesFromFile",[b],Object.getOwnPropertyDescriptor(w.prototype,"addExpensesFromFile"),w.prototype),L(w.prototype,"updateContributor",[m],Object.getOwnPropertyDescriptor(w.prototype,"updateContributor"),w.prototype),L(w.prototype,"showExpenseForm",[y],Object.getOwnPropertyDescriptor(w.prototype,"showExpenseForm"),w.prototype),L(w.prototype,"addExpenseItem",[h],Object.getOwnPropertyDescriptor(w.prototype,"addExpenseItem"),w.prototype),L(w.prototype,"removeExpenseItem",[v],Object.getOwnPropertyDescriptor(w.prototype,"removeExpenseItem"),w.prototype),L(w.prototype,"submit",[g],Object.getOwnPropertyDescriptor(w.prototype,"submit"),w.prototype),w)
this.inProgress=!0,this.kredits.addReimbursement(r).then((function(){t.router.transitionTo("budget")})).catch((function(e){console.error("Could not add reimbursement:",e),window.alert("Something went wrong. Please check the browser console.")})).finally((function(){t.inProgress=!1}))}}])&&A(t.prototype,i),u&&A(t,u),Object.defineProperty(t,"prototype",{writable:!1}),l}(t.default),k=L(w.prototype,"router",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=L(w.prototype,"kredits",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=L(w.prototype,"exchangeRates",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=L(w.prototype,"contributors",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=L(w.prototype,"recipientId",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),P=L(w.prototype,"title",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),E=L(w.prototype,"total",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"0"}}),C=L(w.prototype,"expenses",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.A([])}}),R=L(w.prototype,"expenseFormVisible",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),L(w.prototype,"addExpensesFromFile",[b],Object.getOwnPropertyDescriptor(w.prototype,"addExpensesFromFile"),w.prototype),L(w.prototype,"updateContributor",[m],Object.getOwnPropertyDescriptor(w.prototype,"updateContributor"),w.prototype),L(w.prototype,"showExpenseForm",[y],Object.getOwnPropertyDescriptor(w.prototype,"showExpenseForm"),w.prototype),L(w.prototype,"addExpenseItem",[h],Object.getOwnPropertyDescriptor(w.prototype,"addExpenseItem"),w.prototype),L(w.prototype,"removeExpenseItem",[v],Object.getOwnPropertyDescriptor(w.prototype,"removeExpenseItem"),w.prototype),L(w.prototype,"submit",[g],Object.getOwnPropertyDescriptor(w.prototype,"submit"),w.prototype),w)
e.default=H})),define("kredits-web/components/add-reimbursement/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"GxxUddPT",block:'{"symbols":["contributor"],"statements":[[11,"form"],[24,"novalidate",""],[4,[38,1],["submit",[32,0,["submit"]]],null],[12],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Contributor:"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[11,"select"],[24,"required",""],[4,[38,1],["change",[32,0,["updateContributor"]]],null],[12],[2,"\\n "],[10,"option"],[14,2,""],[14,"selected",""],[14,"disabled",""],[14,"hidden",""],[12],[13],[2,"\\n"],[6,[37,4],[[30,[36,3],[[30,[36,3],[[32,0,["contributors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"option"],[15,2,[32,1,["id"]]],[15,"selected",[30,[36,2],[[32,0,["contributorId"]],[32,1,["id"]]],null]],[12],[1,[32,1,["name"]]],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"fieldset"],[14,0,"horizontal thirds total-amounts"],[12],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"Total amount (BTC):"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@type","@placeholder","@value","@required","@pattern","@class"],["text","0.0015",[32,0,["total"]],true,"([0-9]*[.])?[0-9]+",[32,0,["totalInputClass"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"EUR total"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@type","@name","@value","@disabled"],["text","total-eur",[32,0,["totalEUR"]],true]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"label"],[12],[2,"\\n "],[10,"p"],[14,0,"label"],[12],[2,"USD total"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"input",[],[["@type","@name","@value","@disabled"],["text","total-usd",[32,0,["totalUSD"]],true]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"h3"],[12],[2,"Expense items"],[13],[2,"\\n"],[6,[37,5],[[32,0,["expenses"]]],null,[["default","else"],[{"statements":[[2," "],[8,"expense-list",[],[["@expenses","@removeExpenseItem","@deletable"],[[32,0,["expenses"]],[32,0,["removeExpenseItem"]],true]],null],[2,"\\n\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n "],[11,"button"],[24,0,"green small"],[24,4,"button"],[4,[38,1],["click",[32,0,["showExpenseForm"]]],null],[12],[2,"+ Add another item"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"p"],[12],[2,"No line items yet."],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n"],[6,[37,5],[[32,0,["inProgress"]]],null,[["default","else"],[{"statements":[[2," "],[8,"input",[],[["@type","@value","@disabled","@title"],["submit","Submitting...",true,"Submit/propose this reimbursement"]],null],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[8,"input",[],[["@type","@value","@disabled","@title"],["submit","Submit",[32,0,["submitButtonDisabled"]],"Submit/propose this reimbursement"]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n"],[6,[37,5],[[32,0,["expenseFormVisible"]]],null,[["default"],[{"statements":[[2," "],[10,"h3"],[14,1,"new-expense-item"],[12],[2,"New expense item"],[13],[2,"\\n "],[8,"add-expense-item",[],[["@addExpenseItem"],[[30,[36,0],[[32,0,["addExpenseItem"]]],null]]],null],[2,"\\n"]],"parameters":[]}]]],[13],[2,"\\n"],[10,"form"],[14,1,"add-expenses-from-file"],[12],[2,"\\n "],[10,"h3"],[12],[2,"Add expense items from file"],[13],[2,"\\n "],[10,"input"],[14,"multiple","false"],[15,"onchange",[30,[36,0],[[32,0,["addExpensesFromFile"]]],null]],[14,"accept","application/json"],[14,4,"file"],[12],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["fn","on","eq","-track-array","each","if"]}',meta:{moduleName:"kredits-web/components/add-reimbursement/template.hbs"}})
e.default=t})),define("kredits-web/components/budget-balances/component",["exports","@glimmer/component"],(function(e,t){var n,r,o,i,u
function a(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
e.default=t})),define("kredits-web/components/budget-balances/component",["exports","@glimmer/component"],(function(e,t){var n,r,o
function i(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
return function(){var n,r=b(e)
if(t){var o=b(this).constructor
return function(){var n,r=d(e)
if(t){var o=d(this).constructor
n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments)
return f(this,n)}}function f(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
return l(this,n)}}function l(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return p(e)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t,n,r,o){var i={}
return Object.keys(r).forEach((function(e){i[e]=r[e]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),i),o&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(o):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(e,t,i),i=null),i}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var y=(n=Ember.inject.service,r=Ember.computed.alias("communityFunds.balances"),o=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)})(f,e)
var t,n,r,o=d(f)
function f(){var e
s(this,f)
return f(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var p,b,m,y,h,v,g=(n=Ember.inject.service,r=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t)})(d,e)
var t,n,r,l=c(d)
function d(){var e
u(this,d)
for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r]
return a(p(e=o.call.apply(o,[this].concat(n))),"communityFunds",i,p(e)),a(p(e),"balances",u,p(e)),e}return t=f,(n=[{key:"loading",get:function(){return!this.communityFunds.balancesLoaded}}])&&c(t.prototype,n),r&&c(t,r),Object.defineProperty(t,"prototype",{writable:!1}),f}(t.default),i=m(o.prototype,"communityFunds",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=m(o.prototype,"balances",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),o)
e.default=y})),define("kredits-web/components/budget-balances/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"Ss15QE7U",block:'{"symbols":["balance"],"statements":[[10,"table"],[15,0,[31,["token-balances ",[30,[36,0],[[32,0,["loading"]],"loading"],null]]]],[12],[2,"\\n "],[10,"thead"],[12],[2,"\\n "],[10,"tr"],[12],[2,"\\n "],[10,"th"],[12],[2,"Token"],[13],[2,"\\n "],[10,"th"],[12],[2,"Amount"],[13],[2,"\\n "],[10,"th"],[12],[2,"Fiat value"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"tbody"],[12],[2,"\\n"],[6,[37,2],[[30,[36,1],[[30,[36,1],[[32,0,["balances"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"tr"],[12],[2,"\\n "],[10,"th"],[12],[1,[32,1,["token","symbol"]]],[13],[2,"\\n "],[10,"td"],[14,0,"amount"],[12],[1,[32,1,["confirmed_balance"]]],[13],[2,"\\n "],[10,"td"],[14,0,"fiat-amount"],[12],[2,"~"],[1,[32,1,["balanceUSD"]]],[2," USD"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["if","-track-array","each"]}',meta:{moduleName:"kredits-web/components/budget-balances/template.hbs"}})
return i(f(e=l.call.apply(l,[this].concat(n))),"communityFunds",o,f(e)),e}return t=d,(n=[{key:"balancesSorted",get:function(){return this.communityFunds.balances.sortBy("confirmed_balance").reverse()}},{key:"loading",get:function(){return!this.communityFunds.balancesLoaded}}])&&a(t.prototype,n),r&&a(t,r),Object.defineProperty(t,"prototype",{writable:!1}),d}(t.default),p=r.prototype,b="communityFunds",m=[n],y={configurable:!0,enumerable:!0,writable:!0,initializer:null},v={},Object.keys(y).forEach((function(e){v[e]=y[e]})),v.enumerable=!!v.enumerable,v.configurable=!!v.configurable,("value"in v||v.initializer)&&(v.writable=!0),v=m.slice().reverse().reduce((function(e,t){return t(p,b,e)||e}),v),h&&void 0!==v.initializer&&(v.value=v.initializer?v.initializer.call(h):void 0,v.initializer=void 0),void 0===v.initializer&&(Object.defineProperty(p,b,v),v=null),o=v,r)
e.default=g})),define("kredits-web/components/budget-balances/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"2n/5IhCH",block:'{"symbols":["balance"],"statements":[[10,"table"],[15,0,[31,["token-balances ",[30,[36,1],[[32,0,["loading"]],"loading"],null]]]],[12],[2,"\\n "],[10,"thead"],[12],[2,"\\n "],[10,"tr"],[12],[2,"\\n "],[10,"th"],[12],[2,"Token"],[13],[2,"\\n "],[10,"th"],[12],[2,"Amount"],[13],[2,"\\n "],[10,"th"],[12],[2,"Fiat value"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"tbody"],[12],[2,"\\n"],[6,[37,3],[[30,[36,2],[[30,[36,2],[[32,0,["balancesSorted"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"tr"],[12],[2,"\\n "],[10,"th"],[12],[2,"\\n "],[10,"img"],[15,"src",[32,1,["token","icon"]]],[15,"alt",[32,1,["token","description"]]],[15,"title",[32,1,["token","description"]]],[12],[13],[2,"\\n "],[13],[2,"\\n "],[10,"td"],[14,0,"amount"],[12],[2,"\\n "],[1,[30,[36,0],[[32,1,["confirmed_balance"]]],null]],[2," "],[10,"span"],[14,0,"unit"],[12],[2,"sats"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"td"],[14,0,"fiat-amount"],[12],[2,"\\n ~"],[1,[32,1,["balanceUSD"]]],[2," USD\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["fmt-number","if","-track-array","each"]}',meta:{moduleName:"kredits-web/components/budget-balances/template.hbs"}})
e.default=t})),define("kredits-web/components/chart-contributions-by-type/component",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t="#fb6868",n="#fbe468",r="#e068fb",o="#97fb68",i="#8f68fb",u=Ember.Component.extend({contributions:null,chartOptions:Object.freeze({legend:{display:!1}}),chartData:Ember.computed("contributions",(function(){var e=this.contributions.filterBy("vetoed",!1).map((function(e){return{kind:e.kind,amount:e.amount}})).reduce((function(e,t){return t.kind in e?e[t.kind]=e[t.kind]+t.amount:e[t.kind]=t.amount,e}),{})
return{datasets:[{data:[e.community,e.design,e.dev,e.ops,e.docs],borderColor:[t,n,r,i,o],borderWidth:1}],labels:["Community","Design","Development","Operations & Infrastructure","Documentation"]}}))})
@@ -166,17 +165,17 @@ try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function
return function(){var n,r=p(e)
if(t){var o=p(this).constructor
n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments)
return d(this,n)}}function d(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
return f(this,n)}}function f(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return f(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return d(e)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var b,m,y,h,v,g,w=(r=Ember.inject.service,o=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)})(p,e)
var t,r,o,d=l(p)
var t,r,o,f=l(p)
function p(){var e
a(this,p)
for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r]
return u(f(e=d.call.apply(d,[this].concat(n))),"kredits",i,f(e)),e}return t=p,(r=[{key:"confirmedInBlocks",get:function(){return this.args.confirmedAtBlock-this.kredits.currentBlock}},{key:"confirmedInSeconds",get:function(){return 30*this.confirmedInBlocks}},{key:"confirmedInHumanTime",get:function(){return n.default.duration(this.confirmedInSeconds,"seconds").humanize()}},{key:"isConfirmed",get:function(){return this.confirmedInBlocks<=0}}])&&s(t.prototype,r),o&&s(t,o),Object.defineProperty(t,"prototype",{writable:!1}),p}(t.default),b=o.prototype,m="kredits",y=[r],h={configurable:!0,enumerable:!0,writable:!0,initializer:null},g={},Object.keys(h).forEach((function(e){g[e]=h[e]})),g.enumerable=!!g.enumerable,g.configurable=!!g.configurable,("value"in g||g.initializer)&&(g.writable=!0),g=y.slice().reverse().reduce((function(e,t){return t(b,m,e)||e}),g),v&&void 0!==g.initializer&&(g.value=g.initializer?g.initializer.call(v):void 0,g.initializer=void 0),void 0===g.initializer&&(Object.defineProperty(b,m,g),g=null),i=g,o)
return u(d(e=f.call.apply(f,[this].concat(n))),"kredits",i,d(e)),e}return t=p,(r=[{key:"confirmedInBlocks",get:function(){return this.args.confirmedAtBlock-this.kredits.currentBlock}},{key:"confirmedInSeconds",get:function(){return 30*this.confirmedInBlocks}},{key:"confirmedInHumanTime",get:function(){return n.default.duration(this.confirmedInSeconds,"seconds").humanize()}},{key:"isConfirmed",get:function(){return this.confirmedInBlocks<=0}}])&&s(t.prototype,r),o&&s(t,o),Object.defineProperty(t,"prototype",{writable:!1}),p}(t.default),b=o.prototype,m="kredits",y=[r],h={configurable:!0,enumerable:!0,writable:!0,initializer:null},g={},Object.keys(h).forEach((function(e){g[e]=h[e]})),g.enumerable=!!g.enumerable,g.configurable=!!g.configurable,("value"in g||g.initializer)&&(g.writable=!0),g=y.slice().reverse().reduce((function(e,t){return t(b,m,e)||e}),g),v&&void 0!==g.initializer&&(g.value=g.initializer?g.initializer.call(v):void 0,g.initializer=void 0),void 0===g.initializer&&(Object.defineProperty(b,m,g),g=null),i=g,o)
e.default=w})),define("kredits-web/components/confirmed-in/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"Q4nwoyU+",block:'{"symbols":[],"statements":[[6,[37,0],[[32,0,["isConfirmed"]]],null,[["default"],[{"statements":[[2,"Confirming in "],[10,"strong"],[12],[1,[32,0,["confirmedInBlocks"]]],[13],[2," blocks (~ "],[1,[32,0,["confirmedInHumanTime"]]],[2,")\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["unless"]}',meta:{moduleName:"kredits-web/components/confirmed-in/template.hbs"}})
e.default=t})),define("kredits-web/components/contribution-list/component",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -218,9 +217,11 @@ e.default=t})),define("kredits-web/components/loading-spinner/component",["expor
var t=Ember.Component.extend({classNames:["loading-spinner"]})
e.default=t})),define("kredits-web/components/loading-spinner/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"RDvW8Yf/",block:'{"symbols":[],"statements":[[10,"p"],[12],[2,"\\n "],[10,"svg"],[14,"xmlns","http://www.w3.org/2000/svg","http://www.w3.org/2000/xmlns/"],[14,"xmlns:xlink","http://www.w3.org/1999/xlink","http://www.w3.org/2000/xmlns/"],[14,"version","1.1"],[14,"x","0px"],[14,"y","0px"],[14,"viewBox","0 0 132 100"],[14,"enable-background","new 0 0 100 100"],[14,"xml:space","preserve","http://www.w3.org/XML/1998/namespace"],[12],[2,"\\n "],[10,"path"],[14,1,"path-comet"],[14,"d","M79.062,24.173L79.062,24.173l-0.021-0.011c-0.068-0.03-0.137-0.062-0.204-0.093L42.392,7.337\\n c0,0,3.065,14.104,4.458,18.019l0,0c0,0-41.754-12.481-46.85-13.67c1.67,6.52,30.607,62.492,30.607,62.492\\n c5.848,11.873,19.394,18.485,33.522,18.485c19.811,0,35.87-16.059,35.87-35.869C100,42.313,91.418,29.837,79.062,24.173z"],[12],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"],[10,"p"],[12],[2,"\\n Loading data...\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":[]}',meta:{moduleName:"kredits-web/components/loading-spinner/template.hbs"}})
e.default=t})),define("kredits-web/components/main-navigation-menu/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"3Bc8huBy",block:'{"symbols":[],"statements":[[10,"nav"],[14,1,"main-menu"],[12],[2,"\\n "],[10,"ul"],[12],[2,"\\n "],[10,"li"],[12],[8,"link-to",[],[["@route"],["dashboard"]],[["default"],[{"statements":[[2,"Dashboard"]],"parameters":[]}]]],[13],[2,"\\n "],[10,"li"],[12],[8,"link-to",[],[["@route"],["budget"]],[["default"],[{"statements":[[2,"Budget"]],"parameters":[]}]]],[13],[2,"\\n "],[10,"li"],[12],[8,"link-to",[],[["@route"],["about"]],[["default"],[{"statements":[[2,"About"]],"parameters":[]}]]],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":[]}',meta:{moduleName:"kredits-web/components/main-navigation-menu/template.hbs"}})
e.default=t})),define("kredits-web/components/reimbursement-list/component",["exports","@glimmer/component","kredits-web/config/environment"],(function(e,t,n){var r,o,i,u,a,s
function c(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
function c(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
@@ -233,17 +234,17 @@ return m(e)}function m(e){if(void 0===e)throw new ReferenceError("this hasn't be
return e}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(e,t,n,r,o){var i={}
return Object.keys(r).forEach((function(e){i[e]=r[e]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),i),o&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(o):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(e,t,i),i=null),i}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var g=(r=Ember.inject.service,o=Ember.computed.sort("args.items","itemSorting"),i=Ember._action,u=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)})(u,e)
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)})(u,e)
var t,r,o,i=p(u)
function u(){var e
l(this,u)
for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r]
return c(m(e=i.call.apply(i,[this].concat(n))),"kredits",a,m(e)),h(m(e),"itemSorting",Object.freeze(["pendingStatus:asc","id:desc"])),c(m(e),"itemsSorted",s,m(e)),e}return t=u,(r=[{key:"ipfsGatewayUrl",get:function(){return n.default.ipfs.gatewayUrl}},{key:"veto",value:function(e){this.kredits.vetoReimbursement(e).then((function(e){console.debug("[controllers:budget] Veto submitted to chain: "+e.hash)}))}}])&&d(t.prototype,r),o&&d(t,o),Object.defineProperty(t,"prototype",{writable:!1}),u}(t.default),a=v(u.prototype,"kredits",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=v(u.prototype,"itemsSorted",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v(u.prototype,"veto",[i],Object.getOwnPropertyDescriptor(u.prototype,"veto"),u.prototype),u)
e.default=g})),define("kredits-web/components/reimbursement-list/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
return c(m(e=i.call.apply(i,[this].concat(n))),"kredits",a,m(e)),h(m(e),"itemSorting",Object.freeze(["pendingStatus:asc","id:desc"])),c(m(e),"itemsSorted",s,m(e)),e}return t=u,(r=[{key:"ipfsGatewayUrl",get:function(){return n.default.ipfs.gatewayUrl}},{key:"veto",value:function(e){this.kredits.vetoReimbursement(e).then((function(e){console.debug("[controllers:budget] Veto submitted to chain: "+e.hash)}))}}])&&f(t.prototype,r),o&&f(t,o),Object.defineProperty(t,"prototype",{writable:!1}),u}(t.default),a=v(u.prototype,"kredits",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=v(u.prototype,"itemsSorted",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v(u.prototype,"veto",[i],Object.getOwnPropertyDescriptor(u.prototype,"veto"),u.prototype),u)
e.default=g}))
define("kredits-web/components/reimbursement-list/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"/SHVSc1V",block:'{"symbols":["reimbursement","@loading"],"statements":[[10,"ul"],[15,0,[31,["item-list spaced reimbursement-list ",[30,[36,4],[[32,2],"loading"],null]]]],[12],[2,"\\n"],[6,[37,6],[[30,[36,5],[[30,[36,5],[[32,0,["itemsSorted"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[15,"data-reimbursement-id",[32,1,["id"]]],[15,0,[31,[[30,[36,2],[[32,1]],null]]]],[12],[2,"\\n "],[10,"p"],[14,0,"meta"],[12],[2,"\\n "],[10,"span"],[14,0,"recipient"],[12],[2,"\\n "],[8,"user-avatar",[],[["@contributor"],[[32,1,["contributor"]]]],null],[2,"\\n "],[13],[2,"\\n "],[10,"span"],[14,0,"title"],[12],[2,"\\n Expenses covered by "],[1,[32,1,["contributor","name"]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[14,0,"token-amount"],[12],[2,"\\n "],[10,"span"],[14,0,"amount"],[12],[2,"\\n "],[1,[30,[36,3],[[32,1,["amount"]]],null]],[13],[2," "],[10,"span"],[14,0,"symbol"],[12],[2,"BTC"],[13],[2,"\\n "],[13],[2,"\\n\\n "],[8,"expense-list",[],[["@expenses"],[[32,1,["expenses"]]]],null],[2,"\\n\\n "],[10,"div"],[14,0,"meta"],[12],[2,"\\n "],[10,"p"],[14,0,"confirmation-eta"],[12],[2,"\\n "],[8,"confirmed-in",[],[["@confirmedAtBlock"],[[32,1,["confirmedAt"]]]],null],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n "],[10,"a"],[15,6,[31,[[32,0,["ipfsGatewayUrl"]],"/",[32,1,["ipfsHash"]]]]],[14,0,"button small"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"\\n Inspect IPFS data\\n "],[13],[2,"\\n"],[6,[37,4],[[32,0,["kredits","currentUserIsCore"]]],null,[["default"],[{"statements":[[2," "],[11,"button"],[16,"disabled",[32,1,["vetoed"]]],[24,0,"button small danger"],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,0,["veto"]],[32,1,["id"]]],null]],null],[12],[2,"veto"],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[1]}]]],[13]],"hasEval":false,"upvars":["fn","on","item-status","sats-to-btc","if","-track-array","each"]}',meta:{moduleName:"kredits-web/components/reimbursement-list/template.hbs"}})
e.default=t}))
define("kredits-web/components/topbar-account-panel/component",["exports","@glimmer/component"],(function(e,t){var n,r,o,i,u,a,s,c,l
function d(e,t,n,r,o,i,u){try{var a=e[i](u),s=a.value}catch(c){return void n(c)}a.done?t(s):Promise.resolve(s).then(r,o)}function f(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b(e,t){for(var n=0;n<t.length;n++){var r=t[n]
e.default=t})),define("kredits-web/components/topbar-account-panel/component",["exports","@glimmer/component"],(function(e,t){var n,r,o,i,u,a,s,c,l
function f(e,t,n,r,o,i,u){try{var a=e[i](u),s=a.value}catch(c){return void n(c)}a.done?t(s):Promise.resolve(s).then(r,o)}function d(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
@@ -262,11 +263,11 @@ var t,n,r,o,i,u=y(a)
function a(){var e
p(this,a)
for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r]
return f(v(e=u.call.apply(u,[this].concat(n))),"router",s,v(e)),f(v(e),"kredits",c,v(e)),f(v(e),"setupInProgress",l,v(e)),e}return t=a,(n=[{key:"userHasWallet",get:function(){return Ember.isPresent(window.ethereum)}},{key:"walletConnected",get:function(){return this.userHasWallet&&this.kredits.hasAccounts}},{key:"walletDisconnected",get:function(){return this.userHasWallet&&!this.kredits.hasAccounts}},{key:"signup",value:function(){this.router.transitionTo("signup")}},{key:"connectWallet",value:(o=regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setupInProgress=!0,e.next=3,this.kredits.connectWallet()
return d(v(e=u.call.apply(u,[this].concat(n))),"router",s,v(e)),d(v(e),"kredits",c,v(e)),d(v(e),"setupInProgress",l,v(e)),e}return t=a,(n=[{key:"userHasWallet",get:function(){return Ember.isPresent(window.ethereum)}},{key:"walletConnected",get:function(){return this.userHasWallet&&this.kredits.hasAccounts}},{key:"walletDisconnected",get:function(){return this.userHasWallet&&!this.kredits.hasAccounts}},{key:"signup",value:function(){this.router.transitionTo("signup")}},{key:"connectWallet",value:(o=regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setupInProgress=!0,e.next=3,this.kredits.connectWallet()
case 3:this.setupInProgress=!1
case 4:case"end":return e.stop()}}),e,this)})),i=function(){var e=this,t=arguments
return new Promise((function(n,r){var i=o.apply(e,t)
function u(e){d(i,n,r,u,a,"next",e)}function a(e){d(i,n,r,u,a,"throw",e)}u(void 0)}))},function(){return i.apply(this,arguments)})}])&&b(t.prototype,n),r&&b(t,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(t.default),s=w(a.prototype,"router",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=w(a.prototype,"kredits",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=w(a.prototype,"setupInProgress",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),w(a.prototype,"signup",[i],Object.getOwnPropertyDescriptor(a.prototype,"signup"),a.prototype),w(a.prototype,"connectWallet",[u],Object.getOwnPropertyDescriptor(a.prototype,"connectWallet"),a.prototype),a)
function u(e){f(i,n,r,u,a,"next",e)}function a(e){f(i,n,r,u,a,"throw",e)}u(void 0)}))},function(){return i.apply(this,arguments)})}])&&b(t.prototype,n),r&&b(t,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(t.default),s=w(a.prototype,"router",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=w(a.prototype,"kredits",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=w(a.prototype,"setupInProgress",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),w(a.prototype,"signup",[i],Object.getOwnPropertyDescriptor(a.prototype,"signup"),a.prototype),w(a.prototype,"connectWallet",[u],Object.getOwnPropertyDescriptor(a.prototype,"connectWallet"),a.prototype),a)
e.default=k})),define("kredits-web/components/topbar-account-panel/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"fiv0QGp6",block:'{"symbols":[],"statements":[[10,"section"],[14,1,"user-account"],[12],[2,"\\n"],[6,[37,1],[[32,0,["setupInProgress"]]],null,[["default","else"],[{"statements":[[2," Connecting account...\\n"]],"parameters":[]},{"statements":[[6,[37,1],[[30,[36,2],[[32,0,["walletConnected"]],[32,0,["kredits","currentUser"]]],null]],null,[["default","else"],[{"statements":[[2," "],[1,[32,0,["kredits","currentUser","name"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[14,0,"anonymous"],[12],[2,"Anonymous"],[13],[2,"\\n "],[10,"button"],[15,"onclick",[30,[36,0],[[32,0],"signup"],null]],[14,1,"signup"],[14,0,"small"],[14,4,"button"],[12],[2,"Sign up"],[13],[2,"\\n"],[6,[37,1],[[32,0,["walletDisconnected"]]],null,[["default"],[{"statements":[[2," "],[10,"button"],[15,"onclick",[30,[36,0],[[32,0],"connectWallet"],null]],[14,1,"connect"],[14,0,"small green"],[14,4,"button"],[12],[2,"Connect wallet"],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]],[13]],"hasEval":false,"upvars":["action","if","and"]}',meta:{moduleName:"kredits-web/components/topbar-account-panel/template.hbs"}})
e.default=t})),define("kredits-web/components/user-avatar/component",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -274,11 +275,29 @@ var t={small:"128",medium:"256",large:"512"},n=Ember.Component.extend({contribut
return e?"https://avatars2.githubusercontent.com/u/".concat(e,"?v=3&s=").concat(t[this.size]):""}))})
e.default=n})),define("kredits-web/components/user-avatar/template",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"PL5L75/g",block:'{"symbols":[],"statements":[],"hasEval":false,"upvars":[]}',meta:{moduleName:"kredits-web/components/user-avatar/template.hbs"}})
e.default=t})),define("kredits-web/controllers/application",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.Controller.extend({kredits:Ember.inject.service()})
e.default=t})),define("kredits-web/controllers/budget",["exports"],(function(e){var t,n,r,o,i,u,a
e.default=t})),define("kredits-web/controllers/application",["exports"],(function(e){var t,n,r
function o(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
return function(){var n,r=f(e)
if(t){var o=f(this).constructor
n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments)
return c(this,n)}}function c(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return l(e)}function l(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var d,p,b,m,y,h,v=(t=Ember.inject.service,d=(n=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)})(d,Ember.Controller)
var t,n,c,f=s(d)
function d(){var e
u(this,d)
for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i]
return o(l(e=f.call.apply(f,[this].concat(n))),"kredits",r,l(e)),e}return t=d,n&&i(t.prototype,n),c&&i(t,c),Object.defineProperty(t,"prototype",{writable:!1}),t}()).prototype,p="kredits",b=[t],m={configurable:!0,enumerable:!0,writable:!0,initializer:null},h={},Object.keys(m).forEach((function(e){h[e]=m[e]})),h.enumerable=!!h.enumerable,h.configurable=!!h.configurable,("value"in h||h.initializer)&&(h.writable=!0),h=b.slice().reverse().reduce((function(e,t){return t(d,p,e)||e}),h),y&&void 0!==h.initializer&&(h.value=h.initializer?h.initializer.call(y):void 0,h.initializer=void 0),void 0===h.initializer&&(Object.defineProperty(d,p,h),h=null),r=h,n)
e.default=v})),define("kredits-web/controllers/budget",["exports"],(function(e){var t,n,r,o,i,u,a
function s(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
@@ -291,8 +310,8 @@ return b(e)}function b(e){if(void 0===e)throw new ReferenceError("this hasn't be
return e}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,t,n,r,o){var i={}
return Object.keys(r).forEach((function(e){i[e]=r[e]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),i),o&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(o):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(e,t,i),i=null),i}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var h=(t=Ember.inject.service,n=Ember.computed.alias("kredits.reimbursementsUnconfirmed"),r=Ember.computed.alias("kredits.reimbursementsConfirmed"),i=y((o=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)})(p,Ember.Controller)
var t,n,r,o=f(p)
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)})(p,Ember.Controller)
var t,n,r,o=d(p)
function p(){var e
l(this,p)
for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r]
@@ -307,14 +326,14 @@ var t=Ember.Controller.extend({kredits:Ember.inject.service(),actions:{save:func
e.default=t})),define("kredits-web/controllers/contributors/new",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.Controller.extend({kredits:Ember.inject.service(),actions:{save:function(e){return this.kredits.addContributor(e)}}})
e.default=t})),define("kredits-web/controllers/dashboard",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.Controller.extend({kredits:Ember.inject.service(),showDetailsPane:!1,selectedContributorId:null,selectedContributionId:null,currentBlock:Ember.computed.alias("kredits.currentBlock"),contributions:Ember.computed.alias("kredits.contributions"),contributionsConfirmed:Ember.computed.alias("kredits.contributionsConfirmed"),contributionsUnconfirmed:Ember.computed.alias("kredits.contributionsUnconfirmed"),contributionsSorting:Object.freeze(["date:desc","time:desc","id:desc"]),contributionsUnconfirmedSorted:Ember.computed.sort("contributionsUnconfirmed","contributionsSorting"),contributionsConfirmedSorted:Ember.computed.sort("contributionsConfirmed","contributionsSorting"),kreditsByContributor:Ember.computed.alias("kredits.kreditsByContributor"),kreditsToplistSorting:Ember.computed("showUnconfirmedKredits",(function(){return this.showUnconfirmedKredits?["amountTotal:desc"]:["amountConfirmed:desc"]})),kreditsToplist:Ember.computed.sort("kreditsByContributor","kreditsToplistSorting"),showUnconfirmedKredits:!0,hideUnconfirmedKredits:Ember.computed.not("showUnconfirmedKredits"),showQuickFilterUnconfirmed:!1,showQuickFilterConfirmed:!1,showFullContributionSync:Ember.computed.gt("kredits.missingHistoricContributionsCount",0),showIntroText:Ember.computed("kredits.{hasAccounts,currentUser}",(function(){return!this.kredits.hasAccounts||!this.kredits.currentUser})),actions:{vetoContribution:function(e){this.kredits.veto(e).then((function(e){console.debug("[controllers:index] Veto submitted to chain: "+e.hash)}))},toggleQuickFilterUnconfirmed:function(){this.toggleProperty("showQuickFilterUnconfirmed")},toggleQuickFilterConfirmed:function(){this.toggleProperty("showQuickFilterConfirmed")}}})
var t=Ember.Controller.extend({kredits:Ember.inject.service(),showDetailsPane:!1,selectedContributorId:null,selectedContributionId:null,currentBlock:Ember.computed.alias("kredits.currentBlock"),contributions:Ember.computed.alias("kredits.contributions"),contributionsConfirmed:Ember.computed.alias("kredits.contributionsConfirmed"),contributionsUnconfirmed:Ember.computed.alias("kredits.contributionsUnconfirmed"),contributionsSorting:Object.freeze(["date:desc","time:desc","id:desc"]),contributionsUnconfirmedSorted:Ember.computed.sort("contributionsUnconfirmed","contributionsSorting"),contributionsConfirmedSorted:Ember.computed.sort("contributionsConfirmed","contributionsSorting"),kreditsByContributor:Ember.computed.alias("kredits.kreditsByContributor"),kreditsToplistSorting:Ember.computed("showUnconfirmedKredits",(function(){return this.showUnconfirmedKredits?["amountTotal:desc"]:["amountConfirmed:desc"]})),kreditsToplist:Ember.computed.sort("kreditsByContributor","kreditsToplistSorting"),showUnconfirmedKredits:!0,hideUnconfirmedKredits:Ember.computed.not("showUnconfirmedKredits"),showQuickFilterUnconfirmed:!1,showQuickFilterConfirmed:!1,showFullContributionSync:Ember.computed.gt("kredits.missingHistoricContributionsCount",0),actions:{vetoContribution:function(e){this.kredits.veto(e).then((function(e){console.debug("[controllers:index] Veto submitted to chain: "+e.hash)}))},toggleQuickFilterUnconfirmed:function(){this.toggleProperty("showQuickFilterUnconfirmed")},toggleQuickFilterConfirmed:function(){this.toggleProperty("showQuickFilterConfirmed")}}})
e.default=t})),define("kredits-web/controllers/dashboard/contributions/show",["exports","kredits-web/config/environment"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var n=Ember.Controller.extend({ipfsGatewayUrl:Ember.computed((function(){return t.default.ipfs.gatewayUrl}))})
e.default=n})),define("kredits-web/controllers/dashboard/contributors/show",["exports","kredits-web/config/environment"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var n=Ember.Controller.extend({roleName:Ember.computed("model.isCore","totalKreditsEarned",(function(){return this.model.isCore?"Core Contributor":this.model.totalKreditsEarned<=5e3?"Newcomer":"Contributor"})),ipfsGatewayUrl:Ember.computed((function(){return t.default.ipfs.gatewayUrl}))})
e.default=n})),define("kredits-web/controllers/signup/account",["exports","kredits-web/config/environment","web3-utils"],(function(e,t,n){var r,o,i,u,a,s
function c(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
function c(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
@@ -327,14 +346,14 @@ return m(e)}function m(e){if(void 0===e)throw new ReferenceError("this hasn't be
return e}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t,n,r,o){var i={}
return Object.keys(r).forEach((function(e){i[e]=r[e]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),i),o&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(o):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(e,t,i),i=null),i}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var v=(r=Ember.inject.service,o=Ember._tracked,i=Ember._action,a=h((u=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)})(b,Ember.Controller)
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)})(b,Ember.Controller)
var r,o,i,u=p(b)
function b(){var e
l(this,b)
for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r]
return c(m(e=u.call.apply(u,[this].concat(n))),"kredits",a,m(e)),c(m(e),"accountAddress",s,m(e)),e}return r=b,(o=[{key:"isValidEthAccount",get:function(){return(0,n.isAddress)(this.accountAddress)}},{key:"signupButtonDisabled",get:function(){return!this.isValidEthAccount}},{key:"completeSignup",value:function(){var e=this,n={accessToken:this.kredits.githubAccessToken,account:this.accountAddress}
fetch(t.default.githubSignupUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}).then((function(e){return e.json()})).then((function(t){if(t.error)return alert("Creating profile failed. We have been notified about this error and will take a look soon. Sorry!"),console.warn("Creating contributor profile failed:",JSON.parse(t.error.body).error.message),!1
console.log("[signup/account] Created contributor:",t),e.kredits.githubAccessToken=null,e.accountAddress=null,e.transitionToRoute("signup.complete")}))}}])&&d(r.prototype,o),i&&d(r,i),Object.defineProperty(r,"prototype",{writable:!1}),b}()).prototype,"kredits",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=h(u.prototype,"accountAddress",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),h(u.prototype,"completeSignup",[i],Object.getOwnPropertyDescriptor(u.prototype,"completeSignup"),u.prototype),u)
console.log("[signup/account] Created contributor:",t),e.kredits.githubAccessToken=null,e.accountAddress=null,e.transitionToRoute("signup.complete")}))}}])&&f(r.prototype,o),i&&f(r,i),Object.defineProperty(r,"prototype",{writable:!1}),b}()).prototype,"kredits",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=h(u.prototype,"accountAddress",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),h(u.prototype,"completeSignup",[i],Object.getOwnPropertyDescriptor(u.prototype,"completeSignup"),u.prototype),u)
e.default=v})),define("kredits-web/controllers/signup/index",["exports","kredits-web/config/environment"],(function(e,t){var n,r
function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
@@ -348,10 +367,10 @@ return s(this,n)}}function s(e,t){if(t&&("object"===_typeof(t)||"function"==type
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}(e)}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var l,d,f,p,b,m,y=(n=Ember._action,l=(r=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
var l,f,d,p,b,m,y=(n=Ember._action,l=(r=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)})(l,Ember.Controller)
var n,r,s,c=a(l)
function l(){return o(this,l),c.apply(this,arguments)}return n=l,(r=[{key:"connectGithub",value:function(){window.location=t.default.githubConnectUrl}}])&&i(n.prototype,r),s&&i(n,s),Object.defineProperty(n,"prototype",{writable:!1}),l}()).prototype,d="connectGithub",f=[n],p=Object.getOwnPropertyDescriptor(r.prototype,"connectGithub"),b=r.prototype,m={},Object.keys(p).forEach((function(e){m[e]=p[e]})),m.enumerable=!!m.enumerable,m.configurable=!!m.configurable,("value"in m||m.initializer)&&(m.writable=!0),m=f.slice().reverse().reduce((function(e,t){return t(l,d,e)||e}),m),b&&void 0!==m.initializer&&(m.value=m.initializer?m.initializer.call(b):void 0,m.initializer=void 0),void 0===m.initializer&&(Object.defineProperty(l,d,m),m=null),r)
function l(){return o(this,l),c.apply(this,arguments)}return n=l,(r=[{key:"connectGithub",value:function(){window.location=t.default.githubConnectUrl}}])&&i(n.prototype,r),s&&i(n,s),Object.defineProperty(n,"prototype",{writable:!1}),l}()).prototype,f="connectGithub",d=[n],p=Object.getOwnPropertyDescriptor(r.prototype,"connectGithub"),b=r.prototype,m={},Object.keys(p).forEach((function(e){m[e]=p[e]})),m.enumerable=!!m.enumerable,m.configurable=!!m.configurable,("value"in m||m.initializer)&&(m.writable=!0),m=d.slice().reverse().reduce((function(e,t){return t(l,f,e)||e}),m),b&&void 0!==m.initializer&&(m.value=m.initializer?m.initializer.call(b):void 0,m.initializer=void 0),void 0===m.initializer&&(Object.defineProperty(l,f,m),m=null),r)
e.default=y})),define("kredits-web/helpers/and",["exports","ember-truth-helpers/helpers/and"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"and",{enumerable:!0,get:function(){return t.and}}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/app-version",["exports","kredits-web/config/environment","ember-cli-app-version/utils/regexp"],(function(e,t,n){function r(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t.default.APP.version,i=r.versionOnly||r.hideSha,u=r.shaOnly||r.hideVersion,a=null
return i&&(r.showExtended&&(a=o.match(n.versionExtendedRegExp)),a||(a=o.match(n.versionRegExp))),u&&(a=o.match(n.shaRegExp)),a?a[0]:o}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r,e.default=void 0
var o=Ember.Helper.helper(r)
@@ -379,8 +398,11 @@ return new Intl.DateTimeFormat(r).format(n)}))
e.default=n})),define("kredits-web/helpers/fmt-fiat-currency",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.Helper.helper((function(e){var t=navigator.language||navigator.userLanguage
return new Intl.NumberFormat(t,{style:"currency",currency:e[1]||"EUR",currencyDisplay:"code"}).format(e[0])}))
e.default=t})),define("kredits-web/helpers/gt",["exports","ember-truth-helpers/helpers/gt"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gt",{enumerable:!0,get:function(){return t.gt}})})),define("kredits-web/helpers/gte",["exports","ember-truth-helpers/helpers/gte"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gte",{enumerable:!0,get:function(){return t.gte}})})),define("kredits-web/helpers/is-after",["exports","ember-moment/helpers/is-after"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/is-array",["exports","ember-truth-helpers/helpers/is-array"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isArray",{enumerable:!0,get:function(){return t.isArray}})})),define("kredits-web/helpers/is-before",["exports","ember-moment/helpers/is-before"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/is-between",["exports","ember-moment/helpers/is-between"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}))
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}define("kredits-web/helpers/is-confirmed-contribution",["exports"],(function(e){function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
e.default=t})),define("kredits-web/helpers/fmt-number",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.Helper.helper((function(e){var t=navigator.language||navigator.userLanguage
return e.toLocaleString(t)}))
e.default=t})),define("kredits-web/helpers/gt",["exports","ember-truth-helpers/helpers/gt"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gt",{enumerable:!0,get:function(){return t.gt}})})),define("kredits-web/helpers/gte",["exports","ember-truth-helpers/helpers/gte"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gte",{enumerable:!0,get:function(){return t.gte}})})),define("kredits-web/helpers/is-after",["exports","ember-moment/helpers/is-after"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/is-array",["exports","ember-truth-helpers/helpers/is-array"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isArray",{enumerable:!0,get:function(){return t.isArray}})}))
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}define("kredits-web/helpers/is-before",["exports","ember-moment/helpers/is-before"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/is-between",["exports","ember-moment/helpers/is-between"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/is-confirmed-contribution",["exports"],(function(e){function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
if(null==n)return
var r,o,i=[],u=!0,a=!1
try{for(n=n.call(e);!(u=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);u=!0);}catch(s){a=!0,o=s}finally{try{u||null==n.return||n.return()}finally{if(a)throw o}}return i}(e,t)||function(e,t){if(!e)return
@@ -422,8 +444,8 @@ this.setupRecompute(n)
var r=[]
return n.vetoed?r.push("vetoed"):n.confirmedAt>this.currentBlock?r.push("unconfirmed"):r.push("confirmed"),n.hasPendingChanges&&r.push("pending"),r.join(" ")},destroy:function(){this.teardown&&this.teardown(),this._super.apply(this,arguments)},setupRecompute:function(e){var t=this
this.teardown&&this.teardown(),e.addObserver("vetoed",this,this.triggerRecompute),e.addObserver("confirmedAt",this,this.triggerRecompute),e.addObserver("currentBlock",this,this.triggerRecompute),e.addObserver("hasPendingChanges",this,this.triggerRecompute),this.teardown=function(){e.removeObserver("vetoed",t,t.triggerRecompute),e.removeObserver("confirmedAt",t,t.triggerRecompute),e.removeObserver("currentBlock",t,t.triggerRecompute),e.removeObserver("hasPendingChanges",t,t.triggerRecompute)}},triggerRecompute:function(){Ember.run.once(this,this.recompute)}})
e.default=r})),define("kredits-web/helpers/lt",["exports","ember-truth-helpers/helpers/lt"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lt",{enumerable:!0,get:function(){return t.lt}})})),define("kredits-web/helpers/lte",["exports","ember-truth-helpers/helpers/lte"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lte",{enumerable:!0,get:function(){return t.lte}})})),define("kredits-web/helpers/moment-add",["exports","ember-moment/helpers/moment-add"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-calendar",["exports","ember-moment/helpers/moment-calendar"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-diff",["exports","ember-moment/helpers/moment-diff"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-duration",["exports","ember-moment/helpers/moment-duration"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-format",["exports","ember-moment/helpers/moment-format"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-from-now",["exports","ember-moment/helpers/moment-from-now"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-from",["exports","ember-moment/helpers/moment-from"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-subtract",["exports","ember-moment/helpers/moment-subtract"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-to-date",["exports","ember-moment/helpers/moment-to-date"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-to-now",["exports","ember-moment/helpers/moment-to-now"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-to",["exports","ember-moment/helpers/moment-to"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-unix",["exports","ember-moment/helpers/unix"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment",["exports","ember-moment/helpers/moment"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/not-eq",["exports","ember-truth-helpers/helpers/not-equal"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"notEqualHelper",{enumerable:!0,get:function(){return t.notEqualHelper}})})),define("kredits-web/helpers/not",["exports","ember-truth-helpers/helpers/not"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"not",{enumerable:!0,get:function(){return t.not}})})),define("kredits-web/helpers/now",["exports","ember-moment/helpers/now"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/or",["exports","ember-truth-helpers/helpers/or"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"or",{enumerable:!0,get:function(){return t.or}})}))
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}define("kredits-web/helpers/perform",["exports","ember-concurrency/helpers/perform"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/promise-all",["exports","ember-promise-helpers/helpers/promise-all"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/promise-hash",["exports","ember-promise-helpers/helpers/promise-hash"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/promise-rejected-reason",["exports","ember-promise-helpers/helpers/promise-rejected-reason"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/sats-to-btc",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
e.default=r})),define("kredits-web/helpers/lt",["exports","ember-truth-helpers/helpers/lt"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lt",{enumerable:!0,get:function(){return t.lt}})})),define("kredits-web/helpers/lte",["exports","ember-truth-helpers/helpers/lte"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lte",{enumerable:!0,get:function(){return t.lte}})})),define("kredits-web/helpers/moment-add",["exports","ember-moment/helpers/moment-add"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-calendar",["exports","ember-moment/helpers/moment-calendar"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-diff",["exports","ember-moment/helpers/moment-diff"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-duration",["exports","ember-moment/helpers/moment-duration"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-format",["exports","ember-moment/helpers/moment-format"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-from-now",["exports","ember-moment/helpers/moment-from-now"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-from",["exports","ember-moment/helpers/moment-from"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-subtract",["exports","ember-moment/helpers/moment-subtract"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-to-date",["exports","ember-moment/helpers/moment-to-date"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-to-now",["exports","ember-moment/helpers/moment-to-now"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-to",["exports","ember-moment/helpers/moment-to"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment-unix",["exports","ember-moment/helpers/unix"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/moment",["exports","ember-moment/helpers/moment"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/not-eq",["exports","ember-truth-helpers/helpers/not-equal"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"notEqualHelper",{enumerable:!0,get:function(){return t.notEqualHelper}})})),define("kredits-web/helpers/not",["exports","ember-truth-helpers/helpers/not"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"not",{enumerable:!0,get:function(){return t.not}})}))
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}define("kredits-web/helpers/now",["exports","ember-moment/helpers/now"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/or",["exports","ember-truth-helpers/helpers/or"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"or",{enumerable:!0,get:function(){return t.or}})})),define("kredits-web/helpers/perform",["exports","ember-concurrency/helpers/perform"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/promise-all",["exports","ember-promise-helpers/helpers/promise-all"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/promise-hash",["exports","ember-promise-helpers/helpers/promise-hash"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/promise-rejected-reason",["exports","ember-promise-helpers/helpers/promise-rejected-reason"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/sats-to-btc",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.Helper.helper((function(e){return e/1e8}))
e.default=t})),define("kredits-web/helpers/task",["exports","ember-concurrency/helpers/task"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/unix",["exports","ember-moment/helpers/unix"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("kredits-web/helpers/utc",["exports","ember-moment/helpers/utc"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"utc",{enumerable:!0,get:function(){return t.utc}})})),define("kredits-web/helpers/xor",["exports","ember-truth-helpers/helpers/xor"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"xor",{enumerable:!0,get:function(){return t.xor}})})),define("kredits-web/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","kredits-web/config/environment"],(function(e,t,n){var r,o
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,n.default.APP&&(r=n.default.APP.name,o=n.default.APP.version)
@@ -458,13 +480,29 @@ if(void 0!==t)throw new TypeError("Derived constructors may only return object o
return a(e)}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var l=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)})(f,Ember.Router)
var u,s,l,d=i(f)
function f(){var e
r(this,f)
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)})(d,Ember.Router)
var u,s,l,f=i(d)
function d(){var e
r(this,d)
for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i]
return c(a(e=d.call.apply(d,[this].concat(o))),"location",t.default.locationType),c(a(e),"rootURL",t.default.rootURL),e}return u=f,s&&n(u.prototype,s),l&&n(u,l),Object.defineProperty(u,"prototype",{writable:!1}),u}()
e.default=l,l.map((function(){this.route("dashboard",(function(){this.route("contributors",(function(){this.route("show",{path:":id"})})),this.route("contributions",(function(){this.route("show",{path:":id"})}))})),this.route("contributions",(function(){this.route("new",{queryParams:["contributorId","kind","amount"]}),this.route("resubmit",{path:":id/resubmit"})})),this.route("contributors",(function(){this.route("new"),this.route("edit",{path:":id/edit"})})),this.route("signup",(function(){this.route("github"),this.route("account"),this.route("complete")})),this.route("budget",(function(){this.route("expenses"),this.route("reimbursements",(function(){}))})),this.route("reimbursements",(function(){this.route("new")}))}))})),define("kredits-web/routes/application",["exports"],(function(e){var t,n,r,o,i
return c(a(e=f.call.apply(f,[this].concat(o))),"location",t.default.locationType),c(a(e),"rootURL",t.default.rootURL),e}return u=d,s&&n(u.prototype,s),l&&n(u,l),Object.defineProperty(u,"prototype",{writable:!1}),u}()
e.default=l,l.map((function(){this.route("dashboard",(function(){this.route("contributors",(function(){this.route("show",{path:":id"})})),this.route("contributions",(function(){this.route("show",{path:":id"})}))})),this.route("contributions",(function(){this.route("new",{queryParams:["contributorId","kind","amount"]}),this.route("resubmit",{path:":id/resubmit"})})),this.route("contributors",(function(){this.route("new"),this.route("edit",{path:":id/edit"})})),this.route("signup",(function(){this.route("github"),this.route("account"),this.route("complete")})),this.route("budget",(function(){this.route("expenses"),this.route("reimbursements",(function(){}))})),this.route("reimbursements",(function(){this.route("new")})),this.route("about")}))})),define("kredits-web/routes/about",["exports"],(function(e){function t(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){return(r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function o(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
return function(){var n,r=u(e)
if(t){var o=u(this).constructor
n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments)
return i(this,n)}}function i(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}(e)}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var a=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)})(c,Ember.Route)
var i,u,a,s=o(c)
function c(){return n(this,c),s.apply(this,arguments)}return i=c,u&&t(i.prototype,u),a&&t(i,a),Object.defineProperty(i,"prototype",{writable:!1}),i}()
e.default=a})),define("kredits-web/routes/application",["exports"],(function(e){var t,n,r,o,i
function u(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
@@ -473,41 +511,41 @@ try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function
return function(){var n,r=p(e)
if(t){var o=p(this).constructor
n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments)
return d(this,n)}}function d(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
return f(this,n)}}function f(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return f(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return d(e)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function b(e,t,n,r,o){var i={}
return Object.keys(r).forEach((function(e){i[e]=r[e]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),i),o&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(o):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(e,t,i),i=null),i}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var m=(t=Ember.inject.service,n=Ember.inject.service,o=b((r=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)})(p,Ember.Route)
var t,n,r,d=l(p)
var t,n,r,f=l(p)
function p(){var e
a(this,p)
for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r]
return u(f(e=d.call.apply(d,[this].concat(n))),"kredits",o,f(e)),u(f(e),"communityFunds",i,f(e)),e}return t=p,(n=[{key:"beforeModel",value:function(){var e=this
return u(d(e=f.call.apply(f,[this].concat(n))),"kredits",o,d(e)),u(d(e),"communityFunds",i,d(e)),e}return t=p,(n=[{key:"beforeModel",value:function(){var e=this
return this.kredits.setup().then((function(){e.kredits.kredits.preflightChecks().catch((function(e){console.error("Kredits preflight check failed!"),console.error(e)}))})).catch((function(e){console.log("Error initializing Kredits",e)}))}},{key:"model",value:function(){var e=this
return this.kredits.loadInitialData().then((function(){e.kredits.addContractEventHandlers()}))}},{key:"afterModel",value:function(){this.kredits.contributorsNeedSync&&Ember.run.schedule("afterRender",this.kredits.syncContributors,this.kredits.syncContributors.perform),Ember.run.schedule("afterRender",this.communityFunds.fetchBalances,this.communityFunds.fetchBalances.perform)}}])&&s(t.prototype,n),r&&s(t,r),Object.defineProperty(t,"prototype",{writable:!1}),p}()).prototype,"kredits",[t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=b(r.prototype,"communityFunds",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),r)
e.default=m})),define("kredits-web/routes/budget",["exports"],(function(e){var t,n,r,o,i
function u(e,t,n,r,o,i,u){try{var a=e[i](u),s=a.value}catch(c){return void n(c)}a.done?t(s):Promise.resolve(s).then(r,o)}function a(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
return function(){var n,r=b(e)
if(t){var o=b(this).constructor
n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments)
return f(this,n)}}function f(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
return d(this,n)}}function d(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return p(e)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t,n,r,o){var i={}
return Object.keys(r).forEach((function(e){i[e]=r[e]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),i),o&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(o):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(e,t,i),i=null),i}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var y=(t=Ember.inject.service,n=Ember.inject.service,o=m((r=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)})(y,Ember.Route)
var t,n,r,f,b,m=d(y)
var t,n,r,d,b,m=f(y)
function y(){var e
s(this,y)
for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r]
return a(p(e=m.call.apply(m,[this].concat(n))),"browserCache",o,p(e)),a(p(e),"kredits",i,p(e)),e}return t=y,(n=[{key:"model",value:(f=regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Ember.isPresent(this.kredits.reimbursements)||!Ember.isEmpty(this.kredits.reimbursementsPending)){e.next=5
return a(p(e=m.call.apply(m,[this].concat(n))),"browserCache",o,p(e)),a(p(e),"kredits",i,p(e)),e}return t=y,(n=[{key:"model",value:(d=regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Ember.isPresent(this.kredits.reimbursements)||!Ember.isEmpty(this.kredits.reimbursementsPending)){e.next=5
break}return console.debug("[route:budget] Reimbursements loaded before, no need to sync or load"),e.abrupt("return")
case 5:return e.next=7,this.browserCache.reimbursements.length()
case 7:if(!(e.sent>0)){e.next=14
@@ -516,7 +554,7 @@ case 11:this.kredits.set("reimbursementsNeedSync",!0),e.next=16
break
case 14:return e.next=16,this.kredits.fetchObjects("Reimbursement",{page:{size:10}})
case 16:case"end":return e.stop()}}),e,this)})),b=function(){var e=this,t=arguments
return new Promise((function(n,r){var o=f.apply(e,t)
return new Promise((function(n,r){var o=d.apply(e,t)
function i(e){u(o,n,r,i,a,"next",e)}function a(e){u(o,n,r,i,a,"throw",e)}i(void 0)}))},function(){return b.apply(this,arguments)})},{key:"afterModel",value:function(){this.kredits.reimbursementsNeedSync&&Ember.run.schedule("afterRender",this.kredits.syncReimbursements,this.kredits.syncReimbursements.perform),Ember.run.schedule("afterRender",this.kredits.fetchMissingReimbursements,this.kredits.fetchMissingReimbursements.perform)}}])&&c(t.prototype,n),r&&c(t,r),Object.defineProperty(t,"prototype",{writable:!1}),y}()).prototype,"browserCache",[t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=m(r.prototype,"kredits",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),r)
e.default=y})),define("kredits-web/routes/budget/expenses",["exports"],(function(e){function t(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){return(r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function o(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
@@ -560,20 +598,20 @@ r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Obj
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
return function(){var n,r=d(e)
if(t){var o=d(this).constructor
return function(){var n,r=f(e)
if(t){var o=f(this).constructor
n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments)
return c(this,n)}}function c(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return l(e)}function l(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var f,p,b,m,y,h,v=(t=Ember.inject.service,f=(n=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)})(f,Ember.Route)
var t,n,c,d=s(f)
function f(){var e
i(this,f)
return e}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var d,p,b,m,y,h,v=(t=Ember.inject.service,d=(n=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)})(d,Ember.Route)
var t,n,c,f=s(d)
function d(){var e
i(this,d)
for(var t=arguments.length,n=new Array(t),u=0;u<t;u++)n[u]=arguments[u]
return o(l(e=d.call.apply(d,[this].concat(n))),"kredits",r,l(e)),e}return t=f,(n=[{key:"afterModel",value:function(){this.kredits.contributionsNeedSync&&Ember.run.schedule("afterRender",this.kredits.syncContributions,this.kredits.syncContributions.perform)}}])&&u(t.prototype,n),c&&u(t,c),Object.defineProperty(t,"prototype",{writable:!1}),f}()).prototype,p="kredits",b=[t],m={configurable:!0,enumerable:!0,writable:!0,initializer:null},h={},Object.keys(m).forEach((function(e){h[e]=m[e]})),h.enumerable=!!h.enumerable,h.configurable=!!h.configurable,("value"in h||h.initializer)&&(h.writable=!0),h=b.slice().reverse().reduce((function(e,t){return t(f,p,e)||e}),h),y&&void 0!==h.initializer&&(h.value=h.initializer?h.initializer.call(y):void 0,h.initializer=void 0),void 0===h.initializer&&(Object.defineProperty(f,p,h),h=null),r=h,n)
return o(l(e=f.call.apply(f,[this].concat(n))),"kredits",r,l(e)),e}return t=d,(n=[{key:"afterModel",value:function(){this.kredits.contributionsNeedSync&&Ember.run.schedule("afterRender",this.kredits.syncContributions,this.kredits.syncContributions.perform)}}])&&u(t.prototype,n),c&&u(t,c),Object.defineProperty(t,"prototype",{writable:!1}),d}()).prototype,p="kredits",b=[t],m={configurable:!0,enumerable:!0,writable:!0,initializer:null},h={},Object.keys(m).forEach((function(e){h[e]=m[e]})),h.enumerable=!!h.enumerable,h.configurable=!!h.configurable,("value"in h||h.initializer)&&(h.writable=!0),h=b.slice().reverse().reduce((function(e,t){return t(d,p,e)||e}),h),y&&void 0!==h.initializer&&(h.value=h.initializer?h.initializer.call(y):void 0,h.initializer=void 0),void 0===h.initializer&&(Object.defineProperty(d,p,h),h=null),r=h,n)
e.default=v})),define("kredits-web/routes/dashboard/contributions/show",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.Route.extend({kredits:Ember.inject.service(),contributions:Ember.computed.alias("kredits.contributions"),model:function(e){return this.contributions.findBy("id",parseInt(e.id))},setupController:function(e,t){this._super(e,t),this.controllerFor("dashboard").setProperties({showDetailsPane:!0,selectedContributionId:t.id})},deactivate:function(){this.controllerFor("dashboard").setProperties({showDetailsPane:!1,selectedContributionId:null})}})
e.default=t})),define("kredits-web/routes/dashboard/contributors/show",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -581,7 +619,8 @@ var t=Ember.Route.extend({kredits:Ember.inject.service(),contributors:Ember.comp
return t||this.kredits.fetchContributor(e.id)},setupController:function(e,t){this._super(e,t),this.controllerFor("dashboard").setProperties({showDetailsPane:!0,selectedContributorId:t.id})},deactivate:function(){this.controllerFor("dashboard").setProperties({showDetailsPane:!1,selectedContributorId:null})}})
e.default=t})),define("kredits-web/routes/index",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.Route.extend({redirect:function(){this.transitionTo("dashboard")}})
e.default=t})),define("kredits-web/routes/reimbursements/new",["exports"],(function(e){function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n]
e.default=t}))
define("kredits-web/routes/reimbursements/new",["exports"],(function(e){function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t){return(r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function o(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
@@ -605,30 +644,29 @@ r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Obj
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
return function(){var n,r=f(e)
if(t){var o=f(this).constructor
return function(){var n,r=d(e)
if(t){var o=d(this).constructor
n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments)
return l(this,n)}}function l(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return d(e)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
return f(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var p,b,m,y,h,v,g=(t=Ember.inject.service,p=(n=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t)})(m,Ember.Route)
var t,n,l,f,p,b=c(m)
var t,n,l,d,p,b=c(m)
function m(){var e
u(this,m)
for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o]
return i(d(e=b.call.apply(b,[this].concat(n))),"kredits",r,d(e)),e}return t=m,(n=[{key:"setupController",value:(f=regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(window.ethereum){e.next=2
return i(f(e=b.call.apply(b,[this].concat(n))),"kredits",r,f(e)),e}return t=m,(n=[{key:"setupController",value:(d=regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(window.ethereum){e.next=2
break}return e.abrupt("return")
case 2:if(!this.kredits.hasAccounts){e.next=6
break}t.accountAddress=this.kredits.currentUserAccounts.firstObject,e.next=7
break
case 6:return e.abrupt("return",this.kredits.connectWallet())
case 7:case"end":return e.stop()}}),e,this)})),p=function(){var e=this,t=arguments
return new Promise((function(n,r){var i=f.apply(e,t)
return new Promise((function(n,r){var i=d.apply(e,t)
function u(e){o(i,n,r,u,a,"next",e)}function a(e){o(i,n,r,u,a,"throw",e)}u(void 0)}))},function(e){return p.apply(this,arguments)})},{key:"redirect",value:function(){Ember.isEmpty(this.kredits.githubAccessToken)&&this.transitionTo("signup.index")}}])&&a(t.prototype,n),l&&a(t,l),Object.defineProperty(t,"prototype",{writable:!1}),m}()).prototype,b="kredits",m=[t],y={configurable:!0,enumerable:!0,writable:!0,initializer:null},v={},Object.keys(y).forEach((function(e){v[e]=y[e]})),v.enumerable=!!v.enumerable,v.configurable=!!v.configurable,("value"in v||v.initializer)&&(v.writable=!0),v=m.slice().reverse().reduce((function(e,t){return t(p,b,e)||e}),v),h&&void 0!==v.initializer&&(v.value=v.initializer?v.initializer.call(h):void 0,v.initializer=void 0),void 0===v.initializer&&(Object.defineProperty(p,b,v),v=null),r=v,n)
e.default=g}))
define("kredits-web/routes/signup/complete",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
e.default=g})),define("kredits-web/routes/signup/complete",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.Route.extend({})
e.default=t})),define("kredits-web/routes/signup/github",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.Route.extend({kredits:Ember.inject.service(),redirect:function(){var e
@@ -656,44 +694,47 @@ return r(this,l),(e=s.apply(this,arguments)).stores={contributors:c("contributor
e.default=l})),define("kredits-web/services/community-funds",["exports","ember-concurrency-decorators","kredits-web/config/environment"],(function(e,t,n){var r,o,i,u,a,s,c
function l(e,t){var n=Object.keys(e)
if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e)
t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{}
t%2?l(Object(n),!0).forEach((function(t){k(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function f(e,t,n,r,o,i,u){try{var a=e[i](u),s=a.value}catch(c){return void n(c)}a.done?t(s):Promise.resolve(s).then(r,o)}function p(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function m(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t){return(y=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{}
t%2?l(Object(n),!0).forEach((function(t){O(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t,n,r,o,i,u){try{var a=e[i](u),s=a.value}catch(c){return void n(c)}a.done?t(s):Promise.resolve(s).then(r,o)}function p(e){return function(){var t=this,n=arguments
return new Promise((function(r,o){var i=e.apply(t,n)
function u(e){d(i,r,o,u,a,"next",e)}function a(e){d(i,r,o,u,a,"throw",e)}u(void 0)}))}}function b(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function y(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
return function(){var n,r=w(e)
if(t){var o=w(this).constructor
return function(){var n,r=k(e)
if(t){var o=k(this).constructor
n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments)
return v(this,n)}}function v(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
return g(this,n)}}function g(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return g(e)}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function k(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(e,t,n,r,o){var i={}
return w(e)}function w(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function k(e){return(k=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function O(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _(e,t,n,r,o){var i={}
return Object.keys(r).forEach((function(e){i[e]=r[e]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),i),o&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(o):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(e,t,i),i=null),i}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var _=(r=Ember.inject.service,o=Ember._tracked,i=Ember._tracked,a=O((u=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&y(e,t)})(v,Ember.Service)
var t,r,o,i,u,l=h(v)
function v(){var e
b(this,v)
var x=(r=Ember.inject.service,o=Ember._tracked,i=Ember._tracked,a=_((u=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&h(e,t)})(d,Ember.Service)
var t,r,o,i,u,l=v(d)
function d(){var e
m(this,d)
for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r]
return p(g(e=l.call.apply(l,[this].concat(n))),"exchangeRates",a,g(e)),p(g(e),"balancesLoaded",s,g(e)),p(g(e),"balances",c,g(e)),e}return t=v,(r=[{key:"fetchBalances",value:regeneratorRuntime.mark((function e(){var t=this
return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(n.default.btcBalanceAPI).then((function(e){return e.json()})).then((function(e){return t.processBalances(e)})).catch((function(e){console.log("[community-funds] Fetching balances failed:"),console.error(e)}))
case 2:case"end":return e.stop()}}),e)}))},{key:"processBalances",value:(i=regeneratorRuntime.mark((function e(t){var n,r
return b(w(e=l.call.apply(l,[this].concat(n))),"exchangeRates",a,w(e)),b(w(e),"balancesLoaded",s,w(e)),b(w(e),"balances",c,w(e)),e}return t=d,(r=[{key:"fetchBalances",value:regeneratorRuntime.mark((function e(){var t,r,o,i,u,a=this
return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=[],r=n.default.communityFundsAPI.balances,o=function(){var e=u[i],n=r[e]
t.push(a.fetchBalance(n.url).then((function(e){return a.processBalance(e,n)})))},i=0,u=Object.keys(r);i<u.length;i++)o()
return e.next=6,Promise.all(t).then((function(){a.balancesLoaded=!0})).catch((function(e){console.log("[community-funds] Fetching balances failed:"),console.error(e)}))
case 6:case"end":return e.stop()}}),e)}))},{key:"fetchBalance",value:(u=p(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",fetch(t).then((function(e){return e.json()})))
case 1:case"end":return e.stop()}}),e)}))),function(e){return u.apply(this,arguments)})},{key:"processBalance",value:(i=p(regeneratorRuntime.mark((function e(t,n){var r,o
return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.exchangeRates.fetchRates()
case 2:n=navigator.language||navigator.userLanguage,r=t.confirmed_balance*this.exchangeRates.btcusd,t.balanceUSD=Math.round(r).toLocaleString(n),this.balances.pushObject(d(d({},t),{token:{name:"BTC",symbol:"BTC"}})),this.balancesLoaded=!0
case 7:case"end":return e.stop()}}),e,this)})),u=function(){var e=this,t=arguments
return new Promise((function(n,r){var o=i.apply(e,t)
function u(e){f(o,n,r,u,a,"next",e)}function a(e){f(o,n,r,u,a,"throw",e)}u(void 0)}))},function(e){return u.apply(this,arguments)})}])&&m(t.prototype,r),o&&m(t,o),Object.defineProperty(t,"prototype",{writable:!1}),v}()).prototype,"exchangeRates",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=O(u.prototype,"balancesLoaded",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),c=O(u.prototype,"balances",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.A([])}}),O(u.prototype,"fetchBalances",[t.task],Object.getOwnPropertyDescriptor(u.prototype,"fetchBalances"),u.prototype),u)
e.default=_})),define("kredits-web/services/exchange-rates",["exports","kredits-web/config/environment"],(function(e,t){var n,r,o,i,u
case 2:r=navigator.language||navigator.userLanguage,o=t.confirmed_balance/1e8*this.exchangeRates.btcusd,t.balanceUSD=Math.round(o).toLocaleString(r),this.balances.pushObject(f(f({},t),{token:{icon:"/img/".concat(n.icon),symbol:n.symbol,description:n.description}}))
case 6:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})}])&&y(t.prototype,r),o&&y(t,o),Object.defineProperty(t,"prototype",{writable:!1}),d}()).prototype,"exchangeRates",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=_(u.prototype,"balancesLoaded",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),c=_(u.prototype,"balances",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.A([])}}),_(u.prototype,"fetchBalances",[t.task],Object.getOwnPropertyDescriptor(u.prototype,"fetchBalances"),u.prototype),u)
e.default=x})),define("kredits-web/services/exchange-rates",["exports","kredits-web/config/environment"],(function(e,t){var n,r,o,i,u
function a(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n]
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
if(Reflect.construct.sham)return!1
if("function"==typeof Proxy)return!0
try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()
return function(){var n,r=b(e)
if(t){var o=b(this).constructor
n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments)
return f(this,n)}}function f(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
return d(this,n)}}function d(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t
if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined")
return p(e)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
return e}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t,n,r,o){var i={}
@@ -707,18 +748,20 @@ case 3:return n=e.sent,e.abrupt("return",parseFloat(n.vwap))
case 7:return e.prev=7,e.t0=e.catch(0),console.error("Could not fetch exchange rate from Bitstamp:",e.t0),e.abrupt("return",0)
case 11:case"end":return e.stop()}}),e,null,[[0,7]])})))).apply(this,arguments)}var k=(n=Ember._tracked,r=Ember._tracked,i=m((o=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function")
e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)})(b,Ember.Service)
var t,n,r,o,f=d(b)
var t,n,r,o,d=f(b)
function b(){var e
s(this,b)
for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r]
return a(p(e=f.call.apply(f,[this].concat(n))),"btceur",i,p(e)),a(p(e),"btcusd",u,p(e)),e}return t=b,(n=[{key:"fetchRates",value:(o=h(regeneratorRuntime.mark((function e(){var t,n=arguments
return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=n.length>0&&void 0!==n[0]?n[0]:"bitstamp",e.t0=t,e.next="bitstamp"===e.t0?4:10
return a(p(e=d.call.apply(d,[this].concat(n))),"btceur",i,p(e)),a(p(e),"btcusd",u,p(e)),e}return t=b,(n=[{key:"exchangeRatesLoaded",get:function(){return 0!==this.btceur&&0!==this.btcusd}},{key:"fetchRates",value:(o=h(regeneratorRuntime.mark((function e(){var t,n=arguments
return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=n.length>0&&void 0!==n[0]?n[0]:"bitstamp",!this.exchangeRatesLoaded){e.next=3
break}return e.abrupt("return")
case 3:e.t0=t,e.next="bitstamp"===e.t0?6:12
break
case 4:return e.next=6,g("btceur")
case 6:return this.btceur=e.sent,e.next=9,g("btcusd")
case 9:this.btcusd=e.sent
case 10:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})}])&&c(t.prototype,n),r&&c(t,r),Object.defineProperty(t,"prototype",{writable:!1}),b}()).prototype,"btceur",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),u=m(o.prototype,"btcusd",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),o)
e.default=k})),define("kredits-web/services/kredits",["exports","ethers","@kredits/contracts","ember-concurrency","kredits-web/utils/group-by","kredits-web/utils/process-contributor-data","kredits-web/utils/process-contribution-data","kredits-web/utils/process-reimbursement-data","kredits-web/utils/format-kredits","kredits-web/utils/switch-network","kredits-web/config/environment","kredits-web/models/contributor","kredits-web/models/contribution","kredits-web/models/reimbursement"],(function(e,t,n,r,o,i,u,a,s,c,l,d,f,p){function b(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||y(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
case 6:return e.next=8,g("btceur")
case 8:return this.btceur=e.sent,e.next=11,g("btcusd")
case 11:this.btcusd=e.sent
case 12:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})}])&&c(t.prototype,n),r&&c(t,r),Object.defineProperty(t,"prototype",{writable:!1}),b}()).prototype,"btceur",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),u=m(o.prototype,"btcusd",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),o)
e.default=k})),define("kredits-web/services/kredits",["exports","ethers","@kredits/contracts","ember-concurrency","kredits-web/utils/group-by","kredits-web/utils/process-contributor-data","kredits-web/utils/process-contribution-data","kredits-web/utils/process-reimbursement-data","kredits-web/utils/format-kredits","kredits-web/utils/switch-network","kredits-web/config/environment","kredits-web/models/contributor","kredits-web/models/contribution","kredits-web/models/reimbursement"],(function(e,t,n,r,o,i,u,a,s,c,l,f,d,p){function b(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||y(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
if(!n){if(Array.isArray(e)||(n=y(e))||t&&e&&"number"==typeof e.length){n&&(e=n)
var r=0,o=function(){}
return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,a=!1
@@ -730,15 +773,15 @@ for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n]
return r}function v(e,t,n,r,o,i,u){try{var a=e[i](u),s=a.value}catch(c){return void n(c)}a.done?t(s):Promise.resolve(s).then(r,o)}function g(e){return function(){var t=this,n=arguments
return new Promise((function(r,o){var i=e.apply(t,n)
function u(e){v(i,r,o,u,a,"next",e)}function a(e){v(i,r,o,u,a,"throw",e)}u(void 0)}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var w={Contributor:d.default,Contribution:f.default,Reimbursement:p.default},k=Ember.Service.extend({browserCache:Ember.inject.service(),currentBlock:null,currentUserAccounts:null,currentUser:null,contributors:null,contributions:null,reimbursements:null,githubAccessToken:null,currentUserIsContributor:Ember.computed.notEmpty("currentUser"),currentUserIsCore:Ember.computed.alias("currentUser.isCore"),hasAccounts:Ember.computed.notEmpty("currentUserAccounts"),contributorsMined:Ember.computed.filterBy("contributors","id"),contributorsSorting:Object.freeze(["name:asc"]),contributorsSorted:Ember.computed.sort("contributorsMined","contributorsSorting"),contributorsNeedSync:!1,contributionsNeedSync:!1,reimbursementsNeedSync:!1,missingHistoricContributionsCount:0,init:function(){this._super.apply(this,arguments),this.set("contributors",[]),this.set("contributions",[]),this.set("reimbursements",[]),window.ethereum&&(window.ethereum.on("chainChanged",this.handleUserChainChanged),window.ethereum.on("accountsChanged",this.handleAccountsChanged))},handleUserChainChanged:function(e){console.log("User-provided chain ID changed to",e),window.location.reload()},handleAccountsChanged:function(e){console.log("User-provided accounts changed to",e),window.location.reload()},getEthProvider:function(){var e,n=this
return new Promise((function(r){function o(){console.debug("[kredits] Creating new instance from npm module class"),console.debug("[kredits] providerURL: ".concat(l.default.web3ProviderUrl)),e=new t.default.providers.JsonRpcProvider(l.default.web3ProviderUrl),r({ethProvider:e,ethSigner:null})}function i(){return(i=g(regeneratorRuntime.mark((function n(i,u){var a,s,d,f
var w={Contributor:f.default,Contribution:d.default,Reimbursement:p.default},k=Ember.Service.extend({browserCache:Ember.inject.service(),currentBlock:null,currentUserAccounts:null,currentUser:null,contributors:null,contributions:null,reimbursements:null,githubAccessToken:null,currentUserIsContributor:Ember.computed.notEmpty("currentUser"),currentUserIsCore:Ember.computed.alias("currentUser.isCore"),hasAccounts:Ember.computed.notEmpty("currentUserAccounts"),contributorsMined:Ember.computed.filterBy("contributors","id"),contributorsSorting:Object.freeze(["name:asc"]),contributorsSorted:Ember.computed.sort("contributorsMined","contributorsSorting"),contributorsNeedSync:!1,contributionsNeedSync:!1,reimbursementsNeedSync:!1,missingHistoricContributionsCount:0,init:function(){this._super.apply(this,arguments),this.set("contributors",[]),this.set("contributions",[]),this.set("reimbursements",[]),window.ethereum&&(window.ethereum.on("chainChanged",this.handleUserChainChanged),window.ethereum.on("accountsChanged",this.handleAccountsChanged))},handleUserChainChanged:function(e){console.log("User-provided chain ID changed to",e),window.location.reload()},handleAccountsChanged:function(e){console.log("User-provided accounts changed to",e),window.location.reload()},getEthProvider:function(){var e,n=this
return new Promise((function(r){function o(){console.debug("[kredits] Creating new instance from npm module class"),console.debug("[kredits] providerURL: ".concat(l.default.web3ProviderUrl)),e=new t.default.providers.JsonRpcProvider(l.default.web3ProviderUrl),r({ethProvider:e,ethSigner:null})}function i(){return(i=g(regeneratorRuntime.mark((function n(i,u){var a,s,f,d
return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return console.debug("[kredits] Using user-provided Web3 instance, e.g. from Metamask"),e=new t.default.providers.Web3Provider(i),n.next=4,e.getNetwork()
case 4:return a=n.sent,n.next=7,e.listAccounts()
case 7:if(s=n.sent,d=l.default.web3ChainId,!Ember.isEmpty(s)){n.next=11
case 7:if(s=n.sent,f=l.default.web3ChainId,!Ember.isEmpty(s)){n.next=11
break}return n.abrupt("return",o())
case 11:if(a.chainId===d){n.next=15
case 11:if(a.chainId===f){n.next=15
break}return n.abrupt("return",(0,c.default)())
case 15:u.set("currentUserAccounts",s),f=0===s.length?null:e.getSigner(),r({ethProvider:e,ethSigner:f})
case 15:u.set("currentUserAccounts",s),d=0===s.length?null:e.getSigner(),r({ethProvider:e,ethSigner:d})
case 18:case"end":return n.stop()}}),n)})))).apply(this,arguments)}window.ethereum?function(e,t){i.apply(this,arguments)}(window.ethereum,n):o()}))},connectWallet:function(){return g(regeneratorRuntime.mark((function e(){var n,r,o,i
return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new t.default.providers.Web3Provider(window.ethereum),e.next=3,n.getNetwork()
case 3:return r=e.sent,o=l.default.web3ChainId,i="0x".concat(Number(o).toString(16)),e.prev=6,e.next=9,window.ethereum.request({method:"eth_requestAccounts"})
@@ -784,7 +827,7 @@ e.github_uid=t}return console.debug("[kredits] add contributor",e),this.kredits.
t.github_uid=n}return console.debug("[kredits] update contributor",t),this.kredits.Contributor.updateProfile(e,t,{gasLimit:35e4}).then((function(e){console.debug("[kredits] updateProfile response",e)}))},fetchContributor:function(e){var t=this
return g(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return console.debug("[kredits] Fetching contributor from the network"),n.abrupt("return",t.kredits.Contributor.getById(e).then((function(e){return t.loadContributorFromData(e)})))
case 2:case"end":return n.stop()}}),n)})))()},fetchContributors:function(){var e=this
return console.debug("[kredits] Fetching all contributors from the network"),this.kredits.Contributor.all().then((function(t){return t.forEach((function(t){e.loadContributorFromData(t)}))})).then((function(){return e.cacheLoadedContributors()}))},loadContributorFromData:function(e){var t=d.default.create((0,i.default)(e)),n=this.contributors.findBy("id",t.id)
return console.debug("[kredits] Fetching all contributors from the network"),this.kredits.Contributor.all().then((function(t){return t.forEach((function(t){e.loadContributorFromData(t)}))})).then((function(){return e.cacheLoadedContributors()}))},loadContributorFromData:function(e){var t=f.default.create((0,i.default)(e)),n=this.contributors.findBy("id",t.id)
return n&&this.contributors.removeObject(n),this.contributors.pushObject(t),t},cacheLoadedContributors:function(){var e=this
return g(regeneratorRuntime.mark((function t(){var n,r,o
return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=m(e.contributors),t.prev=1,n.s()
@@ -798,15 +841,15 @@ case 11:t.prev=11,t.t0=t.catch(1),n.e(t.t0)
case 14:return t.prev=14,n.f(),t.finish(14)
case 17:return console.debug("[kredits] Cached ".concat(e.contributors.length," contributors in browser storage")),t.abrupt("return",Promise.resolve())
case 19:case"end":return t.stop()}}),t,null,[[1,11,14,17]])})))()},loadContributorsFromCache:function(){var e=this
return g(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.browserCache.contributors.iterate((function(t){e.contributors.pushObject(d.default.create(JSON.parse(t)))})).then((function(){console.debug("[kredits] Loaded ".concat(e.contributors.length," contributors from cache"))})))
return g(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.browserCache.contributors.iterate((function(t){e.contributors.pushObject(f.default.create(JSON.parse(t)))})).then((function(){console.debug("[kredits] Loaded ".concat(e.contributors.length," contributors from cache"))})))
case 1:case"end":return t.stop()}}),t)})))()},syncContributors:(0,r.task)(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.fetchContributors()
case 2:this.set("contributorsNeedSync",!1)
case 3:case"end":return e.stop()}}),e,this)}))),addContribution:function(e){var t=this
return console.debug("[kredits] Adding contribution",e),this.kredits.Contribution.add(e,{gasLimit:3e5}).then((function(n){console.debug("[kredits] Contribution.add response",n),e.contributor=t.contributors.findBy("id",e.contributorId)
var r=f.default.create(e)
var r=d.default.create(e)
return r.set("pendingTx",n),r.set("confirmedAtBlock",t.currentBlock+40320),t.contributions.pushObject(r),r}))},fetchContributions:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{page:{size:200}}
return console.debug("[kredits] Fetching contributions from the network"),this.kredits.Contribution.all(t).then((function(t){return t.map((function(t){return e.loadContributionFromData(t)}))})).then((function(t){var n=t.map((function(t){return e.browserCache.contributions.setItem(t.id.toString(),t.serialize())}))
return Promise.all(n).then((function(){console.debug("[kredits] Cached ".concat(t.length," contributions in browser storage"))}))}))},loadContributionFromData:function(e){var t=f.default.create((0,u.default)(e))
return Promise.all(n).then((function(){console.debug("[kredits] Cached ".concat(t.length," contributions in browser storage"))}))}))},loadContributionFromData:function(e){var t=d.default.create((0,u.default)(e))
t.set("contributor",this.contributors.findBy("id",e.contributorId))
var n=this.contributions.findBy("id",t.id)
return n&&this.contributions.removeObject(n),this.contributions.pushObject(t),t},cacheLoadedContributions:function(){var e=this
@@ -822,7 +865,7 @@ case 11:t.prev=11,t.t0=t.catch(1),n.e(t.t0)
case 14:return t.prev=14,n.f(),t.finish(14)
case 17:return console.debug("[kredits] Cached ".concat(e.contributions.length," contributions in browser storage")),t.abrupt("return",Promise.resolve())
case 19:case"end":return t.stop()}}),t,null,[[1,11,14,17]])})))()},loadContributionsFromCache:function(){var e=this
return g(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.browserCache.contributions.iterate((function(t){e.contributions.pushObject(f.default.create(JSON.parse(t)))})).then((function(){console.debug("[kredits] Loaded ".concat(e.contributions.length," contributions from cache"))})))
return g(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.browserCache.contributions.iterate((function(t){e.contributions.pushObject(d.default.create(JSON.parse(t)))})).then((function(){console.debug("[kredits] Loaded ".concat(e.contributions.length," contributions from cache"))})))
case 1:case"end":return t.stop()}}),t)})))()},contributionTasks:(0,r.taskGroup)().enqueue(),syncContributions:(0,r.task)(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.fetchNewContributions.perform()
case 2:return e.next=4,this.syncUnconfirmedContributions.perform()
case 4:return e.next=6,this.updateMissingHistoricContributionsCount()
@@ -948,7 +991,7 @@ return this.kredits.Reimbursement.functions.veto(e,{gasLimit:3e5}).then((functio
return g(regeneratorRuntime.mark((function r(){var o,i,u,a,s,c
return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:for(console.debug("[kredits] Contributor add/update event received for ID",e),o=t.length,i=new Array(o>1?o-1:0),u=1;u<o;u++)i[u-1]=t[u]
return console.debug("[kredits] Event data:",i),r.next=5,n.kredits.Contributor.getById(e)
case 5:a=r.sent,s=d.default.create(a),(c=n.contributors.findBy("id",e))&&n.contributors.removeObject(c),n.contributors.pushObject(s)
case 5:a=r.sent,s=f.default.create(a),(c=n.contributors.findBy("id",e))&&n.contributors.removeObject(c),n.contributors.pushObject(s)
case 10:case"end":return r.stop()}}),r)})))()},handleContributionAdded:function(e,t,n){var r=this
return g(regeneratorRuntime.mark((function o(){var i,u,a
return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return console.debug("[kredits] ContributionAdded event received",{id:e,contributorId:t,amount:n}),(i=r.contributions.find((function(e){return null===e.id&&e.contributorId===t&&e.amount.toString()===n.toString()})))&&r.contributions.removeObject(i),o.next=5,r.kredits.Contribution.getById(e)
@@ -967,12 +1010,14 @@ return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:
case 4:case"end":return n.stop()}}),n)})))()},handleTransfer:function(e,t,n){n=n.toNumber(),this.contributors.findBy("address",e).decrementProperty("balance",n),this.contributors.findBy("address",t).incrementProperty("balance",n)}})
e.default=k})),define("kredits-web/services/moment",["exports","ember-moment/services/moment","kredits-web/config/environment"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var r=Ember.get,o=t.default.extend({defaultFormat:r(n.default,"moment.outputFormat")})
e.default=o})),define("kredits-web/templates/application-loading",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
e.default=o})),define("kredits-web/templates/about",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"qDPvmLqW",block:'{"symbols":[],"statements":[[10,"main"],[14,1,"about"],[12],[2,"\\n "],[10,"div"],[14,1,"aside"],[12],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,1,"content"],[12],[2,"\\n "],[10,"section"],[14,0,"text"],[12],[2,"\\n "],[10,"h2"],[12],[2,"What is this?"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n You have found the contribution dashboard and budget management app of the\\n "],[10,"a"],[14,6,"https://kosmos.org"],[14,"target","_blank"],[14,"rel","noreferrer noopener"],[12],[2,"Kosmos"],[13],[2,"\\n open-source co-operative.\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n We use this app to track what people contribute to all parts of our\\n projects (not just code), as well as for managing our community\'s budget.\\n "],[13],[2,"\\n "],[10,"h2"],[12],[2,"Why?"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n We are trying out a new form of co-operative, native to the Internet,\\n creating and sharing digital resources the same way traditional\\n co-operatives share physical ones.\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n By knowing roughly how much people contribute, we are able to reward\\n co-operative members who contribute their time with money contributed\\n by the ones who don\'t.\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n In addition to open-source grant payouts, all contributors can also propose\\n reimbursements for specific expenses they covered on behalf of the\\n community.\\n "],[13],[2,"\\n "],[10,"h2"],[12],[2,"How?"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n Instead of notaries, lawyers, courts, or banks, we record data and manage\\n certain decisions on a decentralized ledger called\\n "],[10,"a"],[14,6,"https://rootstock.io/"],[14,"target","_blank"],[14,"rel","noreferrer noopener"],[12],[2,"Rootstock"],[13],[2,",\\n which is cryptographically tied to the bitcoin timechain.\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n By doing this, we can ensure community control over the budget, as well as\\n full transparency and verifiability of everything that happens. It also\\n allows us to quickly, cheaply, and reliably send our open-source grants to\\n anyone who\'s contributing, no matter where they are on this beautiful\\n planet.\\n "],[13],[2,"\\n "],[10,"h2"],[12],[2,"Kredits"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n All contributions are rewarded with so-called kredits. They are both\\n credits in the traditional sense of public attribution, as well as a\\n measure of how much and how regularly someone has added value to the\\n community and its products and services.\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n Kredits are considered for example for grant payouts, as well as\\n permissions for certain actions like vetos or votes. They may also be used\\n to access "],[10,"a"],[14,6,"https://kosmos.org/services/"],[12],[2,"hosted services"],[13],[2," for free,\\n or to unlock additional features on otherwise free services.\\n "],[13],[2,"\\n "],[10,"h2"],[12],[2,"Getting started"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n We\'d be delighted to welcome you as a new contributor!\\n If you\'d like to start collecting kredits for your contributions, you can\\n "],[8,"link-to",[],[["@route"],["signup"]],[["default"],[{"statements":[[2,"create a contributor profile"]],"parameters":[]}]]],[2," now.\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n Next, you could learn more about\\n "],[10,"a"],[14,6,"https://community.kosmos.org/t/how-kredits-for-contributions-are-proposed-and-confirmed/176"],[12],[2,"how kredits are proposed and issued"],[13],[2,".\\n If you want to dive deeper into how this all works, head over to the\\n "],[10,"a"],[14,6,"https://wiki.kosmos.org/Kredits"],[12],[2,"Kredits documentation"],[13],[2,"\\n page on our (soon to be phased out) wiki.\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,1,"empty"],[12],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":[]}',meta:{moduleName:"kredits-web/templates/about.hbs"}})
e.default=t})),define("kredits-web/templates/application-loading",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"rH2U9nfi",block:'{"symbols":[],"statements":[[8,"loading-spinner",[],[[],[]],null],[2,"\\n"]],"hasEval":false,"upvars":[]}',meta:{moduleName:"kredits-web/templates/application-loading.hbs"}})
e.default=t})),define("kredits-web/templates/application",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"v+/8V/ng",block:'{"symbols":[],"statements":[[10,"header"],[14,1,"topbar"],[12],[2,"\\n "],[10,"h1"],[12],[8,"link-to",[],[["@route"],["dashboard"]],[["default"],[{"statements":[[2,"Kosmos Kredits"]],"parameters":[]}]]],[13],[2,"\\n "],[8,"topbar-account-panel",[],[[],[]],null],[2,"\\n"],[13],[2,"\\n\\n"],[1,[30,[36,1],[[30,[36,0],null,null]],null]],[2,"\\n"]],"hasEval":false,"upvars":["-outlet","component"]}',meta:{moduleName:"kredits-web/templates/application.hbs"}})
var t=Ember.HTMLBars.template({id:"7nDDmrRX",block:'{"symbols":[],"statements":[[10,"header"],[14,1,"topbar"],[12],[2,"\\n "],[10,"h1"],[12],[8,"link-to",[],[["@route"],["dashboard"]],[["default"],[{"statements":[[2,"Kredits"]],"parameters":[]}]]],[13],[2,"\\n "],[8,"topbar-account-panel",[],[[],[]],null],[2,"\\n"],[13],[2,"\\n\\n"],[8,"main-navigation-menu",[],[[],[]],null],[2,"\\n\\n"],[1,[30,[36,1],[[30,[36,0],null,null]],null]],[2,"\\n"]],"hasEval":false,"upvars":["-outlet","component"]}',meta:{moduleName:"kredits-web/templates/application.hbs"}})
e.default=t})),define("kredits-web/templates/budget",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"7cWkGD9u",block:'{"symbols":[],"statements":[[10,"main"],[14,1,"budget"],[12],[2,"\\n\\n "],[10,"div"],[14,1,"aside"],[12],[2,"\\n "],[3," <section id=\\"main&#45;nav\\"> "],[2,"\\n "],[3," <header> "],[2,"\\n "],[3," <h2>Budget</h2> "],[2,"\\n "],[3," </header> "],[2,"\\n "],[3," <div class=\\"content\\"> "],[2,"\\n "],[3," <ul> "],[2,"\\n "],[3," <li> "],[2,"\\n "],[3," <LinkTo @route=\\"budget.expenses\\">Expenses</LinkTo> "],[2,"\\n "],[3," </li> "],[2,"\\n "],[3," <li> "],[2,"\\n "],[3," <a href=\\"#\\">Rewards</a> "],[2,"\\n "],[3," </li> "],[2,"\\n "],[3," </ul> "],[2,"\\n "],[3," </div> "],[2,"\\n "],[3," </section> "],[2,"\\n\\n "],[10,"section"],[14,1,"funds"],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Community funds"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"budget-balances",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,1,"content"],[12],[2,"\\n"],[6,[37,0],[[32,0,["reimbursementsUnconfirmed"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,1,"expenses-unconfirmed"],[12],[2,"\\n "],[10,"header"],[14,0,"with-nav"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Proposed Reimbursements"],[13],[2,"\\n "],[10,"nav"],[12],[2,"\\n "],[8,"link-to",[[24,0,"button small green"]],[["@route","@title"],["reimbursements.new","Submit a reimbursement"]],[["default"],[{"statements":[[2,"add"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"reimbursement-list",[],[["@items"],[[32,0,["reimbursementsUnconfirmed"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,0],[[32,0,["reimbursementsConfirmed"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,1,"expenses-confirmed"],[12],[2,"\\n "],[10,"header"],[14,0,"with-nav"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Confirmed Expenses"],[13],[2,"\\n "],[10,"nav"],[12],[2,"\\n "],[8,"link-to",[[24,0,"button small green"]],[["@route","@title"],["reimbursements.new","Submit a reimbursement"]],[["default"],[{"statements":[[2,"add"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"reimbursement-list",[],[["@items"],[[32,0,["reimbursementsConfirmed"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,1,"empty"],[12],[2,"\\n "],[13],[2,"\\n\\n"],[13]],"hasEval":false,"upvars":["if"]}',meta:{moduleName:"kredits-web/templates/budget.hbs"}})
var t=Ember.HTMLBars.template({id:"NF9wJ3hK",block:'{"symbols":[],"statements":[[10,"main"],[14,1,"budget"],[12],[2,"\\n\\n "],[10,"div"],[14,1,"aside"],[12],[2,"\\n "],[3," <section id=\\"main&#45;nav\\"> "],[2,"\\n "],[3," <header> "],[2,"\\n "],[3," <h2>Budget</h2> "],[2,"\\n "],[3," </header> "],[2,"\\n "],[3," <div class=\\"content\\"> "],[2,"\\n "],[3," <ul> "],[2,"\\n "],[3," <li> "],[2,"\\n "],[3," <LinkTo @route=\\"budget.expenses\\">Expenses</LinkTo> "],[2,"\\n "],[3," </li> "],[2,"\\n "],[3," <li> "],[2,"\\n "],[3," <a href=\\"#\\">Rewards</a> "],[2,"\\n "],[3," </li> "],[2,"\\n "],[3," </ul> "],[2,"\\n "],[3," </div> "],[2,"\\n "],[3," </section> "],[2,"\\n\\n "],[10,"section"],[14,1,"funds"],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Community funds"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"budget-balances",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,1,"content"],[12],[2,"\\n"],[6,[37,0],[[32,0,["reimbursementsUnconfirmed"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,1,"expenses-unconfirmed"],[12],[2,"\\n "],[10,"header"],[14,0,"with-nav"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Proposed Reimbursements"],[13],[2,"\\n "],[10,"nav"],[12],[2,"\\n "],[8,"link-to",[[24,0,"button small green"]],[["@route","@title"],["reimbursements.new","Submit a reimbursement"]],[["default"],[{"statements":[[2,"add"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"reimbursement-list",[],[["@items"],[[32,0,["reimbursementsUnconfirmed"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,0],[[32,0,["reimbursementsConfirmed"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,1,"expenses-confirmed"],[12],[2,"\\n "],[10,"header"],[14,0,"with-nav"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Confirmed Reimbursements"],[13],[2,"\\n "],[10,"nav"],[12],[2,"\\n "],[8,"link-to",[[24,0,"button small green"]],[["@route","@title"],["reimbursements.new","Submit a reimbursement"]],[["default"],[{"statements":[[2,"add"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"reimbursement-list",[],[["@items"],[[32,0,["reimbursementsConfirmed"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,1,"empty"],[12],[2,"\\n "],[13],[2,"\\n\\n"],[13]],"hasEval":false,"upvars":["if"]}',meta:{moduleName:"kredits-web/templates/budget.hbs"}})
e.default=t})),define("kredits-web/templates/budget/expenses",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"GPyv0u4G",block:'{"symbols":[],"statements":[[1,[30,[36,1],[[30,[36,0],null,null]],null]]],"hasEval":false,"upvars":["-outlet","component"]}',meta:{moduleName:"kredits-web/templates/budget/expenses.hbs"}})
e.default=t})),define("kredits-web/templates/components/icon-account-gitea-kosmos-org",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
@@ -998,14 +1043,15 @@ var t=Ember.HTMLBars.template({id:"clbPf+4y",block:'{"symbols":[],"statements":[
e.default=t})),define("kredits-web/templates/contributors/new",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"zY+qbRPK",block:'{"symbols":[],"statements":[[10,"main"],[14,0,"center-column"],[12],[2,"\\n\\n "],[10,"section"],[14,1,"add-contributor"],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Add contributor profile"],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"add-contributor",[],[["@save"],[[30,[36,0],[[32,0],"save"],null]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["action"]}',meta:{moduleName:"kredits-web/templates/contributors/new.hbs"}})
e.default=t})),define("kredits-web/templates/dashboard",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"x0i2G66s",block:'{"symbols":[],"statements":[[6,[37,2],[[32,0,["showIntroText"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,1,"intro"],[15,0,[30,[36,2],[[32,0,["showDetailsPane"]],"with-details"],null]],[12],[2,"\\n "],[10,"h2"],[12],[2,"\\n Welcome to the contribution dashboard of the\\n "],[10,"a"],[14,6,"https://kosmos.org"],[14,"target","_blank"],[14,"rel","noreferrer noopener"],[12],[2,"Kosmos"],[13],[2," project!\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n If you want to learn more about what the numbers mean and how this works,\\n check out the\\n "],[10,"a"],[14,6,"https://wiki.kosmos.org/Kredits"],[14,"target","_blank"],[14,"rel","noreferrer noopener"],[12],[2,"Kredits documentation"],[13],[2,".\\n If you want to start earning kredits for your contributions,\\n "],[8,"link-to",[],[["@route"],["signup"]],[["default"],[{"statements":[[2,"create a contributor profile"]],"parameters":[]}]]],[2,".\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[10,"main"],[14,1,"dashboard"],[15,0,[30,[36,2],[[32,0,["showDetailsPane"]],"with-details"],null]],[12],[2,"\\n\\n "],[10,"div"],[14,1,"stats"],[12],[2,"\\n "],[10,"section"],[14,1,"people"],[12],[2,"\\n "],[10,"header"],[14,0,"with-nav"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Contributors"],[13],[2,"\\n"],[6,[37,2],[[32,0,["kredits","hasAccounts"]]],null,[["default"],[{"statements":[[2," "],[10,"nav"],[12],[2,"\\n "],[8,"link-to",[[24,0,"button small green"]],[["@route","@title"],["contributors.new","Add contributor profile"]],[["default"],[{"statements":[[2,"add"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"contributor-list",[],[["@contributorList","@showUnconfirmedKredits","@selectedContributorId","@loading"],[[32,0,["kreditsToplist"]],[32,0,["showUnconfirmedKredits"]],[32,0,["selectedContributorId"]],[32,0,["kredits","syncContributors","isRunning"]]]],null],[2,"\\n\\n "],[10,"p"],[14,0,"stats"],[12],[2,"\\n "],[10,"span"],[14,0,"number"],[12],[1,[30,[36,4],[[32,0,["kredits","totalKreditsEarned"]]],null]],[13],[2," kredits confirmed and issued to\\n "],[10,"span"],[14,0,"number"],[12],[1,[32,0,["contributorsWithKredits","length"]]],[13],[2," contributors\\n "],[13],[2,"\\n "],[10,"p"],[14,0,"stats"],[12],[2,"\\n "],[8,"input",[[24,1,"hide-unnconfirmed-kredits"]],[["@type","@checked"],["checkbox",[32,0,["showUnconfirmedKredits"]]]],null],[2,"\\n "],[10,"label"],[14,"for","hide-unnconfirmed-kredits"],[12],[2,"Show unconfirmed kredits in toplist"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,2],[[32,0,["contributionsConfirmed"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,1,"contributions-by-type"],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Contributions by type"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"chart-contributions-by-type",[],[["@contributions"],[[32,0,["contributions"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,1,"contributions"],[12],[2,"\\n"],[6,[37,2],[[32,0,["contributionsUnconfirmed"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,1,"contributions-unconfirmed"],[12],[2,"\\n "],[10,"header"],[14,0,"with-nav"],[12],[2,"\\n "],[10,"h2"],[12],[2,"\\n Latest Contributions\\n "],[13],[2,"\\n "],[10,"nav"],[12],[2,"\\n "],[10,"button"],[15,"onclick",[30,[36,3],[[32,0],"toggleQuickFilterUnconfirmed"],null]],[15,0,[31,["small ",[30,[36,2],[[32,0,["showQuickFilterUnconfirmed"]],"active"],null]]]],[14,4,"button"],[12],[2,"\\n filter\\n "],[13],[2,"\\n"],[6,[37,2],[[32,0,["kredits","hasAccounts"]]],null,[["default"],[{"statements":[[2," "],[8,"link-to",[[24,0,"button small green"]],[["@route","@title"],["contributions.new","Submit a contribution"]],[["default"],[{"statements":[[2,"add"]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n"],[2," "],[8,"contribution-list",[],[["@contributions","@vetoContribution","@contractInteractionEnabled","@selectedContributionId","@showQuickFilter","@loading"],[[32,0,["contributionsUnconfirmedSorted"]],[30,[36,3],[[32,0],"vetoContribution"],null],[32,0,["kredits","hasAccounts"]],[32,0,["selectedContributionId"]],[32,0,["showQuickFilterUnconfirmed"]],[32,0,["kredits","syncContributions","isRunning"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,2],[[32,0,["contributionsConfirmLine truncated
var t=Ember.HTMLBars.template({id:"MmUvWH35",block:'{"symbols":[],"statements":[[10,"main"],[14,1,"dashboard"],[15,0,[30,[36,2],[[32,0,["showDetailsPane"]],"with-details"],null]],[12],[2,"\\n\\n "],[10,"div"],[14,1,"stats"],[12],[2,"\\n "],[10,"section"],[14,1,"people"],[12],[2,"\\n "],[10,"header"],[14,0,"with-nav"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Contributors"],[13],[2,"\\n"],[6,[37,2],[[32,0,["kredits","hasAccounts"]]],null,[["default"],[{"statements":[[2," "],[10,"nav"],[12],[2,"\\n "],[8,"link-to",[[24,0,"button small green"]],[["@route","@title"],["contributors.new","Add contributor profile"]],[["default"],[{"statements":[[2,"add"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"contributor-list",[],[["@contributorList","@showUnconfirmedKredits","@selectedContributorId","@loading"],[[32,0,["kreditsToplist"]],[32,0,["showUnconfirmedKredits"]],[32,0,["selectedContributorId"]],[32,0,["kredits","syncContributors","isRunning"]]]],null],[2,"\\n\\n "],[10,"p"],[14,0,"stats"],[12],[2,"\\n "],[10,"span"],[14,0,"number"],[12],[1,[30,[36,4],[[32,0,["kredits","totalKreditsEarned"]]],null]],[13],[2," kredits confirmed and issued to\\n "],[10,"span"],[14,0,"number"],[12],[1,[32,0,["contributorsWithKredits","length"]]],[13],[2," contributors\\n "],[13],[2,"\\n "],[10,"p"],[14,0,"stats"],[12],[2,"\\n "],[8,"input",[[24,1,"hide-unnconfirmed-kredits"]],[["@type","@checked"],["checkbox",[32,0,["showUnconfirmedKredits"]]]],null],[2,"\\n "],[10,"label"],[14,"for","hide-unnconfirmed-kredits"],[12],[2,"Show unconfirmed kredits in toplist"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,2],[[32,0,["contributionsConfirmed"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,1,"contributions-by-type"],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Contributions by type"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"chart-contributions-by-type",[],[["@contributions"],[[32,0,["contributions"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,1,"contributions"],[12],[2,"\\n"],[6,[37,2],[[32,0,["contributionsUnconfirmed"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,1,"contributions-unconfirmed"],[12],[2,"\\n "],[10,"header"],[14,0,"with-nav"],[12],[2,"\\n "],[10,"h2"],[12],[2,"\\n Latest Contributions\\n "],[13],[2,"\\n "],[10,"nav"],[12],[2,"\\n "],[10,"button"],[15,"onclick",[30,[36,3],[[32,0],"toggleQuickFilterUnconfirmed"],null]],[15,0,[31,["small ",[30,[36,2],[[32,0,["showQuickFilterUnconfirmed"]],"active"],null]]]],[14,4,"button"],[12],[2,"\\n filter\\n "],[13],[2,"\\n"],[6,[37,2],[[32,0,["kredits","hasAccounts"]]],null,[["default"],[{"statements":[[2," "],[8,"link-to",[[24,0,"button small green"]],[["@route","@title"],["contributions.new","Submit a contribution"]],[["default"],[{"statements":[[2,"add"]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n"],[2," "],[8,"contribution-list",[],[["@contributions","@vetoContribution","@contractInteractionEnabled","@selectedContributionId","@showQuickFilter","@loading"],[[32,0,["contributionsUnconfirmedSorted"]],[30,[36,3],[[32,0],"vetoContribution"],null],[32,0,["kredits","hasAccounts"]],[32,0,["selectedContributionId"]],[32,0,["showQuickFilterUnconfirmed"]],[32,0,["kredits","syncContributions","isRunning"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,2],[[32,0,["contributionsConfirmed"]]],null,[["default"],[{"statements":[[2," "],[10,"section"],[14,1,"contributions-confirmed"],[12],[2,"\\n "],[10,"header"],[14,0,"with-nav"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Confirmed Contributions"],[13],[2,"\\n "],[10,"nav"],[12],[2,"\\n "],[10,"button"],[15,"onclick",[30,[36,3],[[32,0],"toggleQuickFilterConfirmed"],null]],[15,0,[31,["small ",[30,[36,2],[[32,0,["showQuickFilterConfirmed"]],"active"],null]]]],[14,4,"button"],[12],[2,"\\n filter\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"contribution-list",[],[["@contributions","@vetoContribution","@selectedContributionId","@showQuickFilter"],[[32,0,["contributionsConfirmedSorted"]],[30,[36,3],[[32,0],"vetoContribution"],null],[32,0,["selectedContributionId"]],[32,0,["showQuickFilterConfirmed"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[Line truncated
e.default=t})),define("kredits-web/templates/dashboard/contributions/show",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"DufwIN5Z",block:'{"symbols":[],"statements":[[10,"section"],[14,1,"contribution-details"],[15,0,[30,[36,0],[[32,0,["model","vetoed"]],"vetoed"],null]],[12],[2,"\\n "],[10,"header"],[14,0,"with-nav"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Contribution #"],[1,[32,0,["model","id"]]],[13],[2,"\\n "],[10,"nav"],[12],[2,"\\n "],[10,"span"],[14,0,"amount"],[12],[1,[32,0,["model","amount"]]],[13],[2," \\n "],[10,"span"],[14,0,"symbol"],[12],[2,"₭S"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[10,"p"],[14,0,"who-what-when"],[12],[2,"\\n "],[10,"span"],[14,0,"contributor"],[12],[2,"\\n "],[8,"user-avatar",[],[["@contributor"],[[32,0,["model","contributor"]]]],null],[2,"\\n "],[8,"link-to",[],[["@route","@model"],["dashboard.contributors.show",[32,0,["model","contributor"]]]],[["default"],[{"statements":[[1,[32,0,["model","contributor","name"]]]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n contributed\\n "],[10,"span"],[14,0,"date"],[15,"title",[32,0,["model","iso8601Date"]]],[12],[1,[30,[36,1],[[32,0,["model","iso8601Date"]]],null]],[13],[2,":\\n "],[13],[2,"\\n "],[10,"h3"],[12],[1,[32,0,["model","description"]]],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n Kind: "],[1,[32,0,["model","kind"]]],[2,"\\n "],[10,"br"],[12],[13],[2,"Status: "],[1,[30,[36,2],[[32,0,["model"]]],null]],[2,"\\n "],[13],[2,"\\n"],[6,[37,0],[[32,0,["model","url"]]],null,[["default"],[{"statements":[[2," "],[10,"p"],[12],[2,"\\n "],[10,"a"],[15,6,[32,0,["model","url"]]],[15,"title",[32,0,["model","description"]]],[14,0,"button"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"\\n Open URL\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,0],[[32,0,["model","vetoed"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"hint vetoed"],[12],[2,"\\n "],[10,"div"],[14,0,"icon"],[12],[2,"\\n "],[8,"icon-warning",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n This contribution has been vetoed, meaning no\\n kredits will be issued.\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"link-to",[[24,0,"button small green"]],[["@route","@model"],["contributions.resubmit",[32,0,["model"]]]],[["default"],[{"statements":[[2,"Re-submit contribution …"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"actions"],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"link-to",[[24,0,"button small"]],[["@route","@model"],["contributions.resubmit",[32,0,["model"]]]],[["default"],[{"statements":[[2,"Copy & edit as new"]],"parameters":[]}]]],[2,"\\n"],[6,[37,0],[[32,0,["model","ipfsHash"]]],null,[["default"],[{"statements":[[2," "],[10,"a"],[15,6,[31,[[32,0,["ipfsGatewayUrl"]],"/",[32,0,["model","ipfsHash"]]]]],[14,0,"button small"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"\\n Inspect IPFS data\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["if","moment-from","item-status"]}',meta:{moduleName:"kredits-web/templates/dashboard/contributions/show.hbs"}})
e.default=t})),define("kredits-web/templates/dashboard/contributors/show",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"uzAAqojK",block:'{"symbols":["account"],"statements":[[10,"section"],[14,1,"contributor-profile"],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[8,"user-avatar",[],[["@contributor","@size"],[[32,0,["model"]],"medium"]],null],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[10,"h2"],[12],[1,[32,0,["model","name"]]],[13],[2,"\\n "],[10,"p"],[14,0,"role"],[12],[1,[32,0,["roleName"]]],[13],[2,"\\n\\n "],[10,"ul"],[14,0,"external-accounts"],[12],[2,"\\n"],[6,[37,1],[[30,[36,0],[[30,[36,0],[[32,0,["model","accounts"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[12],[2,"\\n "],[8,"external-account-link",[],[["@account"],[[32,1]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[1]}]]],[6,[37,2],[[32,0,["model","url"]]],null,[["default"],[{"statements":[[2," "],[10,"li"],[12],[2,"\\n "],[10,"a"],[15,6,[32,0,["model","url"]]],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[14,"title","Website"],[12],[2,"\\n "],[10,"span"],[14,0,"site"],[12],[2,"Web"],[13],[2,"\\n "],[8,"icon-web-globe",[],[[],[]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"actions"],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[8,"link-to",[[24,0,"button green"]],[["@route","@query"],["contributions.new",[30,[36,3],null,[["contributorId"],[[32,0,["model","id"]]]]]]],[["default"],[{"statements":[[2,"♥ Give kredits"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"actions"],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"a"],[15,6,[31,["https://explorer.testnet.rsk.co/address/",[32,0,["model","account"]]]]],[14,0,"button small"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"Inspect Rootstock transactions"],[13],[2,"\\n"],[6,[37,2],[[32,0,["model","ipfsHash"]]],null,[["default"],[{"statements":[[2," "],[10,"a"],[15,6,[31,[[32,0,["ipfsGatewayUrl"]],"/",[32,0,["model","ipfsHash"]]]]],[14,0,"button small"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"Inspect IPFS profile"],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[8,"link-to",[[24,0,"button small"]],[["@route","@model"],["contributors.edit",[32,0,["model"]]]],[["default"],[{"statements":[[2,"Edit profile"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["-track-array","each","if","hash"]}',meta:{moduleName:"kredits-web/templates/dashboard/contributors/show.hbs"}})
e.default=t})),define("kredits-web/templates/reimbursements/new",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"4ZGew5Lo",block:'{"symbols":[],"statements":[[10,"main"],[14,0,"center-column"],[12],[2,"\\n\\n "],[10,"section"],[14,1,"add-item"],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Submit a Reimbursement"],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"content"],[12],[2,"\\n "],[8,"add-reimbursement",[],[["@attributes"],[[32,0,["model","params"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[13]],"hasEval":false,"upvars":[]}',meta:{moduleName:"kredits-web/templates/reimbursements/new.hbs"}})
e.default=t})),define("kredits-web/templates/signup",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
e.default=t}))
define("kredits-web/templates/signup",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"vyvqw+Xa",block:'{"symbols":[],"statements":[[10,"main"],[14,0,"center-column"],[12],[2,"\\n "],[10,"section"],[14,1,"signup"],[12],[2,"\\n "],[1,[30,[36,1],[[30,[36,0],null,null]],null]],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["-outlet","component"]}',meta:{moduleName:"kredits-web/templates/signup.hbs"}})
e.default=t})),define("kredits-web/templates/signup/account",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"juAngjy3",block:'{"symbols":[],"statements":[[10,"header"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Complete your contributor profile"],[13],[2,"\\n"],[13],[2,"\\n"],[10,"div"],[14,0,"content text-lg"],[12],[2,"\\n "],[10,"p"],[14,0,"mb-8"],[12],[2,"\\n Kredits allow you to to earn rewards for your contributions, in the form of\\n dynamic open-source grants. As a regular contributor, you can also take\\n part in the community\'s project governance and finances.\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n In order to interact with the system you will need a\\n "],[10,"a"],[14,6,"https://rootstock.io"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"Rootstock"],[13],[2,"\\n wallet/account.\\n "],[13],[2,"\\n "],[10,"form"],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"label"],[12],[2,"\\n Rootstock address:"],[10,"br"],[12],[13],[2,"\\n "],[8,"input",[[24,"placeholder","0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4"],[16,0,[30,[36,0],[[32,0,["isValidEthAccount"]],"valid",""],null]]],[["@type","@value"],["text",[32,0,["accountAddress"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n "],[11,"button"],[16,"disabled",[32,0,["signupButtonDisabled"]]],[24,4,"button"],[4,[38,2],["click",[30,[36,1],[[32,0,["completeSignup"]]],null]],null],[12],[2,"\\n Complete my profile\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["if","fn","on"]}',meta:{moduleName:"kredits-web/templates/signup/account.hbs"}})
@@ -1013,8 +1059,7 @@ e.default=t})),define("kredits-web/templates/signup/complete",["exports"],(funct
var t=Ember.HTMLBars.template({id:"hc80mylW",block:'{"symbols":[],"statements":[[10,"header"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Welcome aboard!"],[13],[2,"\\n"],[13],[2,"\\n"],[10,"div"],[14,0,"content text-lg text-center"],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n Congratulations. Your initial profile is now complete.\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n Why not say hi to your fellow contributors\\n "],[10,"a"],[14,6,"https://wiki.kosmos.org/Main_Page#Community_.2F_Getting_in_touch_.2F_Getting_involved"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"in one of our chat rooms"],[13],[2,"?.\\n "],[13],[2,"\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n "],[8,"link-to",[[24,0,"button small"]],[["@route"],["dashboard"]],[["default"],[{"statements":[[2,"Return to dashboard"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":[]}',meta:{moduleName:"kredits-web/templates/signup/complete.hbs"}})
e.default=t})),define("kredits-web/templates/signup/index",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
var t=Ember.HTMLBars.template({id:"NAvcexMu",block:'{"symbols":[],"statements":[[10,"header"],[12],[2,"\\n "],[10,"h2"],[12],[2,"Create your contributor profile"],[13],[2,"\\n"],[13],[2,"\\n"],[10,"div"],[14,0,"content text-lg"],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n You have already contributed to a Kosmos project, or you are interested\\n in contributing in the near future? Fantastic!\\n "],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n In order to earn kredits for your contributions, you will need a\\n registered contributor profile. The quickest way to register is by\\n connecting one of the following accounts:\\n "],[13],[2,"\\n "],[10,"p"],[14,0,"actions"],[12],[2,"\\n "],[10,"button"],[15,"onclick",[30,[36,0],[[32,0],"connectGithub"],null]],[14,0,"icon"],[14,4,"button"],[12],[2,"\\n "],[8,"icon-account-github-com",[],[[],[]],null],[2,"\\n Connect GitHub\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["action"]}',meta:{moduleName:"kredits-web/templates/signup/index.hbs"}})
e.default=t}))
define("kredits-web/utils/format-kredits",["exports","ethers"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.default.utils.formatEther(e)
e.default=t})),define("kredits-web/utils/format-kredits",["exports","ethers"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.default.utils.formatEther(e)
n.decimals||(r=parseInt(r).toString())
return r}})),define("kredits-web/utils/get-locale",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language}})),define("kredits-web/utils/group-by",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e,t){var n=Ember.A(),r=e
r&&r.forEach((function(e){var r=e[t],o=n.findBy("value",r)
@@ -1040,6 +1085,6 @@ case 13:e.next=16
break
case 15:console.warn("Failed to switch chains:",e.t0.message)
case 16:case"end":return e.stop()}}),e,null,[[3,8]])})))).apply(this,arguments)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return o.apply(this,arguments)}})),define("kredits-web/config/environment",[],(function(){try{var e="kredits-web/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(decodeURIComponent(t))}
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("kredits-web/app").default.create({name:"kredits-web",version:"2.0.0+bdeab512"})
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("kredits-web/app").default.create({name:"kredits-web",version:"2.1.1+5c9fbf50"})
//# sourceMappingURL=kredits-web-c6399723d7220b2a99dd4f3a76ffcb10.map
//# sourceMappingURL=kredits-web-7c993a63fe709fe25b6d0b201adef2c2.map
@@ -0,0 +1 @@
{"version":3,"sources":["vendor/ember-cli/app-prefix.js","kredits-web/app.js","kredits-web/components/add-expense-item/component.js","kredits-web/components/add-reimbursement/component.js","kredits-web/components/budget-balances/component.js","kredits-web/components/confirmed-in/component.js","kredits-web/components/expense-list/component.js","kredits-web/components/reimbursement-list/component.js","kredits-web/components/topbar-account-panel/component.js","kredits-web/controllers/application.js","kredits-web/controllers/budget.js","kredits-web/controllers/signup/account.js","kredits-web/controllers/signup/index.js","kredits-web/component-managers/glimmer.js","kredits-web/components/add-contribution/component.js","kredits-web/components/add-contribution/template.js","kredits-web/components/add-contributor/component.js","kredits-web/components/add-contributor/template.js","kredits-web/components/add-expense-item/template.js","kredits-web/components/add-reimbursement/template.js","kredits-web/components/budget-balances/template.js","kredits-web/components/chart-contributions-by-type/component.js","kredits-web/components/chart-contributions-by-type/template.js","kredits-web/components/confirmed-in/template.js","kredits-web/components/contribution-list/component.js","kredits-web/components/contribution-list/template.js","kredits-web/components/contributor-list/component.js","kredits-web/components/contributor-list/template.js","kredits-web/components/ember-chart.js","kredits-web/components/ember-flatpickr.js","kredits-web/components/expense-list/template.js","kredits-web/components/external-account-link/component.js","kredits-web/components/external-account-link/template.js","kredits-web/components/loading-spinner/component.js","kredits-web/components/loading-spinner/template.js","kredits-web/components/main-navigation-menu/template.js","kredits-web/components/reimbursement-list/template.js","kredits-web/components/topbar-account-panel/template.js","kredits-web/components/user-avatar/component.js","kredits-web/components/user-avatar/template.js","kredits-web/controllers/contributions/new.js","kredits-web/controllers/contributions/resubmit.js","kredits-web/controllers/contributors/edit.js","kredits-web/controllers/contributors/new.js","kredits-web/controllers/dashboard.js","kredits-web/controllers/dashboard/contributions/show.js","kredits-web/controllers/dashboard/contributors/show.js","kredits-web/helpers/and.js","kredits-web/helpers/app-version.js","kredits-web/helpers/await.js","kredits-web/helpers/cancel-all.js","kredits-web/helpers/capitalize-string.js","kredits-web/helpers/eq.js","kredits-web/helpers/fmt-crypto-currency.js","kredits-web/helpers/fmt-date-localized.js","kredits-web/helpers/fmt-fiat-currency.js","kredits-web/helpers/fmt-number.js","kredits-web/helpers/gt.js","kredits-web/helpers/gte.js","kredits-web/helpers/is-after.js","kredits-web/helpers/is-array.js","kredits-web/router.js","kredits-web/routes/about.js","kredits-web/routes/application.js","kredits-web/routes/budget.js","kredits-web/routes/budget/expenses.js","kredits-web/routes/contributions/new.js","kredits-web/routes/dashboard.js","kredits-web/routes/reimbursements/new.js","kredits-web/helpers/is-before.js","kredits-web/helpers/is-between.js","kredits-web/helpers/is-confirmed-contribution.js","kredits-web/helpers/is-current-user.js","kredits-web/helpers/is-empty.js","kredits-web/helpers/is-equal.js","kredits-web/helpers/is-fulfilled.js","kredits-web/helpers/is-pending.js","kredits-web/helpers/is-rejected.js","kredits-web/helpers/is-same-or-after.js","kredits-web/helpers/is-same-or-before.js","kredits-web/helpers/is-same.js","kredits-web/helpers/item-status.js","kredits-web/helpers/lt.js","kredits-web/helpers/lte.js","kredits-web/helpers/moment-add.js","kredits-web/helpers/moment-calendar.js","kredits-web/helpers/moment-diff.js","kredits-web/helpers/moment-duration.js","kredits-web/helpers/moment-format.js","kredits-web/helpers/moment-from-now.js","kredits-web/helpers/moment-from.js","kredits-web/helpers/moment-subtract.js","kredits-web/helpers/moment-to-date.js","kredits-web/helpers/moment-to-now.js","kredits-web/helpers/moment-to.js","kredits-web/helpers/moment-unix.js","kredits-web/helpers/moment.js","kredits-web/helpers/not-eq.js","kredits-web/helpers/not.js","kredits-web/routes/signup/account.js","kredits-web/services/browser-cache.js","kredits-web/services/community-funds.js","kredits-web/services/exchange-rates.js","kredits-web/helpers/now.js","kredits-web/helpers/or.js","kredits-web/helpers/perform.js","kredits-web/helpers/promise-all.js","kredits-web/helpers/promise-hash.js","kredits-web/helpers/promise-rejected-reason.js","kredits-web/helpers/sats-to-btc.js","kredits-web/helpers/task.js","kredits-web/helpers/unix.js","kredits-web/helpers/utc.js","kredits-web/helpers/xor.js","kredits-web/initializers/app-version.js","kredits-web/initializers/container-debug-adapter.js","kredits-web/initializers/ember-concurrency.js","kredits-webLine truncated
@@ -1 +1 @@
@charset "UTF-8";main#budget,main#dashboard{width:100%;display:grid;grid-row-gap:2rem}body,button,h1,h2,h3,h4,h5,html,input{font-family:"Open Sans",sans-serif;font-weight:300}a,section h2{color:#68d7fb}*{margin:0;padding:0;box-sizing:border-box}:active,:focus,:hover{outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent}main{padding:1rem 2rem}main#dashboard{grid-template-areas:"stats" "contributions"}main#budget{grid-template-areas:"aside" "content"}main.center-column{display:flex;flex-direction:column;align-items:center}main.center-column section{width:600px;max-width:100%}main.center-column section header{text-align:center}@media (max-width:600px){main{padding:1rem}main div#content section:first-of-type{margin-top:0}}main section .content a{font-size:inherit}main section .content.text-lg p{font-size:1.2rem;margin-bottom:1em;line-height:1.5em}main section .content.text-center{text-align:center}main section .content p.actions{text-align:center;padding-top:2rem}#intro{padding:2rem;background-color:rgba(0,0,0,.2);font-size:1.6rem}@media (max-width:600px){#intro{padding:2rem 1rem;font-size:1.5rem}main section{margin-bottom:5rem}}#intro h2{font-size:inherit;margin-bottom:1em}#intro p{margin-bottom:1em;line-height:1.5em;font-size:1.2rem}#intro p:last-child{margin-bottom:0}#intro a{text-decoration:none}#intro a:active,#intro a:hover{text-decoration:underline}@media (min-width:550px){main#budget,main#dashboard.with-details{grid-column-gap:3rem;grid-template-columns:2fr 4fr 2fr}main#dashboard{grid-column-gap:4rem;grid-row-gap:2rem;grid-template-columns:2fr 4fr;grid-template-areas:"stats contributions"}main#dashboard.with-details{grid-template-areas:"stats contributions details"}main#budget{grid-template-areas:"aside content empty"}}main section{margin-bottom:5rem}main section:first-of-type{margin-top:2rem}main section header{margin-bottom:3rem}main section header.with-nav{display:grid;grid-template-columns:auto 5rem;grid-template-areas:"title" "actions"}main section header h2{display:inline-block}main section header nav{display:flex;flex-direction:row;align-items:center;justify-content:flex-end}@media (max-width:600px){main section header{margin-bottom:2rem}}main section .mb-4{margin-bottom:1rem}main section .mb-8,ul.item-list.spaced>li{margin-bottom:2rem}body,html{font-size:12px;color:#fff}body{background-image:linear-gradient(to bottom,rgba(22,21,40,.4),rgba(0,0,0,.75)),url(/img/bg-947d3bf6bb15a1a3b07afcba4c307690.jpg);background-repeat:none;background-attachment:fixed}@media screen and (min-width:900px){body{background-size:cover}}button,h1,h2,h3,h4,h5,input{font-size:1rem}section h2{font-size:1.5rem}section#people .content p.stats{margin-bottom:1rem;font-size:1rem;color:#fff;text-align:center}section#people .content p.stats span.number{font-weight:600}section#contributions-by-type .chart{width:50%;margin-left:auto;margin-right:auto}@media (max-width:600px){section#contributions-by-type .chart{width:75%}}@media (min-width:550px){section h2{font-size:2rem}}.button,button,input[type=submit]{display:inline-block;padding:.6rem 2rem;background-color:rgba(22,21,40,.6);border:1px solid #161528;border-radius:3px;color:#68d7fb;font-weight:500;text-decoration:none;text-transform:uppercase;cursor:pointer;letter-spacing:.1em;-webkit-appearance:none}.button+.button,.button+button,.button+input[type=submit],button+.button,button+button,button+input[type=submit],input[type=submit]+.button,input[type=submit]+button,input[type=submit]+input[type=submit]{margin-left:.5rem}.button:hover,button:hover,input[type=submit]:hover{background-color:rgba(22,21,40,.8)}.button.active,.button:active,.button:focus,button.active,button:active,button:focus,input[type=submit].active,input[type=submit]:active,input[type=submit]:focus{border-color:#68d7fb}.button[disabled],button[disabled],input[type=submit][disabled]{color:rgba(255,255,255,.5)}.button.small,button.small,input[type=submit].small{font-size:.86rem;padding:.2rem .8rem}.button.small svg,button.small svg,input[type=submit].small svg{width:1em;height:1em;vertical-align:middle;margin-right:.4rem}.button.danger:not(:disabled),button.danger:not(:disabled),input[type=submit].danger:not(:disabled){color:#fb6868;background-color:rgba(40,21,21,.6);border-color:#281515}.button.danger:not(:disabled):hover,button.danger:not(:disabled):hover,input[type=submit].danger:not(:disabled):hover{background-color:rgba(40,21,21,.8)}.button.danger:not(:disabled).active,.button.danger:not(:disabled):active,.button.danger:not(:disabled):focus,button.danger:not(:disabled).active,button.danger:not(:disabled):active,button.danger:not(:disabled):focus,input[type=submit].danger:not(:disabled).active,input[type=submit].danger:not(:disabled):active,input[type=submit].danger:not(:disabled):focus{border-color:#fb6868}.button.green:not(:disabled),button.green:not(:disabled),input[type=submit].green:not(:disabled){color:#97fb68;background-color:rgba(21,40,21,.6);border-color:#15Line truncated
@charset "UTF-8";main#about,main#budget,main#dashboard{width:100%;display:grid;grid-row-gap:2rem}a,section h2{color:#68d7fb}*{margin:0;padding:0;box-sizing:border-box}:active,:focus,:hover{outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent}body{margin-bottom:10rem;background-image:linear-gradient(to bottom,rgba(22,21,40,.4),rgba(0,0,0,.75)),url(/img/bg-947d3bf6bb15a1a3b07afcba4c307690.jpg);background-repeat:none;background-attachment:fixed}main{padding:1rem 2rem}main#dashboard{grid-template-areas:"stats" "contributions"}main#about,main#budget{grid-template-areas:"aside" "content"}main.center-column{display:flex;flex-direction:column;align-items:center}main.center-column section{width:600px;max-width:100%}main.center-column section header{text-align:center}@media (max-width:600px){main{padding:1rem}main div#content section:first-of-type{margin-top:0}}main section .content a{font-size:inherit}main section .content.text-lg p{font-size:1.35rem;margin-bottom:2rem;line-height:150%}main section .content.text-center{text-align:center}main section .content p.actions{text-align:center;padding-top:2rem}main section.text h2{margin:4rem 0 2rem}main section.text h2:first-of-type{margin-top:0}main section.text p{font-size:1.35rem;margin-bottom:2rem;line-height:150%}@media (min-width:550px){main#about,main#budget,main#dashboard.with-details{grid-column-gap:3rem;grid-template-columns:2fr 4fr 2fr}main#dashboard{grid-column-gap:4rem;grid-row-gap:2rem;grid-template-columns:2fr 4fr;grid-template-areas:"stats contributions"}main#dashboard.with-details{grid-template-areas:"stats contributions details"}main#about,main#budget{grid-template-areas:"aside content empty"}}main section{margin-bottom:5rem}main section:first-of-type{margin-top:2rem}main section header{margin-bottom:3rem}main section header.with-nav{display:grid;grid-template-columns:auto 5rem;grid-template-areas:"title" "actions"}main section header h2{display:inline-block}main section header nav{display:flex;flex-direction:row;align-items:center;justify-content:flex-end}@media (max-width:600px){main section{margin-bottom:5rem}main section header{margin-bottom:2rem}}main section .mb-4{margin-bottom:1rem}main section .mb-8,ul.item-list.spaced>li{margin-bottom:2rem}body,html{font-family:"Open Sans",sans-serif;font-weight:300;font-size:12px;color:#fff}@media screen and (min-width:900px){body{background-size:cover}}button,h1,h2,h3,h4,h5,input{font-family:"Open Sans",sans-serif;font-size:1rem;font-weight:300}section h2{font-size:1.5rem}section#people .content p.stats{margin-bottom:1rem;font-size:1rem;color:#fff;text-align:center}section#people .content p.stats span.number{font-weight:600}section#contributions-by-type .chart{width:50%;margin-left:auto;margin-right:auto}@media (max-width:600px){section#contributions-by-type .chart{width:75%}}@media (min-width:550px){section h2{font-size:2rem}}.button,button,input[type=submit]{display:inline-block;padding:.6rem 2rem;background-color:rgba(22,21,40,.6);border:1px solid #161528;border-radius:3px;color:#68d7fb;font-weight:500;text-decoration:none;text-transform:uppercase;cursor:pointer;letter-spacing:.1em;-webkit-appearance:none}.button+.button,.button+button,.button+input[type=submit],button+.button,button+button,button+input[type=submit],input[type=submit]+.button,input[type=submit]+button,input[type=submit]+input[type=submit]{margin-left:.5rem}.button:hover,button:hover,input[type=submit]:hover{background-color:rgba(22,21,40,.8)}.button.active,.button:active,.button:focus,button.active,button:active,button:focus,input[type=submit].active,input[type=submit]:active,input[type=submit]:focus{border-color:#68d7fb}.button[disabled],button[disabled],input[type=submit][disabled]{color:rgba(255,255,255,.5)}.button.small,button.small,input[type=submit].small{font-size:.86rem;padding:.2rem .8rem}.button.small svg,button.small svg,input[type=submit].small svg{width:1em;height:1em;vertical-align:middle;margin-right:.4rem}.button.danger:not(:disabled),button.danger:not(:disabled),input[type=submit].danger:not(:disabled){color:#fb6868;background-color:rgba(40,21,21,.6);border-color:#281515}.button.danger:not(:disabled):hover,button.danger:not(:disabled):hover,input[type=submit].danger:not(:disabled):hover{background-color:rgba(40,21,21,.8)}.button.danger:not(:disabled).active,.button.danger:not(:disabled):active,.button.danger:not(:disabled):focus,button.danger:not(:disabled).active,button.danger:not(:disabled):active,button.danger:not(:disabled):focus,input[type=submit].danger:not(:disabled).active,input[type=submit].danger:not(:disabled):active,input[type=submit].danger:not(:disabled):focus{border-color:#fb6868}.button.green:not(:disabled),button.green:not(:disabled),input[type=submit].green:not(:disabled){color:#97fb68;background-color:rgba(21,40,21,.6);border-color:#152815}.button.green:not(:disabled):hover,button.green:not(:disabled):hover,input[type=submit].green:not(:disabled):hover{backgrouLine truncated
@@ -1 +0,0 @@
{"version":3,"sources":["vendor/ember-cli/app-prefix.js","kredits-web/app.js","kredits-web/components/add-expense-item/component.js","kredits-web/components/add-reimbursement/component.js","kredits-web/components/budget-balances/component.js","kredits-web/components/confirmed-in/component.js","kredits-web/components/expense-list/component.js","kredits-web/components/reimbursement-list/component.js","kredits-web/components/topbar-account-panel/component.js","kredits-web/controllers/budget.js","kredits-web/controllers/signup/account.js","kredits-web/controllers/signup/index.js","kredits-web/component-managers/glimmer.js","kredits-web/components/add-contribution/component.js","kredits-web/components/add-contribution/template.js","kredits-web/components/add-contributor/component.js","kredits-web/components/add-contributor/template.js","kredits-web/components/add-expense-item/template.js","kredits-web/components/add-reimbursement/template.js","kredits-web/components/budget-balances/template.js","kredits-web/components/chart-contributions-by-type/component.js","kredits-web/components/chart-contributions-by-type/template.js","kredits-web/components/confirmed-in/template.js","kredits-web/components/contribution-list/component.js","kredits-web/components/contribution-list/template.js","kredits-web/components/contributor-list/component.js","kredits-web/components/contributor-list/template.js","kredits-web/components/ember-chart.js","kredits-web/components/ember-flatpickr.js","kredits-web/components/expense-list/template.js","kredits-web/components/external-account-link/component.js","kredits-web/components/external-account-link/template.js","kredits-web/components/loading-spinner/component.js","kredits-web/components/loading-spinner/template.js","kredits-web/components/reimbursement-list/template.js","kredits-web/components/topbar-account-panel/template.js","kredits-web/components/user-avatar/component.js","kredits-web/components/user-avatar/template.js","kredits-web/controllers/application.js","kredits-web/controllers/contributions/new.js","kredits-web/controllers/contributions/resubmit.js","kredits-web/controllers/contributors/edit.js","kredits-web/controllers/contributors/new.js","kredits-web/controllers/dashboard.js","kredits-web/controllers/dashboard/contributions/show.js","kredits-web/controllers/dashboard/contributors/show.js","kredits-web/helpers/and.js","kredits-web/helpers/app-version.js","kredits-web/helpers/await.js","kredits-web/helpers/cancel-all.js","kredits-web/helpers/capitalize-string.js","kredits-web/helpers/eq.js","kredits-web/helpers/fmt-crypto-currency.js","kredits-web/helpers/fmt-date-localized.js","kredits-web/helpers/fmt-fiat-currency.js","kredits-web/helpers/gt.js","kredits-web/helpers/gte.js","kredits-web/helpers/is-after.js","kredits-web/helpers/is-array.js","kredits-web/helpers/is-before.js","kredits-web/helpers/is-between.js","kredits-web/router.js","kredits-web/routes/application.js","kredits-web/routes/budget.js","kredits-web/routes/budget/expenses.js","kredits-web/routes/contributions/new.js","kredits-web/routes/dashboard.js","kredits-web/routes/reimbursements/new.js","kredits-web/routes/signup/account.js","kredits-web/helpers/is-confirmed-contribution.js","kredits-web/helpers/is-current-user.js","kredits-web/helpers/is-empty.js","kredits-web/helpers/is-equal.js","kredits-web/helpers/is-fulfilled.js","kredits-web/helpers/is-pending.js","kredits-web/helpers/is-rejected.js","kredits-web/helpers/is-same-or-after.js","kredits-web/helpers/is-same-or-before.js","kredits-web/helpers/is-same.js","kredits-web/helpers/item-status.js","kredits-web/helpers/lt.js","kredits-web/helpers/lte.js","kredits-web/helpers/moment-add.js","kredits-web/helpers/moment-calendar.js","kredits-web/helpers/moment-diff.js","kredits-web/helpers/moment-duration.js","kredits-web/helpers/moment-format.js","kredits-web/helpers/moment-from-now.js","kredits-web/helpers/moment-from.js","kredits-web/helpers/moment-subtract.js","kredits-web/helpers/moment-to-date.js","kredits-web/helpers/moment-to-now.js","kredits-web/helpers/moment-to.js","kredits-web/helpers/moment-unix.js","kredits-web/helpers/moment.js","kredits-web/helpers/not-eq.js","kredits-web/helpers/not.js","kredits-web/helpers/now.js","kredits-web/helpers/or.js","kredits-web/services/browser-cache.js","kredits-web/services/community-funds.js","kredits-web/services/exchange-rates.js","kredits-web/helpers/perform.js","kredits-web/helpers/promise-all.js","kredits-web/helpers/promise-hash.js","kredits-web/helpers/promise-rejected-reason.js","kredits-web/helpers/sats-to-btc.js","kredits-web/helpers/task.js","kredits-web/helpers/unix.js","kredits-web/helpers/utc.js","kredits-web/helpers/xor.js","kredits-web/initializers/app-version.js","kredits-web/initializers/container-debug-adapter.js","kredits-web/initializers/ember-concurrency.js","kredits-web/initializers/export-application-global.js","kredits-web/models/contribution.js","kredits-web/models/contributor.js","kreditLine truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

+3 -3
View File
@@ -8,10 +8,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="kredits-web/config/environment" content="%7B%22modulePrefix%22%3A%22kredits-web%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%2F%22%2C%22locationType%22%3A%22auto%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_DEFAULT_ASYNC_OBSERVERS%22%3Atrue%2C%22_JQUERY_INTEGRATION%22%3Afalse%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22name%22%3A%22kredits-web%22%2C%22version%22%3A%222.0.0%2Bbdeab512%22%7D%2C%22web3ProviderUrl%22%3A%22https%3A%2F%2Frsk-testnet.kosmos.org%22%2C%22web3ChainId%22%3A31%2C%22web3NetworkName%22%3A%22RSK%20Testnet%22%2C%22githubConnectUrl%22%3A%22https%3A%2F%2Fhal8000.kosmos.chat%2Fkredits%2Fsignup%2Fconnect%2Fgithub%22%2C%22githubSignupUrl%22%3A%22https%3A%2F%2Fhal8000.kosmos.chat%2Fkredits%2Fsignup%2Fgithub%22%2C%22ipfs%22%3A%7B%22host%22%3A%22ipfs.kosmos.org%22%2C%22port%22%3A%225444%22%2C%22protocol%22%3A%22https%22%2C%22gatewayUrl%22%3A%22https%3A%2F%2Fipfs.kosmos.org%2Fipfs%22%7D%2C%22tokens%22%3A%7B%22BTC%22%3A%220x2260fac5e5542a773aa44fbcfedf7c193bc2c599%22%7D%2C%22btcBalanceAPI%22%3A%22https%3A%2F%2Fapi.kosmos.org%2Fkredits%2Fonchain_btc_balance%22%2C%22corsProxy%22%3A%22https%3A%2F%2Fcors.5apps.com%2F%3Furi%3D%22%2C%22exportApplicationGlobal%22%3Afalse%7D" />
<meta name="kredits-web/config/environment" content="%7B%22modulePrefix%22%3A%22kredits-web%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%2F%22%2C%22locationType%22%3A%22auto%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_DEFAULT_ASYNC_OBSERVERS%22%3Atrue%2C%22_JQUERY_INTEGRATION%22%3Afalse%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22name%22%3A%22kredits-web%22%2C%22version%22%3A%222.1.1%2B5c9fbf50%22%7D%2C%22web3ProviderUrl%22%3A%22https%3A%2F%2Frsk-testnet.kosmos.org%22%2C%22web3ChainId%22%3A31%2C%22web3NetworkName%22%3A%22RSK%20Testnet%22%2C%22githubConnectUrl%22%3A%22https%3A%2F%2Fhal8000.kosmos.chat%2Fkredits%2Fsignup%2Fconnect%2Fgithub%22%2C%22githubSignupUrl%22%3A%22https%3A%2F%2Fhal8000.kosmos.chat%2Fkredits%2Fsignup%2Fgithub%22%2C%22ipfs%22%3A%7B%22host%22%3A%22ipfs.kosmos.org%22%2C%22port%22%3A%225444%22%2C%22protocol%22%3A%22https%22%2C%22gatewayUrl%22%3A%22https%3A%2F%2Fipfs.kosmos.org%2Fipfs%22%7D%2C%22tokens%22%3A%7B%22BTC%22%3A%220x2260fac5e5542a773aa44fbcfedf7c193bc2c599%22%7D%2C%22communityFundsAPI%22%3A%7B%22balances%22%3A%7B%22onchain%22%3A%7B%22icon%22%3A%22icon-btc.png%22%2C%22symbol%22%3A%22BTC%22%2C%22description%22%3A%22BTC%20on%20chain%22%2C%22url%22%3A%22https%3A%2F%2Fapi.kosmos.org%2Fbtcpay%2Fonchain_btc_balance%22%7D%2C%22lightning%22%3A%7B%22icon%22%3A%22icon-btc-lightning.png%22%2C%22symbol%22%3A%22BTC%22%2C%22description%22%3A%22BTC%20on%20Lightning%20Network%22%2C%22url%22%3A%22https%3A%2F%2Fapi.kosmos.org%2Fbtcpay%2Flightning_btc_balance%22%7D%7D%7D%2C%22corsProxy%22%3A%22https%3A%2F%2Fcors.5apps.com%2F%3Furi%3D%22%2C%22exportApplicationGlobal%22%3Afalse%7D" />
<link integrity="" rel="stylesheet" href="/assets/vendor-ca96b2e19fc9f356e3dbad90c9f3f323.css">
<link integrity="" rel="stylesheet" href="/assets/kredits-web-f21602587acec9a1744c244385a83592.css">
<link integrity="" rel="stylesheet" href="/assets/kredits-web-950f3a97cf1dfead67fdfdc4f5dc1cfb.css">
@@ -25,7 +25,7 @@
<script src="/assets/vendor-4d87b3e0995c5bb18e46836a089900a4.js" integrity="sha256-5WmWY05Kd+n98Sw0GwuaWodmDVBZ2yVGGtC/2owVfQE= sha512-tiGPA5zvfhnSC9LPTmpvXJmOu30yhsdPqSiZJMPGmE/ez/xJLMaM29vjs4Cs74cDf6fX4uYSGRIu1KfOyGpJYA==" ></script>
<script src="/assets/kredits-web-ae44ce0c1a892c2da424f8002b037b86.js" integrity="sha256-ZT6R9QwhnMEgs1X3pmlX6Oh5N4zJgXWLF8al8PTOKqk= sha512-BYrlNe9cti4ZEcp//b5FhPGvmAE08vTEC3WT15EpTqTXccNkOqFJuiGob+ymxIDfDzVU6vN8szxCTBOUe61Tmw==" ></script>
<script src="/assets/kredits-web-5b714ebc501e0789ddba130f2a3f10e1.js" integrity="sha256-jb10J7E1WRUc8DztQgvbdsKXYRHqXTqjbap4CVh2AaM= sha512-dx+d1T+WrZs0qG1J4puW0hZEzG2Qh+d5iU3XXnkfkF8ya3lMp/L1xdfzh697Ca5x3/Gw7+j7Mb/LSPUfWuNCEQ==" ></script>
</body>