text:
\section{Introduction}

Consider a directed graph $E$ which is row-finite and has no
sinks in the sense that the set of outgoing edges from each
vertex is both finite and nonempty. As in~\cite{KPR}, we say
$E$ satisfies Condition~(L) if every cycle in $E$ has an exit,
and is cofinal if every vertex connects to every infinite path.
There is an elegant relationship between these conditions and
the ideal-structure of the graph algebra $C^*(E)$ (see
\cite{CBMSbk} for an overview). In particular:
\begin{enumerate}\renewcommand{\theenumi}{\arabic{enumi}}
\item\label{item:1-graph aperiodicity} every ideal of
    $C^*(E)$ contains at least one of the canonical
    generators of $C^*(E)$ if and only if $E$ satisfies
    Condition~(L) \cite[Theorem~3.7]{KPR}; and
\item\label{item:1-graph cofinality} $C^*(E)$ is simple if
    and only if $E$ satisfies Condition~(L) and is cofinal
    \cite[Proposition~5.1]{BPRS}.
\end{enumerate}

The $k$-graphs developed by Kumjian and Pask in \cite{KP} are a
generalisation of directed graphs designed to model the
higher-rank Cuntz-Krieger algebras of \cite{RobSt}. In
\cite{KP}, Kumjian and Pask identified a generalisation of
Condition~(L) for higher-rank graphs which they called the
\emph{aperiodicity condition} or Condition~(A), and showed that
this condition guarantees that every ideal of the $C^*$-algebra
contains at least one of the canonical generators. They also
identified a cofinality condition on higher-rank graphs which
together with the aperiodicity condition implies that the
associated $C^*$-algebra is simple. These two results
generalise the ``if'' directions of statements
\itemref{item:1-graph aperiodicity}~and~\itemref{item:1-graph
cofinality} of the previous paragraph. However, the
generalisations to $k$-graphs of the ``only if" directions of
\itemref{item:1-graph aperiodicity}~and~\itemref{item:1-graph
cofinality} above have not been established. Moreover, the
aperiodicity condition is phrased in terms of infinite paths,
and is difficult to verify in practise.

If we remove the hypotheses that a directed graph $E$ is
row-finite and has no sources, Condition~(L) and cofinality as
in \cite{KPR} still yield the same consequences for $C^*(E)$
\cite{DT2}, \cite{FLR}. For $k$-graphs, however, different
conditions (\cite[Condition~(B)]{RSY1} and
\cite[Condition~(C)]{RSY2}) have arisen as each hypothesis has
been removed. In the situation considered by Kumjian and Pask,
Conditions (B)~and~(C) are equivalent and imply aperiodicity
condition, but whether the reverse implication holds is an open
question.

A number of authors (see for example \cite{KP}, \cite{RSY1},
\cite{CBMSbk}) have pointed to the shortcomings of the
aperiodicity condition outlined above as significant open
problems. In this paper we resolve many of them for row-finite
$k$-graphs with no sources. In summary:
Theorem~\ref{thm:simple} shows that a row-finite $k$-graph with
no sources satisfies the aperiodicity condition and is cofinal
if and only if its $C^*$-algebra is simple. More specifically,
Proposition~\ref{prp:cofinal necessary} establishes
statement~\itemref{item:1-graph cofinality} above for
row-finite $k$-graphs with sources, and
Proposition~\ref{prp:aperiodicity necessary}
establishes~\itemref{item:1-graph aperiodicity} with
Condition~(L) replaced by the aperiodicity condition.
Additionally, Proposition~\ref{prp:all ideals g-i}
characterises the $k$-graphs for which every ideal of
$C^*(\Lambda)$ is gauge-invariant (c.f.
\cite[Section~6]{KPRR}). In Lemma~\ref{lem:equiv aperiodicity},
we identify a generalisation of Robertson and Steger's
nonperiodicity condition~(H3) to row-finite $k$-graphs with no
sources, and show that this condition, the aperiodicity
condition, and Condition~(B) are all equivalent. Significantly,
our generalisation of~(H3) involves only finite paths.
\vskip0.25em The $k$-graph versions of cofinality,
aperiodicity, the Cuntz-Krieger uniqueness theorem, and the
simplicity theorem for $k$-graphs used in this paper are all
due to Kumjian and Pask in~\cite{KP}. Nonetheless, we have
generally referenced~\cite{RSY1} throughout. This should not be
interpreted as a dismissal of the ground-breaking work of
Kumjian and Pask, which is undoubtedly the original and
definitive article. Our choice was made only
because~\cite{RSY1} is the earliest single paper containing
both the uniqueness theorems \emph{and} a description of the
gauge-invariant ideal structure for $k$-graph algebras, and
hence allowed us to restrict our referencing to a single paper.
\vskip0.25em \textbf{Acknowledgements.} We would like to thank
Trent Yeend for drawing our attention to the elementary proof
that Condition~(B) and the aperiodicity condition are
equivalent.

\section{Preliminaries}\label{sec:prelims}

In this section we gather the notation and conventions we need
regarding $k$-graphs. For a more detailed and rigorous
treatment of $k$-graphs, see \cite{KP}, \cite{RSY1}.

We regard $\field{N}^k$ as a monoid under addition, and denote its
generators by $e_1, \dots, e_k$. We write $n_i$ for the $i^{\rm
th}$ coordinate of $n \in \field{N}^k$. For $m,n \in \field{N}^k$, we say
$m\leq n$ if $m_i\leq n_i$ for each $i$. We write $m\vee n$ for
the coordinate-wise maximum of $m$ and~$n$. \vskip0.25em
\textbf{Higher-rank graphs.} Fix $k > 0$. We think of a
$k$-graph as a collection $\Lambda$ of paths endowed with a
\emph{degree} function $d : \Lambda \to \field{N}^k$ such that
concatenation of paths has the following \emph{factorisation
property}: if $d(\lambda)=m+n$, there are unique paths $\mu\in
d^{-1}(m)$ and $\nu\in d^{-1}(n)$ such that $\lambda=\mu\nu$.
For $n \in \field{N}^k$, we write $\Lambda^n$ for $d^{-1}(n)$. One
can make this notion rigorous using category-theory; see
\cite[Definition~1.1]{KP} for the formal definition.

The vertices of $\Lambda$ are the paths of degree $0$. For a
given path $\lambda$, the factorisation property ensures that
there are unique vertices, called the range and source of
$\lambda$ and denoted $r(\lambda)$ and $s(\lambda)$, such that
$r(\lambda) \lambda = \lambda = \lambda s(\lambda)$. For $v \in
\Lambda^0$ and $E\subseteq\Lambda$, we write $v E$ for $E \cap
r^{-1}(v)$ and $E v$ for $E \cap s^{-1}(v)$.

If $\lambda\in\Lambda$ with $d(\lambda)=l$, and $0\leq m\leq
n\leq l$, there exist unique paths $\lambda(0,m) \in
\Lambda^m$, $\lambda(m,n) \in \Lambda^{n-m}$ and $\lambda(n,l)
\in \Lambda^{l-n}$ such that $\lambda =
\lambda(0,m)\lambda(m,n)\lambda(n,l)$.

We say that a $k$-graph $\Lambda$ is \emph{row-finite} if
$v\Lambda^n$ is finite for all $v \in \Lambda^0$ and $n \in
\field{N}^k$, and we say $\Lambda$ has \emph{no sources} if
$v\Lambda^n$ is always nonempty.
\vskip0.25em \textbf{Infinite paths, the shift map, and
cofinality, and aperiodicity.} We denote by $\Omega_k$ the
$k$-graph with paths $\{(m,n)\in\field{N}^k\times\field{N}^k:m\leq n\}$,
$r(m,n)=(m,m)$, $s(m,n)=(n,n)$, $(m,n)(n,p)=(m,p)$, and
$d(m,n)=n-m$. For brevity, we generally write $n$ for the
vertex $(n,n)$ of $\Omega_k$.

Given $k\in\field{N}\backslash\{0\}$ and $k$-graphs $\Lambda$ and
$\Gamma$, a \emph{graph morphism} from $\Lambda$ to $\Gamma$ is
a function $x : \Lambda \to \Gamma$ which respects both
connectivity and degree. Given a $k$-graph $\Lambda$, an
\textit{infinite path} in $\Lambda$ is a graph morphism
$x:\Omega_k\to\Lambda$. We write $\Lambda^{\infty}$ for the
collection of all infinite paths in $\Lambda$. We denote $x(0)$
by $r(x)$, and call it the \emph{range} of $x$, and for $v \in
\Lambda^0$, we write $v\Lambda^\infty$ for the set $\{x \in
\Lambda^\infty : r(x) = v\}$. For $p\in\field{N}^k$, we write
$\sigma^p:\Lambda^{\infty}\to\Lambda^{\infty}$ for the shift
map determined by $\sigma^p(x)(n)=x(n+p)$.

We say $\Lambda$ is \emph{cofinal} if, for every $x \in
\Lambda^\infty$ and $v \in \Lambda^0$ there exists $n \in
\field{N}^k$ such that $v \Lambda x(n)$ is nonempty.

As in \cite{KP}, we say that $\Lambda$ satisfies the
\emph{aperiodicity condition} (or is \emph{aperiodic} if, for
every vertex $v \in \Lambda^0$ there is an infinite path $x \in
v\Lambda^\infty$ such that $\sigma^m(x) \not= \sigma^n(x)$ for
all $m \not= n \in \field{N}^k$. The aperiodicity condition is also
referred to as Condition~(A) in \cite{KP} and in other
$k$-graph literature. As in \cite{RSY1}, we say that $\Lambda$
satisfies \emph{Condition~(B)} if for every vertex $v \in
\Lambda^0$, there is an infinite path $x \in v\Lambda^\infty$
such that $\mu x \not= \nu x$ for all $\mu \not= \nu \in
\Lambda v$.
\vskip0.25em \textbf{$C^*$-algebras of $k$-graphs.} Let
$\Lambda$ be a row-finite $k$-graph with no sources. The
associated $C^*$-algebra $C^*(\Lambda)$ is the universal
$C^*$-algebra generated by partial isometries $\{s_\lambda :
\lambda \in \Lambda\}$ which satisfy the Cuntz-Krieger
relations:
\begin{enumerate}\renewcommand{\theenumi}{\arabic{enumi}}
\item\label{item:CK1} $\{s_v : v \in \Lambda^0\}$ are
    mutually orthogonal projections;
\item\label{item:CK2} $s_\mu s_\nu = s_{\mu\nu}$ when
    $s(\mu) = r(\nu)$;
\item\label{item:CK3} $s^*_\lambda s_\lambda =
    s_{s(\lambda)}$ for all $\lambda \in \Lambda$; and
\item\label{item:CK4} $s_v = \sum_{\lambda \in v\Lambda^n}
    s_\lambda s^*_\lambda$ for all $v \in \Lambda^0$ and $n
    \in \field{N}^k$.
\end{enumerate}
By \emph{universal} we mean that if $\{t_\lambda : \lambda \in
\Lambda\}$ is any collection of partial isometries in a
$C^*$-algebra $A$ which satisfy the Cuntz-Krieger
relations~\itemref{item:CK1}--\itemref{item:CK4} above, then
there is a homomorphism $\pi_t : C^*(\Lambda) \to A$ satisfying
$\pi_t(s_\lambda) = t_\lambda$ for all $\lambda \in \Lambda$.
Proposition~2.11 of \cite{KP} implies that the generators
$\{s_\lambda : \lambda \in \Lambda\}$ of $C^*(\Lambda)$ are all
nonzero.

\section{Results}\label{sec:results}

\begin{dfn}\label{dfn:no local p}
Let $\Lambda$ be a row-finite $k$-graph with no sources, and
let $v \in \Lambda^0$. We say that $\Lambda$ has \emph{local
periodicity at $v$} if there exist $m \not=n \in \field{N}^k$ such
that $\sigma^m(x) = \sigma^n(x)$ for all $x \in
v\Lambda^\infty$. We say that $\Lambda$ has \emph{no local
periodicity} if for each $v \in \Lambda^0$ and each $m \not= n
\in \field{N}^k$ there exists $x \in v\Lambda^\infty$ such that
$\sigma^m(x) \not= \sigma^n(x)$.
\end{dfn}

Note that the hypothesis that $\Lambda$ has no local
periodicity is only a slight weakening of the aperiodicity
condition: if $\Lambda$ satisfies the aperiodicity condition,
then for fixed $v \in \Lambda^0$ and distinct $m,n \in \field{N}^k$,
the path $x$ with range $v$ such that $\sigma^p(x) \not=
\sigma^q(x)$ whenever $p \not= q$ certainly satisfies
$\sigma^m(x) \not= \sigma^n(x)$. Indeed, we shall show in
Lemma~\ref{lem:equiv aperiodicity} that they are equivalent.

\begin{theorem}\label{thm:simple}
Let $\Lambda$ be a row-finite $k$-graph with no sources. Then
$C^*(\Lambda)$ is simple if and only if both of the following
conditions hold:
\begin{enumerate}
\item\label{item:thm cofinal} $\Lambda$ is cofinal; and
\item\label{item:thm aperiodic} $\Lambda$ has no local
    periodicity.
\end{enumerate}
\end{theorem}

We first show that the no local periodicity hypothesis, the
aperiodicity condition, and \cite[Condition~(B)]{RSY1} are all
equivalent to a version of \cite[(H3)]{RobSt} which involves
only finite paths of $\Lambda$.

\begin{lemma}\label{lem:equiv aperiodicity}
Let $\Lambda$ be a row-finite $k$-graph with no sources. Then
the following are equivalent.
\begin{enumerate}
\item\label{item:conditionA} $\Lambda$ satisfies the
    aperiodicity condition.
\item\label{item:conditionB} $\Lambda$ satisfies
    Condition~(B).
\item\label{item:inf-p np} $\Lambda$ has no local
    periodicity.
\item\label{item:fin-p np} For each vertex $v \in
    \Lambda^0$ and each pair $m \not= n \in \field{N}^k$ there is
    a path $\lambda = \lambda_{v,m,n} \in v\Lambda$ such
    that $d(\lambda) \ge m \vee n$  and
\[
\lambda\big(m, m + d(\lambda) - (m \vee n)\big) \not= \lambda\big(n, n+d(\lambda) - (m \vee n)\big).
\]
\end{enumerate}
\end{lemma}

Condition~\itemref{item:fin-p np} of Lemma~\ref{lem:equiv
aperiodicity} is a generalisation of the nonperiodicity
condition~(H3) of \cite{RobSt}. It looks complicated, but as a
formulation of aperiodicity in terms of finite paths, it is an
important outcome of the paper. Consequently we give a
pictorial explanation of the condition in
Appendix~\ref{app:fin-p np}.

\begin{proof}[\proofof{equivalence of \itemref{item:conditionA}, \itemref{item:inf-p np}~and~\itemref{item:fin-p np} in Lemma~\ref{lem:equiv aperiodicity}}]
\itemref{item:conditionA}$\implies$\itemref{item:inf-p np} was
    established in the remark immediately following
    Definition~\ref{dfn:no local p}.

\itemref{item:inf-p np}$\implies$\itemref{item:fin-p np}.
    Suppose $\Lambda$ has no local periodicity, and fix $v \in
    \Lambda^0$ and $m\not=n \in \field{N}^k$. Then there exists $x
    \in v\Lambda^\infty$ such that $\sigma^m(x) \not=
    \sigma^n(x)$. Hence $\sigma^m(x)(0,p) \not=
    \sigma^n(x)(0,p)$ for large enough $p \in \field{N}^k$. Let
    $\lambda_{v,m,n} := x(0, (m\vee n) + p)$. Then
\[
\lambda_{v,m,n}(m, m+p) = \sigma^m(x)(0,p) \not= \sigma^n(x)(0,p) = \lambda_{v,m,n}(n, n+p).
\]

\itemref{item:fin-p np}$\implies$\itemref{item:conditionA}.
    Suppose \itemref{item:fin-p np} holds, and fix $v \in
    \Lambda^0$. Let $(m^i, n^i)^\infty_{i=1}$ be a listing of
    $\{(m,n) \in \field{N}^k \times \field{N}^k : m \not= n\}$. Let
    $\lambda_1 := \lambda_{v, m^1, n^1}$ as
    in~\itemref{item:fin-p np}, and inductively let $\lambda_i
    := \lambda_{s(\lambda_{i-1}), m^i, n^i}$. Let $\eta_i :=
    \lambda_1 \lambda_2 \dots \lambda_i$ for each $i \ge 1$.
    Since $\bigvee_{i \in \field{N}} d(\eta_i) = \infty^k$, there is
    a unique infinite path $x \in \Lambda^\infty$ such that
    $x(0, d(\eta_i)) = \eta_i$ for all $i$
    (see~\cite[page~107]{RSY1}). Fix $m \not= n \in \field{N}^k$.
    Then $(m,n) = (m^i, n^i)$ for some $i$, and then
\begin{align*}
\sigma^{d(\eta_{i-1}) + m}(x)&(0, d(\lambda_i) - (m \vee n)) \\
&= \sigma^{d(\eta_{i-1})}(x)(m^i, m^i + d(\lambda_i) - (m^i \vee n^i)) \\
&= \lambda_i(m^i, m^i + d(\lambda_i) - (m^i \vee n^i))
\end{align*}
and likewise
\[
\sigma^{d(\eta_{i-1}) + n}(x)(0, d(\lambda_i) - (m \vee n)) = \lambda_i(n^i, n^i + d(\lambda_i) - (m^i \vee n^i))
\]
Hence $\sigma^m(x) \not= \sigma^n(x)$ by definition of
$\lambda_i$. Since $m,n$ were arbitrary, $x$ is aperiodic, and
since $v$ was arbitrary, it follows that $\Lambda$ satisfies
the aperiodicity condition.
\end{proof}

To prove that Condition~(B) is equivalent to the other
conditions in Lemma~\ref{lem:equiv aperiodicity}, we use a
technical lemma which we will use again in the proof of
Proposition~\ref{prp:aperiodicity necessary}.

\begin{lemma}\label{lem:technical}
Let $\Lambda$ be a row-finite $k$-graph with no sources.
Suppose that $\Lambda$ has local periodicity at $v$, and fix $m
\not= n \in \field{N}^k$ such that $\sigma^m(x) = \sigma^n(x)$ for
all $x \in v\Lambda^\infty$. Fix $\mu \in v\Lambda^m$ and
$\alpha \in s(\mu) \Lambda^{(m \vee n) - m}$ and let $\nu =
(\mu\alpha)(0,n)$. Then $\mu\alpha y = \nu\alpha y$ for all $y
\in s(\alpha)\Lambda^\infty$.
\end{lemma}
\begin{proof}
Fix $y \in s(\alpha) \Lambda^\infty$, and let $x := \mu\alpha
y$. Since $x \in v\Lambda^\infty$, $\sigma^m(x) = \sigma^n(x)$.
We have $\sigma^m(x) = \alpha y$ by definition. Since $\nu =
(\mu\alpha)(0,n)$, $x(0,n) = \nu$, so $x = \nu \sigma^n(x)$. As
$\sigma^n(x) = \sigma^m(x)$, it follows that $\sigma^n(x) =
\alpha y$, so $\mu\alpha y = x = \nu\sigma^n(x) = \nu\alpha y$.
\end{proof}

\begin{proof}[\proofof{equivalence of \itemref{item:conditionA}~and~\itemref{item:conditionB} in Lemma~\ref{lem:equiv aperiodicity}}]
Remark~4.4 of \cite{RSY1} shows that the aperiodicity condition
implies Condition~(B). Since \itemref{item:conditionA},
\itemref{item:inf-p np}~and~\itemref{item:fin-p np} are
equivalent, it now suffices to show that Condition~(B) implies
that $\Lambda$ has no local periodicity. We argue by
contrapositive. Suppose $\Lambda$ has local periodicity at $v$.
Let $m$, $n$, $\mu$, $\nu$ and $\alpha$ be as in
Lemma~\ref{lem:technical}. Since $d(\mu\alpha) = m + d(\alpha)
\not= n + d(\alpha) = d(\nu\alpha)$, we have $\mu\alpha \not=
\nu\alpha$. Since Lemma~\ref{lem:technical} implies that
$\mu\alpha y = \nu\alpha y$ for all $y \in
s(\alpha)\Lambda^\infty$, it follows that $\Lambda$ does not
satisfy Condition~(B).
\end{proof}

Our next steps are to describe the significance of cofinality
and of the aperiodicity condition in terms of ideals in
$C^*(\Lambda)$. The proof of Proposition~\ref{prp:cofinal
necessary} is not new (see for example
\cite[Proposition~5.1]{BPRS} and \cite[Proposition~4.8]{KP})
but the result has not to our knowledge been stated explicitly
before now.

For $z \in \field{T}^k$ and $n \in \field{Z}^k$, we use the multi-index
notation $z^n$ for the product $z_1^{n_1} z_2^{n_2} \cdots
z_k^{n_k} \in \field{T}$. Recall from \cite[Section~4]{RSY1} that the
universal property of $C^*(\Lambda)$ supplies automorphisms
$\{\gamma_z : z \in \field{T}^k\}$ of $C^*(\Lambda)$ which satisfy
$\gamma_z(s_\lambda) = z^{d(\lambda)}s_\lambda$ for all
$\lambda \in \Lambda$ and $z \in \field{T}^k$. The map $z \mapsto
\gamma_z$ is a strongly continuous action of $\field{T}^k$ on
$C^*(\Lambda)$. The fixed point algebra $C^*(\Lambda)^\gamma$
is called the \emph{core} of $C^*(\Lambda)$ and is equal to
$\clsp\{s_\mu s^*_\nu : d(\mu) = d(\nu)\}$.

\begin{prop}\label{prp:cofinal necessary}
Let $\Lambda$ be a row-finite $k$-graph with no sources. The
following are equivalent:
\begin{enumerate}
\item\label{item:Lambda cofinal} $\Lambda$ is cofinal.
\item\label{item:vert proj gives everything} If $I$ is an
    ideal of $C^*(\Lambda)$ and $s_v \in I$ for some $v \in
    \Lambda^0$, then $I = C^*(\Lambda)$.
\item\label{item:intersects core gives everything} If $I$
    is an ideal of $C^*(\Lambda)$ and $I \cap
    C^*(\Lambda)^\gamma \not= \{0\}$,  then $I =
    C^*(\Lambda)$.
\end{enumerate}
\end{prop}

To prove the proposition, we need to recall some terminology
from \cite[Section~5]{RSY1}. We say that $H \subset \Lambda^0$
is \emph{hereditary} if $r(\lambda) \in H$ implies
$s(\lambda)\in H$ for all $\lambda \in \Lambda$, and that $H$
is \emph{saturated} if we have $v \in H$ whenever there exists
$n \in \field{N}^k$ such that $s(\lambda) \in H$ for all $\lambda \in
v\Lambda^n$.

\begin{proof}
We first show that \itemref{item:Lambda
cofinal}~and~\itemref{item:vert proj gives everything} are
equivalent, and then that \itemref{item:vert proj gives
everything}~and~\itemref{item:intersects core gives everything}
are equivalent.

\itemref{item:Lambda cofinal}$\implies$\itemref{item:vert proj
    gives everything}. Suppose that $\Lambda$ is cofinal. An
    argument formally identical to the second paragraph of
    \cite[Proposition~5.1]{BPRS} shows that the only nonempty
    saturated hereditary subset of $\Lambda^0$ is $\Lambda^0$
    itself. Theorem~5.2 of \cite{RSY1} then implies that the
    only ideal of $C^*(\Lambda)$ which contains a vertex
    projection is $C^*(\Lambda)$ itself.

\itemref{item:vert proj gives
    everything}$\implies$\itemref{item:Lambda cofinal}. We
    argue by contrapositive. Suppose that $\Lambda$ is not
    cofinal. We must construct an ideal $I$ of $C^*(\Lambda)$
    such that $I \not= C^*(\Lambda)$, but $s_v \in I$ for some
    $v \in \Lambda^0$.

Since $\Lambda$ is not cofinal,  there exists a vertex $v_0 \in
\Lambda^0$ and an infinite path $x \in \Lambda^\infty$ such
that $v_0 \Lambda x(n) = \emptyset$ for all $n \in \field{N}^k$. Let
\[
H_x := \{w \in \Lambda^0 : w\Lambda x(n) = \emptyset \text{ for all } n \in \field{N}^k\}.
\]
Then $\emptyset \subsetneq H_x \subsetneq \Lambda^0$ because
$v_0 \in H_x$ but $x(0) \not\in H_x$. We claim that $H_x$ is
saturated and hereditary.

To see that $H_x$ is hereditary, fix $u \in H_x$ and $v \in
\Lambda^0$ with $u\Lambda v \not= \emptyset$, say $\lambda \in
u\Lambda v$. If we suppose for contradiction that $v \not\in
H_x$, then there exists $\alpha \in v\Lambda x(n)$ for some $n
\in \field{N}^k$ and it follows that $\lambda\alpha \in u\Lambda
x(n)$ contradicting $u \in H_x$.

To see that $H_x$ is saturated, fix $v \in \Lambda^0$ and $m
\in \field{N}^k$ such that $s(\lambda) \in H_x$ for all $\lambda \in
v\Lambda^m$. Suppose for contradiction that $v \not\in H_x$.
Then there exists $\alpha \in v\Lambda x(n)$ for some $n \in
\field{N}^k$. Let $\alpha' = x(n, n + m)$. We have $s(\alpha') =
x(n+m)$ and $r(\alpha') = s(\alpha)$. By choice,
$d(\alpha\alpha') \ge m$ so we may rewrite $\alpha\alpha' =
\mu\nu$ where $\mu \in v\Lambda^m$. By choice of $m$, we have
$s(\mu) \in H_x$, and since $H_x$ is hereditary, it follows
that $s(\nu) \in H_x$. But $s(\nu) = s(\alpha') = x(n+m)$,
contradicting the definition of $H_x$.

Since $\emptyset \subsetneq H_x \subsetneq \Lambda^0$,
Theorem~5.2 of \cite{RSY1} implies that $I_{H_x}$ is a
nontrivial gauge-invariant ideal of $C^*(\Lambda)$.

\itemref{item:vert proj gives
    everything}$\implies$\itemref{item:intersects core gives
    everything}. Recall from \cite[Section~4]{RSY1} that there
    is an isomorphism $\pi$ from $C^*(\Lambda)^\gamma$ to
    $\varinjlim_{n \in \field{N}^k} \bigoplus_{v \in \Lambda^0}
    M_{\Lambda^n v}(\field{C})$ which takes $s_\lambda s^*_\lambda$
    to the diagonal matrix unit $\theta_{\lambda,\lambda}$ in
    $M_{\Lambda^{d(\lambda)} s(\lambda)}(\field{C})$. Let $I$ be an
    ideal of $C^*(\Lambda)$ which intersects
    $C^*(\Lambda)^\gamma$ nontrivially. Then $I$ must intersect
    $\pi^{-1}(\bigoplus_{v \in \Lambda^0} M_{\Lambda^n
    v}(\field{C}))$ for some $n$, hence must intersect one of the
    summands $\pi^{-1}(M_{\Lambda^n v})$. As
    $\pi^{-1}(M_{\Lambda^n v})$ is simple, it follows that $I
    \cap \pi^{-1}(M_{\Lambda^n v}) = \pi^{-1}(M_{\Lambda^n
    v})$, so $I$ contains $s_\lambda s^*_\lambda$ for some
    $\lambda \in \Lambda^n v$. Hence $s_v =
    s_\lambda^*(s_\lambda s^*_\lambda) s_\lambda \in I$, and
    \itemref{item:vert proj gives everything} implies that $I =
    C^*(\Lambda)$.

\itemref{item:intersects core gives
    everything}$\implies$\itemref{item:vert proj gives
    everything}. Trivial.
\end{proof}

Let $\{\xi_x : x \in \Lambda^\infty\}$ denote the usual basis
for $\ell^2(\Lambda^\infty)$. As in \cite[Theorem~3.15]{RSY1},
there is a family $\{S_\eta : \eta \in \Lambda\} \subset
\mathcal B(\ell^2(\Lambda^\infty))$ satisfying the Cuntz-Krieger
relations such that
\begin{equation}\label{eq:S_eta formula}
S_\eta \xi_x = \begin{cases}
\xi_{\eta x} &\text{ if $r(x) = s(\eta)$}\\
0 &\text{ otherwise,}
\end{cases}
\text{\quad and\quad}
S^*_\eta \xi_y = \begin{cases}
\xi_{\sigma^{d(\eta)}(y)} &\text{ if $y(0,d(\eta)) = \eta$} \\
0 &\text{ otherwise.}
\end{cases}
\end{equation}
The universal property of $C^*(\Lambda)$ gives a homomorphism
$\pi_S : C^*(\Lambda) \to \mathcal B(\ell^2(\Lambda^\infty))$
satisfying $\pi_S(s_\eta) = S_\eta$ for all $\eta \in \Lambda$.
We call $\pi_S$ the infinite path representation.

\begin{prop}\label{prp:aperiodicity necessary}
Let $\Lambda$ be a row-finite $k$-graph with no sources. The
following are equivalent:
\begin{enumerate}
\item\label{item:aperiodic} $\Lambda$ has no local
    periodicity.
\item\label{item:every ideal has vert proj} Every nonzero
    ideal of $C^*(\Lambda)$ contains a vertex projection.
\item\label{item:inf path repn faithful} The infinite path
    representation $\pi_S$ is faithful.
\end{enumerate}
\end{prop}
\begin{proof}
\itemref{item:aperiodic}$\implies$\itemref{item:every ideal has
    vert proj}. Suppose that for each $v \in \Lambda^0$ and
    each pair $m \not= n \in \field{N}^k$ there exists $x \in
    v\Lambda^\infty$ such that $\sigma^m(x) \not= \sigma^n(x)$.
    Then Lemma~\ref{lem:equiv aperiodicity} implies that
    $\Lambda$ satisfies Condition~(B). The Cuntz-Krieger
    uniqueness theorem \cite[Theorem~4.3]{RSY1} therefore
    implies that every ideal of $C^*(\Lambda)$ contains a
    vertex projection.

\itemref{item:every ideal has vert
    proj}$\implies$\itemref{item:inf path repn faithful}. For
    $v \in \Lambda^0$, $\pi_S(s_v) = S_v$ is the projection
    onto $\clsp\{\xi_x : x \in v\Lambda^\infty\}$ and so is
    nonzero. So $\ker(\pi_S)$ contains no vertex projection and
    is trivial by~\itemref{item:every ideal has vert proj}.

\itemref{item:inf path repn
    faithful}$\implies$\itemref{item:aperiodic}. We argue by
    contrapositive. Suppose that $\Lambda$ has local
    periodicity at $v \in \Lambda^0$. By
    Lemma~\ref{lem:technical} there exist $m \not= n \in
    \field{N}^k$, $\mu \in v\Lambda^m$, $\nu \in v\Lambda^n s(\mu)$
    and $\alpha \in s(\mu)\Lambda$ such that $\mu\alpha y =
    \nu\alpha y$ for all $y \in s(\alpha)\Lambda^\infty$.

We will show that $a := s_{\mu\alpha} s^*_{\mu\alpha} -
s_{\nu\alpha} s^*_{\mu\alpha}$ belongs to
$\ker(\pi_S)\setminus\{0\}$.

We begin by showing that $a$ is nonzero. The gauge action
$\gamma$ of $\field{T}^k$ on $C^*(\Lambda)$ satisfies
$\gamma_z(s_{\mu\alpha} s^*_{\mu\alpha}) = s_{\mu\alpha}
s^*_{\mu\alpha}$ and $\gamma_z(s_{\nu\alpha} s^*_{\mu\alpha}) =
z^{n-m} s_{\nu\alpha} s^*_{\mu\alpha}$. Fix $\omega \in \field{T}^k$
such that $\omega^{n-m} = -1$. Suppose for contradiction that
$a = 0$. Then
\begin{equation}\label{eq:generator zero}
0 = a + \gamma_\omega(a) = s_{\mu\alpha} s^*_{\mu\alpha} - s_{\nu\alpha} s^*_{\mu\alpha} + s_{\mu\alpha} s^*_{\mu\alpha} + s_{\nu\alpha} s^*_{\mu\alpha} = 2s_{\mu\alpha} s^*_{\mu\alpha},
\end{equation}
contradicting \cite[Theorem~3.15]{RSY1} which shows that
$s_\lambda \not= 0$ for all $\lambda \in \Lambda$.

To see that $\pi_S(a) = 0$, we fix $x \in \Lambda^\infty$ and
show that $\pi_S(a) \xi_x = 0$. By~\eqref{eq:S_eta formula},
\[
S_{\mu\alpha} S^*_{\mu\alpha} \xi_x =
\begin{cases}
\xi_x &\text{ if $x(0, m \vee n) = \mu\alpha$} \\
0 &\text{ otherwise.}
\end{cases}
\]
We consider two cases: either $x(0, m \vee n) \not =
\mu\alpha$, or $x = \mu\alpha y$ for some $y \in
\Lambda^\infty$. In the first case, we have $\pi_S(a) \xi_x =
0$ by~\eqref{eq:S_eta formula}. In the second case, our choice
of $\mu$, $\nu$, $\alpha$ ensures that $x = \mu\alpha y =
\nu\alpha y$. Equation~\eqref{eq:S_eta formula} therefore
implies that $S_{\nu\alpha} S^*_{\mu\alpha} \xi_x =
S_{\nu\alpha} \xi_y = \xi_x$. Hence $\pi_S(a)\xi_x = 0$.

As $x$ was arbitrary, $\pi_S(a)$ annihilates all basis elements
of $\ell^2(\Lambda^\infty)$, so is equal to zero. Since
$\pi_S(s_v) = S_v \not= 0$ for each $v \in \Lambda^0$,
$\ker(\pi_S)$ is an ideal of $C^*(\Lambda)$ which contains no
vertex projection.
\end{proof}

\begin{proof}[\proofof{Theorem~\ref{thm:simple}}]
If $C^*(\Lambda)$ is simple, then Proposition~\ref{prp:cofinal
necessary} implies that $\Lambda$ is cofinal, and
Proposition~\ref{prp:aperiodicity necessary} implies that
$\Lambda$ has no local periodicity. Conversely, if $\Lambda$ is
cofinal and has no local periodicity and $I$ is an ideal of
$C^*(\Lambda)$, then Proposition~\ref{prp:aperiodicity
necessary} implies $s_v \in I$ for some $v \in \Lambda^0$, and
then Proposition~\ref{prp:cofinal necessary} implies that $I =
C^*(\Lambda)$.
\end{proof}

Recall from \cite[Section~5]{RSY1} that if $H \subset
\Lambda^0$ is hereditary, then $\Lambda \setminus \Lambda H :=
\{\lambda \in \Lambda : s(\lambda) \not\in H\}$ is itself a
locally convex row-finite $k$-graph. It is easy to check that
if $H$ is also saturated, then $\Lambda \setminus \Lambda H$
also has no sources. As in \cite{RSY1}, given a saturated
hereditary $H \subset \Lambda^0$, we denote by $I_H$ the ideal
generated by $\{s_v : v \in H\}$; and given an ideal $I \subset
C^*(\Lambda)$, we denote by $H_I$ the collection $\{v \in
\Lambda^0 : s_v \in I\}$.

\begin{prop} \label{prp:all ideals g-i}
Let $\Lambda$ be a row-finite $k$-graph with no sources. Then
the following are equivalent:
\begin{enumerate}
\item\label{item:all ideals g-i} Every ideal of
    $C^*(\Lambda)$ is gauge-invariant.
\item\label{item:higher-rank condK} For every saturated
    hereditary $H \subset \Lambda^0$, $\Lambda \setminus
    \Lambda H$ has no local periodicity.
\end{enumerate}
\end{prop}
\begin{proof}
\itemref{item:higher-rank condK}$\implies$\itemref{item:all
    ideals g-i}. Lemma~\ref{lem:equiv aperiodicity} shows that
    each $\Lambda \setminus \Lambda H$ satisfies Condition~(B).
    Hence Theorem~5.3 of \cite{RSY1} implies that every ideal
    of $C^*(\Lambda)$ is gauge invariant.

\itemref{item:all ideals
    g-i}$\implies$\itemref{item:higher-rank condK}. We argue by
    contrapositive. Suppose that there is a saturated
    hereditary subset $H$ of $\Lambda$ such that $\Lambda
    \setminus \Lambda H$ has local periodicity at $v$, say. Let
    $\{t_\lambda : \lambda \in \Lambda \setminus \Lambda H\}$
    denote the universal generating Cuntz-Krieger family for
    $C^*(\Lambda \setminus \Lambda H)$. Theorem~5.2 of
    \cite{RSY1} shows that there is an isomorphism $\phi$ of
    $C^*(\Lambda)/I_H$ onto $C^*(\Lambda \setminus \Lambda H)$
    satisfying $\phi(s_\lambda + I_H) = t_\lambda$ for all
    $\lambda \in \Lambda \setminus \Lambda H$. Let $q_{I_H}$
    denote the quotient map from $C^*(\Lambda)$ to
    $C^*(\Lambda)/I_H$.

The argument of Proposition~\ref{prp:aperiodicity necessary}
gives a nonzero element $a = t_{\mu\alpha} t^*_{\mu\alpha} -
t_{\nu\alpha} t^*_{\mu\alpha}$ of $C^*(\Lambda \setminus
\Lambda H)$ which satisfies $\pi_T(a) = 0$ where $\pi_T$ is the
infinite-path representation of $C^*(\Lambda \setminus \Lambda
H)$. Let $b := s_{\mu\alpha} s^*_{\mu\alpha} - s_{\nu\alpha}
s^*_{\mu\alpha} \in C^*(\Lambda)$. By definition of $b$, we
have $\phi \circ q_{I_H}(b) = a \not= 0$, but $\pi_T \circ \phi
\circ q_{I_H}(b) = 0$. Since $\phi$ is an isomorphism, the
kernel of $\phi \circ q_{I_H}$ is precisely $I_H$. Theorem~5.2
of \cite{RSY1} implies that $H_{I_H} = H$. Since the kernel of
$\pi_T$ contains no of the vertex projections of $C^*(\Lambda
\setminus \Lambda H)$, the ideal $J = \ker(\pi_T \circ \phi
\circ q_{I_H})$ also satisfies $H_J = H$. Now $J \not= I_H$
because $b \in J \setminus I_H$. Theorem~5.2 of \cite{RSY1}
implies that $I \mapsto H_I$ is a bijection between
gauge-invariant ideals of $C^*(\Lambda)$ and saturated
hereditary subsets of $\Lambda^0$ with inverse $H \mapsto I_H$.
Since $J \not= I = I_{H_J}$, it follows that $J$ is a
nontrivial ideal of $C^*(\Lambda)$ which is not
gauge-invariant.
\end{proof}

redpajama_set_name: RedPajamaArXiv


I generally don't go out for Sunday lunch because, as a coeliac, what's on offer is rarely as good as I can make at home. We tend to have a roast most weekends – usually chicken, beef or pork, sometimes with Yorkshire puds and stuffing (which are rarely gluten free in restaurants), always with mountains of veg and roast potatoes.
Unusually, we found ourselves in the position of needing to be near Barnsley last Sunday, so we took the opportunity to try out Bistro in the Barn, which is a gluten free specialist restaurant that used to be a cattle feeding barn. It's right on the edge of the Peak District with fabulous scenery all round. A little outside of Sheffield, but worth the stunning drive out into the countryside.
We started with a complimentary appetiser of parsnip and apple soup, which was a really nice touch.
There was a mix of traditional and some more interesting starter choices. I had a satay chicken. Boy #1 had a huge bowl of creamy garlic mushrooms, and dad had a chive cake with pear and melted stilton, which had a great texture.
For mains, several of us opted for the slow cooked beef cheek with mash and the boys both had salmon with a creamy chorizo and pea sauce. I would have chosen the beef cheek in other circumstances, but I opted for the roast beef, to see how it compared to my home cooked Sunday roast.
I have to complement the Yorkshire pudding, which had a really good structure and made me think I need to experiment with my recipe. And the rest of the meal was lovely, too. The meat was delicious, and there was plenty of gravy, which I love.
Even though we were stuffed, a few of us found room for a pudding. The boys are always drawn to sticky toffee pudding, which I'm told was fab, and not a scrap was left. I tried the apple tart, warm with cream, which tasted delicious, although the pastry didn't benefit from re-heating.
All in all, we had a great meal. It was really relaxing not having to worry about cross contamination and we were spoiled for choice with all the gluten free options.
Tags: Bistro in the Barn, eating out gluten free, gluten free restauran, Gluten free restaurant review, Gluten free specialist, Gluten free Sunday lunch. Bookmark the permalink.


text:
EU Election
Körber to Shape Supply Chain of the Future in Latin America with Majority Stake Investment in Otimis
Hamburg/Blumenau, January 8, 2020. The Körber Group continues to invest in its Business Area Logistics Systems, acquiring a majority stake in Brazil-based Otimis Ltda. The supply chain management software and consulting company grows and strengthens warehousing and logistics operations for customers across the globe. The acquisition became effective as of December 18, 2019.
In light of advances in technology and digitization of supply chain processes, companies are looking for supply chain technology partners that can service them on a global basis. To address this market demand for global providers, Körber Logistics Systems has extended its service and support capabilities into Latin America with addition of Otimis. Otimis extends Körber's existing customer service capabilities in North America, Europe and the Asia Pacific (APAC) region.
Otimis has been an implementation partner and reseller of the supply chain management solutions of Körber Logistics' company HighJump since 2004. By joining Körber, Otimis now has access to a complete portfolio of supply chain technologies including supply chain management software, industrial voice solutions, autonomous mobile robotics (AMR) and material handling automation.
Otimis has locations in Blumenau and São Paulo, Brazil and Santiago, Chile, with plans for expansion in Mexico. This follows Körber's recent acquisition of the majority stake in the Cohesio Group, the leading integrator of voice-directed and AMR solutions for logistics in APAC.
"This is a further component of our successful internationalization strategy," says Stephan Seifert, Chairman of the Executive Board of Körber AG. "With Otimis, we have an ideal basis for further growth in Latin America and for offering our customers market-leading logistics solutions".
"The trusted and successful cooperation that has grown over the years between HighJump and Otimis has encouraged us to take the next step - bringing Otimis under the Körber umbrella," adds Dirk Hejnal, CEO of the Business Area Logistics Systems. "Essentially a beachhead in the region, the addition of Otimis to Körber Logistics empowers us, along with companies worldwide, with another means to think globally, while executing locally".
Hélcio Lenz, founder and CEO of Otimis, says: "Our local roots coupled with the strength of the global Körber network are ideal prerequisites for sustainable growth for us and our customers. The entire Otimis team and I look forward to being part of Körber and shaping the supply chain of the future together".
--- End ---
About Körber
Körber AG is the holding company of an international technology group with around 10,000 employees worldwide. The Group unites technologically leading companies with more than 100 production, service and sales locations. Körber combines the advantages of a globally represented organization with the strengths of highly specialized and flexible medium-sized companies that offer their customers solutions, products and services in the Business Areas Körber Digital, Logistics Systems, Pharma Systems, Tissue and Tobacco.
About Körber Logistics Systems
The Business Area Logistics Systems is a leading provider of fully integrated applications for optimizing complex internal and external logistics processes. Under the Körber Logistics
umbrella brand, this Business Area supplies digitized solutions for smart factories (production
logistics), warehouses, distribution centers, e-commerce, and the controlling of entire supply chains. The umbrella brand unites the companies Aberle and Consoveyo (systems integration), Langhammer and Riantics (product solutions), as well as Aberle Software, Cirrus Logistics, Cohesio Group, DMLogic, HighJump, Inconso and Voiteq (software) in three Business Units. These offer a comprehensive range of products and services encompassing everything from systems integration to warehousing, palletizing, depalletizing, materials handling technology, and software.
About Otimis Ltda.
Otimis Ltda., headquartered in Blumenau, Brazil, provides some of the world-leading supply chain management software, with highly specialized services and support for greater adherence and efficiency to the tools offered to the market. As a long-term partner of HighJump, a Körber Logistics Business Unit Software company, Otimis is known for cloud and on-premise warehouse management systems (WMS) and other solutions to enhance and automate fulfillment in today's complex supply chain landscape.
Further information on www.koerber.com/en, www.koerber-logistics.com and www.otimis.com/en
Picture is available at AP Images (http://www.apimages.com)
Contact partners:
Matthias Mezele Jörg Hermes
Senior Manager Corporate Communications Senior Manager Corporate Communications
Körber AG Körber AG
Tel.: +49 40 211 07 364 Tel.: +49 40 211 07 236
Mob.: +49 173 75 19 148 Mob.: +49 172 18 17 651
E-mail: matthias.mezele@koerber.de E-mail: joerg.hermes@koerber.de
Daniele Heinig
Otimis Ltda.
Mob.: +55 47 99158 9061
E-mail: daniele.heinig@otimis.com
Subscriber: APA-OTS
Press release: 08.01.2020 15:00
Jan 10, 2020, 09:05 // Lifestyle
Magic Garden by THOMAS SABO - Spring/Summer Collection 2020 inspired by the highest level of craftsmanship and Rita Ora as the face of the campaign
Jan 8, 2020, 15:00 // Economy
Dec 19, 2019, 12:00 // Economy
Atotech announces confidental submission of draft registration statement for proposed initial public offering
Puma and X-bionic® create together a highly-funkcional collection of products
Tenth Record-Breaking Year in a Row for ZEISS
O-STA is a service for the distribution of original press releases. It is tailored to companies and organisations seeking to inform the public at home and abroad about the latest in their industry, product releases or new services. More ...
© STA 2018. All Rights Reserved. ISSN 1854-214X

redpajama_set_name: RedPajamaCommonCrawl


South African-born Nobel literature laureate J.M. Coetzee offered an impassioned critique of censorship during a seminar at the Universidad Central de Bogota.
Drawing from the themes of his 1996 book, "Giving Offense: Essays on Censorship", the famously reticent 73-year-old author recounted personal experiences with censorship in apartheid South Africa.
Though his novels "In the Heart of the Country" (1977), "Waiting for the Barbarians" (1980) and "Life & Times of Michael K" (1983) were all critical of apartheid, government censors left them untouched because he was a white, middle-class intellectual who did not write "for mass consumption", Coetzee said.
The writer recounted how he came to learn that some of the members of the "anonymous committee of censors" were respected intellectuals and personal acquaintances of his.
Once dubbed "the writer of writers" by the late Carlos Fuentes and hailed as "one of the best living novelists" by fellow Nobel Prize winner Mario Vargas Llosa, Coetzee has imbued his fiction with a symbolic, sometimes allegorical, style that questions all forms of racism and subjugation.
The seminar, Three Days with J.M. Coetzee, ended in the author's receiving an honorary doctorate from Universidad Central.


China Mineral Processing Small Scale Gold Mining Equipment Mobile Gold We take pictures of the finished products and send them to the clients before as Cameroon,Ghana,Mali,Zimbabwe,Malaysia,Indonesia and Philippines etc.
The mining sector remains very lucrative, with some of the world's largest platinum reserves being mined by Anglo American plc and Impala Platinum. ... Metallon Corporation was Zimbabwe's largest gold miner. The group is looking to increase its production to 500,000 troy ounces per annum by 2019.
the biggest gold mine in zimbabwe Grinding Mill China. Orapa Diamond Mine. Orapa mine is the ninth biggest diamond mine in the world. It is located in Orapa town of Boteti Sub District, approximately 240km west of the city of Francistown 187; Learn More.
Mining Zimbabwe. 7.3K likes. Mining Zimbabwe focus is the evolving face of the zimbabwe mining industry, trends, mining news, mining machinery,... Jump to. Sections of this page. Accessibility Help. Press alt + / to open this menu. Facebook. ... Zimbabwe Gold prices/ rates Today.
pictures of mines of duration gold zimbabwe. Duration Gold Zimbabwe LinkedIn. ... Duration Gold Zimbabwe, ... mines in Zimbabwe and has ... Blanket Gold Mine - Caledonia Mining Corporation. Caledonia's primary asset is a 49% interest in the Blanket Mine Zimbabwe ... 49% of Blanket. Blanket Gold Mine is a well ... arrangements in-full and on-time.
Artisanal and smallscale gold mining in Zimbabwe Pact. Jun 22, 2015 Many people believe that the typical artisanal gold miner in Zimbabwe is a single, migratory man in his early 20s who has no eduion, gambles away his money, and is likely to contract HIV.
Aug 05, 2016· zimbabwe gold mine pictures offers 6550 cement grinding mill plant products. About 65% of these are cast & forged, 19% are mine mill, and 5% are cement making machinery. Quotation More. Small Mining Equipment ---ball Mill For Limestone,Barite,Silica Sand .
Major Production from Zimbabwe Gold Mines RareGoldNuggets . Jan 8, 2016 . Gold Ore This is one of Zimbabwe's biggest gold mine. The mine is located at about 15 km southwest of Gwanda city, which is the headquarters. Contact US Full list of Zimbabwe Minerals Minerals of .
Gold mining and exploration in Zimbabwe has been going on from ancient. Contact US Blanket Gold Mine Caledonia Mining Corporation. Blanket Gold Mine is a well established Zimbabwean gold mine, which operates at a depth of approximately 750 meters below surface and produced. Gold Mining In Zimbabwe Goldma Team Medium. May 10, 2018 .
list of gold mines in zimbabwe. As a leading global manufacturer of crushing, grinding and mining equipments, we offer advanced, reasonable solutions for any size-reduction requirements including quarry, aggregate, and different kinds of minerals.


The Aerocare team also incorporates our mission coordinators and customer support operators. Together the team develops our Customer Relationship Program Unit. The configuration is set up also to accommodate equipment, such as incubators, when required. Great care is taken when choosing the medical equipment for Aerocare and its missions.
Aerocare stocks a redundant number of instruments to ensure flexibility and quick time- responsiveness on its missions.


text:
var crypto = require('crypto');
var async  = require('async');
var utils  = require('./utils');
var pki = require('node-forge').pki;
var deasync = require('deasync');

function encryptKeyInfoWithScheme(symmetricKey, options, scheme, callback) {
  // convert a PEM-formatted public key to a Forge public key
  var rsa_pub = pki.publicKeyFromPem(options.rsa_pub);
  // encrypt the forge public key with the scheme algorithm
  var encrypted = rsa_pub.encrypt(symmetricKey.toString('binary'), scheme);
  // encode the encrypt key to base 64
  var base64EncodedEncryptedKey = new Buffer(encrypted, 'binary').toString('base64');

  var params = {
    encryptedKey:  base64EncodedEncryptedKey,
    //encryptionPublicCert: '<X509Data><X509Certificate>' + utils.pemToCert(options.pem.toString()) + '</X509Certificate></X509Data>',
    encryptionPublicCert: utils.pemToCert(options.pem.toString()),
    keyEncryptionMethod: options.keyEncryptionAlgorighm
  };

  var result = utils.renderTemplate('keyinfo', params);

  return callback(null, result);
}

function encryptKeyInfo(symmetricKey, options, callback) {
  if (!options)
    return callback(new Error('must provide options'));
  if (!options.rsa_pub)
    return callback(new Error('must provide options.rsa_pub with public key RSA'));
  if (!options.pem)
    return callback(new Error('must provide options.pem with certificate'));

  if (!options.keyEncryptionAlgorighm)
    return callback(new Error('encryption without encrypted key is not supported yet'));

  switch (options.keyEncryptionAlgorighm) {
    case 'http://tiagomistral.github.io/SecJSON#rsa-oaep-mgf1p':
      return encryptKeyInfoWithScheme(symmetricKey, options, 'RSA-OAEP', callback)

    case 'http://tiagomistral.github.io/SecJSON#rsa-1_5':
      return encryptKeyInfoWithScheme(symmetricKey, options, 'RSAES-PKCS1-V1_5', callback)

    default:
      return callback(new Error('encryption key algorithm not supported'));
  }
}

function jsonEncrypt(json, jsonKey, options, callback) {
  if (!json)
    return callback(new Error('must provide json object'));
  if (!jsonKey)
    return callback(new Error('must provide jsonKey path to encrypt'));

  var key = jsonKey.split(/[\[\].,]/).filter(String);

  callback(null, findKeyEncryptValue(json,key,options));
}

function findKeyEncryptValue(json, keyPath, options){
  if(keyPath.length == 1) {
    json[keyPath[0]] = jsonSyncEncrypt(JSON.stringify(json[keyPath[0]]), options);
    return json;
  }

  json[keyPath[0]] = findKeyEncryptValue(json[keyPath[0]], keyPath.slice(1, keyPath.length), options);
  return json;
}

function jsonSyncEncrypt(value, options){
  var json;
  encrypt(value, options, function(err, result) {
    json = JSON.parse(result);
    });
    while(json === undefined) {
      deasync.runLoopOnce();
    }
    return json;
}

function jsonDecrypt(json, jsonKey, options, callback) {
  if (!json)
    return callback(new Error('must provide json object'));
  if (!jsonKey)
    return callback(new Error('must provide jsonKey to encrypt'));

  var key = jsonKey.split(/[\[\].,]/).filter(String);

  callback(null, findKeyDecryptValue(json,key,options));
}

function findKeyDecryptValue(json, keyPath, options){
  if(keyPath.length == 1) {
    json[keyPath[0]] = jsonSyncDecrypt(JSON.stringify(json[keyPath[0]]), options);
    return json;
  }

  json[keyPath[0]] = findKeyDecryptValue(json[keyPath[0]], keyPath.slice(1, keyPath.length), options);
  return json;
}

function jsonSyncDecrypt(value, options){
    var json;
    decrypt(value, options, function(err, result) {
      json = JSON.parse(result);
    });
    while(json === undefined) {
      deasync.runLoopOnce();
    }
    return json;
}

function encrypt(content, options, callback) {
  if (!options)
    return callback(new Error('must provide options'));
  if (!content)
    return callback(new Error('must provide content to encrypt'));
  if (!options.rsa_pub)
    return callback(new Error('rsa_pub option is mandatory and you should provide a valid RSA public key'));
  if (!options.pem)
    return callback(new Error('pem option is mandatory and you should provide a valid x509 certificate encoded as PEM'));

  options.input_encoding = options.input_encoding || 'utf8';

  async.waterfall([
    function generate_symmetric_key(cb) {
      switch (options.encryptionAlgorithm) {
        case 'http://tiagomistral.github.io/SecJSON#aes128-cbc':
          crypto.randomBytes(16, cb); // generate a symmetric random key 16 bytes length
          break;
        case 'http://tiagomistral.github.io/SecJSON#aes256-cbc':
          crypto.randomBytes(32, cb); // generate a symmetric random key 32 bytes length
          break;
        case 'http://tiagomistral.github.io/SecJSON#tripledes-cbc':
          crypto.randomBytes(24, cb); // generate a symmetric random key 24 bytes (192 bits) length
          break;
        default:
          crypto.randomBytes(32, cb); // generate a symmetric random key 32 bytes length
      }
    },
    function encrypt_content(symmetricKey, cb) {
      switch (options.encryptionAlgorithm) {
        case 'http://tiagomistral.github.io/SecJSON#aes128-cbc':
          encryptWithAlgorithm('aes-128-cbc', symmetricKey, 16, content, options.input_encoding, function (err, encryptedContent) {
            if (err) return cb(err);
            cb(null, symmetricKey, encryptedContent);
          });
          break;
        case 'http://tiagomistral.github.io/SecJSON#aes256-cbc':
          encryptWithAlgorithm('aes-256-cbc', symmetricKey, 16, content, options.input_encoding, function (err, encryptedContent) {
            if (err) return cb(err);
            cb(null, symmetricKey, encryptedContent);
          });
          break;
        case 'http://tiagomistral.github.io/SecJSON#tripledes-cbc':
          encryptWithAlgorithm('des-ede3-cbc', symmetricKey, 8, content, options.input_encoding, function (err, encryptedContent) {
            if (err) return cb(err);
            cb(null, symmetricKey, encryptedContent);
          });
          break;
        default:
          cb(new Error('encryption algorithm not supported'));
      }
    },
    function encrypt_key(symmetricKey, encryptedContent, cb) {
      encryptKeyInfo(symmetricKey, options, function(err, keyInfo) {
        if (err) return cb(err);

        var result = utils.renderTemplate('encrypted-key', {
          encryptedContent: encryptedContent.toString('base64'),
          keyInfo: keyInfo,
          contentEncryptionMethod: options.encryptionAlgorithm
        });

        cb(null, result);
      });
    }
  ], callback);
}

function decryptKeyInfoWithScheme(encryptedKey, options, scheme) {
  var key = new Buffer(encryptedKey.textContent, 'base64').toString('binary');
  var private_key = pki.privateKeyFromPem(options.key);
  var decrypted = private_key.decrypt(key, scheme);
  return new Buffer(decrypted, 'binary');
}

function encryptWithAlgorithm(algorithm, symmetricKey, ivLength, content, encoding, callback) {
  // create a random iv for algorithm
  crypto.randomBytes(ivLength, function(err, iv) {
    if (err) return callback(err);

    var cipher = crypto.createCipheriv(algorithm, symmetricKey, iv);
    // encrypted content
    var encrypted = cipher.update(content, encoding, 'binary') + cipher.final('binary');
    return callback(null, Buffer.concat([iv, new Buffer(encrypted, 'binary')]));
  });
}

function decrypt(json, options, callback) {
  if (!options)
    return callback(new Error('must provide options'));
  if (!json)
    return callback(new Error('must provide JSON to decrypt'));
  if (!options.key)
    return callback(new Error('key option is mandatory and you should provide a valid RSA private key'));

  var decrypted;

  try {
    var doc = JSON.parse(json);

    var symmetricKey = decryptKeyInfo(doc, options);
    var encryptionAlgorithm = doc.EncryptedData.EncryptionMethod.Algorithm;

    var decipher;
    var padding;
    var encryptedContent = doc.EncryptedData.CipherData.CipherValue;

    var encrypted = new Buffer(encryptedContent, 'base64');

    switch (encryptionAlgorithm) {
      case 'http://tiagomistral.github.io/SecJSON#aes128-cbc':
        decipher = crypto.createDecipheriv('aes-128-cbc', symmetricKey, encrypted.slice(0, 16));

        decipher.setAutoPadding(false);
        decrypted = decipher.update(encrypted.slice(16), null, 'binary') + decipher.final('binary');

        // Remove padding bytes equal to the value of the last byte of the returned data.
        padding = decrypted.charCodeAt(decrypted.length - 1);
        if (1 <= padding && padding <= 16) {
          decrypted = decrypted.substr(0, decrypted.length - padding);
        } else {
          callback(new Error('padding length invalid'));
          return;
        }

        decrypted = new Buffer(decrypted, 'binary').toString('utf8');
        break;
      case 'http://tiagomistral.github.io/SecJSON#aes256-cbc':
        decipher = crypto.createDecipheriv('aes-256-cbc', symmetricKey, encrypted.slice(0, 16));

        decipher.setAutoPadding(false);
        decrypted = decipher.update(encrypted.slice(16), null, 'binary') + decipher.final('binary');

        // Remove padding bytes equal to the value of the last byte of the returned data.
        padding = decrypted.charCodeAt(decrypted.length - 1);
        if (1 <= padding && padding <= 16) {
          decrypted = decrypted.substr(0, decrypted.length - padding);
        } else {
          callback(new Error('padding length invalid'));
          return;
        }
        decrypted = new Buffer(decrypted, 'binary').toString('utf8');
        break;
      case 'http://tiagomistral.github.io/SecJSON#tripledes-cbc':
        decipher = crypto.createDecipheriv('des-ede3-cbc', symmetricKey, encrypted.slice(0,8));
        decrypted = decipher.update(encrypted.slice(8), null, 'binary') + decipher.final('binary');
        decrypted = new Buffer(decrypted, 'binary').toString('utf8');
        break;
      default:
        return callback(new Error('encryption algorithm ' + encryptionAlgorithm + ' not supported'));
    }
  } catch (e) {
    return callback(e);
  }

  callback(null, decrypted);
}

function decryptKeyInfo(doc, options) {

  var keyInfo = doc.EncryptedData.KeyInfo.EncryptedKey.KeyInfo.RetrievalMethod;
  var keyEncryptionAlgorighm = doc.EncryptedData.KeyInfo.EncryptedKey.EncryptionMethod.Algorithm;
  var encryptedKey = doc.EncryptedData.KeyInfo.EncryptedKey.CipherData.CipherValue;

  switch (keyEncryptionAlgorighm) {
    case 'http://tiagomistral.github.io/SecJSON#rsa-oaep-mgf1p':
      return decryptKeyInfoWithScheme(encryptedKey, options, 'RSA-OAEP')
    case 'http://tiagomistral.github.io/SecJSON#rsa-1_5':
      return decryptKeyInfoWithScheme(encryptedKey, options, 'RSAES-PKCS1-V1_5')
    default:
      throw new Error('key encryption algorithm ' + keyEncryptionAlgorighm + ' not supported');
  }
}

function decryptKeyInfoWithScheme(encryptedKey, options, scheme) {
  var key = new Buffer(encryptedKey, 'base64').toString('binary');
  var private_key = pki.privateKeyFromPem(options.key);
  var decrypted = private_key.decrypt(key, scheme);
  return new Buffer(decrypted, 'binary');
}

exports = module.exports = {
  encrypt: encrypt,
  decrypt: decrypt,
  jsonEncrypt: jsonEncrypt,
  jsonDecrypt: jsonDecrypt
};

redpajama_set_name: RedPajamaGithub


"I have always loved being outside and spending time in the glens near where I grew up. Wildlife inspires me everyday and it's a privilege to share it with others."
Kevin joins the Langholm Initiative following a 3 year spell as a hands on Estate Manager in Northumberland. Here Kevin managed woodland and forestry under the Continuous Cover Forestry strategy that is adopted widely across Europe. This form of forestry provides a more diverse woodland and provides habitat at all times for wildlife.
He has previously worked as part of the Manx Sheerwater project on the isle of Rum. Kevin is a trained display falconer and worked providing educational bird of prey displays at Raptor World in Fife.
Kevin follows the ethos that if you can inspire even one other person the way he has been inspired by nature then maybe it has a chance to be conserved.
"How society interacts with the environment is one of the most important questions facing the next generation."
A former professional Football player with Dundee FC, he now holds an honours degree in Business Administration and an MSc in Conservation Management.
An article based on Kevin's MSc thesis was published by the charity Wolves and Humans Foundation in 2013.


Randy Rainbow's latest political parody is after Trump and his childish fit over the border wall. Watch below!
Randy Rainbow (yes, real name) is a comedian, actor, writer, host and internet celebrity best known for his series of satirical videos, including "Randy Rainbow is Dating Mel Gibson," "Randy Rainbow Works at Chi-fil-A," and "The Kim Davis Cell Block Tango." His political spoofs (including "Randy Rainbow Interviews Donald Trump") have garnered international acclaim and millions of views. His song parody "GOP Dropout" series was called "the best thing about the GOP race" by Dan Savage. His videos have appeared regularly on popular blogs Towleroad, Queerty, Perez Hilton and VH1's Best Week Ever. Randy was a columnist for HX Magazine, one of New York's most prominent gay publications, and has also written for Kathy Griffin.
Randy has hosted and performed in a number of theatrical concerts and benefits for the Broadway, cabaret and gay communities, as well as hosted events for the TONY AWARDSand for some of New York City's most popular nightspots, including 54 Below, XL Nightclub and Therapy NYC, where his own weekly show ran successfully for 2 years. He's been seen as a talking head on numerous VH1 SPECIALS including "The 100 Greatest Songs of the 2000's" and has been heard regularly as both a guest and guest co-host on Sirius XM.
In his BroadwayWorld exclusive series, Chewing the Scenery, Randy tackled Broadway headlines with his own unique sense of humor. Click here to watch past episodes!


text:
STATISTICAL EVIDENCE IN SHORT SUPPLY
The Crux of the anti-smoking movement's success over the past 15 years has stemmed largely from efforts aimed at bolstering the fears of non-smokers. Flawed or inconclusive studies citing increased risks for non-smokers due to secondhand smoke have formed the basis for the majority of smoking restrictions nationwide, and even throughout the world.
Now, the results of the only definitive research study on "passive" or "secondhand" smoking, sponsored by the World Health Organization, have been tabulated and analyzed. Ten years in the planning, it is the evidence that was supposed to set the record straight, once and for all.
You didn't hear about it?
That's because the study was entirely inconclusive, failing to find any association between passive smoking and cancer risks among exposed non-smokers. In fact, WHO decided not to publish the results at all, just an internal summary of its findings which quickly made its way to the pages of Britain's Sunday Telegraph, followed a week later by the Wall Street Journal.
It certainly wasn't what WHO had been hoping for Ñ evidence to support its current position on secondhand smoke. In 1988, a subgroup of WHO called the International Agency on Research on Cancer declared tobacco smoke a carcinogen. The conclusion that secondhand smoke has a similar, if less potent, effect on exposed non-smokers was merely an extrapolation of existing facts. Science, it was assumed, would soon produce the necessary substantiation.
Ten years later, WHO is still searching for that evidence. Publicizing the results of the 1998 study would only serve as a setback to WHO's anti-smoking stance, and the fanaticism it has spun off. So much for the truth setting you free.
Meanwhile, the cigar industry has bolstered its efforts to fend off further Congressional scrutiny and regulatory interference, taking steps to keep cigar marketing and promotion from facing the same future that has befallen the cigarette. The Cigar Association of America (CAA) launched a retailer compliance and information program, "Banding Together:Keeping Kids Away from Cigars," designed to disseminate key facts about the cigar industry's responsible marketing practices and promote adult-only cigar sales. As scrutiny of cigars increases, instigated by many of the same fact-poor anti-smoking groups that have already been hard at work over the past decade, the public is once again presented with flawed impressions. Retailers are urged to comply with the program, and help spread reliable information to cigar-smoking consumers (see story, page 16).
Despite the numerous shifts occurring in the cigar industry, retailers will be pleased to know that overall the industry remains abuzz: A preview of this year's RTDATrade Show and Convention reveals yet another record-sized event, and not by a small margin, either. We look forward to seeing you in Nashville!
E. Edward Hoyt III


This Cascade Falls ranch offers community features like playgrounds, a community swimming pool, and tennis courts. Inside find granite kitchen countertops, a fireplace, and vaulted ceilings. Upgraded features include fresh interior paint, new carpet, and new kitchen appliances. Home comes with a 30-day buyback guarantee. Terms and conditions apply.
I am interested in 3428 Cast Palm Dr, Buford, GA 30519 (Listing ID # 6069337).


What has been arrived as a consensus after observing and getting into the various aspects of content management is that content curation helps the content professional to collect the content from all around the Internet as according to their need and requirements. Content curation helps in keeping conversion as well as improving the customer experience. By the content curation the importance and relevance to certain topic can be estimated within an industry and by that mean one can establish their trust among around the audience. With progression to the content curation there many companies have arrived in the market that provides the content curation services.
Among the prominent companies in content curation the first and foremost name that arrives is of Scoop.it that was launched in Beta in about in late 2010. It works as bookmarklet and curator. It helps the users to select topic and then pass on content to them from many a number of resources. It helps to look at the most popular topic and top curators and hence the curation community as well can be formed out to be there. Presently, access to Scoop.it is only through invitation only.
Paper.li is another content curation too that has an impressive presence on the social media sites prominently on Twitter. It is made in such a manner that it can organize links shared on Twitter and Facebook about in an easy to read newspaper style format. It is a semantic web project of small rivers that is a private Swiss company. It also lets its users to have access to other papers as embed papers on blogs or websites as well as to search for relevant and necessary content for the end users. Another important curation and content production and distribution tool is Content Curata, that gives the high quality leads and the risen above market visibility.


Zachary Cook, a senior at New Brighton High School, was named a Student of the Month for October by the New Brighton Rotary Club.
Cook, a National Honor Society member, received the Rotary Youth Leadership Award and the Hugh O'Brien Youth Leadership Award and was chosen as a Pittsburgh Positive Athlete. He was involved in the Interact, Ushers and Bible clubs.
Cook played varsity basketball for four years and participated in track and field for three years. He is also a mentor for the Keystone Wellness Group, is a junior usher at the Father's House in Rochester and worked this summer at Trails Ministry.
He is the son of Roosevelt and Raquel Cook of Daugherty Township. He plans to attend a college or university.
Rachel DeMarco, a senior at New Brighton High School, was named a Student of the Month for November by the New Brighton Rotary Club. DeMarco achieved high honors throughout high school and is a member of the National Honor Society.
The four-year student council member serves as secretary this year. She has been class secretary for three years, and is involved in the Interact and Bible clubs.
DeMarco, the captain of the varsity volleyball team, is a four-year letter winner. Throughout high school, she has participated in school musicals and the Powersource Youth Ministry, where she is a student leader. She is also a children's ministry volunteer at New Brighton Christian Assembly Church.
DeMarco is the daughter of Geno and Cheryl DeMarco of Daugherty Township. She plans to major in biology at a four-year college and ultimately work in pediatric oncology.


Spend too much time fiddling with your graphical settings and not enough time gaming? Nvidia's "GeForce Experience" brings an optimal in-game experience for your system using the Cloud.
Nvidia announced a huge game changer at GeForce LAN 2012 in Shanghai, China with the unveiling of the ultra-cool GTX GeForce 690.
The company didn't stop there, as Nvidia CEO Jen-Hsun Huang also revealed the cloud-based project called the "GeForce Experience".


Top Move is Australia's only true home and office interstate turn-key removalists. We have designed a unique system to ensure that we can better plan and execute your move. Not only will our flexible system streamline your unique requirements, we are also the fastest movers amongst all of the interstate removal companies, allowing us to supply you with a stress-free, coordinated move, irrespective of your destination.
Our genuine white-glove service infers that you won't have to inconvenience yourself from your move's start to finish. We will do everything from packing up your home/office at its original home/office to unpacking of your home/office furniture at your destination, ensuring that your goods will have the very best protection and handling. In short, Top Move offers you a stress and hassle-free interstate move that will give you total peace of mind.
Safety, Security and Reliability with Sydney-Based Top Move Interstate Removalists.
Your move will be managed by a dedicated, experienced Team Leader who will keep you informed of your move's progress every step of the way.
All our staff, including management, admin, and movers, are full-time employees, all have been chosen based on their dedication, experience, and capabilities in ensuring a first-class moving experience for each and every Top Move customer.
At Top Move, we offer all of our clients peace of mind with our superior service at the best prices. We are not one of the cheap and careless interstate removals from Sydney, conversely, we offer a reasonably priced, first-class removals service that is pure value for money.
We subscribe to an honest, open pricing policy and use the Interstate Pricing Table to calculate the fixed cost for your move. Our quotes include all the costs that you will incur during your move, include fuel and toll costs. There are no hidden costs and no unpleasant surprises waiting for you at the end of your move.
Our premium service to our families and businesses includes a full packing and unpacking service; we will ensure that your furniture items are disassembled and reassembled. Before packing your goods in sturdy boxes, our professional packers will wrap your items in a protective layer such as industrial strength bubble wrap, felt blankets, and cling wrap film, in order to protect all your goods, especially your treasured and valuable items.
Top Move is one of the few interstate moving companies who load your goods and unload your goods just once, transporting your goods interstate by road only. We do not reduce our cost by unloading your household/office goods and furniture onto a goods train, and then reloading your furniture from the goods train back onto a truck at the destination. In this way, we are able to significantly reduce the likelihood of loss and damage to items.
We maintain our own fleet of removal trucks which are always kept in tip-top condition and ready for the long interstate journey whether it be from Sydney to Brisbane or Sydney to Canberra or the rest of Australia. We also have different size vehicles so we can provide you with a truck that is just the right size for your move. In other words, you will just be paying for the space you need.
In order to streamline our service to you, we have increased our efficiencies in order to save you time and deduce the disruption caused to your family or business. This does not mean that we have cut corners to save costs, it means that we have streamlined our business processes in order to give you a better service.
We have a customer call centre staffed with efficient, friendly staff who able to answer all of your moving questions. Contact us telephonically or fill out the online form for an interstate removals online quote. Our consultants are waiting to answer your questions and provide you with any advice or assistance that you may need.
We have moved more than 2,312 Australian's to their new homes.


Collingwood tried things all day and made plenty of errors. Maybe Geelong forced these errors. Whatever, Geelong certainly did enough to deserve their win in the wintry cold.
We've got some ripper seats. Ground level in the Olympic Stand as walk up General Admission.
The buds and I have met JT Harms with T, A and E Harms at their house. Together ("Where's the footy?") we have walked ("Dad, I need my Myki!") to the station. It's a Mum-free trip to the footy on Mother's Day. Terrific for all concerned.
And it's Collingwood at home to Geelong. Three Harms children bedecked in blue and white; two Wilson children in black and white, and their respective Dads have waited on the platform at Merri station ("it'll be here in about three minutes"). Weak sunlight has fallen somehow without heat.
We've squeezed on ("Ooh, it's a Collingwood train, kids."). As is usual, it's been a magnificent ride above the Collingwood river flats; tiny single-fronted cottages seemingly embarrassed by their million-dollar price tags ("Have you got the footy?").
We've touched off at Jolimont ("Dad, can you take my Myki?"). And we're half way down the slippery Yarra Park hill before we realise ("Hang on… Who's got the footy…?" "I gave it to you." "Ahh…") that the footy is gone.
Collingwood coming off a narrow win in Brisbane; Geelong coming off a suspiciously soft romp at home to GWS. Both teams have looked good at times this year; both have looked fallible.
So it's coats and Kit-Kats all round before the ball is bounced.
The four quarters of the day turn out to be the Barbecue Shapes quarter, the Salt and vinegar chips quarter, the hot fries quarter and the truffle slice quarter.
By half way through the salt and vinegar chips quarter, scoreboard attendants must have been reaching for their space blankets. Hypothermia is staved off at the 24 minute mark when S Crameri scores the first goal and ("ohh, it's two in a minute!") G Ablett the second goal of the quarter.
Half time ("Right, who wants some hot chips?") brings fries and ("Dad, I'm freezing. I can't stop my teeth from chattering") a costume change. It feels like Collingwood just needs a break. The rub of the green.
But the hot fries quarter brings three goals each. Tom Phillips ("He's going alright") and J De Goey for Collingwood, before P Dangerfield, S Menegola and S Menegola again kick away. W Hoskin-Elliott gets one back for Collingwood, but A Treloar and J Crisp shank gettable chances. It looks like being one-of-those-days. Great to watch the contest of J Howe on P Dangerfield; athleticism and footy nous. And Blicavs on Cox ("Can't be many times two #46 have played on each other"). Meanwhile, the costume change ("Dad, my teeth have stopped chattering") seems to have worked.
With the last quarter upon us, the buds crack out their collection of Mother's Day slice: an innovative amalgam of truffle mixture and lemon slice base ("Dad, would you like a piece?"), made for mum and presented this morning. After four minutes, the Cats snuff out the game really, with the first goal of the quarter ("It's Menegola. Again!").
It's been a game of high effort but little reward. For Collingwood, despite the loss, I'm not too concerned. There was plenty of initiative shown, plenty of speculation. Many centring kicks from half back were cut off in the centre of the ground; but I was happy to see that dice rolled. Happy to note that the young fellas had sufficient confidence to play that way. A couple of decisions could have gone the other way, a couple of injuries could have changed things.
The Cats are an interesting side. The Pies, too.
Not really sure where either of them sit.
After the game we're all singing ("We are Geelong"). And performing slap-stick Three Stooges gags on each other. ("What's that?" [Point to partner's chest] [Partner looks down at their chest] [Flick partner in the face with finger]). Rock and roll bunny, playing to captive crowds by Jolimont station, tonight disappointingly riffs on his Fender without his rabbit suit. The difference between a rock and roll bunny and just a guy with a loud amplifier is quite slim.
But as with the (Collingwood fans' perspective of the) footy result, any disappointment is fleeting. Disappointment is fleeting, because we're here.
St Pendlebury sounds more apt. Grand day. Mother's Day slice takes the edge off the loss.
Would be interested in the Handicapper and NCunninghammii's match report. An afternoon of peace must be bliss without the racket of sport and kids (large and small).
Strange game. Usually Collingwood strangles Geelong. This one the roles were reversed. I don't usually enjoy low scoring affairs but this one had a great tension to it. Both teams cracked in hard and will be sore this week. Not sure either team can win the big dance but both will give a bit of cheek.
Thanks for the weather map. "A land of drought and flooding rains" DMcKellar. Hobart drowns while Perth residents are still applying sunburn cream. The roses are stuck in perpetual bloom with no time for winter regeneration. Cockies sharpening the tynes to cut the hard ground for dry seeding.
Weather? As predictable as footy.
I bumped into JTH half time. too bad we were a bit far across seating wise, we could have used some little magpies in our cheersquad.
As weird as this sounds watching this game I never felt like I'd loved collingwood so much in my life.
It may have been the shity umpiring but they just seemed like they were really trying out there.
Any player that came within ear distance of our front row was drowned in verbal love and positivity.
The loss just didnt seem like it was the players' fault, and we just really wanted them to know that.
When Grundy was setting up for goal infront of us the 4th, we pretty much gave him a standing ovation on his walk back to set up his kick. No joke the amount of love that we forced onto him made it even more satisfying when he kicked the goal.
Sidey, Grundy, Howe, Dunn, Crisp, Varcoe, Treloar.
Gotta love these Collingwood boys.
Enjoyed this DW. Something about the way the 'G is. There's just not the same images in and around Etihad. The concrete jungle.
Can inform you that guitar-playing rabbit was on bridge over the rail lines to the tennis centre. You can have him back if you like.
Oh Danielle I just love that you still blame the umpires! They were terrible, agree.
Omg Dips I'm not joking this time!
I made sure to tell old mate boundry ump, who unfortunately for him had his water bottle stationed right infront of us that his mate umpy 15 is a real disgrace.
Also my fiance may have fractured his knuckle when slamming his hand down at …. u guessed it a shity umpire call ofc.
Amother lovely piece Tall Man.
I suspect that I am older than any of the other Magpie contributors to this thread so I should be able to cope with disappointment at least as well the rest of you. But, frankly, I travelled home from the game totally depressed and in a foul mood.
Yes, we lost Pendles before the game and Darcy Moore and Tom Phillips during the game so we were down on rotations and midfield talent. Yes, we got a rough deal from the Umpires (you are absolutely right, Dani) and yes we can take pride in the play of our defenders.
But there is no excuse for a score of five goals and fifteen behinds!!
I had really begun to believe after the Adelaide and Essendon victories and even after the "honourable" loss to the Tigers, that the Pies might be playing in September this year. But you can't win finals if you can't kick goals.
A great report on a terrible game of football.
Thanks for sharing your day, e.r.
PB: I'm aware that Mother's Day can be a tricky day for many. For many reasons. But a sweet slice is almost always a great thing.
Dips: there's a lot of potential in both sides, I reckon. Who knows how far either could climb (or fall) in 2018? Probably a good thing.
PB: It's been a warm year (again). Even in Melbourne. Sunday was an outlier – and more noticeable for that. Snow on Hobart's Mt Wellington last Thursday. You get the feeling that Perth is just hanging on as the desert inches west.
Yvette: Thank you. You blaze a trail.
A Fithall: Clearly a geographically astute rabbit aware of football's tribal boundaries. The predominantly Collingwood punters heading north to Jolimont probably not the best audience from which to draw coins in support of the Cats' anthem. He wasn't badly missed.
Dips: I've wondered about a "sliding doors" study of a game – in which every contentious decision is reversed. Maybe one day. Dani is spot on.
Dani: You are spot on. I hope those knuckles heal before the Saints game.
D Nadel: Thank you. And you're right, as always. That was a winnable game. And it was lost.
Smokie: Terrible? Maybe. There will always be a few stinkers. Though it felt pretty tight for most of the day. Thanks.
Did anyone find a small yellow footy on Sunday arvo? Maybe on a South Morang train?
Please return to the Estate of JT Harms.
Er- that's a fine day out. Love the snippets of the kids' observations throughout. I saw none of the match as we were out at West Beach enjoying a lunch on a sunny balcony overlooking the water. It was warm, and I suspect the last of these days until footy finals.
The Barbeque Shape remains the clubhouse leader.
We were at ground level – on the flank.
Set ups were pretty clear after behinds were scored. But that's the way of it, I think.
All invasion sports are the same (basketball, soccer, etc).
Tactically you are light years in front of me – but the way I understand it, everyone is trying to maintain possession and find an overlap; a four-on-three or a three-on-two situation. After that it comes down to kicking skills – short passing and goal-kicking.
Mickey – Bud Yum tells me this morning, after reading the story (above), and with disappointment, that she didn't get any barbecue shapes. Indeed, the clubhouse leader. West Beach sounds a good option.
I felt cold just reading this! There's a delightful half hour in the twilight O'Reilly when the sun is full faced. Folks whinge about seeing etc but boy do they miss it when the horizon claims it.
Cheer cheer Stripes 'n' Hoops.
Cursed by bad luck and absolutely crucified by them umpires !
Back from QLD for the match, warm as toast in the Legends area of the Ponsford, your piece has settled my soul. Collingwood hung in there but little seemed to go their way. What's with Geelong in the last quarter tackling their opponents while Pies going for a mark and no free given? Bizarre! My younger sister collected coins after a drink in the Legends Bar to give to the Rabbit man and was so horrified with his replacement that she declined to give it to him. Still a meal at Two Fat Indians and I was glad to be at the MCG again.
Love to read a yarn about families of opposing sides enjoying a game together; before, during and after.
I've only taken the South Morang train to the footy a couple of times, it's very much a "Collingwood train". Love it. The Coodabeens have a great song about that train, "6.15 from Montmorency".
The umpires (rightly) copped it from our area of The Ponsford.
Hi MdeH – the elements play such a big role, don't they? Windy September in Melbourne. Squinty sun in the 4th quarter of the MCG. Not as big a role as in the old glue-pot days, mind you. But still.
P Dimitriadis – as you were.
M Askew-Walinda – what netherworld is the Legends area? I'm glad you enjoyed your day.
Swish – pretty level headed young 'uns accompanying us. Young Ms A Harms not too concerned when her request "can I change my tip to Collingwood Dad?" was met with "Ahh, not now, A. The game starts in 2 minutes." Big grin when I asked two hours later if she would still like to change her tip.
I'm looking forward to it all aligning, too, Luke.
Gee, it will be great to watch.
Great to see you Danni.
AF, you're very hard on The Bunny.
Thanks for a terrific day ER.
PS We think the footy (a battered synthetic AusKick footy) was left at the train station when we were topping up Evie's Myki. I hope it has gone to a good home. Or, even better, that it becomes the Merri Station footy and is handled by many commuters daily as they trudge towards The City or the promise of the wide open plains of South Morang.
I am glad the Cats won.
Low scores have been around for years.
I remember one Cats v Pies at the G years ago and the Cats kicked 9.24 to won.
I don't remenber the Pies score or what we won by, but that score sticks in my mind.


text:
<?php

/**
 * a language object is made of two terms in 'language' and 'term_language' taxonomies
 * manipulating only one object per language instead of two terms should make things easier
 *
 * properties:
 * term_id             => id of term in 'language' taxonomy
 * name                => language name. Ex: English
 * slug                => language code used in url. Ex: en
 * term_group          => order of the language when displayed in a list of languages
 * term_taxonomy_id    => term taxonomy id in 'language' taxonomy
 * taxonomy            => 'language'
 * description         => language locale for backward compatibility
 * parent              => 0 / not used
 * count               => number of posts and pages in that language
 * tl_term_id          => id of the term in 'term_language' taxonomy
 * tl_term_taxonomy_id => term taxonomy id in 'term_language' taxonomy
 * tl_count            => number of terms in that language ( not used by Polylang )
 * locale              => WordPress language locale. Ex: en_US
 * is_rtl              => 1 if the language is rtl
 * flag_code           => code of the flag
 * flag_url            => url of the flag
 * flag                => html img of the flag
 * custom_flag_url     => url of the custom flag if exists, internal use only, moves to flag_url on frontend
 * custom_flag         => html img of the custom flag if exists, internal use only, moves to flag on frontend
 * home_url            => home url in this language
 * search_url          => home url to use in search forms
 * host                => host of this language
 * mo_id               => id of the post storing strings translations
 * page_on_front       => id of the page on front in this language ( set from pll_languages_list filter )
 * page_for_posts      => id of the page for posts in this language ( set from pll_languages_list filter )
 *
 * @since 1.2
 */
class PLL_Language {
	public $term_id, $name, $slug, $term_group, $term_taxonomy_id, $taxonomy, $description, $parent, $count;
	public $tl_term_id, $tl_term_taxonomy_id, $tl_count;
	public $locale, $is_rtl;
	public $flag_url, $flag;
	public $home_url, $search_url;
	public $host, $mo_id;
	public $page_on_front, $page_for_posts;

	/**
	 * constructor: builds a language object given its two corresponding terms in language and term_language taxonomies
	 *
	 * @since 1.2
	 *
	 * @param object|array $language 'language' term or language object properties stored as an array
	 * @param object $term_language corresponding 'term_language' term
	 */
	public function __construct( $language, $term_language = null ) {
		// build the object from all properties stored as an array
		if ( empty( $term_language ) ) {
			foreach ( $language as $prop => $value ) {
				$this->$prop = $value;
			}
		}

		// build the object from taxonomies
		else {
			foreach ( $language as $prop => $value ) {
				$this->$prop = in_array( $prop, array( 'term_id', 'term_taxonomy_id', 'count' ) ) ? (int) $language->$prop : $language->$prop;
			}

			// although it would be convenient here, don't assume the term is shared between taxonomies as it may not be the case in future
			// http://make.wordpress.org/core/2013/07/28/potential-roadmap-for-taxonomy-meta-and-post-relationships/
			$this->tl_term_id = (int) $term_language->term_id;
			$this->tl_term_taxonomy_id = (int) $term_language->term_taxonomy_id;
			$this->tl_count = (int) $term_language->count;

			// the description field can contain any property
			// backward compatibility for is_rtl
			$description = maybe_unserialize( $language->description );
			foreach ( $description as $prop => $value ) {
				'rtl' == $prop ? $this->is_rtl = $value : $this->$prop = $value;
			}

			$this->description = &$this->locale; // backward compatibility with Polylang < 1.2

			$this->mo_id = PLL_MO::get_id( $this );
			$this->set_flag();
		}
	}

	/**
	 * sets flag_url and flag properties
	 *
	 * @since 1.2
	 */
	public function set_flag() {
		$flags['flag']['url'] = '';

		// Polylang builtin flags
		if ( ! empty( $this->flag_code ) && file_exists( POLYLANG_DIR . ( $file = '/flags/' . $this->flag_code . '.png' ) ) ) {
			$flags['flag']['url'] = esc_url_raw( POLYLANG_URL . $file );

			// if base64 encoded flags are preferred
			if ( ! defined( 'PLL_ENCODED_FLAGS' ) || PLL_ENCODED_FLAGS ) {
				$flags['flag']['src'] = 'data:image/png;base64,' . base64_encode( file_get_contents( POLYLANG_DIR . $file ) );
			} else {
				$flags['flag']['src'] = esc_url( POLYLANG_URL . $file );
			}
		}

		// custom flags ?
		if ( file_exists( PLL_LOCAL_DIR . ( $file = '/' . $this->locale . '.png' ) ) || file_exists( PLL_LOCAL_DIR . ( $file = '/' . $this->locale . '.jpg' ) ) ) {
			$flags['custom_flag']['url'] = esc_url_raw( PLL_LOCAL_URL . $file );
			$flags['custom_flag']['src'] = esc_url( PLL_LOCAL_URL . $file );
		}

		/**
		 * Filter the flag title attribute
		 * Defaults to the language name
		 *
		 * @since 0.7
		 *
		 * @param string $title  the flag title attribute
		 * @param string $slug   the language code
		 * @param string $locale the language locale
		 */
		$title = apply_filters( 'pll_flag_title', $this->name, $this->slug, $this->locale );

		foreach ( $flags as $key => $flag ) {
			$this->{$key . '_url'} = empty( $flag['url'] ) ? '' : $flag['url'];

			/**
			 * Filter the html markup of a flag
			 *
			 * @since 1.0.2
			 *
			 * @param string $flag html markup of the flag or empty string
			 * @param string $slug language code
			 */
			$this->{$key} = apply_filters( 'pll_get_flag', empty( $flag['src'] ) ? '' :
				sprintf(
					'<img src="%s" title="%s" alt="%s" />',
					$flag['src'],
					esc_attr( $title ),
					esc_attr( $this->name )
				),
				$this->slug
			);
		}
	}

	/**
	 * replace flag by custom flag
	 * takes care of url scheme
	 *
	 * @since 1.7
	 */
	public function set_custom_flag() {
		// overwrite with custom flags on frontend only
		if ( ! empty( $this->custom_flag ) ) {
			$this->flag = $this->custom_flag;
			$this->flag_url = $this->custom_flag_url;
			unset( $this->custom_flag, $this->custom_flag_url ); // hide this
		}

		// set url scheme, also for default flags
		if ( is_ssl() ) {
			$this->flag = str_replace( 'http://', 'https://', $this->flag );
			$this->flag_url = str_replace( 'http://', 'https://', $this->flag_url );
		} else {
			$this->flag = str_replace( 'https://', 'http://', $this->flag );
			$this->flag_url = str_replace( 'https://', 'http://', $this->flag_url );
		}
	}

	/**
	 * updates post and term count
	 *
	 * @since 1.2
	 */
	public function update_count() {
		wp_update_term_count( $this->term_taxonomy_id, 'language' ); // posts count
		wp_update_term_count( $this->tl_term_taxonomy_id, 'term_language' ); // terms count
	}

	/**
	 * set home_url and search_url properties
	 *
	 * @since 1.3
	 *
	 * @param string $search_url
	 * @param string $home_url
	 */
	public function set_home_url( $search_url, $home_url ) {
		$this->search_url = $search_url;
		$this->home_url = $home_url;
	}

	/**
	 * set home_url scheme
	 * this can't be cached accross pages
	 *
	 * @since 1.6.4
	 */
	public function set_home_url_scheme() {
		if ( is_ssl() ) {
			$this->home_url = str_replace( 'http://', 'https://', $this->home_url );
			$this->search_url = str_replace( 'http://', 'https://', $this->search_url );
		}

		else {
			$this->home_url = str_replace( 'https://', 'http://', $this->home_url );
			$this->search_url = str_replace( 'https://', 'http://', $this->search_url );
		}
	}

	/**
	 * returns the language locale
	 * converts WP locales to W3C valid locales for display
	 * @see #33511
	 *
	 * @since 1.8
	 *
	 * @param string $filter either 'display' or 'raw', defaults to raw
	 * @return string
	 */
	public function get_locale( $filter = 'raw' ) {
		if ( 'display' == $filter ) {
			static $valid_locales = array(
				'bel'            => 'be',
				'bre'            => 'br',
				'de_CH_informal' => 'de_CH',
				'de_DE_formal'   => 'de_DE',
				'dzo'            => 'dz',
				'ido'            => 'io',
				'kin'            => 'rw',
				'oci'            => 'oc',
				'mri'            => 'mi',
				'nl_NL_formal'   => 'nl_NL',
				'roh'            => 'rm',
				'srd'            => 'sc',
				'tuk'            => 'tk',
			 );
			$locale = isset( $valid_locales[ $this->locale ] ) ? $valid_locales[ $this->locale ] : $this->locale;
			return str_replace( '_', '-', $locale );
		}
		return $this->locale;
	}
}


text:
Multilocus genetic interactions and response to efavirenz-containing regimens: an adult AIDS clinical trials group study
Motsinger, A.A.; Ritchie, M.D.; Shafer, R.W.; Robbins, G.K.; Morse, G.D.; Labbe, L.; Wilkinson, G.R.; Clifford, D.B.; D'Aquila, R.T.; Johnson, V.A.; Pollard, R.B.; Merigan, T.C.; Hirsch, M.S.; Donahue, J.P.; Kim, R.B.; Haas, D.W.
Pharmacogenetics and Genomics 16(11): 837-845
For the HIV-1 reverse transcriptase inhibitor efavirenz, variant drug transporter gene ABCB1 may predict virologic response but not plasma efavirenz exposure. Conversely, variant drug metabolizing enzyme gene CYP2B6 predicts greater plasma efavirenz exposure but not virologic response. We examined whether long-term responses to efavirenz, and/or plasma efavirenz exposure, are better predicted by multilocus genetic interactions than by individual polymorphisms. We studied antiretroviral-naïve study participants randomized to receive efavirenz (with or without nelfinavir) plus two nucleoside analogues in study ACTG 384, and who had DNA available for analysis. Participants were followed up for up to 3 years. Nine single nucleotide polymorphisms in ABCB1, CYP2B6, CYP3A4, CYP3A5 and CYP2C19 were identified. Gene-gene interactions were identified using multifactor dimensionality reduction. Among 340 efavirenz recipients, higher efavirenz AUC24 h values were associated with a single locus model involving CYP2B6 516G>T (73% accuracy; P<0.001). This was also the best model among blacks (69% accuracy; P<0.001), whereas among whites the best model involved a gene-gene interaction between CYP2B6 516G>T and ABCB1 2677G>T (82% accuracy, P<0.001). Among 155 participants who received efavirenz without nelfinavir, virologic failure was associated with a two-locus interaction between ABCB1 2677G>T and CYP2B6 516G>T (65% accuracy, P<0.001). Toxicity failure was best predicted by an interaction between ABCB1 2677G>T and ABCB1 3435C>T (71% accuracy, P<0.001). Multilocus genetic interactions between variant drug metabolism and transporter genes may predict efavirenz pharmacokinetics and treatment responses. This finding may have implications for better individualizing antiretroviral therapy.
DOI: 10.1097/01.fpc.0000230413.97596.fa
Pharmacogenetics of long-term responses to antiretroviral regimens containing Efavirenz and/or Nelfinavir: an Adult Aids Clinical Trials Group Study. Journal of Infectious Diseases 192(11): 1931-1942, 2005
Genome-wide association study of virologic response with efavirenz-containing or abacavir-containing regimens in AIDS clinical trials group protocols. Pharmacogenetics and Genomics 25(2): 51-59, 2015
Pharmacogenetics of plasma efavirenz exposure after treatment discontinuation: an Adult AIDS Clinical Trials Group Study. Clinical Infectious Diseases 42(3): 401-407, 2006
Pharmacogenetics of efavirenz and central nervous system side effects: an Adult AIDS Clinical Trials Group study. Aids 18(18): 2391-2400, 2004
Effect of CYP2B6, ABCB1, and CYP3A5 polymorphisms on efavirenz pharmacokinetics and treatment response: an AIDS Clinical Trials Group study. Journal of Infectious Diseases 202(5): 717-722, 2010
Safety, tolerability, and pharmacokinetic interactions of the antituberculous agent TMC207 (bedaquiline) with efavirenz in healthy volunteers: AIDS Clinical Trials Group Study A5267. Journal of Acquired Immune Deficiency Syndromes 59(5): 455-462, 2012
Predictors for multidrug-resistant tuberculosis among HIV-infected patients and response to specific drug regimens. Terry Beirn Community Programs for Clinical Research on AIDS (CPCRA) and the AIDS Clinical Trials Group (ACTG), National Institutes for Health. International Journal of Tuberculosis and Lung Disease 3(4): 337-343, 1999
Effect of efavirenz on the pharmacokinetics of simvastatin, atorvastatin, and pravastatin: results of AIDS Clinical Trials Group 5108 Study. Journal of Acquired Immune Deficiency Syndromes 39(3): 307-312, 2005
Population pharmacokinetics and pharmacodynamics of efavirenz, nelfinavir, and indinavir: Adult AIDS Clinical Trial Group Study 398. Antimicrobial Agents and ChemoTherapy 47(1): 130-137, 2002
Population pharmacokinetics and pharmacodynamics of efavirenz, nelfinavir, and indinavir: Adult AIDS Clinical Trial Group study 398. Antimicrobial Agents & Chemotherapy 47(1): 130-137, January, 2003
Genome-wide association study of plasma efavirenz pharmacokinetics in AIDS Clinical Trials Group protocols implicates several CYP2B6 variants. Pharmacogenetics and Genomics 22(12): 858-867, 2013
Substitution of nevirapine because of efavirenz toxicity in AIDS clinical trials group A5095. Clinical Infectious Diseases 50(5): 787-791, 2010
Relationship between weight, efavirenz exposure, and virologic suppression in HIV-infected patients on rifampin-based tuberculosis treatment in the AIDS Clinical Trials Group A5221 STRIDE Study. Clinical Infectious Diseases 57(4): 586-593, 2014
Changes in fat mitochondrial DNA and function in subjects randomized to abacavir-lamivudine or tenofovir DF-emtricitabine with atazanavir-ritonavir or efavirenz: AIDS Clinical Trials Group study A5224s, substudy of A5202. Journal of Infectious Diseases 207(4): 604-611, 2013
Genome-wide association study of peripheral neuropathy with D-drug-containing regimens in AIDS Clinical Trials Group protocol 384. Journal of Neurovirology 20(3): 304-308, 2015