text:
---
title: "Publish teamsapp"
description: "Publish an app to the Microsoft Teams apps catalog. "
author: "nkramer"
ms.localizationpriority: medium
ms.prod: "microsoft-teams"
doc_type: apiPageType
---

# Publish teamsapp

Namespace: microsoft.graph

Publish an [app](../resources/teamsapp.md) to the Microsoft Teams apps catalog.
Specifically, this API publishes the app to your organization's catalog (the tenant app catalog);
the created resource will have a **distributionMethod** property value of `organization`.

The **requiresReview** property allows any user to submit an app for review by an administrator. Admins can approve or reject these apps via this API or the Microsoft Teams admin center.

## Permissions

One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).

| Permission Type                        | Permissions (from least to most privileged)|
|:----------------------------------     |:-------------|
| Delegated (work or school account) | AppCatalog.Submit, AppCatalog.ReadWrite.All, Directory.ReadWrite.All** |
| Delegated (personal Microsoft account) | Not supported|
| Application                            | Not supported. |

> **Note**: Permissions marked with ** are supported only for backward compatibility. We recommend that you update your solutions to use an alternative permission listed in the previous table and avoid using these permissions going forward.

## HTTP request
<!-- { "blockType": "ignored" } -->
```http
POST /appCatalogs/teamsApps
```

To publish an app that requires a review:

```http
POST /appCatalogs/teamsApps?requiresReview:{Boolean}
```

## Query parameters

|Property|Type|Description|
|----|----|----|
|requiresReview| Boolean | This optional query parameter triggers the app review process. Users with admin privileges can submit apps without triggering a review. If users want to request a review before publishing, they must set  `requiresReview` to `true`. A user who has admin privileges can opt not to set `requiresReview` or set the value to `false`  and the app will be considered approved and will publish instantly.|

## Request headers

| Header        | Value           |
|:--------------|:--------------  |
| Authorization | Bearer {token}. Required.  |
| Content-Type  | application/zip. Required. |

## Request body

In the request body, include a Teams zip manifest payload. For details, see [Create an app package](/microsoftteams/platform/concepts/apps/apps-package).

Each app in the app catalog must have a unique manifest ID.

## Response

If successful, this method returns a `200 OK` response code and a [teamsApp](../resources/teamsapp.md) object.

## Examples

### Example 1: Publish an app to the app catalog

#### Request

# [HTTP](#tab/http)
<!-- {
  "blockType": "request",
  "name": "create_teamsapp_1"
}-->

```http
POST https://graph.microsoft.com/v1.0/appCatalogs/teamsApps
Content-type: application/zip

[Zip file containing a Teams app package]
```

#### Response

<!-- {
  "blockType": "response",
<EMAIL_ADDRESS>"microsoft.graph.teamsApp",
  "truncated": true
} -->

```http
HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "e3e29acb-8c79-412b-b746-e6c39ff4cd22",
  "externalId": "b5561ec9-8cab-4aa3-8aa2-d8d7172e4311",
  "name": "Test App",
  "version": "1.0.0",
  "distributionMethod": "organization"
}
```

### Example 2: Upload a new application for review to an organization's app catalog

#### Request

# [HTTP](#tab/http)
<!-- {
  "blockType": "request",
  "name": "create_teamsapp_2"
}-->

```http
POST https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?requiresReview=true
Content-type: application/zip
```

#### Response

<!-- {
  "blockType": "response",
<EMAIL_ADDRESS>"microsoft.graph.teamsApp",
  "truncated": true
} -->

```http
HTTP/1.1 201 Created
Location: https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/e3e29acb-8c79-412b-b746-e6c39ff4cd22

{
<EMAIL_ADDRESS>"https://graph.microsoft.com/v1.0/$metadata#appCatalogs/teamsApps/$entity",
  "id": "e3e29acb-8c79-412b-b746-e6c39ff4cd22",
  "externalId": "b5561ec9-8cab-4aa3-8aa2-d8d7172e4311",
  "name": "Test App",
  "version": "1.0.0",
  "distributionMethod": "organization"
}
```

### Example 3: Approve or reject an app pending review

#### Request

<!-- {
  "blockType": "request",
  "name": "create_teamsapp_3",
  "sampleKeys": ["a761ad07-22ef-4a53-9feb-2837c8ad4a84", "YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjU3VibWl0dGVk"]
}-->

```http
PATCH https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/a761ad07-22ef-4a53-9feb-2837c8ad4a84/appDefinitions/YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjU3VibWl0dGVk
Content-type: application/json
If-Match: InFtSStsNVJHVWdzWUJRU2ZVWGp4RWc9PSI=

{
  "publishingState":"published"
}
```

---

#### Response

<!-- {
  "blockType": "response",
<EMAIL_ADDRESS>"microsoft.graph.teamsApp",
  "truncated": true
} -->

```http
HTTP/1.1 200 OK
Content-type: application/json

{
<EMAIL_ADDRESS>"https://graph.microsoft.com/v1.0/$metadata#appCatalogs/teamsApps('a761ad07-22ef-4a53-9feb-2837c8ad4a84')/appDefinitions/$entity",
    "id": "YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjUHVibGlzaGVk",
    "teamsAppId": "a761ad07-22ef-4a53-9feb-2837c8ad4a84",
    "azureADAppId": null,
    "displayName": "Ducks",
    "version": "1.1.8",
    "requiredResourceSpecificApplicationPermissions": [],
    "publishingState": "published",
    "shortDescription": "quaerat quasi magnam. slight change. 5",
    "description": "Aliquid placeat animi debitis accusamus. Non perferendis ullam. Quis est consequuntur vitae provident. Sunt laudantium id aut. slight change 5",
    "lastModifiedDateTime": null,
    "createdBy": null
}
```

repository: microsoftgraph/msgraph-sdk-dotnet

branch_name: refs/heads/dev

gha_license_id: NOASSERTION

repo_name: microsoftgraph/msgraph-sdk-dotnet


text:
to dos
readme
# of items in cart in nav bar
clean up css (see below)
edit user info
checkout
more products?
pagination for more products

notes
foreman start -p 3000 -f Procfile.dev
heroku run rails console --app="rr-ecommerce"

"build": "bundle exec rails s -p 3001 && cd client && npm start",

foreman procfile
web: cd client && npm start
api: bundle exec rails s -p 3001

heroku procfile
web: bundle exec rails s
release: bin/rake db:migrate

Adding a Stylesheet
This project setup uses Webpack for handling all assets. Webpack offers a custom way of “extending” the concept of import beyond JavaScript. To express that a JavaScript file depends on a CSS file, you need to import the CSS from the JavaScript file:

Button.css
.Button {
  padding: 20px;
}
Button.js
import React, { Component } from 'react';
import './Button.css'; // Tell Webpack that Button.js uses these styles

class Button extends Component {
  render() {
    // You can use them as regular CSS styles
    return <div className="Button" />;
  }
}

license: MIT

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
Vidi [![Build Status](https://ci.inria.fr/pharo-contribution/buildStatus/icon?job=Vidi)](https://ci.inria.fr/pharo-contribution/job/Vidi/)
====

Download [latest version for Pharo4 from CI server](https://ci.inria.fr/pharo-contribution/job/Vidi/PHARO=40,VERSION=development,VM=vm/lastSuccessfulBuild/artifact/Vidi.zip).

Or execute in your image:

    Gofer new
      smalltalkhubUser: 'YuriyTymchuk'
      project: 'Configuration';
      configurationOf: 'Vidi';
      load.
    #ConfigurationOfVidi asClass loadStable

How to use:
-----------
From world menu select _New review session_, add packages that you want to review and proceed to the next step. ViDI will check selected packages with Smalllint rules and display the reviewing interface.
![start session](media/how-to1.png)

Review sessions can be browsed by selecting _Browse sessions_ form the world menu. A [GTInspector](http://gt.moosetechnology.org) showing the list of session will open. Each session's view also provides graphs about review activity. Events on the graphs can be selected to view additional information about them such as diffs. Also each session allows user to reopen review window and to stop the session for the actions displayed with the icons in the top right corner of the session view (in the inspector).
![session inspection](media/how-to2.png)

More:
-----
![Vidi logo](media/logo.png)
V̲i̲sual d̲esign i̲nspector with a block flavor

Colors: `#33aaff` `#ff8833`
(this colors are wrong, in 3D everything changes because of lights and shadows)

repository: Uko/Vidi

repo_name: Uko/Vidi


text:
# LEARNING-BASED LOSSLESS COMPRESSION OF 3D POINT CLOUD GEOMETRY
* **Authors**:
[Dat T. Nguyen](https://scholar.google.com/citations?hl=en&user=uqqqlGgAAAAJ),
[Maurice Quach](https://scholar.google.com/citations?user=atvnc2MAAAAJ),
[Giuseppe Valenzise](https://scholar.google.com/citations?user=7ftDv4gAAAAJ) and
[Pierre Duhamel](https://scholar.google.com/citations?user=gWj_W9YAAAAJ&hl=en&oi=ao)
* **Affiliation**: Université Paris-Saclay, CNRS, CentraleSupélec, Laboratoire des signaux et systèmes, 91190 Gif-sur-Yvette, France
* **Links**: [[Paper]](https://arxiv.org/abs/2011.14700)
## Prerequisites
* Python 3.8
* Tensorflow 2.3.1 with CUDA 10.1.243 and cuDNN 7.6.5

Run command below to install all prerequired packages:

    pip3 install -r requirements.txt

## Prepare datasets
The training data are the .ply files containing x,y,z coordinates of points within a 64x64x64 patch divided from Point Clouds. Our Point Clouds download from [ModelNet40](http://modelnet.cs.princeton.edu),[MPEG 8i](http://plenodb.jpeg.org/pc/8ilabs) and [Microsoft](http://plenodb.jpeg.org/pc/microsoft). The ModelNet40 dataset provides train and test folder separately. For MPEG and Microsoft dataset, you must manually select PCs into train and test. Training data generation is similar to this [repo](https://github.com/mauriceqch/pcc_geo_cnn_v2) for each dataset. The commands below first select 200 densiest Point Clouds (PC) from ModelNet40, convert it from mesh to PC and then divide each PC into occupied blocks of size 64x64x64 voxels (saved in .ply format)

        python ds_select_largest.py datasets/ModelNet40 datasets/ModelNet40_200 200
        python ds_mesh_to_pc.py datasets/ModelNet40_200 datasets/ModelNet40_200_pc512 --vg_size 512
        python ds_pc_octree_blocks.py datasets/ModelNet40_200_pc512 datasets/ModelNet40_200_pc512_oct3 --vg_size 512 --level 3

You only need to run the last command for MPEG and Microsoft after selecting PCs into `train/` and `test/` folder. Note that MPEG 8i and Microsoft are 10-bits point clouds thus, you must change --vg_size to 1024 and --level to 4:

    python ds_pc_octree_blocks.py datasets/MPEG/10bitdepth/ datasets/MPEG/10bitdepth_2_oct4/ --vg_size 1024 --level 4

The `datsets/` folder of MPEG and Microsoft should look like this:

    dataset/
    └── MPEG/
        └── 10bitdepth/              downloaded PCs from MPEG
            ├── train/               contains .ply PCs for training
            └── test/                contains .ply PCs for validation
        └── 10bitdepth_2_oct4/
            ├── train/               contains .ply files of 64x64x64 blocks for training
            └── test/                contains .ply files of 64x64x64 blocks for validation
    └── Microsoft/
        └── 10bitdepth/              downloaded PCs from Microsoft
            ├── train/               contains .ply PCs for training
            └── test/                contains .ply PCs for validation
        └── 10bitdepth_2_oct4/
            ├── train/               contains .ply files of 64x64x64 blocks for training
            └── test/                contains .ply files of 64x64x64 blocks for validation

## Training
Run the following command:

    python3 voxelDNN.py -blocksize 64 -nfilters 64 -inputmodel Model/voxelDNN/ -outputmodel Model/voxelDNN/ -dataset datasets/ModelNet40_200_pc512_oct3/ -dataset datasets/Microsoft/10bitdepth_2_oct4/ -dataset datasets/MPEG/10bitdepth_2_oct4/  -batch 8 -epochs 50

## Encoder
Encoding command:

    python3 voxelCNN_abac_multi_res_acc.py -level 10  -ply TestPC/Microsoft/10bits/phil10/ply/frame0010.ply -model Model/voxelDNN/ -depth 3
Run `python3 voxelCNN_abac_multi_res_acc.py -h` for more details about the arguments. The encoder outputs look like this:

    Encoded file:  TestPC/Microsoft/10bits/phil10/ply/frame0010.ply
    Encoding time:  7440.565563201904
    Models:  Model/voxelDNN/
    Occupied Voxels: 1559008
    Blocks bitstream:  Model/voxelDNN/frame0010/3levels.blocks.bin
    Metadata bitstream Model/voxelDNN/frame0010/3levels.metadata.bin
    Encoding statics:  Model/voxelDNN/frame0010/3levels.static.pkl
    Metadata and file size(in bits):  11780 1283288
    Average bits per occupied voxels: 0.8307
This `Model/voxelDNN/frame0010/3levels.static.pkl` file contains encoding statics for all blocks 64 including partitioning flags, number of occupied voxels and number of bits spent for each child blocks.
## Decoder
The purpose of our decoder is to make sure the bitstream is decodable and the decoded point cloud is identical to the input point cloud. In order to reduce complexity, the decoder use the input PC to predict the probability distributions. We will obtain the exactly the same distributions as sequential prediction from decoded voxels because of the causality contraints is enforced with masked filters. The distributions are then passed to an arithmetic decoder:

    python3 voxelDNN_abac_multi_res_dec.py -ply TestPC/Microsoft/10bits/phil10/ply/frame0010.ply -model Model/voxelDNN/ -output Model/voxelDNN/frame0010/3levels.blocks.bin -metadata Model/voxelDNN/frame0010/3levels.metadata.bin -heatmap Model/voxelDNN/frame0010/3levels.static.pkl
## Citation

    @misc{nguyen2020learningbased,
          title={Learning-based lossless compression of 3D point cloud geometry},
          author={Dat Thanh Nguyen and Maurice Quach and Giuseppe Valenzise and Pierre Duhamel},
          year={2020},
          eprint={2011.14700},
          archivePrefix={arXiv},
          primaryClass={eess.IV}
    }

repository: shengxihua/VoxelDNN

branch_name: refs/heads/main

repo_name: shengxihua/VoxelDNN


text:
# Ordered assertions

The concept of ordered assertions is somewhat complex and nothing that
should be used frequently but there are times when it's really needed.

In FakeItEasy you can assert that calls happened in a specific order
on _more than one_ fake object.

#Details

One area where ordered asserts are useful is when you need to test
that a call to a fake has happened between two other calls. This could
be useful when dealing with transactions or units of work.

```csharp
public interface IUnitOfWorkFactory
{
    IDisposable BeginWork();
}

public interface IDoSomethingPrettyUseful
{
    void JustDoIt();
}

public class Worker
{
    private IUnitOfWorkFactory unitOfWorkFactory;
    private IDoSomethingPrettyUseful usefulCollaborator;

    public Worker(IUnitOfWorkFactory unitOfWorkFactory, IDoSomethingPrettyUseful usefulCollaborator)
    {
        this.unitOfWorkFactory = unitOfWorkFactory;
        this.usefulCollaborator = usefulCollaborator;
    }

    public void JustDoIt()
    {
        using (this.unitOfWorkFactory.BeginWork())
        {
            this.usefulCollaborator.JustDoIt();
        }
    }
}
```

In the following example we'll assert that the call to `usefulCollaborator.JustDoIt()` happened between the calls to `BeginWork` and the `Dispose` method of the returned unit of work.

```csharp
[Test]
public void Should_start_work_within_unit_of_work()
{
    // Arrange
    var unitOfWork = A.Fake<IDisposable>();

    var unitOfWorkFactory = A.Fake<IUnitOfWorkFactory>();
    A.CallTo(() => unitOfWorkFactory.BeginWork()).Returns(unitOfWork);

    var usefulCollaborator = A.Fake<IDoSomethingPrettyUseful>();

    var worker = new Worker(unitOfWorkFactory, usefulCollaborator);

    // Act
    worker.JustDoIt();

    // Assert
    var sequentialCallContext = A.SequentialCallContext();
    A.CallTo(() => unitOfWorkFactory.BeginWork()).MustHaveHappened().InOrder(sequentialCallContext);
    A.CallTo(() => usefulCollaborator.JustDoIt()).MustHaveHappened().InOrder(sequentialCallContext);
    A.CallTo(() => unitOfWork.Dispose()).MustHaveHappened().InOrder(sequentialCallContext);
}
```

In the assertion phase of the test we need to create a "sequential call context" that records the order of the calls that it's examined while verifying that they occurred.

Then to do the assertions we use the regular `MustHaveHappened` call, but chain on `InOrder(sequentialCallContext)` so the assertion verifies not only that that call happened, but that it occurred in the right order _relative other calls that have been asserted against the same sequential call context_.

With the current implementation of the `Worker` the test will pass. But let's change the order of the calls in `JustDoIt`:

```csharp
public void JustDoIt()
{
    using (this.unitOfWorkFactory.BeginWork())
    {

    }
    this.usefulCollaborator.JustDoIt();
}
```

The test will now fail with the following exception message:

<pre>
 Assertion failed for the following calls:
    'OrderedAssertsDemo.IUnitOfWorkFactory.BeginWork()' repeated once
    'OrderedAssertsDemo.IDoSomethingPrettyUseful.JustDoIt()' repeated once
    'System.IDisposable.Dispose()' repeated once
  The calls where found but not in the correct order among the calls:
    1.  'OrderedAssertsDemo.IUnitOfWorkFactory.BeginWork()'
    2.  'System.IDisposable.Dispose()'
    3.  'OrderedAssertsDemo.IDoSomethingPrettyUseful.JustDoIt()'
</pre>

repository: apacha/FakeItEasy

repo_name: apacha/FakeItEasy


text:
# Setup Helm

Helm is a tool for managing Kubernetes charts. Charts are packages of pre-configured Kubernetes resources. helm is still in its infancy and not production ready, documentation can be found [here](https://github.com/kubernetes/helm).

helm can now downloaded from the above mentioned page and installed using the described method in the [install](https://github.com/kubernetes/helm/blob/master/docs/install.md) document.

We do use version 2.0.0-alpha5 of helm, so make sure, that you are using the same or a later version.

repository: beygi/devopskube

repo_name: beygi/devopskube


text:
# MODE Evaluation | Mattr Test
Demo available at http://demo.tannerhodges.com/mattr-test/

Notes:
- Database information is in the includes/ directory.
- DB info ought to be stored in db-config.php. A sample file has been provided in db-config-sample.php.
- db-init.zip contains a SQL dump of the initial database setup.

Goal
----
Build a fully responsive page from a PSD design in the most accurate way possible.

Key Components
---------------------
- Responsive development
- Basic JS methods
- Basic PHP/MySQL execution
- Browser testing techniques

Implemented Features
---------------------
- Signup form with basic validation that stores email addresses in a MySQL database using AJAX and prints back confirmation to the user
- Sticky nav that slides in and out as the user scrolls
- Tyepkit Fonts
- Basic image rollovers
- Lightbox

Future Improvements
-------------------
- Column widths are defined by nth-child(). In order for this to work properly in IE versions 8 and below, separate CSS classes ought to be defined and added via jQuery's nth-child function.
- The hero section's background needs to be updated for cross-browser compatability. IE 8, for example, does not display the background correctly.
- Image replacement ought to be utilized, especially for logo images. E.g, the page's h1 ought to only include "Mattr", which would then be replaced with the appropriate logo image.
- Sprites ought to be utilized, especially for the app feature images. This would also make image rollovers much easier by toggling hover classes rather than updating the img src attribute.

repository: tannerhodges/mode-mattr-test

repo_name: tannerhodges/mode-mattr-test


text:
# PicoCTF 2019 - Irish-Name-Repo 1
Author: PinkNoize

Web Exploitation - 300

> There is a website running at https://2019shell1.picoctf.com/problem/4162/ (link) or http://2019shell1.picoctf.com:4162. Do you think you can log us in? Try to see if you can login!

## TL;DR

This challenge provides a website with an admin panel. SQLi the admin panel for the flag.

# Writeup

Upon loading the supplied webpage, we see a "List 'o the Irish!" We can click the 'hamburger bars' in the top left to find an admin login page. As this is an admin login page, we should try logging as user `admin`. You can guess passwords but it probably won't work.

Typically, users credentials (hopefully some kind of hash) are stored in databases. One class of databases are SQL databases. If the users are stored in a SQL database,  checking if the password is correct will require a query to the database. If this query is not done securely it could be vulnerable to code injection. This is known as [SQL Injection (SQLi)](https://owasp.org/www-community/attacks/SQL_Injection).

If we consider the query that checks the login, it would be something like...

```sql
SELECT * FROM users where user = '<username here>' and pass = '<password here>';
```

To exploit this we could inject code that is always true. For example, let user = `admin` and pass = `' or '1'='1`. When this is added to the query it would look like...

```sql
SELECT * FROM users where user = 'admin' and pass = '' or '1'='1';
```

As `'1' = '1'` is always true, this bypasses the password check. We can do this on the admin login to get the flag, `picoCTF{s0m3_SQL_96ab211c}`.

repository: PinkNoize/ctf-writeups

gha_license_id: MIT

repo_name: PinkNoize/ctf-writeups


text:
---
title: Tab Set
description: The Tab Set displays multiple content areas, which can be viewed by selecting the respective tab.
header: true
---

import { Tab, TabSet } from '@royalnavy/react-component-library'
import DataTable from '../../../components/presenters/data-table'
import CodeHighlighter from '../../../components/presenters/code-highlighter'
import SketchWidget from '../../../components/presenters/sketch-widget'
import TabSetComponent from '../../images/components/tabset/Component'
import TabSetAnatomy from '../../images/components/tabset/Anatomy'
import TabSetStates from '../../images/components/tabset/States'
import TabSetScrollableComponent from '../../images/components/tabset/ScrollableComponent'
import TabSetScrollableAnatomy from '../../images/components/tabset/ScrollableAnatomy'
import TabSetScrollableStates from '../../images/components/tabset/ScrollableStates'

# Overview

<TabSetComponent />

## Usage
The Tab Set component is used to separate content that exists at the same level of hierarchy. It provides easy navigation between these sections.

<TabSet>

<Tab title="Design">

<SketchWidget name="TabSet" href="/design-system.sketch" />

The Tab Set component comes in two distinct varieties - the default Tab Set and the [Scrollable Tab Set](#scrollable-tabs).

### Anatomy

<TabSetAnatomy />

1. **Active Tab**. This shows the user the currently selected tab.
2. **Inactive Tab**. This is the default look for an unselected tab.
3. **Container**. The container wraps the component.

### Sizing & Spacing
The Tab Set component is available in one size. The tabs can accept text, icons, or a combination of both. Ensure the tab text is kept concise - it should clearly describe the content it contains.

### States
The Tab Set component has three states - `default`, `hover`, and `active`.
<TabSetStates />

### Hierarchy & Placement
Tab Sets are used to separate content of the same hierarchy. They should therefore not be nested within each other. If you require child content to be separated, this should be added to a new sub-page, rather than a subset of the Tab Set.

### Scrollable Tabs
Scrollable Tabs are a variation of the Tab Set component, specifically designed for navigating dates.

<TabSetScrollableComponent />

#### Usage
Scrollable tabs are used for date ranges, where the number of dates often exceeds the horizontal width of the Tab Set.

#### Anatomy
<TabSetScrollableAnatomy />

1. **Active Tab**. This shows the user the currently selected tab.
2. **Inactive Tab**. This is the default look for an unselected tab.
3. **Container**. The container wraps the component.
3. **Scroll Buttons**. The Scroll Buttons navigate the tabs, moving the date incrementally by a single value on each click.

#### Sizing & Spacing
The Scrollable Tab Set component is available in one size. The tabs display a date and cannot be customised to accept free text - the only variation allowed is the overall date range (e.g. hour, day, week, or month).

#### States
Much like the default Tab Set component, the Scrollable Tab Set has three states - default, hover, and active.
<TabSetScrollableStates />

#### Hierarchy & Placement
The Scrollable Tab Set is a top level navigational component, so therefore it should not be nested inside any other scrollable Tab Set component.

</Tab>

<Tab title="Develop">
The TabSet (and companion Tab) component allows the user to switch between different sets of related content within a single page.

### Basic Usage
<CodeHighlighter source={`<TabSet>
  <Tab title="Example Tab 1">

This is some example tab 1 content

  </Tab>
  <Tab title="Example Tab 2">

This is some example tab 2 content

  </Tab>
</TabSet>
`} language="javascript">
  <TabSet>
    <Tab title="Example Tab 1">

This is some example tab 1 content

    </Tab>
    <Tab title="Example Tab 2">

This is some example tab 2 content

    </Tab>
  </TabSet>
</CodeHighlighter>

### TabSet Properties
<DataTable data={[
  {
    Name: 'children',
    Type: 'React.ReactElement<TabProps>[]',
    Required: 'True',
    Default: '',
    Description: 'A Tab to include within the TabSet. Must be a Tab component',
  },
  {
    Name: 'className',
    Type: 'string',
    Required: 'False',
    Default: '',
    Description: 'Additional CSS class to modify rn-tab-set',
  },
  {
    Name: 'onChange',
    Type: '(id: number) => void',
    Required: 'False',
    Default: '',
    Description: 'Called when a tab is clicked.',
  },
  {
    Name: 'isScrollable',
    Type: 'boolean',
    Required: 'False',
    Default: 'False',
    Description: 'Adds ability to scroll through a large number of tabs.',
  }
]} />

### Tab Properties
<DataTable data={[
  {
    Name: 'title',
    Type: 'React.ReactElement | string',
    Required: 'True',
    Default: '',
    Description: 'The title to be used for this Tab within the TabSet',
  },
  {
    Name: 'children',
    Type: 'React.ReactElement | string',
    Required: 'True',
    Default: '',
    Description: 'The content to place in the Tab. Any JSX is valid',
  }
]} />

</Tab>
</TabSet>

gha_language: TypeScript


text:
# Docker Images

This repository contains images intended to facilitate building and testing
pi-day on CI platforms. The images are available at:

* <https://hub.docker.com/r/prsam/pi-day/tags>

license: Unlicense

repository: parsa/pi-day

gha_language: CMake

gha_license_id: Unlicense

repo_name: parsa/pi-day


text:
# Memory-Game
The Memory Game is a complete browser-based card matching game (also known as Concentration) build in JavaScript.
But this isn’t just any memory game! It’s a shnazzy, well-designed, feature-packed memory game!

#How to Run the Game
Game can preview Live on the following link:

https://muniba206.github.io/Memory-Game/

Or

Download the project folder to your computer.
Extract all files
Double click index.html file
The game will be opened in your default browser.

#How The Game Works
Enter the game by clicking the start button.
The game board consists of sixteen "cards" arranged in a grid.
The deck is made up of eight different pairs of cards, each with different symbols on one side.
The cards are arranged randomly on the grid with the symbol face down.
The gameplay rules are very simple: flip over two hidden cards at a time to locate the ones that match!

Each turn:

The player flips one card over to reveal its underlying symbol.
The player then turns over a second card, trying to find the corresponding card with the same symbol.
If the cards match, both cards stay flipped over.
If the cards do not match, both cards are flipped face down.
The game ends once all cards have been correctly matched.

#Game Features
- Count your moves
- Live Stopwatch
- Rating System [ Based on your **Moves!** ]
- Retry/Restart the game button

#Dependencies
* [Font Awesome](https://use.fontawesome.com/releases/v5.0.8/js/fontawesome.js).
* [Google Fonts](https://fonts.googleapis.com/css?family=IBM+Plex+Mono).


text:
# Coffeekraken scrollbar webcomponent

![npm](https://img.shields.io/npm/l/@coffeekraken/scrollbar-webcomponent?style=flat-square)
![npm](https://img.shields.io/npm/v/@coffeekraken/scrollbar-webcomponent?style=flat-square)
![npm](https://img.shields.io/npm/dw/@coffeekraken/scrollbar-webcomponent?style=flat-square)

Simple webcomponent that let you skin the scrollbar as you want. It use internally the nice [simplebar](https://github.com/Grsmto/simplebar/tree/v2.5.0) library

## Features

- Easily customize a scrollbar element
- Automatically transfert the paddings apply on the element to the corresponding inner container to avoid visual issues

## Table of content

1. [Install](#readme-install)
2. [Get Started](#readme-get-started)
3. [SCSS API](doc/src/scss)
4. [Javascript API](doc/src/js)
5. [Coffeekraken](#readme-coffeekraken)

## Install

```
npm install @coffeekraken/scrollbar-webcomponent --save
```

## Get Started

First, import the component into your javascript file like so:

```js
import ScrollbarWebcomponent from '@coffeekraken/scrollbar-webcomponent'
```

Then simply use it inside your html like so:

```html
<ck-scrollbar style="height:300px">
	<!-- any content here... -->
</ck-scrollbar>
```

# Coffeekraken

We are a young collective of front-end creative developers with one goal in mind. Build tools to make every team working day life better. This is our first and only concern. All our tools are build around that purpose.
All what we provide are some cool tools that you can use the way you want. These tools features cover a large scope of the front-end workflow (styleguide generation, colors/fonts management, etc...). You can use only the parts that you need and let the rest aside...

[![Coffeekraken](.resources/coffeekraken-logo.jpg)](https://coffeekraken.io)

repository: jd-buzz/coffeekraken

repo_name: jd-buzz/coffeekraken


text:
Fixing golang webdav to actually work, which had a BSD license.

Refactoring is needed to properly make a real implementation that efficiently wraps a volume mount, and respects a permission system of some kind.  There still needs to be a way to make dead properties actually work.

The existing Google implementation punts on actually implementing dead properties.  It only has an in-memory implementation of locking, which won't work when the server is scaled up to multiple instances.  And it doesn't have any kind of permission system hooks.  There are cases where the distinction between a file not found vs not allowed is crucial.

```
# login as user "rob" with any password to test volume mounting
./run
```

> This is stable on Linux.  Under MacOS, the mount tends to freeze after stopping and starting it a few times.

Log in as any user/password you want.  This default implementation isn't checking anything yet.

- Under Linux go map `davs://localhost:8000` to your file explorer, and ensure that you can do full editing on the directory, creating files, launching files.

- Under MacOS go map `https://localhost:8000` to your file explorer.

Use xmllint to see output for listings in xml:

```
apt-get install libxml2-utils
```

Example of a curl call that dumps xml:

```
curl -X PROPFIND -u "rob:rob" -k https://localhost:8000/pic.jpg | xmllint --format -

```
...
```xml
<?xml version="1.0" encoding="UTF-8"?>
<D:multistatus xmlns:D="DAV:">
  <D:response>
    <D:href>/pic.jpg</D:href>
    <D:propstat>
      <D:prop>
        <D:resourcetype/>
        <D:getcontentlength>598316</D:getcontentlength>
        <D:getcontenttype>image/jpeg</D:getcontenttype>
        <D:getetag>"16aa7a355f4b46c79212c"</D:getetag>
        <D:getlastmodified>Sun, 03 Oct 2021 09:09:44 GMT</D:getlastmodified>
        <D:supportedlock>
          <D:lockentry xmlns:D="DAV:">
            <D:lockscope>
              <D:exclusive/>
            </D:lockscope>
            <D:locktype>
              <D:write/>
            </D:locktype>
          </D:lockentry>
        </D:supportedlock>
        <D:displayname>pic.jpg</D:displayname>
        <D:policyLanguage>openpolicyagent</D:policyLanguage>
      </D:prop>
      <D:status>HTTP/1.1 200 OK</D:status>
    </D:propstat>
  </D:response>
</D:multistatus>

```

repository: rfielding/webdev

repo_name: rfielding/webdev


text:
# FlareClusterLayer
This is a custom graphics layer that inherits from ArcGIS js graphics layer. Clustering is nothing special but I couldn't find an arcgis js api layer that clustered with flares...like the Silverlight Flare Clusters, which is why I created this.

The clustering is performed using a grid system based on the current extent, the pixel dimensions of the map and a configurable cluster ratio that can be set to suit a data set.

## Features

- Clustering can be performed by the layer by passing it a dataset, or it can display pre-clustered data if your data is already grouped into clusters (server side clustering).

- Flares (really just circles positioned around the cluster graphic) will be created for individual points when the cluster contains <= a configured amount of points. Selecting these clusters will open an info window for the object.

- Flares can also be created for counts of sub types. For example, if all of your data objects contain a property called 'Type', you can create flares for large clusters that contain the count of each unique value of the property 'Type'.

- The boundary of the points in a cluster can also be displayed as a polygon behind the flare with a separate renderer to style however you like. They can be displayed on hover, tap, all the time or not at all.

- Summary flares with the text '...' and a tooltip containing all data will be created if there's too many to fit in the configured total amount of flares to display.

- Configure the symbology to be whatever you want by using a renderer for the clusters and single symbols and an optional second renderer for the cluster boundaries.

All of the options are explained in the constructor of the layer so just check out the code for a full explanation.
A demo is here: http://flareclusterlayer.azurewebsites.net/

Have a look at index.html for an example of how to use. It's the same as the demo link.

Enjoy!

repository: snydesc/FlareClusterLayer

repo_name: snydesc/FlareClusterLayer


text:
# Run native HLF operations
To help customers get started with executing Hyperledger native commands on HLF network on AKS. The sample application is provided that uses fabric NodeJS SDK to perform the HLF operations. The commands are provided to Create new user identity and install your own chaincode.

### Before you begin
Follow the below commands for the initial setup of the application:

- [ Download application files](#downloadFiles)
- [ Generate connection profile and admin profile](#profileGen)
- [Import admin user identity](#importAdmin)

After completing the initial setup, you can use the SDK to achieve the below operations:
-  [User identity generation](#fabricca)
-  [Chaincode operations](#chaincode)

The above-mentioned commands can be executed from Azure Cloud Shell.

### Download application files
The first setup for running application is to download all the application files in a folder say ```app```.

Create ```app``` folder and enter into the folder:
```bash
mkdir app
cd app
```

Execute below command to download all the required files and packages:
```bash
curl https://raw.githubusercontent.com/Azure/Hyperledger-Fabric-on-Azure-Kubernetes-Service/master/application/setup.sh | bash
```

This command takes some time as it loads all the packages. After successful execution of the command, you can see a ```node_modules``` folder in the current directory. All the required packages are loaded in the ```node_modules``` folder.

### Generate connection profile and admin profile
Create ```profile``` directory inside the ```app``` folder
```bash
cd app
mkdir ./profile
```

Set these environment variables on Azure cloud shell
```bash
# Organization name whose connection profile is to be generated
ORGNAME=<orgname>
# Organization AKS cluster resource group
AKS_RESOURCE_GROUP=<resourceGroup>
```

Execute below comand to generate connection profile and admin profile of the organization
```bash
./getConnector.sh $AKS_RESOURCE_GROUP | sed -e "s/{action}/gateway/g"| xargs curl > ./profile/$ORGNAME-ccp.json
./getConnector.sh $AKS_RESOURCE_GROUP | sed -e "s/{action}/admin/g"| xargs curl > ./profile/$ORGNAME-admin.json
./getConnector.sh $AKS_RESOURCE_GROUP | sed -e "s/{action}/msp/g"| xargs curl > ./profile/$ORGNAME-msp.json
```
It will create connection profile,admin profile and msp profile of the organization inside the ```profile``` folder with name ```<orgname>-ccp.json``` and ```<orgname>-admin.json``` respectively.

Similarly, generate connection profile, admin profile and msp profile for each orderer and peer organization.

### Import admin user identity
The last step is to import organization's admin user identity in the wallet.

```
npm run importAdmin -- -o <orgName>
```
The above command executes importAdmin.js to import the admin user identity into the wallet. The script reads admin identity from the admin profile ```<orgname>-admin.json``` and imports it in wallet for executing HLF operations.

The scripts use file system wallet to store the identites. It creates a wallet as per the path specified in ".wallet" field in the connection profile. By default, ".wallet" field is initalized with ```<orgname>```, which means a folder named ```<orgname>``` is created in the current directory to store the identities. If you want to create wallet at some other path, modify ".wallet" field in the connection profile before running enroll admin user and any other HLF operations.

Similarly, import admin user identity for each organization.

Refer command help for more details on the arguments passed in the command
```
npm run importAdmin -- -h
```

### User identity generation
Execute below commands in the given order to generate new user identites for the HLF organization.

> **_Note:_** Before starting with user identity generation steps, ensure that the initial setup of the application is done.

#### Set below enviroment variables on azure cloud shell
```
# Organization name for which user identity is to be generated
ORGNAME=<orgname>
# Name of new user identity. Identity will be registered with the Fabric-CA using this name.
USER_IDENTITY=<username>
```
#### Register and enroll new user
To register and enroll new user, execute the below command that executes registerUser.js. It saves the generated user identity in the wallet.
```bash
npm run registerUser -- -o $ORGNAME -u $USER_IDENTITY
```
> **_Note:_** Admin user identity is used to issue register command for the new user. Hence, it is mandatory to have the admin user identity in the wallet before executing this command. Otherwise, this command will fail.

Refer command help for more details on the arguments passed in the command
```bash
npm run registerUser -- -h
```

### Consortium Creation

    cd Hyperledger-Fabric-On-AKS/azhlfTool
    npm install
    npm run setup
Set up environment variables
Set environment variables for the orderer organization's client

    ORDERER_ORG_SUBSCRIPTION=<ordererOrgSubscription>
    ORDERER_ORG_RESOURCE_GROUP=<ordererOrgResourceGroup>
    ORDERER_ORG_NAME=<ordererOrgName>
    ORDERER_ADMIN_IDENTITY="admin.$ORDERER_ORG_NAME"
    CHANNEL_NAME=<channelName>

Set environment variables for the peer organization's client

    PEER_ORG_SUBSCRIPTION=<peerOrgSubscritpion>
    PEER_ORG_RESOURCE_GROUP=<peerOrgResourceGroup>
    PEER_ORG_NAME=<peerOrgName>
    PEER_ADMIN_IDENTITY="admin.$PEER_ORG_NAME"
    CHANNEL_NAME=<channelName>

Set environment variables for an Azure storage account

    STORAGE_SUBSCRIPTION=<subscriptionId>
    STORAGE_RESOURCE_GROUP=<azureFileShareResourceGroup>
    STORAGE_ACCOUNT=<azureStorageAccountName>
    STORAGE_LOCATION=<azureStorageAccountLocation>
    STORAGE_FILE_SHARE=<azureFileShareName>

Use the following commands to create an Azure storage account. If you already have Azure storage account, skip this step.

    az account set --subscription $STORAGE_SUBSCRIPTION
    az group create -l $STORAGE_LOCATION -n $STORAGE_RESOURCE_GROUP
    az storage account create -n $STORAGE_ACCOUNT -g  $STORAGE_RESOURCE_GROUP -l $STORAGE_LOCATION --sku Standard_LRS

Use the following commands to create a file share in the Azure storage account. If you already have a file share, skip this step.

    STORAGE_KEY=$(az storage account keys list --resource-group $STORAGE_RESOURCE_GROUP  --account-name $STORAGE_ACCOUNT --query "[0].value" | tr -d '"')
    az storage share create  --account-name $STORAGE_ACCOUNT  --account-key $STORAGE_KEY  --name $STORAGE_FILE_SHARE

Use the following commands to generate a connection string for an Azure file share.

    STORAGE_KEY=$(az storage account keys list --resource-group $STORAGE_RESOURCE_GROUP  --account-name $STORAGE_ACCOUNT --query "[0].value" | tr -d '"')
    SAS_TOKEN=$(az storage account generate-sas --account-key $STORAGE_KEY --account-name $STORAGE_ACCOUNT --expiry `date -u -d "1 day" '+%Y-%m-%dT%H:%MZ'` --https-only --permissions lruwd --resource-types sco --services f | tr -d '"')
    AZURE_FILE_CONNECTION_STRING=https://$STORAGE_ACCOUNT.file.core.windows.net/$STORAGE_FILE_SHARE?$SAS_TOKEN

#### Import an organization connection profile, admin user identity, and MSP

Use the following commands to fetch the organization's connection profile, admin user identity, and Managed Service Provider (MSP) from the Azure Kubernetes Service cluster and store these identities in the client application's local store. An example of a local store is the azhlfTool/stores directory.

For the orderer organization:

    ./azhlf adminProfile import fromAzure -o $ORDERER_ORG_NAME -g $ORDERER_ORG_RESOURCE_GROUP -s $ORDERER_ORG_SUBSCRIPTION
    ./azhlf connectionProfile import fromAzure -g $ORDERER_ORG_RESOURCE_GROUP -s $ORDERER_ORG_SUBSCRIPTION -o $ORDERER_ORG_NAME
    ./azhlf msp import fromAzure -g $ORDERER_ORG_RESOURCE_GROUP -s $ORDERER_ORG_SUBSCRIPTION -o $ORDERER_ORG_NAME

For the peer organization:

    ./azhlf adminProfile import fromAzure -g $PEER_ORG_RESOURCE_GROUP -s $PEER_ORG_SUBSCRIPTION -o $PEER_ORG_NAME
    ./azhlf connectionProfile import fromAzure -g $PEER_ORG_RESOURCE_GROUP -s $PEER_ORG_SUBSCRIPTION -o $PEER_ORG_NAME
    ./azhlf msp import fromAzure -g $PEER_ORG_RESOURCE_GROUP -s $PEER_ORG_SUBSCRIPTION -o $PEER_ORG_NAME

#### Add a peer organization for consortium management

Run the following commands in the given order to add a peer organization in a channel and consortium:

From the peer organization's client, upload the peer organization's MSP on Azure Storage.

    ./azhlf msp export toAzureStorage -f  $AZURE_FILE_CONNECTION_STRING -o $PEER_ORG_NAME

From the orderer organization's client, download the peer organization's MSP from Azure Storage. Then issue the command to add the peer organization in the channel and consortium.

    ./azhlf msp import fromAzureStorage -o $PEER_ORG_NAME -f $AZURE_FILE_CONNECTION_STRING
    ./azhlf consortium join -o $ORDERER_ORG_NAME  -u $ORDERER_ADMIN_IDENTITY -p $PEER_ORG_NAME

#### Navigate

Navigate to setupcli for channel and chaincode operations

    cd ..
    cd <rootDir>/Hyperledger-Fabric-On-AKS/setupFabricCli


text:
# fpdf
FPDF is a PHP class which allows to generate PDF files with pure PHP. F from FPDF stands for Free: you may use it for any kind of usage and modify it to suit your needs. http://www.fpdf.org

## Installation

```bash
composer require paliari/fpdf

```

## Usage

```php
<?php
require __DIR__ . '/vendor/autoload.php';

$pdf = new \Fpdf\Fpdf();
$pdf->setFont('Arial');
$pdf->addPage();
$pdf->cell(190, 10, 'Batata frita', 1);

/**
* I: send the file inline to the browser.
* D: download.
* F: save to a local file with the name.
* S: return the document as a string.
*/
$pdf->output('I');

```

repository: paliari/fpdf

repo_name: paliari/fpdf


text:
---
layout: post
title: Hello World
image: /images/2015-06-26-Hello-World/hello.jpg
author: Christopher Thomas
excerpt: FoxGuard Solutions is excited to debut its developers blog as a place to showcase the contributions made by our software development team.

---

![Cover]({{ site.baseurl }}/images/2015-06-26-Hello-World/hello.jpg "Immagine introduttiva")

Every online presence must begin somewhere. As this is a development blog it seems only fitting that it begin with the phrase "Hello World."  For decades a simple program announcing exactly that has been the first step of many a student into the murky waters of the computing sciences.

FoxGuard Solutions is company focused upon cybersecurity and compliance solutions.  While you will find some information on those subjects here, the purpose of this site is not to discuss these but rather to focus upon the craft of software development which underpins these broader corporate objectives.

Note that opinions expressed here are not necessarily those of FoxGuard Solutions or its owners.  If you're looking for something more along the lines of the company writ large check out [the company blog](http://www.ccs-inc.com/blog).


text:
# Project 1

## Project 1 Description

This project consists of 3 parts - two required and one bonus and is worth 15% of your grade.  The project is due at 11:59 PM on Sunday March 31.  I will accept late submissions with a penalty until the meetup after that when we review some projects.

Part A – ATM Forecast, ATM624Data.xlsx

In part A, I want you to forecast how much cash is taken out of 4 different ATM machines for May 2010.  The data is given in a single file.  The variable ‘Cash’ is provided in hundreds of dollars, other than that it is straight forward.   I am being somewhat ambiguous on purpose to make this have a little more business feeling.  Explain and demonstrate your process, techniques used and not used, and your actual forecast.  I am giving you data via an excel file, please provide your written report on your findings, visuals, discussion and your R code via an RPubs link along with the actual.rmd file  Also please submit the forecast which you will put in an Excel readable file.

Part B – Forecasting Power, ResidentialCustomerForecastLoad-624.xlsx

Part B consists of a simple dataset of residential power usage for January 1998 until December 2013.  Your assignment is to model these data and a monthly forecast for 2014.  The data is given in a single file.  The variable ‘KWH’ is power consumption in Kilowatt hours, the rest is straight forward.    Add this to your existing files above.

Part C – BONUS, optional (part or all), Waterflow_Pipe1.xlsx and Waterflow_Pipe2.xlsx

Part C consists of two data sets.  These are simple 2 columns sets, however they have different time stamps.  Your optional assignment is to time-base sequence the data and aggregate based on hour (example of what this looks like, follows).  Note for multiple recordings within an hour, take the mean.  Then to determine if the data is stationary and can it be forecast.  If so, provide a week forward forecast and present results via Rpubs and .rmd and the forecast in an Excel readable file.

File
ATM data
File
Power data
File
Water pipes 1 data
File
Water pipes 2 data

path: /Project_1/Project 1 .md

filename: Project 1 .md


text:
# fortress-saml-sample REGISTER-SSOCIRCLE

 This document describes the steps to register for a new account and load your service provider metadata at ssocircle.com.  This websute will act as the *Identity Provider* **(IdP)** with your fortress-saml-demo *Service Provider* **(SP)**

-------------------------------------------------------------------------------
## Prerequisites
 Completion of the steps under [SPRING-SECURITY-SAML2-SAMPLE.md](SPRING-SECURITY-SAML2-SAMPLE.md) document.

-------------------------------------------------------------------------------

## How to enable a new account on SSOCircle.com

#### 1. Goto website:

 [http://www.ssocircle.com](http://www.ssocircle.com)

#### 2. Click on **Signin/Register**->**Register** menu option.

#### 3. Fill in the info in the web form:

 ![SSO Circle Registration page](src/main/javadoc/doc-files/SSO-Circle-Registration.png "Registration Page")

 ```
 User Name [a-zA-Z.-]:
 this is the userid you will use to log into the SSO Circle Identity Provider (IdP)

 Required Field Password - at least 8 characters:
 this is the password you will use to log into the IdP

 Required Field First Name:
 enter anything

 Required Field Last Name:
 enter: sam*

 this field maps to a fortress userId.  For now enter 'sam*' who will be allowed full access to fortress-saml-sample web app.

 Required Field Full Name:
 anything

 Required Field Email Address:
 this email address must be valid.  it is needed for registration confirmation later.
 ```
 **Remember**: the values entered into **User Name**, **Password** and **Last Name**.

 **Note**: the *Last Name* attribute at ssocircle.com website will be used to map to a fortress *userId*, and will be sent inside the saml assertion.  Use the sam* user who will be allowed full access to fortress-saml-sample web app.

#### 4. complete the registration via confirmation message sent to email address entered above.

#### 5. login into SSOCircle.com IdP

 Enter the **User Name** and **Password** from above.

 ![SSO Circle Login page](./src/main/javadoc/doc-files/SSO-Circle-Login.png "Login Page")

#### 6. Add Service Provider Metadata to SSOCircle.com

 a. click on **Manage Metadata**

 b. click on **Add new Service Provider**

 ![SSO Circle Manage Metadata page](./src/main/javadoc/doc-files/SSO-Circle-Metadata.png "Manager Metadata")

 c. Enter the FQDN of the ServiceProvider ex.: sp.cohos.de

 enter hostname for your tomcat machine

 **Use previous value**: The host-name used here must match that created during SP metadata gen step here: [SPRING-SECURITY-SAML2-SAMPLE.md](SPRING-SECURITY-SAML2-SAMPLE.md).

 d. enable the **LastName** checkbox:

 e. paste the same metadata saved from before during SP metadata gen step here: [SPRING-SECURITY-SAML2-SAMPLE.md](SPRING-SECURITY-SAML2-SAMPLE.md).

 f. click on **Submit** button

 g. wait for the confirmation message.  This could take a minute or two.
 ![SSO Circle Successful Metadata Import page](https://github.com/shawnmckinney/fortress-saml-demo/blob/master/src/main/javadoc/doc-files/SSO-Circle-Metadata-Success.png "Successful Import")

#### 7. The IdP should be ready for use.  Return to the **Prepare fortress-saml-demo package** section of the [README.md](README.md) doc to complete this demo.

repository: shawnmckinney/fortress-saml-demo

gha_language: Java

repo_name: shawnmckinney/fortress-saml-demo


text:
# Change Log

## 0.17.1 - 2020-09-07

- Dependency updates.

## 0.17.0 - 2019-10-03

- Webpack - Removed `optimization` block because it is redundant.
- Webpack - Configured `MiniCssExtractPlugin` to create CSS files under `css/` for consistency.
- Used React Hooks.

## 0.16.0 - 2019-04-03

- Externalized husky config from `package.json` into `.huskyrc` and `.lintstagedrc`.
- Dependency update.

## 0.15.0 - 2018-12-28

- Replaced `react-router-redux` with `connected-react-router` because the earlier won't work with Redux v6.
- Run Prettier on Git pre commit.
- Removed `uglifyjs-webpack-plugin` to use Webpack's built-in `terser-webpack-plugin`.

## 0.14.0 - 2018-10-04

- Babel - Upgrade to v7.
- Material-UI - Upgrade to v3.
- `yarn reinstall` - Added `--network-timeout 1000000` to fix "There appears to be trouble with your network connection. Retrying..." error.
- Replaced `immutableJs` with `immer` because...
  - Works great with Flow out of the box. Flow type for `Record` in `immutableJs` is still broken.
  - Straight up JS when mutating properties.
  - No loss of performance.
  - ImmutableJS is somewhat defunct.
- Introduced Prettier to format the code.
  - Configured to play well with ESLint and Airbnb rules so that less time spent on fixing linter errors.
- `yarn reinstall` - Don't clear global cache... just the app's `node_modules` before re-installing it.
- Note: `react-router-redux` is deprecated now, but it's left in here until there is a better way to programmatically change routes from middleware instead of pushing `history` object into actions as recommended by https://reacttraining.com/react-router/web/guides/redux-integration

## 0.13.0 - 2018-08-02

- `Package.json` - `"sideEffects": false` for tree-shaking purpose. See https://webpack.js.org/guides/tree-shaking/
- Webpack - When bundling JS files, move comments into separate files to further reduce file size.
- Dependency update.

## 0.12.0 - 2018-05-23

- ESLint - Configured to automatically fix "soft" errors when running any Webpack commands and `yarn test`.
- Webpack - Configured CompressionPlugin to generate GZIP compression on asset files.
- Replaced `moment` with `date-fns` because the latter has smaller bundle and it creates immutable objects.
- Added `recompose` that contains useful React utility function components and HOCs.
- Upgraded `material-ui` to v1.0 (Release).
- Upgraded `rxjs` to v6.x.
- Added `flow:restart` package.json script that will stop Flow server before re-running it.

## 0.11.0 - 2018-03-18

- Webpack 4

  - Replaced `extract-text-webpack-plugin` with `mini-css-extract-plugin`.
  - Removed `Happypack`.
  - Removed `style-loader`.
  - Applied tree-shaking to `vendor.js` to significantly reduce file size from 1.73MB to 768KB.

- Restructured file organization.

- When running `yarn ci`, don't run Flow because it has higher chances of breaking when attempting to run Flow server on CI servers such as Jenkins and TFS Build.

- ESLint - Configured rules to allow quotes around number... for example: `const a = { '1919': 'value' };`

- Mocha - Replaced deprecated `--compilers` with `--require`. See https://github.com/mochajs/mocha/wiki/compilers-deprecation

- Flow - Flow-typed files.

- Dependency update.

## 0.10.0 - 2017-11-29

- Upgraded `material-ui` to v1.0.
  - Replaced `roboto-fontface` with `typeface-roboto`. Worked better with `material-ui`.
  - Added `classnames` to make it easier to work with CSS class names since `material-ui` has switched to `jss`.
  - Added `material-ui-icons`.
  - Removed `radium`.
  - Removed `sass-loader`.
  - Removed `node-sass`.
  - Removed `react-tap-event-plugin`. No longer needed with `material-ui`.
- Replaced `redux-saga` with `redux-observable`.

  - Added `redux-observable`.
  - Added `rxjs`.
  - Removed `redux-saga`.
  - Removed `isomorphic-fetch`. RxJS provides `Observable.ajax()` out of the box to perform API call.
  - Removed `redux-saga-test-plan`.

- Upgraded `react` to v16.

  - Added `enzyme-adapter-react-16`.
  - Removed `react-addons-perf`. No longer supported.

- Upgraded `react-router-redux` to v5.

  - Added `react-router-dom`.
  - Upgraded `history` to v4.x.
  - Removed `react-router`.

- Replaced `webpack-parallel-uglify-plugin` with `uglifyjs-webpack-plugin` because the latter now supports parallel threads and it is tad faster.

- Added `find-cache-dir` for consistent cache location under `node_modules/` for easier cleanup.

- Dependency update.

## 0.9.2 - 2017-09-08

- `nyc` failed to exclude directories properly.
- Added `.eslintignore` file.
- Configured `yarn reinstall` to remove `node_modules` dir before reinstalling it.
- Cleaned up code.
- Dependency updates.

## 0.9.1 - 2017-09-06

- `image-webpack-loader` produced corrupted JPEG files.
- Dependency updates.

## 0.9.0 - 2017-09-01

- Significantly sped up Webpack build time.
- Replaced `npm` with `yarn`.
- `yarn start` will automatically open the browser and bring user to the landing page.
- Added `postcss.config.js` to fix "No PostCSS Config found" error. See https://github.com/postcss/postcss-loader/issues/204
- Added `prop-types` to handle "Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead." warning.
- Externalized nyc config from `package.json` to `.nycrc`.
- ESLint configuration - Allowed trailing comma in multi-line object literal or array (works with IntelliJ IDEA 2017).
- Added `cache-loader` to fix HappyPack's "Option 'tempDir' has been deprecated. Configuring it will cause an error to be thrown in future versions." warning.
- Removed deprecated `react-addons-test-utils` and added `react-test-renderer` to get `enzyme` working again with new React version.
- Dependency update.

## 0.8.1 - 2017-02-23

- Dependency update.

- Fixed deprecation warnings from `image-webpack-loader`. See https://github.com/tcoopman/image-webpack-loader/issues/68
- Fixed deprecation warnings from `webpack 2`.
  - `fallbackLoader` option - Replaced with `fallback`.
  - `loader` option - Replaced with `use`.

## 0.8.0 - 2017-01-18

- Replaced unmaintained `isparta` with `nyc` and `babel-plugin-istanbul`.

  - `nyc` configuration must reside under `package.json` because `babel-plugin-istanbul` will not work properly when placed under `.nycrc`.
    - See https://github.com/istanbuljs/nyc/issues/419
    - See https://github.com/istanbuljs/nyc/issues/377
  - Instead of hardcoding `include` path under `package.json`, which prevents dynamic configuration based on user settings, `exclude` paths are used.

- Configured Flow type check.

  - Configured Flow type linting.
  - `npm run flow` - Run Flow.
  - `npm test` - Run Flow first before running tests.
  - ESLint rule to ensure `// @flow` exists on the top of all files.
  - For certain Flow related problems (`record.toJS()`, `PropTypes.children`, etc), suppressed with `// $FlowFixMe` until they are fixed in the future.

- Added `yarn.lock` file to accommodate developers using Yarn.

- Simplified module structure to prevent too many "single file in a directory" problems.
- Combined `npm run ci:clean`, `npm run ci:test` and `npm run ci:coverage` into `npm run ci` to prevent Mocha from running twice (once to generate test result file and another to generate code coverage result file).

- `scripts/script.js` - `--require ./src/js/__tests__` should use user configurable path.

- Suppressed "WARNING in asset size limit" warning on `npm run build`.
- Removed commented `DedupePlugin` config because it will be removed in Webpack 2. See https://github.com/webpack/webpack/issues/2644
- Fixed "Using NoErrorsPlugin is deprecated. Use NoEmitOnErrorsPlugin instead.".

## 0.7.1 - 2016-12-29

- Dependency updates, particularly react-redux 5.x and webpack 2.2.x.

## 0.7.0 - 2016-11-30

- Webpack 2.x and tree shaking. Since Webpack 2.x supports `import` natively, modules are no longer converted to CommonJS modules by Babel.
- Upgraded to `material-ui` 0.16.x.
- Added `npm run stats` to create `stats.json` that can be loaded to http://webpack.github.io/analyse/
- Enabled HTTPS on webpack-dev-server.
- Dropped `es6-promise` and `babel-plugin-transform-runtime`. Replaced with `babel-polyfill` to have more complete ES6 polyfills.
- Configured `rimraf` in `npm run reinstall` not to delete `rimraf` and `.bin` within `node_modules` to prevent Windows from throwing an error. See https://github.com/isaacs/rimraf/issues/102

## 0.6.0 - 2016-09-20

- Configured `react-addons-perf` module to work with `React Perf` extension in Chrome.

## 0.5.0 - 2016-08-24

- Added `Reselect`.
- Added `.gitattributes` to ensure end-of-line is always LF instead of CRLF to satisfy ESLint.
- Added `.editorconfig`.
- Cleaned up code.
- Combined src and test in same dir to make things easier to test.

## 0.4.0 - 2016-07-19

- Enabled Redux Dev Tools.
- `npm test ./test/abc` and `npm run test:watch ./test/abc` to run (and watch) only tests within `./test/abc`.
- Configured `webpack-dev-server` to prevent "No 'Access-Control-Allow-Origin' header is present on the requested resource".
- Added `enzyme` and `es6-promise` dependencies.
- Ref Callback instead of Ref String. See `https://facebook.github.io/react/docs/more-about-refs.html`.
- Dependency updates.
  - `history v3.0.0` still doesn't work with `react-router`. See https://github.com/reactjs/react-router/issues/3515
- Tested with `Node.js v6.2.2`.
- `webpack-dev-server` not resolving Roboto font path in CSS file.
- Lint both `src` and `test` dirs on `npm test` and `npm run ci`. Lint first before running tests.

## 0.3.3 - 2016-07-01

- `npm run test:watch` - cross-platform approach to watch for changes in test files before rerunning the tests.
- webpack-dev-server's proxy doesn't work when the context root doesn't have a trailing slash.
- `npm run ci` doesn't execute ESLint after executing Mocha.
- Changed `const { describe, it } = global;` back to `import { describe, it } from 'mocha';` since `mocha --watch` works now.
- Dependency updates.
  - `history v3.0.0` still doesn't work with `react-router`. See https://github.com/reactjs/react-router/issues/3515

## 0.3.2 - 2016-06-23

- Allowed user to override context root when running the production build: `CONTEXT_ROOT=/new-context-root npm run build`.

## 0.3.1 - 2016-06-22

- Changed `import { describe, it } from 'mocha';` to `const { describe, it } = global;` to allow `mocha --watch` to work. See https://github.com/mochajs/mocha/issues/1847.
- Dependency updates.
  - `history v3.0.0` doesn't work with `react-router`. See https://github.com/reactjs/react-router/issues/3515
- Git-ignored `dist/`.

## 0.3.0 - 2016-05-20

- `Invalid regular expression: /^\api\(.*)\/?$/: Unmatched ')'` with running `npm start` in Windows.
- Cross-platform compatible NPM script. Tested to work on Mac and Windows.
- Updated dependency versions.

## 0.2.0 - 2016-05-11

- Ported to `choonchernlim-archetype-webapp`.

## 0.1.0 - 2016-04-11

- Initial.

repository: choonchernlim/front-end-stack

gha_language: JavaScript

repo_name: choonchernlim/front-end-stack


text:
# Triage Issues For Kubeflow
A GitHub Action that automatically adds/removes issues from the Project [Needs Triage](https://github.com/orgs/kubeflow/projects/26)

* Kubeflow's triage criterion are defined in [issue_triage.md](https://github.com/kubeflow/community/blob/master/proposals/issue_triage.md)

  * This doc provides more information about Kubeflow's process for triaging issues

* The code for actually triaging issues is in [triage.py](https://github.com/kubeflow/code-intelligence/blob/master/py/issue_triage/triage.py)

## Discussion

- [Notebook](https://github.com/kubeflow/code-intelligence/blob/master/Issue_Triage/notebooks/triage.ipynb) exploring ways to programatically triage issues.
- [Issue](https://github.com/kubeflow/community/issues/278) describing requirements for automatic triage.

# Usage

## Example Workflow

```yaml
name: Check Triage Status of Issue
on:
  issues:
    types: [opened, closed, reopened, transferred, labeled, unlabeled]
    # Issue is created, Issue is closed, Issue added or removed from projects, Labels added/removed

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Update Kanban
        uses: kubeflow/code-intelligence/Issue_Triage/action@master
        with:
          NEEDS_TRIAGE_PROJECT_CARD_ID: 'MDEzOlByb2plY3RDb2x1bW41OTM0MzEz'
          ISSUE_NUMBER: ${{ github.event.issue.number }}
          GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.triage_projects_github_token }}
```

## Mandatory Inputs

1. **NEEDS_TRIAGE_PROJECT_CARD_ID**: The Project Card ID that you want to move issues to.  Defaults to `MDEzOlByb2plY3RDb2x1bW41OTM0MzEz`
2. **ISSUE_NUMBER**: The issue number in the current repo that you want to triage
3. **GITHUB_PERSONAL_ACCESS_TOKEN**: A personal access token with authorization to modify the project board.

### Installing the action on a repository

1. Create a workflow like the one above in your repository in the directory

   ```
   .github/workflows/<your_file_name>.yaml
   ```

1. [Create a secret for the repository](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets) called `triage_projects_github_token` which has a [GitHub personal access token](https://github.com/settings/tokens) with the following permissions

   * admin:org read & write
     * Needed to modify projects

   * repo:public_repo
      * needed to see issues

1. Kubeflow repositories should use the personal access token **issue-triage** for the **kubeflow-bot** GitHub account

   * The access token is currently stored in Google's internal key management system
   * The google team has access and can add the key to repositories as necessary

repository: kubeflow/code-intelligence

gha_language: Jupyter Notebook

repo_name: kubeflow/code-intelligence


text:
# Changelog

All notable changes to [eslint-plugin-license-header](https://github.com/nikku/eslint-plugin-license-header) are documented here. We use [semantic versioning](http://semver.org/) for releases.

## Unreleased

___Note:__ Yet to be released changes appear here._

## 0.2.0

* `FEAT`: completely replace whitespace only file contents when adding license
* `FEAT`: report license errors on closed next sibling node (or program)
* `CHORE`: retrieve leading comments in a `eslint@6` compatible way

## 0.1.3

* `FIX`: correct `eslint@5+` error when checking empty files

## 0.1.2

* `FIX`: check and add license using existing line separator ([#1](https://github.com/nikku/eslint-plugin-license-header/issues/1))

## 0.1.1

* `FIX`: correct `rules/header` to properly handle replacement of outdated licenses

## 0.1.0

_Initial implementation._


text:
---
layout: default
---

# 1995-09-26 - Re: Net KiddiePorn Hype on TV

## Header Data

From<EMAIL_ADDRESS>(Dr. Dimitri Vulis)

To<EMAIL_ADDRESS>Message Hash: 4d2cb3010aedda94e124e3b76558213426b67fe48b10e859e8bc15f8c7b75445

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1995-09-26 13:24:38 UTC

Raw Date: Tue, 26 Sep 95 06:24:38 PDT

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>(Dr. Dimitri Vulis)
Date: Tue, 26 Sep 95 06:24:38 PDT
To<EMAIL_ADDRESS>Subject: Re: Net KiddiePorn Hype on TV
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

<EMAIL_ADDRESS>(Jeff Kandt) writes:
> I heard that piece too.  Sounded like a total PR move for Curtis
> Slewah(sp?) and his Guardian Angels.  They certainly didn't sound like they
> knew what they were doing, technically speaking.

Curtis Sliwa is rather notorious in NYC politics. He used to have a talk
show with his wife Lisa in WABC; not sure what happened to it after they
got divorced. He admitted staging an physical attack on himself to increase
his popularity; after the attack he claimed the cops did it.

---

Dr. Dimitri Vulis
Brighton Beach Boardwalk BBS, Forest Hills, N.Y.: +1-718-261-2013, 14.4Kbps

{% endraw %}
```

## Thread

+ Return to [September 1995](/archive/1995/09)

+ Return to<EMAIL_ADDRESS>(Dr. Dimitri Vulis)](/authors/dlv_at_bwalk_dm_com_dr_dimitri_vulis_)"
+ Return to<EMAIL_ADDRESS>(Jeff Kandt)](/authors/jkandt_at_mail_wsdot_wa_gov_jeff_kandt_)"

+ 1995-09-25 (Mon, 25 Sep 95 16:19:35 PDT) - [Re: Net KiddiePorn Hype on TV](/archive/1995/09/fe59b726e5789c2a738c6d9c973ff6cc179a7203a02bc55a575484fc1998c74d) -<EMAIL_ADDRESS>(Jeff Kandt)_
  + 1995-09-26 (Tue, 26 Sep 95 06:24:38 PDT) - Re: Net KiddiePorn Hype on TV -<EMAIL_ADDRESS>(Dr. Dimitri Vulis)_


text:
#### Given a square matrix of size *N X N*, calculate the absolute difference between the sums of its diagonals.

##### Input Format

The first line contains a single integer, *N*. The next *N* lines denote the matrix's rows, with each line containing space-separated integers describing the columns.

##### Output Format

Print the absolute difference between the two sums of the matrix's diagonals as a single integer.

##### Sample Input
3

|R\C| C1| C2|C3|
|----|-----|-----|----|
|R1|  11 |    2|   4|
|R2|   4 |    5|   6|
|R3|  10 |    8| -12|

##### Sample Output

15

##### Explanation

*The primary diagonal is:*

|R\C| C1| C2|C3|
|----|-----|-----|----|
|R1|  11 |     |    |
|R2|     |    5|    |
|R3|     |     | -12|

Sum across the primary diagonal: 11 + 5 - 12 = 4

*The secondary diagonal is:*

|R\C| C1| C2|C3|
|----|-----|-----|----|
|R1|     |     |   4|
|R2|     |    5|    |
|R3|  10 |     |    |

Sum across the secondary diagonal: 4 + 5 + 10 = 19

Difference: | 4 - 19 | = 15

path: /1 Warmup/5 Diagonal Difference/README.MD


text:
# RxJS-Redux

Simple, yet powerful, epics built on top of Redux-Observable.

## What is this?

This library builds on top of [redux-observable](https://github.com/redux-observable/redux-observable) to help you implement epics that are **easy to understand** and **testable**.

Our experience shows that RxJS by itself can be hard to learn, understand and manage. RxJS-Redux provides with a simple and consistent pattern for building epics that leverage the power of RxJS while keeping the epics simple.

## How it works

RxJS-Redux is for RxJS and Redux, what [react-redux](https://github.com/reduxjs/react-redux) is for React and Redux. So much so, that it can be explained with a rehashed description of react-redux:

>rxjs-redux is conceptually pretty simple. It subscribes to the stream of Redux state, checks to see if the data your epic wants has changed, and re-executes the business logic of your epic.

If you're using react-redux for your UI, using rxjs-redux for Epics should be a no-brainer, thanks to the familiar approach.

## Install

This has peer dependencies of<EMAIL_ADDRESS><EMAIL_ADDRESS>and<EMAIL_ADDRESS>which will have to be installed as well.

       npm install --save rxjs-redux

or

       yarn add rxjs-redux

## Usage

This library integrates out of the box with `redux-observable`.

```typescript
import { connect, stateObserverAsEpic } from 'rxjs-redux';
import { combineEpics } from 'redux-observable';

const mapStateToProps = (state: State) => ({
  property: state.property
});

const mapPropsToAction = (props: Props) => {
    if (property === "SPECIAL") {
      return { type: "SPECIAL_DETECTED" };
    }
    return { type: "BORING_PROPERTY", property };
}

const stateObserver = state$ => state$.pipe(
    connect(mapStateToProps),
    map(mapPropsToAction)
);

combineEpics(
  stateObserverAsEpic(stateObserver)
);
```

### Custom props equality

```typescript
const arePropsEqual = (previousProps: Props, currentProps: Props) => {
  return previousProps.singleProperty === currentProps.singleProperty;
};

state$.pipe(
    connect(mapStateToProps, { arePropsEqual }),
    map(mapPropsToAction)
);
```

## Recipes

### Dispatch plain actions

```typescript
const mapPropsToActions = (props: Props) => {
    return [...];
}

state$.pipe(
    connect(mapStateToProps),
    map(mapPropsToActions),
    flatMap(actions => from(actions))
);
```

### Dispatch actions from an asynchronous operation

Use when you need to invoke an asynchronous operation that returns an action - most commonly when calling REST API.

```typescript
const mapPropsToObservable = (props: Props) => {
    return from(returnPromise(props));
}

state$.pipe(
    connect(mapStateToProps),
    flatMap(mapPropsToObservable)
);
```

### Separate "context" - that is required downstream, but shouldn't retrigger the epic

```typescript
const mapPropsToObservable = (props: Props) => {
    return from(returnPromise(props.contextState));
}

const mapStateToStateProps = (state: State) => ({
  property: state.property
});

const mapStateToContextProps = (state: State) => ({
  contextState: state.contextState
});

// mapPropsToObservable will only be executed when "property" changes
// and the latest value of contextState will be included in Props
state$.pipe(
    connect(mapStateToStateProps, mapStateToContextProps),
    flatMap(mapPropsToObservable)
);
```

#### Limit invocations to one at a time

Sometimes props change faster than the time required to finish async operation. If that happens, it helps to:
 - run only one `mapPropsToObservable` at a time (ignoring other prop changes in the meantime)
 - always make sure `mapPropsToObservable` one final time with the most recent props.

You can get this behaviour by replacing `flatMap` operator with [auditMap](https://github.com/ReactiveX/rxjs/issues/1777):

```typescript
import { auditMap } from 'rxjs-redux';

const mapPropsToObservable = (props: Props) => {
    return from(returnPromise(props));
}

state$.pipe(
    connect(mapStateToProps),
    auditMap(mapPropsToObservable)
);
```

### Trigger side effect

Use when your epic is causing a side effect - eg. setting a cookie or calling a REST API where you don't care about response.

```typescript
const mapPropsToSideEffect = (obs: Observable<Props>) =>
    obs.pipe(
        tap(props => { ... }),
        ignoreElements()
    );

state$.pipe(
    connect(mapStateToProps),
    mapPropsToSideEffect
);
```

### Handle changes in collections

```typescript
// Item Epic

const mapItemToProps = (props: ItemProps) => ({
  id: props.item.id,
  description: props.item.description,
  context: pops.context
});

const processItem = (inputProps$: Observable<ItemProps>) =>
  itemProps$.pipe(
    connect(mapItemPropsToProps),
    flatMap(props => {
      return { type: "CHANGED_IN_ITEM", id: item.id, id: item.description, context };
    })
  );

// List Epic

const mapInputToProps = (state: State) => ({
  list: state.list,
  context: state.context
});

const arePropsEqual = (previousProps: Props, currentProps: Props) => {
  return previousProps.list === currentProps.list;
};

state$.pipe(
    connect(mapInputToProps),
    flatMap(props => {
      return from(props.list).map(item => ({
        item,
        context: props.context
      }))
    }),
    groupBy(item => item.id),
    flatMap(processItem)
);
```

## Testing

Testing RXJS code can be often quite cumbersome. In most cases this library helps you keep your logic outside of RxJS and test it independently.

When you follow pattern explained by [recipes](#recipes), you can focus your testing on these methods:

 - mapInputToProps
 - arePropsEqual
 - mapPropsToActions, mapPropsToObservable, etc.

## License

Blue Oak Model License

MIT ([src/shallowEqual.ts](src/shallowEqual.ts))

repository: pricingmonkey/rxjs-redux

repo_name: pricingmonkey/rxjs-redux


text:
# Starbucks reveals when it'll release its red cups for Christmas 2019

Published at: **2019-11-04T20:19:40+00:00**

Author: **James Rodger, https://www.facebook.com/jamesrodgerjournalist**

Original: [birminghammail](https://www.birminghammail.co.uk/whats-on/food-drink-news/starbucks-reveals-itll-release-red-17200524)

Many Christmas traditions have stood the test of time - roasting chestnuts, hanging up a stocking and leaving a mince pie out for St Nick.
But for the modern festive fan - the latest staple of any successful December is a red coffee cup.
And in Birmingham the countdown is on for Starbucks to return with their limited edition Christmas beverages.
They will be in stores across the UK, from Tuesday, November 5.
While Starbucks keep their seasonal range secret until the launch, these old favourites are rumoured to be making a return.

On the yuletide list are Gingerbread and Eggnog Lattes, as well as a Toffee Nut option.
And this year will also see two types of hot chocolate on offer, including Salted Caramel Brownie  and - as a new addition for 2019 - Toasted Marshmallow flavour.

Those who fancy something a little colder, however, can pick from a range of Crimbo-themed iced drinks, like the Salted Caramel Brownie, Gingerbread Coffee and Gingerbread Cream Frappuccino.
Each store will also have a range of limited-edition reusable cups, each with a wintry theme, to help you do your bit for the enviroment.

repository: dsadlollioygjmzvcxv/tdc-exported

repo_name: dsadlollioygjmzvcxv/tdc-exported


text:
# StarPrinting

[![CI Status](https://img.shields.io/travis/Shubhanshu/StarPrinting.svg?style=flat)](https://travis-ci.org/Shubhanshu/StarPrinting)
[![Version](https://img.shields.io/cocoapods/v/StarPrinting.svg?style=flat)](https://cocoapods.org/pods/StarPrinting)
[![License](https://img.shields.io/cocoapods/l/StarPrinting.svg?style=flat)](https://cocoapods.org/pods/StarPrinting)
[![Platform](https://img.shields.io/cocoapods/p/StarPrinting.svg?style=flat)](https://cocoapods.org/pods/StarPrinting)

## Example

To run the example project, clone the repo, and run `pod install` from the Example directory first.

## Requirements

## Installation

StarPrinting is available through [CocoaPods](https://cocoapods.org). To install
it, simply add the following line to your Podfile:

```ruby
pod 'StarPrinting'
```

## Author

Shubhanshu<EMAIL_ADDRESS>
## License

StarPrinting is available under the MIT license. See the LICENSE file for more info.

repository: slytherindor/StarPrinting

repo_name: slytherindor/StarPrinting


text:
# abaez/shout
## A docker container for [shout][1] by [Alejandro Baez][3]

### DESCRIPTION
A quick setup on getting shout running with very little configurations. To make things easy for myself, I have added a systemd service unit file. It runs:

``` Dockerfile
ENTRYPOINT ["shout", "--home", "/config"]
CMD ["start"]
```

as the entrypoint and command. You can find more commands from the [help][2]

### USAGE
You can run this container in 3 ways: `docker run`, `docker-compose`, or sytemd unit service file. All of the three methods need both the port you will be using for the container and the volume location of the `/config` path.

#### docker run
To run using docker, naturally you would use the setup below, with of course changing the volume and port location:

```
docker run -v ./config:/config -p "9000:9000" abaez/shout
```

#### docker-compose
Here you shouldn't have too much issue getting running. All you will need to do is run `docker-compose up` and you good to go.

_Note_: that it actually builds the container instead of fetching it directly from docker hub.

__Note__: don't forget to change those volume and port settings on the `docker-compose.yml` file...

#### systemd unit file
If you want to have the docker container running automagically on your machine, then this is the place to go.

All you need to do is first copy to your systemd service directory and do a quick `daemon-reload`.

```
sudo cp <docker-shout<EMAIL_ADDRESS>/usr/lib/systemd/system
sudo systemctl daemon-reload
```

Finally, you can append to your systemd setup by giving the port you desire for the service to run under.

```
sudo systemctl enable shout@9000
```

You don't need to declare the user, since it uses the default user of the running service. However, if you want to be specific, you can always change the user by replacing `%u`, on line 8 with your user, in the unit file.

Lastly, unless you want the volume configuration auto mounted to `/etc/shout`, change the volume location to whatever desire you may have.

[1]: https://github.com/erming/shout
[2]: http://shout-irc.com/docs/getting_started/usage.html
[3]: https://twitter.com/a_baez

repository: abaez/docker-shout

repo_name: abaez/docker-shout


text:
# Purpose

User wants to create a snapshot and then immediately mount that snapshot using a workflow.

## Install Tasks:

1)  Copy attached script to Linux server (not to Actifio Appliance but to client side Linux server)
2)  Make script executable:
```
chmod 755 backupworkflow.sh
```
3)  Ensure Linux user on that Linux Server has SSH access to Actifio Appliance with default keys.   Confirm with (where username is exchanged with a valid CLI enabled user on your Actifo Appliance and ipaddress is exchanged with a valid Actifo Appliance IP):
```
ssh username@ipaddress udsinfo lscluster
```

## Setup tasks

You will clearly need to know Appliance IP and username

1)  Learn workflow ID using Actifio Desktop or CLI command like reportworkflows
2)  Optionally learn the name of the target host
3)  Learn the policy ID of the snapshot that needs to be run with reportpolicies

## Run tasks:

For workflow ID 91011 to run a snapshot using policy ID 5678 mounted to host host1, use this syntax:
```
backupworkflow -i <IP_ADDRESS> -p 5678 -u admin -w 91011 -t host1
 ```

repository: Actifio/ShellScripts

repo_name: Actifio/ShellScripts


text:
# Omnipay: NAB Transact

**NAB Transact driver for the Omnipay PHP payment processing library**

[Omnipay](https://github.com/thephpleague/omnipay) is a framework agnostic, multi-gateway payment
processing library for PHP. This package implements NAB Transact support for Omnipay.

[![StyleCI](https://styleci.io/repos/74269379/shield?style=flat&branch=master)](https://styleci.io/repos/74269379)
[![Build Status](https://travis-ci.org/sudiptpa/omnipay-nabtransact.svg?branch=master&style=flat-square)](https://travis-ci.org/sudiptpa/omnipay-nabtransact)
[![Latest Stable Version](https://poser.pugx.org/sudiptpa/omnipay-nabtransact/v/stable?style=flat-square)](https://packagist.org/packages/sudiptpa/omnipay-nabtransact)
[![Total Downloads](https://poser.pugx.org/sudiptpa/omnipay-nabtransact/downloads?style=flat-square)](https://packagist.org/packages/sudiptpa/omnipay-nabtransact)
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://raw.githubusercontent.com/sudiptpa/omnipay-nabtransact/master/LICENSE)

## Installation

Omnipay is installed via [Composer](http://getcomposer.org/). To install, simply require `league/omnipay` and `sudiptpa/omnipay-nabtransact` with Composer:

```
composer require league/omnipay sudiptpa/omnipay-nabtransact
```

## Basic Usage

The following gateways are provided by this package:

* NABTransact_DirectPost (NAB Transact Direct Post v2)
* NABTransact_SecureXML (NAB Transact SecurePay XML)
* NABTransact_UnionPay (UnionPay via NAB Transact)

### NAB Transact SecureXML API

```php
    use Omnipay\Omnipay;
    use Omnipay\Common\CreditCard;

    $gateway = Omnipay::create('NABTransact_SecureXML');
    $gateway->setMerchantId('XYZ0010');
    $gateway->setTransactionPassword('abcd1234');
    $gateway->setTestMode(true);

    $card = new CreditCard([
            'firstName' => 'Sujip',
            'lastName' => 'Thapa',
            'number'      => '4444333322221111',
            'expiryMonth' => '06',
            'expiryYear'  => '2030',
            'cvv'         => '123',
        ]
    );

    $transaction = $gateway->purchase([
            'amount'        => '10.00',
            'currency'      => 'AUD',
            'transactionId' => 'XYZ100',
            'card'          => $card,
        ]
    );

    $response = $transaction->send();

    if ($response->isSuccessful()) {
        echo sprintf('Transaction %s was successful!', $response->getTransactionReference());
    } else {
        echo sprintf('Transaction %s failed: %s', $response->getTransactionReference(), $response->getMessage());
    }

```

### NAB Transact SecureXML API with Risk Management

```php
    use Omnipay\Omnipay;
    use Omnipay\Common\CreditCard;

    $gateway = Omnipay::create('NABTransact_SecureXML');
    $gateway->setMerchantId('XYZ0010');
    $gateway->setTransactionPassword('abcd1234');
    $gateway->setTestMode(true);
    $gateway->setRiskManagement(true);

    $card = new CreditCard([
            'firstName' => 'Sujip',
            'lastName' => 'Thapa',
            'number'      => '4444333322221111',
            'expiryMonth' => '06',
            'expiryYear'  => '2030',
            'cvv'         => '123',
        ]
    );

    $transaction = $gateway->purchase([
            'amount'        => '10.00',
            'currency'      => 'AUD',
            'transactionId' => 'XYZ100',
            'card'          => $card,
            'ip'            => '<IP_ADDRESS>',
        ]
    );

    $response = $transaction->send();

    if ($response->isSuccessful()) {
        echo sprintf('Transaction %s was successful!', $response->getTransactionReference());
    } else {
        echo sprintf('Transaction %s failed: %s', $response->getTransactionReference(), $response->getMessage());
    }
```

### NAB Transact DirectPost v2

```php
    $gateway = Omnipay::create('NABTransact_DirectPost');

    $gateway->setMerchantId('XYZ0010');
    $gateway->setTransactionPassword('abcd1234');
    $gateway->setTestMode(true);
    $gateway->setHasEMV3DSEnabled(true);

    $card = new CreditCard(array(
        'firstName' => 'Sujip',
        'lastName' => 'Thapa',
        'number' => '4444333322221111',
        'expiryMonth' => '10',
        'expiryYear' => '2030',
        'cvv' => '123',
    ));

    $response = $gateway->purchase(array(
        'amount' => '12.00',
        'transactionId' => 'ORDER-ZYX8',
        'transactionReference' => '11fc42b0-bb7a-41a4-8b3c-096b3fd4d402'
        'currency' => 'AUD',
        'card' => $card,
        'clientIp' => '<IP_ADDRESS>'
    ))
        ->send();

    if ($response->isRedirect()) {
        $response->redirect();
    }

    if ($response->isSuccessful()) {
        echo sprintf('Transaction %s was successful!', $response->getTransactionReference());
    } else {
        echo sprintf('Transaction %s failed: %s', $response->getTransactionReference(), $response->getMessage());
    }

```

### NAB Transact DirectPost v2 UnionPay Online Payment

```php
    $gateway = Omnipay::create('NABTransact_UnionPay');

    $gateway->setMerchantId('XYZ0010');
    $gateway->setTransactionPassword('abcd1234');

    $gateway->setTestMode(true);

    /*
     * The parameter transactionId must be alpha-numeric and 8 to 32 characters in length
     */

    $response = $gateway->purchase(array(
        'amount' => '12.00',
        'transactionId' => '1234566789205067',
        'currency' => 'AUD',
        'returnUrl' => 'http://example.com/payment/response',
    ))
        ->send();

    if ($response->isRedirect()) {
        $response->redirect();
    }
```

#### Complete Purchase

```php
    $gateway = Omnipay::create('NABTransact_UnionPay');

    $gateway->setMerchantId('XYZ0010');
    $gateway->setTransactionPassword('abcd1234');

    $gateway->setTestMode(true);

    $response = $gateway->completePurchase(array(
        'amount' => '12.00',
        'transactionId' => '1234566789205067',
        'transactionReference' => '11fc42b0-bb7a-41a4-8b3c-096b3fd4d402'
        'currency' => 'AUD',
        'returnUrl' => 'http://example.com/payment/response',
    ))
        ->send();

    if ($response->isSuccessful()) {
        echo sprintf('Transaction %s was successful!', $response->getTransactionReference());
    } else {
        echo sprintf('Transaction %s failed: %s', $response->getTransactionReference(), $response->getMessage());
    }

```

For general usage instructions, please see the main [Omnipay](https://github.com/thephpleague/omnipay)
repository.

## Contributing

Contributions are **welcome** and will be fully **credited**.

Contributions can be made via a Pull Request on [Github](https://github.com/sudiptpa/omnipay-nabtransact).

## Support

If you are having general issues with Omnipay, we suggest posting on
[Stack Overflow](http://stackoverflow.com/). Be sure to add the
[omnipay tag](http://stackoverflow.com/questions/tagged/omnipay) so it can be easily found.

If you want to keep up to date with release anouncements, discuss ideas for the project,
or ask more detailed questions, there is also a [mailing list](https://groups.google.com/forum/#!forum/omnipay) which
you can subscribe to.

If you believe you have found a bug, please report it using the [GitHub issue tracker](https://github.com/sudiptpa/nabtransact/issues),
or better yet, fork the library and submit a pull request.

repository: sudiptpa/omnipay-nabtransact

gha_language: PHP

repo_name: sudiptpa/omnipay-nabtransact


text:
---
title: How to export edge gateway configuration data using PowerShell | UKCloud Ltd
description: This article describes how to use PowerCLI to extract vCNS Edge configuration data
services: vmware
author: Steve Hall
toc_rootlink: How To
toc_sub1:
toc_sub2:
toc_sub3:
toc_sub4:
toc_title: Export edge gateway configuration data using PowerShell
toc_fullpath: How To/vmw-how-ps-export-edge-data.md
toc_mdlink: vmw-how-ps-export-edge-data.md
---

# How to export edge gateway configuration data using PowerShell

## Overview

If you want to export your edge gateway configuration data (firewall rules, NAT rules, load balancer virtual servers and DHCP pools), for example, for backup or disaster recovery purposes, you can use PowerShell.

## Exporting vCNS Edge configuration data

1. Install PowerCLI from VMware:

    <https://vmware.com/support/developer/PowerCLI>

2. Open your PowerCLI session and connect to vCloud.

    You can find your credentials in the UKCloud Portal by clicking your username in the top right hand corner and selecting API.

3. Find your vCNS Edges by entering the following command:

        $Gateways = Search-Cloud -QueryType EdgeGateway

4. Inspect the `$Gateways` variable and identify the edge for which you want to export configuration data.

5. Retrieve the configuration data for your chosen edge.

    For example, to retrieve configuration data for the first edge in the `$Gateways` variable, enter the following command:

        $Config = Get-EdgeConfig -EdgeGateway $Gateways[0]

6. Inspect the `$Config` variable. It will have the following properties:

        $Config.Firewall = All the firewall rules
        $Config.NAT = All the NAT rules
        $Config.LoadBalancer = All load balancer rules
        $Config.DHCP = All DHCP pools

7. You can export this data to a CSV file, by entering a command such as:

        $Config.Firewall | Export-csv -path c:\users\myaccount\desktop\firewallrules.csv

        $Config.Nat | Export-csv -path c:\users\myaccount\desktop\natrules.csv -notypeinformation

8. Copy the following function and paste it into your PowerCLI shell:

    ```
    Function Get-EdgeConfig ($EdgeGateway)

    {

        $Edgeview = $EdgeGateway | get-ciview

        $webclient = New-Object system.net.webclient

        $webclient.Headers.Add("x-vcloud-authorization",$EdgeView.Client.SessionKey)

        $webclient.Headers.Add("accept",$EdgeView.Type + ";version=5.5")

        [xml]$EGWConfXML = $webclient.DownloadString($EdgeView.href)

        $Holder = "" | Select Firewall,NAT,LoadBalancer,DHCP

        $Holder.Firewall =
        $EGWConfXML.EdgeGateway.Configuration.EdgegatewayServiceConfiguration.FirewallService.FirewallRule

        $Holder.NAT =
        $EGWConfXML.EdgeGateway.Configuration.EdgegatewayServiceConfiguration.NatService.NatRule

        $Holder.LoadBalancer =
        $EGWConfXML.EdgeGateway.Configuration.EdgegatewayServiceConfiguration.LoadBalancerService.VirtualServer

        $Holder.DHCP =
        $EGWConfXML.EdgeGateway.Configuration.EdgegatewayServiceConfiguration.GatewayDHCPService.Pool

        Return $Holder

    }
    ```

## Feedback

If you have any comments on this document or any other aspect of your UKCloud experience, send them to<EMAIL_ADDRESS>

repository: psiservices-tonywaters/documentation

repo_name: psiservices-tonywaters/documentation


text:
# Versioning

Across all Moducate projects, we use [Semantic Versioning 2.0.0](https://semver.org).

## Summary

> Below is a summary taken from Semantic Versioning's website (see above).

Given a version number MAJOR.MINOR.PATCH, increment the:

1. MAJOR version when you make incompatible API changes,
2. MINOR version when you add functionality in a backwards compatible manner, and
3. PATCH version when you make backwards compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

## Git tags

Git tag names should include the semantic version of the release, with a "v" prefix included.

repository: sujithq/heimdall

repo_name: sujithq/heimdall


text:
---
layout: page
Subtitle: Mentoring, Teaching and Outreach
---

**Mentoring**
Mentoring students, whether in the lab, field, or on the computer is one of the (many) things I love about being an ecologist. I've been privleged to work with many great undergraduates at UC Davis and at UT Austin (some pictured here) as well as a Master's student from Northeastern University.

Many of these undergraduates have helped me develop approaches our lab hadn't previously employed while others have developed their own independent projects.

Check out Mackenzie Kawahara presenting her project eliminating microbial communities from eelgrass roots.
{:refdef: style="text-align: center;"}
[![scientific poster](img/mackposter.png)](https://youtu.be/oqDlgTDimdE "Video of Mackenzie presenting a poster")
{: refdef}

{:refdef: style="text-align: center;"}
![person](img/mentees/hailey.jpeg){: height="200" }![person](img/mentees/liza.jpeg){: height="200" }![person](img/mentees/lizd.jpeg){: height="200" }
![person](img/mentees/liza2.jpeg){: height="200" }![person](img/mentees/therese.jpeg){: height="200" }
{: refdef}

**Teaching**
I've been able to teach a diversity of lab and lecture courses both at UCDavis and University of Chicago with ranging in focus from genetics to cell biology to ecology!
I love helping students think critically about the science they're learning about.

I also developed an Introductory R workshop for underrepresented students interested in data science along with Dr. Kristin Lee and Erin Calfee that we've taught at UC Berkeley and UC Davis. You can check out our materials [here](https://github.com/ecalfee/STEMinist_R). We're gathered the below picture after teaching an iteration of this workshop at UC Davis!
{:refdef: style="text-align: center;"}
![people in a classroom](img/steminists.jpg){: height="300" }
{: refdef}

**Outreach**
I also make sure that the research I'm doing is accessible to non-scientists (or scientists to be!).
I've given talks to a lunch time general audience at Point Reyes National Seashore, have regularly volunteered at outreach events for Bodega Marine Lab, and am an active member of our graduate group's Diversity Committee.

{:refdef: style="text-align: center;"}
![person in classroom](img/BMLoutreach.jpeg){: width="600" }
{: refdef}


text:
# Full Screen
Full screen sample is designed to demonstrate the usage of `FizzChatView` to create a full screen view.

## Configurations
Add `FizzChatView` to a node stretching to cover full screen and do the following configuration to its instance.

    // Show channel list
    chatView.ShowChannelsButton = true;

	// Show header view
	chatView.ShowHeaderView = true;

	// Show close button
    chatView.ShowCloseButton = true;

    // Show chat input
    chatView.ShowInput = true;

	// Use close button call back to disable chatview
    chatView.onClose.AddListener (() => gameObject.SetActive (false));

repository: FizzCorp/Fizz-Unity-UI

repo_name: FizzCorp/Fizz-Unity-UI


text:
## Setup DDD Hexagonal Spring Application

To run this project, follow these steps:

* Run the application database by executing `docker-compose up` in this directory.
* Launch the Spring Boot Application (DomainLayerApplication).
* By default, application will connect to this database (configuration in *ddd-layers.properties*)

repository: edgbaez/tutorials

repo_name: edgbaez/tutorials


text:
# Background Change
This project does not need Bootstrap or jQuery to work, but is in the example get it's in to give a good design. Are included to get up work Navbar and dropdown menu faster.

## Installation
Download from GitHub

### Requirements
None but it's optionally add Bootstrap and jQuery

### Use
You have to add CSS...
```html
<link rel="stylesheet" href="public/css/style.css">
```

... and JS files.
```html
<script src="public/js/bgChange.js"></script>
```

### Description

This simple example was just for learning about this topic and I'm sure that you can use it and get it better. So do it.

repository: AlanGPmx/background-change

repo_name: AlanGPmx/background-change